Tìm hiểu giao thức TCP/IP stack của Microchip

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • lam_hcmute
    Nhập môn đệ tử
    • Aug 2008
    • 8

    #1

    Tìm hiểu giao thức TCP/IP stack của Microchip

    Tìm hiểu giao thức TCP/IP stack của Microchip
    Last edited by lam_hcmute; 18-06-2014, 09:36 AM.
  • chitrung12
    Nhập môn đệ tử
    • Oct 2008
    • 3

    #2
    mình đang tìm hiểu về giao tiếp pic với máy tính qua RJ45 sử dụng code TCPIP viết bang ccs.nhưng quá trình truyền nhận data từ pic len web không liên tục . vậy bạn nao có tài viec giúp mình với
    cám ơn
    Last edited by chitrung12; 18-12-2009, 08:16 AM.

    Comment

    • chandufo
      Nhập môn đệ tử
      • May 2009
      • 9

      #3
      tớ đang làm giao tiếp ethernet về dsPic33FJ128GP708, sử dụng TCP IP stack.

      1. Trong phần lập trình của TCP IP Stack có sử dụng EEPROM để lưu Web nhúng, nhưng tớ không muốn lưu vào trong EEPROM ấy liệu có được không vậy.Nếu được thì chỉnh sử thế nào đây.

      2. Nếu sử dụng SD-Card để thay thế EEPROM có được không.
      Chandufo
      Email: chandufo@gmail.com
      Tel: (+84)988.272.508
      Major: Automation Engineer
      Add: www.hut.edu.vn

      Comment

      • chandufo
        Nhập môn đệ tử
        • May 2009
        • 9

        #4
        ah, tớ hiểu rồi, sau khi đọc phần help của TCPIP stack, phần MPFS2 như sau:
        "The MPFS2 file system module provides a light-weight read-only file system that can be stored in external EEPROM, external serial Flash, or internal Flash program memory. This file system serves as the basis for the HTTP2 web server module, but is also used by the SNMP module and is available to other applications that require basic read-only storage capabilities. "

        Như vậy có thể lưu Web nhúng vào bộ nhớ chương trình (giống như mikroC làm)

        Để bỏ MPFS2, ta bỏ luôn sử dụng http2, và SNMP. Vì vậy trong file cấu hình TCPIPConfig.h ta bỏ các tùy chọn đó như sau:
        //...#define STACK_USE_HTTP2_SERVER
        //...#define STACK_USE_SNMP_SERVER
        /* MPFS Configuration
        * MPFS is automatically included when required for other
        * applications. If your custom application requires it
        * otherwise, uncomment the appropriate selection.
        */
        //#define STACK_USE_MPFS
        //#define STACK_USE_MPFS2
        Chandufo
        Email: chandufo@gmail.com
        Tel: (+84)988.272.508
        Major: Automation Engineer
        Add: www.hut.edu.vn

        Comment

        • chandufo
          Nhập môn đệ tử
          • May 2009
          • 9

          #5
          và đây là chú thik của nó trong file help, vân là phần MPFS:
          "Using Internal Flash Storage
          When storing images in internal Flash program memory, new images cannot be uploaded at run time. Instead, the image is compiled in as part of your project in the MPLAB IDE. To select this storage option comment out the configuration macro MPFS_USE_EEPROM in TCPIPConfig.h, then ensure that the image file generated by the MPFS2 Utility is included in the MPLAB project."
          Chandufo
          Email: chandufo@gmail.com
          Tel: (+84)988.272.508
          Major: Automation Engineer
          Add: www.hut.edu.vn

          Comment

          • chandufo
            Nhập môn đệ tử
            • May 2009
            • 9

            #6
            nếu không dung EEPROM, dung lượng file hex khá lớn, vậy phải làm thế nào để giảm dung lượng file hex xuổng để nạp vào bộ nhớ nhỉ. Tớ nghĩ thế này:

            1. Giảm dung lượng file web nhúng, loại bỏ các hình ảnh
            2. giảm các dịch vụ như gửi thư SMTP,Telnet...
            ...
            Với nhiệm vụ của tớ đơn giản là Ping được, Web gửi lệnh bật tắt LED, ghi LCD thì nên dùng các dịch vụ gì. Có phải là 3 dịch vụ ICMP, TCP, UDP... ?
            Chandufo
            Email: chandufo@gmail.com
            Tel: (+84)988.272.508
            Major: Automation Engineer
            Add: www.hut.edu.vn

            Comment

            • chandufo
              Nhập môn đệ tử
              • May 2009
              • 9

              #7
              Lại còn cái vụ trang Web với cú pháp lệnh như thế nào để gửi một gói tin xuống VXL nữa, trời ơi chết mất, ngập đầu mất
              Chandufo
              Email: chandufo@gmail.com
              Tel: (+84)988.272.508
              Major: Automation Engineer
              Add: www.hut.edu.vn

              Comment

              • const_nos
                Đệ tử 2 túi
                • Jul 2008
                • 33

                #8
                Nguyên văn bởi chandufo View Post
                nếu không dung EEPROM, dung lượng file hex khá lớn, vậy phải làm thế nào để giảm dung lượng file hex xuổng để nạp vào bộ nhớ nhỉ. Tớ nghĩ thế này:

                1. Giảm dung lượng file web nhúng, loại bỏ các hình ảnh
                2. giảm các dịch vụ như gửi thư SMTP,Telnet...
                ...
                Với nhiệm vụ của tớ đơn giản là Ping được, Web gửi lệnh bật tắt LED, ghi LCD thì nên dùng các dịch vụ gì. Có phải là 3 dịch vụ ICMP, TCP, UDP... ?
                Theo minh biet thi neu chi truyen chuoi LCD, bat tat thi chi can dung cac giao thuc : HTTP>TCP>IP>Ethernet la duoc roi(va ca ICMP nua).

                Comment

                • laiquangtuyen
                  Đệ tử 4 túi
                  • Jul 2007
                  • 83

                  #9
                  Bản thân trong forum này đã có nguyên một cái luồng to đùng nói về ethernet từ những ngày xữa ngày xưa rồi, có nguyên mạch demo ở trên R&P, cho luôn source code demo. Tóm lại xưa như trái đất rồi. Nên qua đó tham khảo có nhiều vấn đề đã bàn để biết.
                  LẠI QUANG TUYẾN
                  Phone: 0906.189.269

                  Comment

                  • const_nos
                    Đệ tử 2 túi
                    • Jul 2008
                    • 33

                    #10
                    Thắc mắc

                    Nguyên văn bởi laiquangtuyen View Post
                    Bản thân trong forum này đã có nguyên một cái luồng to đùng nói về ethernet từ những ngày xữa ngày xưa rồi, có nguyên mạch demo ở trên R&P, cho luôn source code demo. Tóm lại xưa như trái đất rồi. Nên qua đó tham khảo có nhiều vấn đề đã bàn để biết.
                    Nghe bạn nói thế chắc bạn đã làm vấn đề này rồi. Vậy bạn có code nào đơn giản chỉ cần dk led và ghi chuỗi xuống lcd ko. cho mình xin với. trong mấy code demo lộn xộn quá, mình mới tìm hiểu nên chẳng hiểu mấy. nếu bạn có cho mình xin nhé.

                    Ah, còn việc nữa là: tại sao cái file "TCPIP Stack/TCPIP.h" ko co nhỉ trong khi mọi file *.h trong Microchip stack đều include nó hêt. Khi dich thi nó bảo Error [1027] unable to locate 'TCPIP Stack/TCPIP.h' .Hic

                    Thank a lot
                    Last edited by const_nos; 09-03-2010, 08:08 AM. Lý do: bổ sung

                    Comment

                    • meobeo
                      Nhập môn đệ tử
                      • Feb 2007
                      • 1

                      #11
                      các anh ơi! em cũng đang làm về Dspic30F giao tiếp với máy tính băng chuẩn Ethennet. toàn bộ phần cứng đều ổn. nhưng em không biết sử dụng cái TCP/IP stack kiểu j...
                      ai có thể hướng dẫn giúp em chút không. hiện tại em chỉ cần ping đc mạch và điều khiển nhấp nháy Led trên mạch... làm ơn giúp em với..
                      đặc biệt anh Lai Quang Tuyên Làm về vấn đề này có thể chỉ cho em chút đi .. em đang rất cần giúp đỡ.

                      Comment

                      • plongthanh
                        Nhập môn đệ tử
                        • Oct 2008
                        • 2

                        #12
                        Chào bạn meobeo, nếu bạn chỉ cần Ping địa chỉ IP thì bạn chỉ cần lập trình các lớp MAC và IP thôi, ở lớp IP bạn dùng giao thức ICMP để Ping IP. Để bắt đầu sử dụng TCP/IP Stack thì bạn nên tạo một Project mới với các file .c và .h cần thiết, đồng thời chỉnh lại phần Built option cho phù hợp (cách bố trí các file và phần tùy chỉnh Built option này bạn có thể tham khảo một project demo). Cac file .h mà bạn cần là Compiler.h, GenericTypeDefs.h, HardwareProfile.h, ARP.h, Delay.h, ENC28J60.h (nếu bạn dùng chíp này), Helpers.h, ICMP.h, IP.h, MAC.h, Random.h, TCP/IP.h, Tick.h, TCPIPConfig.h và file Main.h (bạn cần viết file này). Các file .c có tên tương ứng với các file.h, ngoại trừ các file sau thì không có: compiler, GenericTypeDefs, HardwareProfile, TCPIPConfig.
                        Bạn nên đọc kĩ các file trên để điều chỉnh lại cho phù hợp với ứng dụng của bạn. Nếu bạn có mạch thiết kế riêng rồi thì bạn chú ý chỉnh file HardwareProfile.h (phần Define your board).
                        Các bản tin cần test trước là: MAC, ARP, IP, sau đó là ICMP
                        Chúc vui!
                        P.L.T

                        Comment

                        • sit_alone76816
                          Đệ tử 2 túi
                          • Aug 2008
                          • 38

                          #13
                          Các anh cho em hỏi, em dùng Pic + ENC28J60 để giao tiếp ethernet, vậy loại Pic đó có bắt buộc dùng con nào không ? Hay là loại Pic có chuẩn SPI để giao tiếp với ENC là được, giả sử như Pic 16F887 thì sao ạ ?

                          Comment

                          • plongthanh
                            Nhập môn đệ tử
                            • Oct 2008
                            • 2

                            #14
                            Nguyên văn bởi sit_alone76816 View Post
                            Các anh cho em hỏi, em dùng Pic + ENC28J60 để giao tiếp ethernet, vậy loại Pic đó có bắt buộc dùng con nào không ? Hay là loại Pic có chuẩn SPI để giao tiếp với ENC là được, giả sử như Pic 16F887 thì sao ạ ?
                            Chào bạn sit_alone76816. Nếu bạn dùng ENC28J60 thì bạn chỉ cần sử dụng loại PIC có hỗ trợ giao tiếp SPI là được rồi. Bạn nên dùng PIC có bộ nhớ đủ lớn cho ứng dụng của bạn.
                            P.L.T

                            Comment

                            • newboystylew
                              Đệ tử 1 túi
                              • Oct 2008
                              • 19

                              #15
                              Nguyên văn bởi const_nos;33930

                              Ah, còn việc nữa là: tại sao cái file "TCPIP Stack/TCPIP.h" ko co nhỉ trong khi mọi file *.h trong Microchip stack đều include nó hêt. Khi dich thi nó bảo Error [1027
                              unable to locate 'TCPIP Stack/TCPIP.h' .Hic
                              Sao không thấy anh nào trả lời câu hỏi này vậy? em cũng đang bị như vậy nè.Em viết bằng CCS, em co include rieng 2 thư viện tcp.c va stack.c mà van ko được, em tìm goài mà không thấy thư viện như trên.
                              Email:hoangdtvt07b@yahoo.com.vn

                              Comment

                              Working...