淺談單片機以太網接入方案
1. MAC+PHY方案
本文引用地址:http://www.104case.com/article/201611/322046.htm所謂的TCP/IP協議棧是一系列網絡協議的統稱,不僅包括我們熟知的TCP協議和IP協議,還有網絡層的ICMP(Internet控制報文)協議、IGMP(Internet組管理)協議、ARP(地址解析)協議,傳輸層的UDP(用戶數據包)協議,應用層的HTTP(超文本傳輸)協議、DNS(域名解析)協議、FTP(文件傳送)協議、SMTP(簡單郵件管理)協議等等。
傳統的以太網接入方案如下圖,由MCU+MAC+PHY再加入網絡接口實現以太網的物理連接,通過在主控芯片中植入TCP/IP協議代碼實現通信及上層應用。
圖3-1-1 MAC+PHY以太網方案
應用這種軟件TCP/IP協議棧方式實現的比較成熟方案有ENC28J60,CS8900A,DM9000,當然也有像STM32F107這類(內部自帶MAC)+PHY等方案。
代碼量方面,即便是采用輕量級的TCP/IP協議棧LWIP協議,也會為主控芯片帶來超過40KB的代碼量,這對于本身內存資源匱乏的單片機來說負荷過重。
再從安全性的角度,設備并入互聯網之后必須考慮網絡安全問題,這種軟件協議棧的方式系統一旦受到復雜的惡意攻擊,單片機很有可能癱瘓掉,這對系統就是致命性打擊,雖然目前網絡技術不斷發展,各類新的加密技術試圖讓通信變得更加安全,但是還會出現各種各樣的漏洞。
2. 硬件協議棧芯片方案
圖3-2-1硬件協議棧芯片方案
圖3-2-2 TCP/IP硬件協議棧內核原理簡圖
以太網芯片的內核由傳輸層的TCP、UDP、ICMP、IGMP等協議、網絡層的IP、ARP、PPPoE等協議以及鏈路層的MAC構成,再加上物理層的PHY和外圍的寄存器、內存、SPI接口組成了這一整套硬件化的以太網解決方案。
這套硬件TCP/IP協議棧代替了以往的MCU來處理這些中斷請求,即MCU只需要處理面向用戶的應用層數據即可,傳輸層、網絡層、鏈路層及物理層全部由外圍WIZnet的芯片完成。這套方案從硬件開銷和軟件開發兩個方面來簡化前面所述的五層網絡模型,簡化產品開發方案。這樣一來,工程師們就不必再面對繁瑣的通信協議代碼,只需要了解簡單的寄存器功能以及Socket編程便能完成產品開發工作的的網絡功能開發部分。
當然,不可避免的硬件化的協議棧相對來說失去了軟件協議棧那樣的靈活性。目前只支持4個/8個Socket,不能隨時開啟更多Socket。但是,在嵌入式應用中8個Socket已經足夠應對超過大部分的應用。
評論