流行的開源 uIP TCP/IP 堆棧廣泛用于嵌入式設計。該演示提供了動手經驗和對其使用的見解。
本文演示了具有開源 uIP TCP/IP 協議棧的 RX62N 瑞薩以太網連接目標設備的特性和功能。它假定您對以太網、TCP/IP 和 HTML 有一定的經驗。有關這些主題的更多介紹性材料,請參閱本文末尾的參考資料。
uIP TCP/IP 堆棧演示項目提供了以太網連接示例和用于控制 Renesas 入門套件 (RSK) 板上的 LED 的示例 Web 服務器應用程序。
概述
以下過程提供了有關如何設置和運行演示項目的分步說明。
設置
設置如圖 1 所示的演示環境。在此設置中,路由器用作 DHCP 服務器,PC 用作 Web 客戶端。多個 RSK 板可以連接到多端口路由器。使用直通的 RJ-45 以太網電纜進行連接。根據使用的 RSK 板,在運行演示項目之前可能需要配置其他設置。這些可能包括將調試器連接到 RSK 板的說明。有關詳細信息,請參閱 RSK 板的快速入門指南 (QSG)。
圖 1:演示設置。
?
圖 2:測試設置。
演示項目默認配置為以小端模式運行。請確保 RSK 板配置為相同的字節序模式。請參閱您的 QSG 如何更改操作的字節序模式。
對于更簡單的設置,RSK 板可以直接連接到 PC。在此設置中,未使用路由器,并且演示項目旨在在大約十秒鐘內未找到 DHCP 服務器時回退到靜態 IP 地址。在這種情況下,RSK 板假定默認 IP 地址為 192.168.1.10。
圖 2 顯示了一個更詳細的測試設置環境作為替代方案。在此設置中,所有設備都位于同一沖突域中,并且可以在 PC 上監控和分析所有網絡活動。如果使用此設置,請確保中心連接設備是真正的集線器而不是交換機。路由器可以獨立于 PC 和 RSK 板之間的連接斷開連接并重新連接到網絡。這允許在網絡上使用或不使用 DHCP 服務器的情況下監視 RSK 板的行為。
圖 3:路由器網絡配置。
配置路由器的IP地址為192.168.1.1。這通常是大多數家庭或辦公室路由器的默認 IP 地址。將 DHCP 起始 IP 地址配置為 192.168.1.100,最多有兩個 DHCP 用戶。路由器配置的快照如圖 3 所示。
將 PC 的以太網端口配置為靜態 IP 地址 192.168.1.2。PC 的 Internet 協議 (TCP/IP) 屬性如圖 4 所示。確保此以太網端口不用于訪問公司網絡或工作組。如果沒有可用的備用以太網端口,建議使用 USB 轉以太網適配器。請按照適配器制造商手冊了解安裝說明。
圖 4:PC 網絡配置。
示例項目目錄結構
圖 5 顯示了演示項目的目錄結構。\src 文件夾包含源代碼并有四個子文件夾:bsp、驅動程序 uip 和用戶應用程序。\src\bsp 和 \src\driver 文件夾包含 Renesas 板特定的源代碼和 RSK 板的以太網驅動程序。uIP 堆棧位于 \src\uip 文件夾中。
開源 uIP TCP\IP 堆棧帶有自己的文檔。它位于 \src\uip\doc 文件夾中。main.c 文件位于 \src\uip\uip 中,示例網頁位于 src\uip\apps\webserver\httpd-fs 文件夾中。
該演示項目包括一個簡單的用戶應用程序,用于控制 RSK 板上的 LED。此應用程序位于 \src\user-application 文件夾中。
圖 5:uIP 演示項目的目錄結構。
如何處理演示
演示項目在加電時在 RSK 板 LCD 上顯示“uIP Demo”。使用的 IP 地址顯示在 LCD 上。RSK 板要么從 DHCP 服務器接收其 IP 地址,要么使用其默認設置 192.168.1.10。對于本文中的測試設置,DHCP 服務器可以分配 IP 地址 192.168.1.100 和 192.168.1.101。如果十秒后沒有顯示 IP 地址,請確保以太網電纜已連接且設備已通電。一些可能的 LCD 設置如圖 6 所示
圖 6:LCD 設置。
路由器的狀態頁面也可用于查找分配給 RSK 板的 IP 地址,如圖 7 所示。另一種方法是簡單地 ping IP 地址并將 IP 地址與回復一起使用。Ping 消息可以通過以下 DOS Shell 命令生成:
C:\》平192.168.1.10
C:\》平192.168.1.100
C:\》平192.168.1.101
圖 7:DHCP 客戶端信息
啟動 Web 瀏覽器并在 URL 字段中使用 RSK 板的 IP 地址。連接成功后,用戶將看到如圖 8 所示的歡迎頁面。這也是首頁。請注意,瑞薩電子徽標鏈接到http://am.renesas.com/。通過激活此鏈接,用戶可以輕松訪問瑞薩電子美國網站。
所有其他頁面都可以通過頂部橫幅中提供的鏈接訪問。文件統計頁面顯示特定頁面被訪問的次數。網絡統計頁面顯示IP數、ICMP數、TCP報文收發數信息。網絡連接頁面顯示 uIP 堆棧中已建立的 TCP 連接的當前狀態。這些頁面是動態的,每次訪問時都會重新創建。
兩個自定義頁面被創建并包含在演示項目中。首先是 RSK 板特定頁面。在這種情況下,它是一個 RX62N 自定義頁面。演示項目針對不同的目標設備進行了個性化,目標特定圖像顯示在此頁面上。這是為了表明創建自定義網頁可以很容易地實現并與 uIP TCP/IP 堆棧集成。下一部分描述了創建新網頁的分步說明。
第二個自定義頁面是控制 RSK 板上 LED 的簡單用戶應用程序。RSK 板上的 LED 之一用于指示系統定時器活動。其他三個由 LED 控制網頁使用。在此網頁上,用戶可以打開和關閉 RSK 板上的 LED。重置按鈕選擇所有 LED 的關閉設置。
創建新網頁的步驟
按照以下步驟,可以輕松創建新網頁并將其添加到演示項目中。只需一點 HTML 語言知識,用戶就可以創建自定義網頁應用程序。演示項目和本文中提供了所需的所有工具和信息。
編寫一個新的網頁應用程序。請參閱 src\uip\apps\webserver\httpd-fs 中的 led.shtml 示例。
將其復制到 src\uip\apps\webserver\httpd-fs 目錄。
從 src\uip\apps\webserver 目錄運行 makefsdata.exe 以生成新的 fttpd-fsdat.c 文件。
重建項目。
makefsdata.exe 是由 makefsdata Perl 腳本創建的 Renesas 附加程序。該可執行文件包含在位于 apps\webserver\ 目錄中的演示項目中,以便用戶更輕松地生成 httpd-fsdata.c 文件,而無需查找和安裝 Perl 解釋器。
更多關于 uIP TCP/IP 堆棧的信息
uIP TCP/IP 堆棧最初由瑞典計算機科學研究所網絡嵌入式系統組的 Adam Dunkels 開發。uIP TCP/IP 堆棧包括一些更高層的示例應用程序,例如 Web 服務器、Web 客戶端、簡單文件傳輸協議 (TFTP) 和 DNS 主機名服務器。
uIP TCP/IP 堆棧不需要實時操作系統。但是,它的某些版本已移植到開源 FreeRTOS 操作系統并在 Internet 上提供。它還被移植到其他幾個瑞薩 MCU 設備。示例代碼可以從 uIP 網站下載。
uIP TCP/IP 堆棧的使用注意事項
使用 uIP TCP/IP 堆棧時的一個考慮因素是它僅支持一個傳輸中的 TCP 段。如果 uIP TCP/IP 堆棧與使用延遲確認算法的 TCP 接收器一起使用,吞吐量性能可能會很差。如果您在使用默認 PC 設置時遇到這種情況,您可以修改 PC 的 TCP 確認行為。
更多信息可以在http://support.microsoft.com/kb/328890找到。uIP TCP/IP 參考手冊中也討論了這種情況。
另一個考慮因素是 uIP TCP/IP 堆棧在給定時間支持一個 TCP 和一個 UDP 應用程序。在這個演示項目中,HTTP Web 服務器應用程序使用 TCP,DHCP 客戶端在 UDP 上運行。可以將基于連接端口號的應用程序多路復用器層添加到 uIP TCP/IP 堆棧中,以支持多個 TCP 或 UDP 應用程序。
更多關于 DHCP
動態主機配置協議 (DHCP) 是聯網設備用于從 DHCP 服務器獲取 IP 地址和其他參數的協議,例如默認網關、子網掩碼和域名服務器 (DNS) 的 IP 地址。該協議由 RFC 2131 定義。DHCP 簡化了上述任務的管理,并確保網絡上的所有 IP 地址都是唯一的,并且將未使用的 IP 地址返回給 IP 地址輪詢,以便為加入網絡的其他設備重新分配。
演示項目利用了DHCP的動態模式。在動態模式下,向客戶端提供 IP 地址和該 IP 地址有效的持續時間。該持續時間稱為租用時間。
DHCP 操作
在動態 IP 地址分配期間,DHCP 客戶端和 DHCP 服務器之間交換了四種主要消息。它們如表 1 所示
表 1:DHCP 消息。
如何使用 DHCP 客戶端
使用 DHCP 客戶端時需要考慮一些事項。最重要的考慮是確保網絡上的每個設備都有唯一的 MAC 地址。DHCP 服務器根據客戶端 MAC 地址分配 IP 地址。對于最終客戶生產設備,可以從 IEEE 購買 MAC 地址。
另一個考慮因素是如何知道分配給設備的 IP 地址。查找此信息的一種方法是通過其管理接口查詢 DHCP 服務器。這將顯示 IP 地址以及分配給它們的 MAC 地址。
使用 DHCP 服務器調試系統可能很棘手。這里有一些建議。首先,使用網絡分析儀有很大幫助。Wireshark 已在該項目的整個開發過程中使用。它是一款基于 PC 的網絡分析軟件。
其次,網絡分析儀使用的 PC 以太網端口的 IP 地址必須與 DHCP 服務器及其客戶端(例如 Renesas 目標板)在同一網絡和子網中。這可以通過為 PC 以太網端口分配一個靜態 IP 地址來實現,該地址位于 DHCP 服務器可以提供的 IP 地址之外,但仍要確保滿足網絡和子網要求。
例如,在圖 3 中,DHCP 服務器配置了起始 IP 地址 192.168.1.100。圖 4 顯示 PC 以太網端口配置為使用 192.168.1.2,并且它超出了服務器可以為其客戶端提供的 IP 地址范圍。
評論
查看更多