胡曉玲 余世欣


摘要:嵌入式網絡客戶端需要移植性高、占用資源小的協議棧,設計了基于輕量級協議棧LWIP的網絡客戶端。采用STM32處理器作為主控芯片,通過以太網控制器EN28J60和RJ45接口連接互聯網,移植了操作系統uC/OS-II和輕量級協議棧LWIP,最后對客戶端與主機進行聯機測試。結果表明:通過主機ping32字節的數據,4個包所用的時間最長為5ms,最短為3ms,而TTL值均為255;數據收發正確,錯誤率為0%。說明輕量級協議棧LWIP不僅占用資源小,而且滿足嵌入式系統應用的可靠性要求。
關鍵詞:嵌入式;輕量級協議棧;STM32;移植;操作系統
DOI:10.3969/i.issn.1005-5517.2016.1.010
引言
嵌入式技術的興起使得傳統的基于PC機的互聯網技術優勢不再,嵌入式網絡客戶端與服務端技術成為熱點,而該技術需要移植性高、占用資源小的協議棧,輕量級TCP/IP協議棧LWIP(light weight Internet protocol)比較適合嵌入式設備中存儲容量有限的情況,而且能實現TCP/IP協議棧的基木功能,不影響設備的網絡互聯與傳輸服務[1]。輕量級網絡協議LWIP依附的硬件操作系統有RT_Thread[2-3]和uC/OS-11[4-5],鑒于uC/OS-II是一款應用較為廣泛、技術較成熟的操作系統,本文采用uC/OS-II操作系統設計網絡客戶端。實驗結果表明:ping 32字節的數據,其收發正確,錯誤率為0%。
1 系統硬件
如圖1所示:硬件采用STM32處理器作為主控芯片,通過以太網控制器EN28J60和RJ45接口連接互聯網,而且為了進行功能擴展和試驗驗證,主控芯片也可以由串口與計算機進行數據互傳。
STM32F107是主控芯片,它不僅具有USB OTG和CAN2.OB接口,而且片上集成了以太網10/100 MAC模塊。該模塊支持Mll和RMII兩種模式,所以,主控制器只需外接一個物理層PHY芯片就可以實現一個完整的以太網收發器;……