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