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