MCU網(wǎng)絡(luò)接口方案的自由選擇
摘要:單片機(jī)(微控制器,MCU)的連通性正成為帶一個(gè)或多個(gè)網(wǎng)絡(luò)接口MCU的附加標(biāo)準(zhǔn)。本文介紹國外帶一個(gè)或多個(gè)網(wǎng)絡(luò)接口MCU的發(fā)展、網(wǎng)絡(luò)構(gòu)成、芯片選擇、嵌入式無線網(wǎng)絡(luò)及其應(yīng)用情況。 關(guān)鍵詞:MCU網(wǎng)絡(luò) 網(wǎng)絡(luò)接口 嵌入式系統(tǒng)網(wǎng)絡(luò) 嵌入式無線網(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)展,其開關(guān)結(jié)構(gòu)網(wǎng)絡(luò)(switch-fabric network)引人注意。它可以是以太網(wǎng),使用了一對I2C(內(nèi)部集成電路)總線來支持IPM(綜合功率管理)控制器(IPMC),這是架構(gòu)管理支持的一部分。 今天,雖然獲得通信軟件相當(dāng)復(fù)雜,但是選擇一種與網(wǎng)絡(luò)匹配的MCU是相當(dāng)容易的。在多節(jié)點(diǎn)或多網(wǎng)絡(luò)中采用分區(qū)(或分塊)應(yīng)用,可以解決耐用性方面的問題。與分布處理器相比,聯(lián)網(wǎng)還能減少電纜需求,并允許系統(tǒng)由廉價(jià)的MCU陣列組成,從而代替一對高性能的處理器。 1 網(wǎng)絡(luò)與外設(shè) 很多流行的網(wǎng)絡(luò)接口都是裝在MCU上的(見表1和表2所列)。串行接口很流行,它主要用于串行接口設(shè)備,但并不支持網(wǎng)絡(luò)。有些接口執(zhí)行SLIP(串行鏈路接口協(xié)議)或PPP(點(diǎn)對點(diǎn)協(xié)議),通過調(diào)制解調(diào)器(MODEM)與因特網(wǎng)連接。
表2 網(wǎng)絡(luò)接口
以太網(wǎng)是現(xiàn)在最通用的,其高速硬件很容易插入片上系統(tǒng)(SoC)。為把多種設(shè)備與因特網(wǎng)連接起來,增加以太網(wǎng)已變得很重要。 后來,USB(通用串行總線)在MCU中更多地出現(xiàn)。最初,是把MCU當(dāng)成一個(gè)USB外設(shè)來處理。支持USB的主機(jī)總是有用的,MCU被用作像鍵盤一樣帶有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)入汽車和過程控制環(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已在汽車和過程控制工業(yè)中找到了自己的位置。它受到廣泛支持,并適合嵌入式應(yīng)用范圍,常用于LIN的分級網(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ì),對設(shè)備采取共地是有效的。 國家半導(dǎo)體和摩托羅拉公司開發(fā)了SPI,它使用主/從架構(gòu)方式,與從機(jī)的數(shù)據(jù)收集、整理系統(tǒng)鏈接在一起(daisy-chain together),如力所示。要實(shí)現(xiàn)串行外設(shè)接口是相當(dāng)簡單的,為保持靠近主機(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)。如沒有大量的軟件開銷,它本身對UART(通用異步收發(fā)器)的執(zhí)行是沒有幫助的。與以太網(wǎng)、CAN和LIN比較、I2C有廣泛的零售商支持。 單線架構(gòu)是專用的只有一條連線的主/從網(wǎng)絡(luò)。主網(wǎng)絡(luò)可由任何人開發(fā),但從網(wǎng)絡(luò)必注冊。有各種消息來源(source)提供給單線從設(shè)備。此架構(gòu)對簡單、低功耗設(shè)備是很有用的。 在MCU上,單獨(dú)的網(wǎng)絡(luò)接口已成功一段時(shí)間了。后來,更多出現(xiàn)的是多于一個(gè)接口的MCU。這允許MCU作網(wǎng)絡(luò)之間連接的網(wǎng)關(guān)。 3 網(wǎng)關(guān)芯片 帶有一對網(wǎng)絡(luò)接口的MCU,在從Ubicom公司的低價(jià)IP3023網(wǎng)絡(luò)處理器(它能支持6種網(wǎng)絡(luò))到NEC公司的400MHz、64位Vr7701處理器(它帶有一對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)用于娛樂、玩耍和表演。在這些應(yīng)用中,不同的網(wǎng)絡(luò)連接在一起。CAN到LIN的網(wǎng)橋,比如三菱電子公司的M16C產(chǎn)品,就用在了汽車環(huán)境。在該環(huán)境中,可能要支持多個(gè)網(wǎng)橋來隔離汽車電子設(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è)備都在過程控制環(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插座(即水晶頭)。 4 嵌入式無線網(wǎng)絡(luò) 至今,無線網(wǎng)絡(luò)可以肯定會(huì)流行,但事例了MCU的流行無線解決方案尚未出現(xiàn),如802.11、藍(lán)牙和ZigBee(802.15)全都需要在MCU外有大量的硬件電路塊。支持的網(wǎng)絡(luò)協(xié)議和以太網(wǎng)是相同級別的,要把協(xié)議集成到小的網(wǎng)絡(luò)內(nèi)困難更多。ZigBee要整合到MCU內(nèi),看起來是最容易的,因?yàn)樗墓ぷ魉俣雀?,所需的功耗更低,協(xié)議更簡單。 駐留的網(wǎng)關(guān),特別是那些無線網(wǎng)關(guān),在嵌入式網(wǎng)絡(luò)中對安全的要求比對隔離的要求更高一些。這就是為什么像IDT公司的RC32365芯片整合了加密硬件的原理。為支持VPN(Virtual Person Network,虛擬個(gè)人網(wǎng)絡(luò))設(shè)計(jì)提供的MCU,還需要包括一對以太網(wǎng)MAC(媒體存取控制)和SPI。 分布嵌入式系統(tǒng)的解決方法,容易用這樣的MCU來構(gòu)成,這些MCU內(nèi)整合了大部分(如果說不是全部的話)一個(gè)或多個(gè)網(wǎng)絡(luò)所需的硬件。選擇正確的網(wǎng)絡(luò)可能是一個(gè)更困難的任務(wù),但至少有相當(dāng)大的范圍可自由選擇,這是有益的。 5 單線網(wǎng)絡(luò) 單線是Maxim公司集成產(chǎn)品專用網(wǎng)絡(luò)架構(gòu)。其獲益來自廉價(jià)的主/從架構(gòu),包括給通信所用的小線路上提供小功率的能力。 單線主機(jī)在MCU上僅使用單根I/O線,通過軟件很容易實(shí)現(xiàn)。許多MCU已有單線主機(jī)路由。USB-單線和串行-單線的網(wǎng)橋芯片也都已出現(xiàn)。 主機(jī)沒有注冊限制,注冊隨從機(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指出:單線方法能給從設(shè)備供電(如圖3所示)。當(dāng)數(shù)據(jù)傳輸時(shí),電容器維持設(shè)備上的電壓。 在必要時(shí),結(jié)構(gòu)主機(jī)有可能通過總線提供更大的功率。在此情況,主機(jī)必須能編程,這樣在請求送到從設(shè)備后,22Ω電源電阻被交替切換。有一個(gè)基于快閃存儲(chǔ)器設(shè)備的例子,對存儲(chǔ)器編程時(shí)需要更多的功率。此時(shí)主機(jī)將對設(shè)備發(fā)送請求,切入電源,等待規(guī)定的時(shí)間到后,再切回到1.2kΩ電阻。 |