基于MCU的嵌入式物聯(lián)網(wǎng)設(shè)計(jì)中的以太網(wǎng)連接
隨著我們進(jìn)入普及的物聯(lián)網(wǎng)(IoT)世界,嵌入式設(shè)備的連接性是必不可少的。無線連接似乎是主流趨勢(shì),但大多數(shù)無線設(shè)備最終需要找到有線互聯(lián)網(wǎng)連接以增加帶寬和可靠性。我們的好朋友傳統(tǒng)有線以太網(wǎng)連接仍然需要集線器,聚合器,網(wǎng)橋,存儲(chǔ)和應(yīng)用服務(wù)器嵌入式節(jié)點(diǎn)。當(dāng)成本,帶寬,便利性或可靠性問題排除無線方法時(shí),低成本傳感器也可以使用有線以太網(wǎng)而不是無線解決方案。幸運(yùn)的是,許多低成本MCU系列現(xiàn)在提供有線以太網(wǎng)支持,因此可以開發(fā)傳感器,廉價(jià)橋接器和連接聚合器,而不會(huì)“破壞”預(yù)算庫。
本文將概述支持有線以太網(wǎng)連接的廉價(jià)MCU類型。將提供一些需要有線連接的常見嵌入式應(yīng)用示例,以演示關(guān)鍵MCU特性和功能如何與重要應(yīng)用要求相匹配。
嵌入式環(huán)境中的以太網(wǎng)連接
以太網(wǎng)在嵌入式系統(tǒng)中是如此普遍的元素,我們通常不會(huì)多考慮它 - 它只是計(jì)算機(jī)通信的“以太”。自從1985年最初的標(biāo)準(zhǔn)化以來,以太網(wǎng)已經(jīng)從最初的3 Mbit/s數(shù)據(jù)傳輸速率發(fā)展并發(fā)展到100 Gbit/s,并產(chǎn)生了各種不同的媒體和連接拓?fù)?。多層OSI模型和底層消息結(jié)構(gòu)的靈活性支持了以太網(wǎng)在幾十年內(nèi)生存和繁榮的發(fā)展和優(yōu)化。
嵌入式設(shè)備使用以太網(wǎng)連接來發(fā)送和接收數(shù)據(jù)和控制信息。更高級(jí)的嵌入式系統(tǒng)可以使用以太網(wǎng)來傳輸和接收代碼更新,以添加新功能并修復(fù)可被黑客利用來竊取機(jī)密信息的漏洞或安全漏洞。必須保護(hù)這些更新免受安全漏洞攻擊,或者黑客可以使用更新工具完全破壞系統(tǒng)并將其用作攻擊網(wǎng)絡(luò)其他部分的入口點(diǎn)。即使是低成本的嵌入式系統(tǒng)也可以利用遠(yuǎn)程更新的便利性,因此即使設(shè)計(jì)“按預(yù)算”完成,也必須考慮某種程度的安全性。
以太網(wǎng)幸存的原因之一這個(gè)標(biāo)準(zhǔn)的早期版本已經(jīng)變得越來越具有成本效益。例如,在雙絞線和8P8C模塊化連接器上運(yùn)行的標(biāo)準(zhǔn)(10BASE-T和100BASE-TX)的低帶寬10 Mbit/s和100 Mbit/s版本,即使在標(biāo)準(zhǔn)化后數(shù)十年仍然是一種流行的版本。這些版本現(xiàn)在通常在低成本MCU中得到支持,甚至可以為成本受限的設(shè)計(jì)提供連接。
預(yù)算中的以太網(wǎng)連接
MCU供應(yīng)商即使在一些最低端設(shè)備上也提供以太網(wǎng)連接。這使得即使是低成本的傳感器,控制器和分布式系統(tǒng)外圍的其他元件也可以添加Internet連接。最普遍的MCU系列之一是Microchip的PIC,PIC18F MCU系列的一些成員具有片上10BASE-T以太網(wǎng)控制器和集成PHY。這樣就可以僅使用帶有集成磁性元件的外部連接器(如Bel Fuse S811-1X1T-06-F)連接到以太網(wǎng)。集成PHY非常簡(jiǎn)單,因?yàn)樗鼘?shí)現(xiàn)了低速10BASE-T標(biāo)準(zhǔn),但由于它們的向后兼容性,它仍然可以連接到100BASE-T和1000BASE-T標(biāo)準(zhǔn)。
盡管Microchip PIC18F97J60 MCU價(jià)格低廉,以太網(wǎng)控制器具有多種先進(jìn)功能,可輕松實(shí)現(xiàn)更高級(jí)別通信協(xié)議所需的軟件。如圖1所示,控制器中包含一個(gè)8 KB的以太網(wǎng)RAM緩沖區(qū),用于本地?cái)?shù)據(jù)包存儲(chǔ),從而減少對(duì)系統(tǒng)內(nèi)存的帶寬要求。仲裁器管理從DMA控制器,CPU,發(fā)送模塊和接收模塊對(duì)數(shù)據(jù)緩沖區(qū)的訪問,以最大限度地提高性能和效率。
圖1:Microchip PIC18F97J60以太網(wǎng)控制器框圖。 (由Microchip提供)
PIC18F以太網(wǎng)控制器的其他高級(jí)功能之一是能夠在接收到特殊數(shù)據(jù)包時(shí)喚醒。這在傳感器應(yīng)用中特別有用,在傳感器應(yīng)用中,設(shè)備可以進(jìn)入低功耗模式,直到需要讀數(shù)。當(dāng)接收到喚醒數(shù)據(jù)包時(shí),CPU被中斷并轉(zhuǎn)換出低功耗狀態(tài)。傳感器讀數(shù)通過以太網(wǎng)傳送回主機(jī)。 CPU返回低功耗模式,直到收到另一個(gè)喚醒數(shù)據(jù)包。
構(gòu)建網(wǎng)橋
通常,需要將具有不同接口要求的多個(gè)傳感器合并并“橋接”到單一標(biāo)準(zhǔn)接口。在這個(gè)應(yīng)用中,MCU可能需要具有更強(qiáng)大的以太網(wǎng)實(shí)現(xiàn),可能使用100BASE-T標(biāo)準(zhǔn)來提升我們之前看到的單傳感器設(shè)備的性能,其中較慢的10BASE-T標(biāo)準(zhǔn)就足夠了。 MCU還需要支持各種其他標(biāo)準(zhǔn),例如USB,SPI,I 2 C,CAN和SMBus/PMBus,因此它可以覆蓋所有潛在的傳感器接口。例如,STMicroelectronics STM32F405xx/7xx MCU不僅支持以太網(wǎng)10/100BASE-T連接,還支持許多其他流行接口。如圖2中的框圖所示,它支持所有通用接口,并且由于它提供從64引腳到176引腳的各種封裝,您可以將器件與優(yōu)化電路板所需的精確接口端口數(shù)相匹配空間使用。
圖2:ST Microelectronics STM32F405xx/7xx MCU的框圖。 (由ST Microelectronics提供)
STM32F405xx/7xx的另一個(gè)關(guān)鍵特性是其片上總線的結(jié)構(gòu),使其成為橋接應(yīng)用的理想選擇。請(qǐng)注意,低速串行外設(shè)由兩個(gè)不同的總線組成,帶有獨(dú)立的DMA控制器,以最大限度地減少總線沖突。以太網(wǎng)和USB接口與高速AHB總線交換矩陣有自己的連接,可以優(yōu)先訪問片上和外部存儲(chǔ)器。在組合和整合多個(gè)傳感器數(shù)據(jù)流以通過單個(gè)以太網(wǎng)接口進(jìn)行通信時(shí),這種靈活的片上總線結(jié)構(gòu)至關(guān)重要。
聚合和存儲(chǔ)
以低成本實(shí)現(xiàn)嵌入式應(yīng)用程序?qū)⒂凶銐虻臄?shù)據(jù)由本地傳感器生成或從遠(yuǎn)程傳感器集線器聚合,MCU中可用的內(nèi)部存儲(chǔ)將是不夠的。在這些情況下,將需要外部存儲(chǔ)器控制器來管理外部存儲(chǔ)設(shè)備。對(duì)于中等容量的應(yīng)用,靜態(tài)存儲(chǔ)器就足夠了,但在高容量應(yīng)用中,將需要?jiǎng)討B(tài)存儲(chǔ)器。與NXP LPC178x/7x上的存儲(chǔ)器控制器一樣,它支持任何類型的接口,并且可以特別高效,因?yàn)榫哂胁煌鎯?chǔ)器要求的多個(gè)產(chǎn)品變體可以由同一MCU支持。如圖3所示,支持靜態(tài)存儲(chǔ)器(ROM,RAM和Flash)和動(dòng)態(tài)存儲(chǔ)器(SDRAM),可以存儲(chǔ)大量數(shù)據(jù)。嵌入式數(shù)據(jù)緩沖區(qū)在合并寫入事務(wù)以最小化內(nèi)存訪問時(shí)非常有用。讀操作可以使用緩沖區(qū)來聚合事務(wù)以最小化總線帶寬。此外,對(duì)先前緩沖的位置的訪問可以使用緩沖的數(shù)據(jù)而不是外部存儲(chǔ)器,從而改善存儲(chǔ)器帶寬并降低功耗。
圖3:恩智浦LPC178x/7x外部存儲(chǔ)器控制器框圖。 (恩智浦提供)
安全預(yù)防措施
在某些以太網(wǎng)連接的嵌入式系統(tǒng)中,安全性是一個(gè)關(guān)鍵考慮因素。許多低成本MCU沒有集成的安全功能,但有一些安全外設(shè)可用于為低成本MCU系統(tǒng)增加安全功能。例如,Atmel CryptoAuthentication ATSHA204A安全設(shè)備可以存儲(chǔ)安全密鑰,驗(yàn)證接收的數(shù)據(jù),并生成隨機(jī)數(shù),以便在通用安全協(xié)議中使用。標(biāo)準(zhǔn)安全散列算法(SHA)用于生成和檢查用于安全地驗(yàn)證傳輸?shù)陌踩TO(shè)備中可用的安全命令類型列表如圖4所示.MCU的接口使用熟悉的I 2 C總線,以便于集成。
圖4:Atmel ATSHA204A上可用的安全命令。 (由Atmel公司提供)
結(jié)論
以太網(wǎng)已經(jīng)存在,現(xiàn)在支持有線以太網(wǎng)連接的低端MCU,嵌入式物聯(lián)網(wǎng)設(shè)備將能夠使用性能和可靠性由有線連接提供。確保將應(yīng)用程序所需的以太網(wǎng)功能與目標(biāo)MCU提供的功能相匹配,以便成功進(jìn)行設(shè)計(jì)。