MCU網(wǎng)絡(luò)接口方案的自由選擇
摘要:單片機(jī)(微控制器,MCU)的連通性正成為帶一個(gè)或多個(gè)網(wǎng)絡(luò)接口MCU的附加標(biāo)準(zhǔn)。本文介紹國(guó)外帶一個(gè)或多個(gè)網(wǎng)絡(luò)接口MCU的發(fā)展、網(wǎng)絡(luò)構(gòu)成、芯片選擇、嵌入式無(wú)線網(wǎng)絡(luò)及其應(yīng)用情況。
關(guān)鍵詞:MCU網(wǎng)絡(luò) 網(wǎng)絡(luò)接口 嵌入式系統(tǒng)網(wǎng)絡(luò) 嵌入式無(wú)線網(wǎng)絡(luò)
微控制器不再工作于隔離狀態(tài),從工廠樓層到汽車內(nèi)部,到處都有分布計(jì)算駐留。帶雙以太網(wǎng)或CAN(控制局域網(wǎng))總線接口的MCU是很有用的,而這還只是冰山一角。
當(dāng)今,有各種形式和大小的網(wǎng)絡(luò)。許多嵌入式系統(tǒng)已有多種網(wǎng)絡(luò)。隨著TCA(電信計(jì)算架構(gòu))的新進(jìn)展,其開(kāi)關(guān)結(jié)構(gòu)網(wǎng)絡(luò)(switch-fabric network)引人注意。它可以是以太網(wǎng),使用了一對(duì)I2C(內(nèi)部集成電路)總線來(lái)支持IPM(綜合功率管理)控制器(IPMC),這是架構(gòu)管理支持的一部分。
今天,雖然獲得通信軟件相當(dāng)復(fù)雜,但是選擇一種與網(wǎng)絡(luò)匹配的MCU是相當(dāng)容易的。在多節(jié)點(diǎn)或多網(wǎng)絡(luò)中采用分區(qū)(或分塊)應(yīng)用,可以解決耐用性方面的問(wèn)題。與分布處理器相比,聯(lián)網(wǎng)還能減少電纜需求,并允許系統(tǒng)由廉價(jià)的MCU陣列組成,從而代替一對(duì)高性能的處理器。
MCU網(wǎng)絡(luò)覆蓋了廣泛的嵌入式環(huán)境。以太網(wǎng)是最流行的網(wǎng)絡(luò),特別是對(duì)因特網(wǎng)與局域網(wǎng)的連通。RS-232接口很流行,但它的速度慢,主要用來(lái)控制的裝置;而應(yīng)用于網(wǎng)絡(luò)的網(wǎng)關(guān),則對(duì)接口的要求更高。對(duì)許多嵌入式設(shè)計(jì)問(wèn)題。研發(fā)者可選一個(gè)或多個(gè)合適的網(wǎng)絡(luò)接口來(lái)解決。
1 網(wǎng)絡(luò)與外設(shè)
很多流行的網(wǎng)絡(luò)接口都是裝在MCU上的(見(jiàn)表1和表2所列)。串行接口很流行,它主要用于串行接口設(shè)備,但并不支持網(wǎng)絡(luò)。有些接口執(zhí)行SLIP(串行鏈路接口協(xié)議)或PPP(點(diǎn)對(duì)點(diǎn)協(xié)議),通過(guò)調(diào)制解調(diào)器(MODEM)與因特網(wǎng)連接。
表1 連接總線用在MCU網(wǎng)絡(luò)的情況
總線名稱 | 所占百分比/(%) |
RS-232 | 57.5 |
以太網(wǎng) | 39.3 |
USB(通用串行總線) | 20.0 |
CAN(控制域網(wǎng)絡(luò)) | 17.8 |
802.11(無(wú)線) | 7.9 |
藍(lán)牙(短距離無(wú)線) | 8.6 |
火線/1394(高速串行總線) | 5.7 |
專門(mén)的 | 15.8 |
其它 | 20.4 |
無(wú)名 | 4.7 |
表2 網(wǎng)絡(luò)接口
接 口 | 性能說(shuō)明 | 傳輸速度/距離 | 架 構(gòu) | 協(xié) 議 | 連線數(shù) |
以太 | 10/100/1000BaseT局域網(wǎng)(LAN) | 10、100、1000Mb/s 100以上 |
多主機(jī),CSMA/CD | IPv4,IPv6, TPP/IP |
4(Cat5) 光 |
1394b | 火線LAN/外設(shè)網(wǎng)絡(luò) | 8002400Mb/s 100mUTP(未屏蔽雙絞線) |
多主機(jī) | 1394 TCP/IP |
6 光 |
USB | 通用串行總線外設(shè)網(wǎng)絡(luò) | 12Mb/s sv1.1 480Mb/s sv2,0 25m |
主/從 星形 127個(gè)設(shè)備 |
USB | 4 |
SPI | 串行外設(shè)接口設(shè)備網(wǎng)絡(luò) | 1Mb/s 5m |
主/從 | - | 3加線地和片選 |
I2C | 內(nèi)部集成電路設(shè)備網(wǎng)絡(luò) | 1000kb/s 標(biāo)準(zhǔn) 400kb/s 快速 3.4Mb/s 高速 10m |
主/從 多個(gè)主機(jī) |
- | 2加地線 |
CAN | 控制域網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò) | 1Mb/s 40m 10kb/s 5000m |
主/從 多個(gè)主機(jī) |
CANopen | 1加地線 差分 光 |
LIN | 局部互連網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò) | 20kb/s 80m |
主/從 16個(gè)設(shè)備 |
LIN 觸發(fā)時(shí)間 |
1加地線 |
1Wire | Maxim(專用) | 16kb/s 140kb/s 600m |
主/從 | 1Wire | 1加地線 |
以太網(wǎng)是現(xiàn)在最通用的,其高速硬件很容易插入片上系統(tǒng)(SoC)。為把多種設(shè)備與因特網(wǎng)連接起來(lái),增加以太網(wǎng)已變得很重要。
后來(lái),USB(通用串行總線)在MCU中更多地出現(xiàn)。最初,是把MCU當(dāng)成一個(gè)USB外設(shè)來(lái)處理。支持USB的主機(jī)總是有用的,MCU被用作像鍵盤(pán)一樣帶有PC風(fēng)格的設(shè)備,而且與存儲(chǔ)設(shè)備和其它USB外設(shè)一起工作得非常好。USB在那些靠近主機(jī)的外部嵌入式網(wǎng)絡(luò)中變得更加重要。
正在慢慢嵌入MCU的接口有1394(高速總線接口)。這種情況可能隨著1394b的出現(xiàn)而變化,它強(qiáng)調(diào)是作為多媒體網(wǎng)絡(luò)的基礎(chǔ)設(shè)施。
CAN總線是一種網(wǎng)絡(luò)接口,其流行的程序與以太網(wǎng)相同,尤其是當(dāng)它進(jìn)入汽車和過(guò)程控制環(huán)境后,就更是這樣了。
2 設(shè)備網(wǎng)絡(luò)
MCU更通用的是與CAN、LIN(局部互連網(wǎng)絡(luò))、SPI(串行外設(shè)接口)、I2C和單線(1Wire)總線相連接。雖然這些接口的運(yùn)行速度比以太網(wǎng)慢,但它們更容易實(shí)現(xiàn)。有些設(shè)備的主裝置,像單線協(xié)議,能完全用軟件實(shí)現(xiàn),而以太網(wǎng)則很少有能這樣做的設(shè)備。
CAN已在汽車和過(guò)程控制工業(yè)中找到了自己的位置。它受到廣泛支持,并適合嵌入式應(yīng)用范圍,常用于LIN的分級(jí)網(wǎng)絡(luò)。
速度為20kb/s的LIN適合低性能網(wǎng)絡(luò)。雖然瞄準(zhǔn)的是汽車工業(yè),但LIN可作為傳感器,方便地進(jìn)入其它嵌入式應(yīng)用網(wǎng)絡(luò)。CAN和LIN都有單線設(shè)計(jì)的優(yōu)點(diǎn)。作為大多數(shù)單線設(shè)計(jì),對(duì)設(shè)備采取共地是有效的。
國(guó)家半導(dǎo)體和摩托羅拉公司開(kāi)發(fā)了SPI,它使用主/從架構(gòu)方式,與從機(jī)的數(shù)據(jù)收集、整理系統(tǒng)鏈接在一起(daisy-chain together),如力所示。要實(shí)現(xiàn)串行外設(shè)接口是相當(dāng)簡(jiǎn)單的,為保持靠近主機(jī)的SPI從機(jī),使用單獨(dú)的芯片選擇。
I2C使用雙線時(shí)鐘總線,支持主/從和多架構(gòu)。從先進(jìn)的TCA到電池的監(jiān)視。I2C已在廣泛的嵌入式應(yīng)用范圍內(nèi)找到了自己的位置。一個(gè)運(yùn)行在3.4Mb/s下的高速能版本工作在100kb/s范圍內(nèi)時(shí)也同樣的好。飛利浦是I2C的支持者之一。
I2C的同步特性及其每個(gè)字節(jié)的證實(shí)(per-byteacknowledgement),使它能相當(dāng)容易地用硬件實(shí)現(xiàn)。如沒(méi)有大量的軟件開(kāi)銷,它本身對(duì)UART(通用異步收發(fā)器)的執(zhí)行是沒(méi)有幫助的。與以太網(wǎng)、CAN和LIN比較、I2C有廣泛的零售商支持。
單線架構(gòu)是專用的只有一條連線的主/從網(wǎng)絡(luò)。主網(wǎng)絡(luò)可由任何人開(kāi)發(fā),但從網(wǎng)絡(luò)必注冊(cè)。有各種消息來(lái)源(source)提供給單線從設(shè)備。此架構(gòu)對(duì)簡(jiǎn)單、低功耗設(shè)備是很有用的。
在MCU上,單獨(dú)的網(wǎng)絡(luò)接口已成功一段時(shí)間了。后來(lái),更多出現(xiàn)的是多于一個(gè)接口的MCU。這允許MCU作網(wǎng)絡(luò)之間連接的網(wǎng)關(guān)。
3 網(wǎng)關(guān)芯片
帶有一對(duì)網(wǎng)絡(luò)接口的MCU,在從Ubicom公司的低價(jià)IP3023網(wǎng)絡(luò)處理器(它能支持6種網(wǎng)絡(luò))到NEC公司的400MHz、64位Vr7701處理器(它帶有一對(duì)10/100Mb/s的以太網(wǎng)接口)上都能運(yùn)行。這些MCU能輕松地支持常駐的網(wǎng)關(guān)和機(jī)頂盒應(yīng)用。許多MCU零售商正推動(dòng)在此范圍應(yīng)用的解決方法。以太網(wǎng)的網(wǎng)關(guān)保持了在SOHO(小型辦公和家庭辦公)環(huán)境的流行。借助于裝運(yùn)(shipment),CAN到CAN的網(wǎng)關(guān)卻領(lǐng)選于以太網(wǎng),這是因?yàn)樗挥诖蠖鄶?shù)汽車內(nèi)。
網(wǎng)橋應(yīng)用構(gòu)成了另一領(lǐng)域,在那里MCU已應(yīng)用于娛樂(lè)、玩耍和表演。在這些應(yīng)用中,不同的網(wǎng)絡(luò)連接在一起。CAN到LIN的網(wǎng)橋,比如三菱電子公司的M16C產(chǎn)品,就用在了汽車環(huán)境。在該環(huán)境中,可能要支持多個(gè)網(wǎng)橋來(lái)隔離汽車電子設(shè)備的不同部分。CAN到LIN網(wǎng)橋能接入廉價(jià)的LIN從處理器進(jìn)行存取。雖然CAN是相當(dāng)便宜的網(wǎng)絡(luò),但LIN設(shè)備更加便宜。二者都采用了單線連接,使得關(guān)鍵選擇因素的成本變得較低,如圖2所示。
今天,以太網(wǎng)到I2C和以太網(wǎng)到SPI,實(shí)際上是在計(jì)算機(jī)系統(tǒng)管理下完成的。類似的,CAN設(shè)備都在過(guò)程控制環(huán)境中流行。有幾個(gè)例子,包括Microchip公司的PIC MCU和日本日六公司的H8產(chǎn)品都帶有CAN 2.0b,并支持SPI或I2C網(wǎng)絡(luò)。甚至有單個(gè)的設(shè)備,像Lan-tronix Xport,它使用了X186(基于DSTNI LX)的MCU,帶內(nèi)置橋接串行設(shè)備的以太網(wǎng),整個(gè)系統(tǒng)內(nèi)部裝配置有擴(kuò)展的RJ45插座(即水晶頭)。
至今,無(wú)線網(wǎng)絡(luò)可以肯定會(huì)流行,但事例了MCU的流行無(wú)線解決方案尚未出現(xiàn),如802.11、藍(lán)牙和ZigBee(802.15)全都需要在MCU外有大量的硬件電路塊。支持的網(wǎng)絡(luò)協(xié)議和以太網(wǎng)是相同級(jí)別的,要把協(xié)議集成到小的網(wǎng)絡(luò)內(nèi)困難更多。ZigBee要整合到MCU內(nèi),看起來(lái)是最容易的,因?yàn)樗墓ぷ魉俣雀?,所需的功耗更低,協(xié)議更簡(jiǎn)單。
駐留的網(wǎng)關(guān),特別是那些無(wú)線網(wǎng)關(guān),在嵌入式網(wǎng)絡(luò)中對(duì)安全的要求比對(duì)隔離的要求更高一些。這就是為什么像IDT公司的RC32365芯片整合了加密硬件的原理。為支持VPN(Virtual Person Network,虛擬個(gè)人網(wǎng)絡(luò))設(shè)計(jì)提供的MCU,還需要包括一對(duì)以太網(wǎng)MAC(媒體存取控制)和SPI。
分布嵌入式系統(tǒng)的解決方法,容易用這樣的MCU來(lái)構(gòu)成,這些MCU內(nèi)整合了大部分(如果說(shuō)不是全部的話)一個(gè)或多個(gè)網(wǎng)絡(luò)所需的硬件。選擇正確的網(wǎng)絡(luò)可能是一個(gè)更困難的任務(wù),但至少有相當(dāng)大的范圍可自由選擇,這是有益的。
5 單線網(wǎng)絡(luò)
單線是Maxim公司集成產(chǎn)品專用網(wǎng)絡(luò)架構(gòu)。其獲益來(lái)自廉價(jià)的主/從架構(gòu),包括給通信所用的小線路上提供小功率的能力。
單線主機(jī)在MCU上僅使用單根I/O線,通過(guò)軟件很容易實(shí)現(xiàn)。許多MCU已有單線主機(jī)路由。USB-單線和串行-單線的網(wǎng)橋芯片也都已出現(xiàn)。
主機(jī)沒(méi)有注冊(cè)限制,注冊(cè)隨從機(jī)進(jìn)入運(yùn)行,每個(gè)從機(jī)有一個(gè)唯一的64位串行號(hào)。初始握手協(xié)議允許主機(jī)單獨(dú)地識(shí)別每臺(tái)從機(jī)。
在戴爾半導(dǎo)體/Maxim公司工作的自動(dòng)化信息產(chǎn)品經(jīng)理Hal Kurkowski指出:?jiǎn)尉€方法能給從設(shè)備供電(如圖3所示)。當(dāng)數(shù)據(jù)傳輸時(shí),電容器維持設(shè)備上的電壓。
在必要時(shí),結(jié)構(gòu)主機(jī)有可能通過(guò)總線提供更大的功率。在此情況,主機(jī)必須能編程,這樣在請(qǐng)求送到從設(shè)備后,22Ω電源電阻被交替切換。有一個(gè)基于快閃存儲(chǔ)器設(shè)備的例子,對(duì)存儲(chǔ)器編程時(shí)需要更多的功率。此時(shí)主機(jī)將對(duì)設(shè)備發(fā)送請(qǐng)求,切入電源,等待規(guī)定的時(shí)間到后,再切回到1.2kΩ電阻。
評(píng)論