通信電路的can總線原理解析是什么?
CAN總線,國際上應(yīng)用最廣泛的現(xiàn)場總線之一,它的出現(xiàn)簡直可以說是一種黑科技,CAN(ControllerAreaNetwork),即控制器局域網(wǎng)絡(luò),一般稱為CANbus,CAN總線。是由德國BOSCH(博世)公司開發(fā)的,現(xiàn)已變成ISO世界標(biāo)準(zhǔn)化的串行通信協(xié)議,是現(xiàn)在在世界上使用最廣泛的開放式現(xiàn)場總線之一。CAN總線以報(bào)文的方法發(fā)送數(shù)據(jù),每組報(bào)文的前十一位為標(biāo)識符(在同一個體系中,標(biāo)識符是僅有的),不包括詳細(xì)發(fā)送數(shù)據(jù),是對報(bào)文優(yōu)先級的界說,我們將報(bào)文的這種格局稱為面向內(nèi)容的編址計(jì)劃。
CAN 控制器根據(jù)兩根線上的電位差來判斷總線電平??偩€電平分為顯性電平和隱性電平, 二者必居其一。發(fā)送方通過使總線電平發(fā)生變化,將消息發(fā)送給接收方。 CAN 協(xié)議具有一下特點(diǎn): 1) 多主控制。 在總線空閑時,所有單元都可以發(fā)送消息(多主控制), 而兩個以上的單元 同時開始發(fā)送消息時,根據(jù)標(biāo)識符( Identifier 以下稱為 ID)決定優(yōu)先級。 ID 并不是 表示發(fā)送的目的地址,而是表示訪問總線的消息的優(yōu)先級。兩個以上的單元同時開始 發(fā)送消息時,對各消息 ID 的每個位進(jìn)行逐個仲裁比較。仲裁獲勝(被判定為優(yōu)先級 最高)的單元可繼續(xù)發(fā)送消息,仲裁失利的單元則立刻停止發(fā)送而進(jìn)行接收工作。 2) 系統(tǒng)的柔軟性。 與總線相連的單元沒有類似于“地址”的信息。因此在總線上增加單 元時,連接在總線上的其它單元的軟硬件及應(yīng)用層都不需要改變。 3) 通信速度較快,通信距離遠(yuǎn)。 最高 1Mbps(距離小于 40M),最遠(yuǎn)可達(dá) 10KM(速率低 于 5Kbps)。 4) 具有錯誤檢測、錯誤通知和錯誤恢復(fù)功能。 所有單元都可以檢測錯誤(錯誤檢測功能), 檢測出錯誤的單元會立即同時通知其他所有單元(錯誤通知功能),正在發(fā)送消息的單 元一旦檢測出錯誤,會強(qiáng)制結(jié)束當(dāng)前的發(fā)送。強(qiáng)制結(jié)束發(fā)送的單元會不斷反復(fù)地重新 發(fā)送此消息直到成功發(fā)送為止(錯誤恢復(fù)功能)。 5) 故障封閉功能。CAN 可以判斷出錯誤的類型是總線上暫時的數(shù)據(jù)錯誤(如外部噪聲等) 還是持續(xù)的數(shù)據(jù)錯誤(如單元內(nèi)部故障、驅(qū)動器故障、斷線等)。由此功能,當(dāng)總線上 發(fā)生持續(xù)數(shù)據(jù)錯誤時,可將引起此故障的單元從總線上隔離出去。 6) 連接節(jié)點(diǎn)多。 CAN 總線是可同時連接多個單元的總線。可連接的單元總數(shù)理論上是沒 有限制的。但實(shí)際上可連接的單元數(shù)受總線上的時間延遲及電氣負(fù)載的限制。降低通 信速度,可連接的單元數(shù)增加;提高通信速度,則可連接的單元數(shù)減少。 正是因?yàn)?CAN 協(xié)議的這些特點(diǎn),使得 CAN 特別適合工業(yè)過程監(jiān)控設(shè)備的互連,因此,越 來越受到工業(yè)界的重視,并已公認(rèn)為最有前途的現(xiàn)場總線之一。 CAN 協(xié)議經(jīng)過 ISO 標(biāo)準(zhǔn)化后有兩個標(biāo)準(zhǔn):ISO11898標(biāo)準(zhǔn)和 ISO11519-2 標(biāo)準(zhǔn)。其中 ISO11898是針對通信速率為 125Kbps~1Mbps 的高速通信標(biāo)準(zhǔn),而 ISO11519-2 是針對通信速率為 125Kbps以下的低速通信標(biāo)準(zhǔn)。
CAN總線以播送的方法從一個節(jié)點(diǎn)向另一個節(jié)點(diǎn)發(fā)送數(shù)據(jù),當(dāng)一個節(jié)點(diǎn)發(fā)送數(shù)據(jù)時,該節(jié)點(diǎn)的CPU把即將發(fā)送的數(shù)據(jù)和標(biāo)識符發(fā)送給本節(jié)點(diǎn)的CAN芯片,并使其進(jìn)入準(zhǔn)備階段;一旦該CAN芯片收到總線分配,就變?yōu)榘l(fā)送報(bào)文階段,該CAN芯片把將發(fā)送的數(shù)據(jù)構(gòu)成規(guī)定的報(bào)文格式發(fā)出。此刻,網(wǎng)絡(luò)中別的的節(jié)點(diǎn)都處于接受階段,所有的節(jié)點(diǎn)都要先對其進(jìn)行接受,經(jīng)過檢查來判別該報(bào)文是不是是發(fā)給自己的。
CAN總線適用于大數(shù)據(jù)量短距離通信或者長距離小數(shù)據(jù)量,實(shí)時性要求比較高,適合多主多從或者各個節(jié)點(diǎn)平等的現(xiàn)場中使用。目前被廣泛應(yīng)用于工業(yè)自動化、船舶、醫(yī)療設(shè)備、工業(yè)設(shè)備等行業(yè)領(lǐng)域?,F(xiàn)場總線是當(dāng)今自動化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,被譽(yù)為自動化領(lǐng)域的計(jì)算機(jī)局域網(wǎng)。它的出現(xiàn)為分布式控制系統(tǒng)實(shí)現(xiàn)各節(jié)點(diǎn)之間實(shí)時、可靠的數(shù)據(jù)通信提供了強(qiáng)有力的技術(shù)支持。