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