CAN總線協(xié)議概述
位仲裁
本文引用地址:http://www.104case.com/article/201612/330446.htm要對數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,就必須將數(shù)據(jù)快速傳送,這就要求數(shù)據(jù)的物理傳輸通路有較高的速度。在幾個站同時(shí)需要發(fā)送數(shù)據(jù)時(shí),要求快速地進(jìn)行總線分配。實(shí)時(shí)處理通過網(wǎng)絡(luò)交換的緊急數(shù)據(jù)有較大的不同。一個快速變化的物理量,如汽車引擎負(fù)載,將比類似汽車引擎溫度這樣相對變化較慢的物理量更頻繁地傳送數(shù)據(jù)并要求更短的延時(shí)。
CAN總線以報(bào)文為單位進(jìn)行數(shù)據(jù)傳送,報(bào)文的優(yōu)先級結(jié)合在11位標(biāo)識符中,具有最低二進(jìn)制數(shù)的標(biāo)識符有最高的優(yōu)先級。這種優(yōu)先級一旦在系統(tǒng)設(shè)計(jì)時(shí)被確立后就不能再被更改。總線讀取中的沖突可通過位仲裁解決。如圖2所示,當(dāng)幾個站同時(shí)發(fā)送報(bào)文時(shí),站1的報(bào)文標(biāo)識符為011111;站2的報(bào)文標(biāo)識符為0100110;站3的報(bào)文標(biāo)識符為0100111。所有標(biāo)識符都有相同的兩位01,直到第3位進(jìn)行比較時(shí),站1的報(bào)文被丟掉,因?yàn)樗牡?位為高,而其它兩個站的報(bào)文第3位為低。站2和站3報(bào)文的4、5、6位相同,直到第7位時(shí),站3的報(bào)文才被丟失。注意,總線中的信號持續(xù)跟蹤最后獲得總線讀取權(quán)的站的報(bào)文。在此例中,站2的報(bào)文被跟蹤。這種非破壞性位仲裁方法的優(yōu)點(diǎn)在于,在網(wǎng)絡(luò)最終確定哪一個站的報(bào)文被傳送以前,報(bào)文的起始部分已經(jīng)在網(wǎng)絡(luò)上傳送了。所有未獲得總線讀取權(quán)的站都成為具有最高優(yōu)先權(quán)報(bào)文的接收站,并且不會在總線再次空閑前發(fā)送報(bào)文。
CAN具有較高的效率是因?yàn)榭偩€僅僅被那些請求總線懸而未決的站利用,這些請求是根據(jù)報(bào)文在整個系統(tǒng)中的重要性按順序處理的。這種方法在網(wǎng)絡(luò)負(fù)載較重時(shí)有很多優(yōu)點(diǎn),因?yàn)榭偩€讀取的優(yōu)先級已被按順序放在每個報(bào)文中了,這可以保證在實(shí)時(shí)系統(tǒng)中較低的個體隱伏時(shí)間。?
應(yīng)用場景
CAN總線在工控領(lǐng)域主要使用低速-容錯CAN即ISO11898-3標(biāo)準(zhǔn),在汽車領(lǐng)域常使用500Kbps的高速CAN。
某進(jìn)口車型擁有,車身、舒適、多媒體等多個控制網(wǎng)絡(luò),其中車身控制使用CAN網(wǎng)絡(luò),舒適使用LIN網(wǎng)絡(luò),多媒體使用MOST網(wǎng)絡(luò),以CAN網(wǎng)為主網(wǎng),控制發(fā)動機(jī)、變速箱、ABS等車身安全模塊,并將轉(zhuǎn)速、車速、油溫等共享至全車,實(shí)現(xiàn)汽車智能化控制,如高速時(shí)自動鎖閉車門,安全氣囊彈出時(shí),自動開啟車門等功能。
CAN系統(tǒng)又分為高速和低速,高速CAN系統(tǒng)采用硬線是動力型,速度:500kbps,控制ECU、ABS等;低速CAN是舒適型,速度:125Kbps,主要控制儀表、防盜等。
評論