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