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