方便靈活的CAN總線網(wǎng)絡(luò)及應(yīng)用
CAN總線網(wǎng)絡(luò)是炙手可熱的技術(shù)
CAN總線網(wǎng)絡(luò)的問世已超過15年,它是德國Bosch公司及幾個(gè)半導(dǎo)體集成電路制造商開發(fā),芯片由摩托羅拉、Intel等公司生產(chǎn)。起初是專門為汽車工業(yè)設(shè)計(jì)的,面向需要可預(yù)測而無錯(cuò)誤通訊的汽車應(yīng)用,目的是為了節(jié)省接線的工作量,后來由于自身的特點(diǎn)被廣泛地應(yīng)用于各行各業(yè)。特別是近年來,由于價(jià)格不斷下降,CAN成了炙手可熱的技術(shù),并不再局限于汽車應(yīng)用領(lǐng)域。目前它正在工業(yè)網(wǎng)絡(luò)、醫(yī)療設(shè)備、軌道交通信號、樓宇控制及其它眾多系統(tǒng)中得到應(yīng)用。
圖1:CAN 總線網(wǎng)絡(luò)多主機(jī)系統(tǒng)-分布式網(wǎng)絡(luò)(圖右所示)
與以太網(wǎng)-集中式網(wǎng)絡(luò)(圖左所示)之比較
圖2:為基于 CAN 總線網(wǎng)絡(luò)的光電經(jīng)緯儀通信結(jié)構(gòu)框圖
牢靠而高速的通訊
上述眾多應(yīng)用領(lǐng)城系統(tǒng)之所以采用CAN總線網(wǎng)絡(luò),不僅因?yàn)槠涑杀镜土?,還由于通過這種網(wǎng)絡(luò)可進(jìn)行牢靠而高速的通訊。CAN總線可采用雙絞線、同軸電纜或光纖作為傳輸介質(zhì);它的直接通信距離最遠(yuǎn)可達(dá)10km,通信速率通信比特率可高達(dá)1Mbps(此時(shí)通信距離為40m);總線上可掛設(shè)備數(shù)主要取決于總線驅(qū)動(dòng)電路,最多可達(dá)110個(gè)。
CAN總線網(wǎng)絡(luò)是一個(gè)多主機(jī)系統(tǒng)
CAN采用多主工作方式,節(jié)點(diǎn)之間不分主從,但節(jié)點(diǎn)之間有優(yōu)先級之分,通信方式靈活,可實(shí)現(xiàn)點(diǎn)對點(diǎn)、一點(diǎn)對多點(diǎn)及廣播方式傳輸數(shù)據(jù),無需調(diào)度。也就是說,它可向系統(tǒng)中的所有節(jié)點(diǎn)進(jìn)行報(bào)文發(fā)送廣播。在這種網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)均可濾除不需要的報(bào)文。
與以太網(wǎng)之區(qū)別
傳統(tǒng)的客戶機(jī)/服務(wù)器網(wǎng)絡(luò)(如以太網(wǎng))依賴于網(wǎng)絡(luò)尋址方式將數(shù)據(jù)發(fā)送到單一節(jié)點(diǎn)上,如果網(wǎng)絡(luò)中存在多個(gè)節(jié)點(diǎn),則需用星形配置實(shí)現(xiàn)集中控制(見圖1左所示集中式網(wǎng)絡(luò))。這種以太網(wǎng)絡(luò)中只需較少的單片機(jī)即可執(zhí)行各種不同的任務(wù),但所使用的是MCU(多芯片單元),通常需要有較多引腳,而且功能也更加復(fù)雜,很不方便。
與之相反,CAN系統(tǒng)中的每個(gè)節(jié)點(diǎn)均同時(shí)接收到同樣的數(shù)據(jù)。缺省情況下,CAN是基于報(bào)文而非地址的。系統(tǒng)采用分布式控制實(shí)現(xiàn)方法集成了多節(jié)點(diǎn)(見圖1右所示分布式網(wǎng)絡(luò))。這種拓?fù)浣Y(jié)構(gòu)的好處之一是,節(jié)點(diǎn)的增加和去除非常簡單,對軟件的影響也很小。CAN網(wǎng)絡(luò)要求每個(gè)節(jié)點(diǎn)均具備智能,但智能化水平可根據(jù)節(jié)點(diǎn)所承載的任務(wù)進(jìn)行調(diào)整。因此CAN系統(tǒng)中使用的單片機(jī)通常較簡單并且引腳數(shù)也較少。由于使用的導(dǎo)線較少并且采用分散式智能,而且CAN網(wǎng)絡(luò)還具有較高的可靠性。
圖1進(jìn)一步顯示了在多任務(wù)網(wǎng)絡(luò)中,集中式網(wǎng)絡(luò)通常用于以太網(wǎng)系統(tǒng),如果在系統(tǒng)中增加節(jié)點(diǎn),則要求對系統(tǒng)MCU(多芯片單元)作很大的變動(dòng);而CAN網(wǎng)絡(luò)可實(shí)現(xiàn)分布式網(wǎng)絡(luò),從系統(tǒng)中增加或刪除節(jié)點(diǎn)只需改變少量的固件。
CAN采用的是非破壞性總線仲裁技術(shù),按優(yōu)先級發(fā)送,可以大大節(jié)省總線沖突仲裁時(shí)間
而以太網(wǎng)在于它在發(fā)送結(jié)束前進(jìn)行沖突檢測。而CAN在發(fā)送開始時(shí)采用沖突檢測并有解決方法。當(dāng)同時(shí)發(fā)送的兩個(gè)或更多CAN節(jié)點(diǎn)在仲裁期間出現(xiàn)沖突時(shí),報(bào)文優(yōu)先級較低的節(jié)點(diǎn)會檢測到?jīng)_突。隨后優(yōu)先級較低的節(jié)點(diǎn)切換到接收模式,等待下一次總線空閑才再次嘗試發(fā)送。
仲裁成功的發(fā)送器將繼續(xù)如常發(fā)送報(bào)文,由于在報(bào)文仲裁期間,模式的變更在發(fā)送的一開始就發(fā)生了,而優(yōu)先級高的報(bào)文沒有遭到破壞,因此系統(tǒng)對沖突的仲裁結(jié)果能做出更快的回應(yīng)。報(bào)文標(biāo)志符可達(dá)2032種,而擴(kuò)展標(biāo)準(zhǔn)的報(bào)文標(biāo)志符幾乎不受限制。
目前CAN已由ISO TC22技術(shù)委員會批準(zhǔn)為國際標(biāo)準(zhǔn),在現(xiàn)場總線中,它是唯一被國際標(biāo)準(zhǔn)化組織批準(zhǔn)的現(xiàn)場總線。CAN協(xié)議也遵循ISO/OSI模型,采用了其中的物理層、數(shù)據(jù)鏈路層與應(yīng)用層。由Bosch公司負(fù)責(zé)編寫的CAN總線網(wǎng)絡(luò)技術(shù)規(guī)范已通過ISO和SAE標(biāo)準(zhǔn)化。完整的CAN規(guī)范標(biāo)準(zhǔn)參見ISO 11898-1。ISO 11898-2包含了CAN物理層規(guī)范。
評論