Thông báo

Collapse
No announcement yet.

Ứng dụng lwIP trên ARM7

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Ứng dụng lwIP trên ARM7

    Lâu rồi K không làm về VĐK. Dịp 30/4 vừa rồi ở nhà chẳng làm gì, lục lọi đống file cũ bắt gặp cái board LPC2106 mà mình đã làm, 25/02/2002, mới đây mà đã 7 năm, công nhận thời gian qua nhanh kinh khủng. Cái board hồi trước chẳng có gì ngoài con LPC2106 và cũng là board ARM đầu tiên của K.


    Nó bèo nhèo như thế này nè!

    Lấy cái shcematic cũ thêm mắm thêm muối nâng cấp thêm vài tính năng hỗ trợ đọc thẻ nhớ, giao tiếp LAN. VN hiện nay khác so với lúc trước nhiều, mua được con ARM7 của NXP tương đối dzễ, chứ không phải chạy vạy đi "xin đểu" như hồi xưa. Tạm thời đặt tên board là TW2106 để lấy hên vậy.

    @TW2106: Tiny Web LPC2106.

    Đặc tính:
    + MCU LPC2106 (Tương thích LPC2103, LPC2104, LPC2105).
    + Clock 60 Mhz (maximum).
    + Ethernet interface.
    + MicroSD interface.

    Kích thước PCB:
    + Board dạng stamp module, kích thước 2cm x 6cm.

    Ứng dụng:
    + lwIP TCP IPstack, chạy các ứng dụng telnet, smtp, webserver...
    + ELFS embedded file system.
    + MP3 player.
    + FreeRTOS demo.

    Tools:
    + Winarm GNU GCC (recommended).
    + Keil MDK for ARM
    + Crossworks for ARM.

    @IP Stack cho Microcontroller:
    Có nhiều source hỗ trợ TCP IP stack cho Microcontroller:
    + uIP (verry small).
    + lwIP (BSD compatible API).
    + openTCP.
    + nichelite.
    + ucIP.
    + Microchip TCPIP.
    ...

    @Tại sao phải là lwIP ?
    + lwIP support các hàm API tương tự như BSD giúp người sử dụng (quen với lập trình UNIX) triển khai ứng dụng nhanh chóng.
    + lwIP = Light weight IP stack: yêu cầu resource nhỏ gọn.
    + Hỗ trợ nhiều interface.
    + Có thể chạy standalone mode hoặc OS mode.
    + Portting khá đơn giản.

    @Embedded Ethernet Controller:
    + RTL8109as
    + ENC28J60
    + LAN911
    + ...

    @ Tại sao phải là ENC28J60 ?
    + Có bán sẵn ở Việt Nam.
    + Rẻ tiền.
    + Low pincount thích hợp với microcontroller cấu hình nhỏ.

    @ lwip portting:
    + low_level_input () : for incomming packets
    Code:
    for(q = p; q != NULL; q = q->next)
    { 
        memcpy ((uint8_t*)q->payload, (rxtxBuf + l), q->len);            
        l += q->len;             
    }
    + low_level_output () : for out going packets
    Code:
    for(q = p; q != NULL; q = q->next)
    {
        if (((unsigned int)len + q->len) >= (unsigned int) ETH_FRAG_SIZE)
        {
            error = 1;
            break;
        }
        memcpy ((rxtxBuf + len), (uint8_t*)q->payload, q->len);
        len += q->len;
    }
    + Add inteface:
    Code:
     netif_add(netif_eth0, &my_ipaddr_data, &my_netmask_data, &my_gw_data, NULL, ethernetif_init, ip_input);
     
        netif_set_default(netif_eth0);
     
        netif_set_up(netif_eth0);
    + Ứng dụng web:
    Code:
     struct tcp_pcb* tcpweb;
        struct tcp_pcb* tcpweb_listen;
     
        tcpweb = tcp_new();
        if (tcpweb == NULL)
        return;
     
        /* Bind to port 80 for any address */
        if (tcp_bind(tcpweb, IP_ADDR_ANY, 80) != ERR_OK)
        return;
     
        tcpweb_listen = tcp_listen(tcpweb);
        if (tcpweb_listen == NULL)
        {
            tcp_abort(tcpweb);
        tcpweb = NULL;
        return;
    @ Kiểm tra kết nối:

    @ Chạy ứng dụng webserver:


    Ai có hứng với ARM7 cùng nhau thảo luận he!

  • #2
    bác viết luôn 1 cái tutor về cái này luôn nghen! em cung dang muốn làm 1 cái giống bác! mà chưa có tý hiểu biết gì về ethernet cả!

    Comment


    • #3
      Anh Phương viết một bài show hàng cho bà con sợ đê =D

      Comment


      • #4
        Spam phát 7 năm rồi vẽ mạch vẫn đẹp nhỉ

        Sông dài, Thuyền lớn, Biển rộng bao la.
        Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.

        Comment


        • #5
          Kết nhất vẫn là MicroSD interface !

          Comment


          • #6
            K upload source lên và trình bày sơ lược các bước.

            1> Download winarm theo link sau:
            http://www.siwawi.arubi.uni-kl.de/av...M-20060606.zip
            2> Unzip file vừa download rename, copy vào đường dẫn "C:\WinARM", nhớ update biến môi trường PATH "C:\WinARM\bin;C:\WinARM\utils\bin;"
            3> Dowload source TW2106:
            http://www.esnips.com/doc/985c9832-5...3-7c76b2d4e489
            4> Giải nén, copy vào thư mục "C:\WinARM\Workspace\TW2106" chẳng hạn.
            5> Mở dos shell (START --> Run ---> "cmd")
            6> $ cd C:\WinARM\Workspace\TW2106
            7> Gõ các lệnh sau:
            $ make clean
            $ make
            $ make program ---> Nạp thông qua RS232 (tương tự Philips IAP Ultilities).

            Đây là schematic, nếu layout theo thì chắc sẽ chạy, còn nếu bác nào lười không muốn vẽ lại K nhường lại với giá mềm 50K (công vẽ thôi mà).




            Comment


            • #7
              @anh K:
              Em cũng làm nhiều với Ethernet và con enc28j60 hay pic8fx7j6 rồi. Cũng đủ loại webserver, ftp, tcp, telnet, email... rồi web tích hợp thêm cái module gsm để gửi nhận sms chơi. Tuy nhiên những cái đó em toàn làm với vi điều khiển thôi, chứ chưa chiến được con arm nào .
              Công lực còn hạn chế. Có dịp nào đó anh truyền cho ít arm thần chưởng, em về bế quan tu luyện .
              Mạch kia anh nói giá 50K, thế thêm con ARM nữa thì bao nhiêu vậy anh và mạch đầy đủ thì giá bao nhiêu ạ?
              Ethernet-RS232, PIC Webserver, RFID Reader
              CallerID, Cảnh báo BTS, ...
              0988006696
              linhnc308@gmail.com
              http://linhnc308.blogspot.com

              Comment


              • #8
                @linhnc308: K không dự định làm board để bán, LPC2106 nếu bạn cần mình sẽ mua giùm. Chi phí làm board trên khoảng 400.000 VND.

                Comment


                • #9
                  @kamejoko80 bác ở đâu vậy nếu ở tp HCM thì cho thằng em địa chỉ liên hệ với! Bác để lại cho em 1 cái PCB nhé!!!

                  Comment


                  • #10
                    K ở tp hcm, mb: 0126 5235 789

                    Comment


                    • #11
                      Download schematic:
                      http://www.esnips.com/doc/97a3b5dd-d...b9eaa6/LPC2106

                      Comment


                      • #12
                        Bác có bán cả mạch hoàn chỉnh không

                        Nguyên văn bởi kamejoko80 Xem bài viết
                        @linhnc308: K không dự định làm board để bán, LPC2106 nếu bạn cần mình sẽ mua giùm. Chi phí làm board trên khoảng 400.000 VND.
                        Em ở HN, ko biết chỗ mua mấy thứ trên board. Bác có cái nào hoàn chỉnh không, bán cho em một cái.

                        Comment


                        • #13
                          Vài bức hình mới hàn mạch này . Chưa có chương trình test thử . Hiện nhà chỉ còn con LPC2103 thui chân tương thích . còn cái socket thẻ nhớ thì chưa mua mấy con diode thì chịu tìm không ra
                          Attached Files
                          Mạch nạp Little Programmer
                          MSC-51,AVR,EEPROM ... etc

                          Site Fukusei shop :

                          Comment


                          • #14
                            Nguyên văn bởi phucthinhel Xem bài viết
                            Vài bức hình mới hàn mạch này . Chưa có chương trình test thử . Hiện nhà chỉ còn con LPC2103 thui chân tương thích . còn cái socket thẻ nhớ thì chưa mua mấy con diode thì chịu tìm không ra
                            hic bác xem lại các chân khác có thể giống;nhưng chan MOSI MISO của nó dau có giong LPC216 dau

                            Comment


                            • #15
                              Mình mới xem datasheet nó qua có so sánh sơ đồ chân nó thấy hoàn toàn thương thích chân SPI bạn xem lại nhé ! Còn bạn nào trên diển đàn muốn mua thì có thể qua mình vì mình cũng có mu dư vài em pcb bên kemejoko80 ( anh Phương nhiệt tình lắm ! ) giá vẫn không đổi 50k nha các bạn . Còn nếu bác nào muốn mua trên 10 ẻm thì có giá khác .
                              Mạch nạp Little Programmer
                              MSC-51,AVR,EEPROM ... etc

                              Site Fukusei shop :

                              Comment

                              Về tác giả

                              Collapse

                              kamejoko80 Tìm hiểu thêm về kamejoko80

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X