單片機的種類繁多,從低端到高端,有以51單片機為代表的8位單片機和以ARM為代表的32位單片機,不同檔次的單片機實現網絡接口的方法不同。對於像ARM等高端處理器一般都可以運行嵌入式操作系統,例如嵌入式Linux。對於無操作系統要求的單片機如何實現網絡接入,我下面將這些方案按TCP/IP協議棧的不同歸結為兩大類:第一類是傳統的軟件TCP/IP協議棧方案;第二類是最新的硬件TCP/IP協議棧方案。下面我就這兩類方案的實現方式進行分析。 1. MAC+PHY方案 所謂的 TCP/IP 協議棧是一系列網絡協議的統稱,不僅包括我們熟知的 TCP 協議和IP協議,還有網絡層的 ICMP(Internet控制報文)協議、IGMP(Internet 組管理)協議、ARP(地址解析)協議,傳輸層的UDP(用戶數據包)協議,應用層的HTTP(超文本傳輸)協議、DNS(域名解析)協議、FTP(文件傳送)協議、SMTP(簡單郵件管理)協議等等。 傳統的以太網接入方案如下圖,由MCU+MAC+PHY再加入網絡接口實現以太網的物理連接,通過在主控芯片中植入TCP/IP協議代碼實現通信及上層應用。 應用這種軟件TCP/IP協議棧方式實現的比較成熟方案有ENC28J60, CS8900A,DM9000,當然也有像 STM32F107 這類(內部自帶MAC)+PHY等方案。 由於軟件協議棧操作需要主控 MCU 不斷地響應中斷,這在很大程度上占用了 MCU的運算/時鐘資源。經過測試發現,單線程操作的情況下,MCU 的運行速度和數據的處理速度僅能滿足需要,但隨著線程增多,MCU 的工作效率直線下降,會嚴重影響通信質量。 代碼量方面,即便是采用輕量級的 TCP/IP 協議棧 LWIP…
View More 淺談單片機以太網接入方案WIZnet H.K. Blog
Official Blog of WIZNET H.K. LIMITED