任志偉
(中國(guó)第一汽車(chē)股份有限公司天津技術(shù)開(kāi)發(fā)分公司)
隨著人們對(duì)汽車(chē)的操控性、安全性和娛樂(lè)性等要求的日益提高,許多新技術(shù)被應(yīng)用到汽車(chē)生產(chǎn)中。一汽自主的整車(chē)已經(jīng)不局限于一輛能夠載人行駛的交通工具,更是一個(gè)具有操控、安全、導(dǎo)航及娛樂(lè)等電子控制單元的有機(jī)整體。為了使這些系統(tǒng)能及時(shí)可靠的通信,CAN技術(shù)已經(jīng)被廣泛地應(yīng)用在整車(chē)上。為了最大程度上使整車(chē)具備更多功能,在新車(chē)型研發(fā)階段,越來(lái)越多電子控制單元需要連接在整車(chē)CAN上,而在確定的通信速率和保證系統(tǒng)通信可靠及時(shí)的前提下,一個(gè)CAN總線連接的節(jié)點(diǎn)和線纜長(zhǎng)度必然有一定限制,因此通過(guò)一種方法能夠便捷地計(jì)算出CAN總線的最大節(jié)點(diǎn)數(shù)和長(zhǎng)度,在整車(chē)CAN開(kāi)發(fā)中有著重要意義。
CAN被設(shè)計(jì)作為汽車(chē)環(huán)境中微控制器之間的通訊,并在各車(chē)載ECU之間交換信息,形成汽車(chē)電子控制網(wǎng)絡(luò)。它是一種多主方式的串行通訊總線,設(shè)計(jì)規(guī)范要求有較高的位速率和高抗干擾性,而且能夠檢測(cè)出產(chǎn)生的任何錯(cuò)誤。信號(hào)傳輸距離達(dá)到10 km時(shí),仍然保持高達(dá)5 kB/s的數(shù)據(jù)傳輸速率。由于CAN總線具有這些特性,因此在汽車(chē)、制造業(yè)及航空工業(yè)中得到廣泛應(yīng)用。
CAN總線的使用,使相關(guān)的操控、安全、導(dǎo)航及娛樂(lè)等電子控制單元有機(jī)的結(jié)合起來(lái)。汽車(chē)上的各個(gè)部件通過(guò)中央控制模塊(ECU)的控制,執(zhí)行各種指令,并反饋各種信號(hào),使整車(chē)變成了一個(gè)智能的電子控制系統(tǒng)。
CAN總線上用“顯性”和“隱性”表示2個(gè)互補(bǔ)的邏輯值“0”和“1”。當(dāng)總線上出現(xiàn)同時(shí)發(fā)送顯性和隱性位時(shí),其結(jié)果是總線數(shù)值為顯性(即“0”與“1”的結(jié)果為“0”)。在隱性狀態(tài),VCAN_H和VCAN_L被固定在平均電壓附近,差分輸入電壓(Vdiff)近似于0。在總線空閑或隱性位期間,發(fā)送隱性位。顯性位以大于最小閾值的差分電壓表示[1]。圖1示出總線位的數(shù)值表示,圖1中,VCAN_H和VCAN_L為CAN總線收發(fā)器與總線之間的兩接口引腳,信號(hào)以?xún)删€之間的“差分”電壓形式出現(xiàn)。
CAN總線上任意2個(gè)節(jié)點(diǎn)之間的最大傳輸距離與其位速率有關(guān),相關(guān)數(shù)據(jù),如表1所示。
表1 CAN總線系統(tǒng)任意2節(jié)點(diǎn)間位速率與最大距離的關(guān)系表
在CAN總線系統(tǒng)的實(shí)際應(yīng)用中,需要估算一個(gè)網(wǎng)絡(luò)的最大總線長(zhǎng)度和節(jié)點(diǎn)數(shù)。最大總線長(zhǎng)度主要由以下因素決定:
1)互連總線節(jié)點(diǎn)的回路延時(shí)(由CAN總線控制器和驅(qū)動(dòng)器等確認(rèn))和總線線路延時(shí);各節(jié)點(diǎn)振蕩器頻率的相對(duì)誤差而導(dǎo)致的位時(shí)鐘周期的偏差;總線電纜串聯(lián)等效電阻和總線節(jié)點(diǎn)的輸入電阻而導(dǎo)致的信號(hào)幅度的下降。
2)因?yàn)閭鬏斞舆t時(shí)間對(duì)于總線長(zhǎng)度的影響主要是由于非破壞性總線仲裁和幀內(nèi)應(yīng)答機(jī)制所決定的,所以在每幀報(bào)文的應(yīng)答場(chǎng),要求接收?qǐng)?bào)文正確的節(jié)點(diǎn)在應(yīng)答間隙將發(fā)生節(jié)點(diǎn)的隱性電平轉(zhuǎn)為顯性電平,作為對(duì)發(fā)送節(jié)點(diǎn)的應(yīng)答。
3)由于這些過(guò)程必須在1個(gè)位時(shí)間內(nèi)完成,所以總線線路延時(shí)以及其它延時(shí)之和必須小于1/2個(gè)位時(shí)鐘周期。
非破壞性總線仲裁和幀內(nèi)應(yīng)答本來(lái)是CAN總線區(qū)別于其他現(xiàn)場(chǎng)總線最顯著的優(yōu)點(diǎn)之一,在這里卻成了一個(gè)缺點(diǎn),主要表現(xiàn)在其限制了CAN總線速度進(jìn)一步提高的可能性,當(dāng)需要更高的速度時(shí)則無(wú)法滿足要求。
在靜態(tài)條件下,總線節(jié)點(diǎn)的差分輸入電壓由電流通過(guò)該節(jié)點(diǎn)差分輸入電阻的電流所決定,CAN總線系統(tǒng)網(wǎng)絡(luò)分布等效電路圖,如圖2所示,節(jié)點(diǎn)的差分輸入電壓主要取決于以下因素:發(fā)送節(jié)點(diǎn)的差分輸出電壓(Vdiff.out),總線電纜的電阻(Rw)和節(jié)點(diǎn)的差分輸入電阻(Rdiff)。當(dāng)發(fā)送節(jié)點(diǎn)在總線一端而接收節(jié)點(diǎn)在總線的另一端時(shí)為最壞情況,這時(shí)接收節(jié)點(diǎn)的差分輸入電壓可按式(1)計(jì)算。
式中:Vdiff——差分輸入電壓,V;
Vdiff.out——差分輸出電壓,V;
Rw——總線電纜電阻,Ω;
RT——終端匹配電阻,Ω;
Rdiff——差分輸入電阻,Ω;
n——節(jié)點(diǎn)數(shù)。
當(dāng)Vdiff<0.5 V或0.4 V時(shí),接收節(jié)點(diǎn)檢測(cè)為隱性位,當(dāng)Vdiff>0.9 V或1.0 V時(shí),接收節(jié)點(diǎn)檢測(cè)為顯性位。為了正確地檢測(cè)到顯性位,接收節(jié)點(diǎn)必須能夠收到一定的Vdiff,這個(gè)電壓取決于接收顯性位的閾值電壓(Vth)和用戶定義的安全區(qū)電壓。所需差分輸入電壓可由式(2)計(jì)算。
式中:Vdiff.in.req——需求差分輸入電壓,V;
Vth——閾值電壓,V;
Ksm——決定安全電壓的差分系數(shù),在0~1之間選取。
由于接收的Vdiff必須大于檢測(cè)顯性位所需的電壓,在極限情況下,可以得到差分輸入電壓最小值,如式(3)所示。
式中:Vdiff.in.min——差分輸入電壓最小值,V;
Vdiff.out.min(1.5 V)——輸出顯性位時(shí)最小差分輸出電壓,V;
Rw.max——最大總線電纜電阻,Ω;
RT.min——最小終端匹配電阻,Ω;
Rdiff.min——差分輸入電阻最小值,Ω;
nmax——系統(tǒng)接入的最大節(jié)點(diǎn)數(shù)。
根據(jù) Rw.max=ρmxnLmax,式(3)經(jīng)變換后可得:
式中:Lmax——最大總線電纜長(zhǎng)度閾值,m;
ρmax——所用電纜的單位長(zhǎng)度的最大電阻率,Ω/m;
Vth.max(1 V)——接收顯性位最大閾值電壓,V。
從式(4)可以清楚地看出,最大總線電纜長(zhǎng)度除了與終端匹配電阻和節(jié)點(diǎn)數(shù)等有關(guān)外,還與總線電纜長(zhǎng)度電阻率成反比。由于不同類(lèi)型的電纜電阻率不同,所以其最大總線長(zhǎng)度也有很大差別。若Ksm=0.2,在最壞情況下,可得出必須Rw<15 Ω。在正常情況下,當(dāng) Vdiff=2 V,Vth=0.9 V,Rdiff=50 kΩ,RT=120 Ω,Ksm=0.2 時(shí),Rw<45 Ω 即可。
一個(gè)網(wǎng)絡(luò)中所能連接的最大節(jié)點(diǎn)數(shù)主要取決于CAN總線控制器的最小負(fù)載電阻(RL.min/Ω)。比如CAN控制器提供的負(fù)載驅(qū)動(dòng)能力為RL.min=45 Ω。最大節(jié)點(diǎn)數(shù)的計(jì)算公式,如式(5)所示(假設(shè)Rw=0,此時(shí)為最壞情況)。
由式(5)可知,假設(shè) Rdiff.min=20 kΩ,當(dāng) RT=118 Ω 和RL=45 Ω時(shí),能連接最大節(jié)點(diǎn)數(shù)為106個(gè);當(dāng)RT=120 Ω和RL=45 Ω時(shí),則為112個(gè)。其實(shí)影響節(jié)點(diǎn)數(shù)多少的因素除了驅(qū)動(dòng)器的驅(qū)動(dòng)能力之外,還與總線長(zhǎng)度有密切關(guān)系,只有總線長(zhǎng)度在合適范圍內(nèi)時(shí),才有可能達(dá)到上面的最大節(jié)點(diǎn)數(shù)。
文章根據(jù)等效電路方法得到CAN分布等效電路,推導(dǎo)出最大總線長(zhǎng)度不僅與終端匹配電阻和節(jié)點(diǎn)數(shù)量有關(guān),還與總線電纜長(zhǎng)度的電阻率成反比。通過(guò)使用CAN總線網(wǎng)絡(luò)不僅可以減少線束,而且能夠提高各控制系統(tǒng)的運(yùn)行可靠性,減少冗余的傳感器及相應(yīng)的軟硬件配置,實(shí)現(xiàn)各子系統(tǒng)之間的資源共享,便于集中實(shí)現(xiàn)各子系統(tǒng)的在線故障診斷。在產(chǎn)品設(shè)計(jì)開(kāi)發(fā)階段,根據(jù)實(shí)際應(yīng)用環(huán)境的需求可以準(zhǔn)確估算出最大總線長(zhǎng)度和節(jié)點(diǎn)數(shù),這能夠?yàn)檎麄€(gè)網(wǎng)絡(luò)構(gòu)建提供可靠的理論技術(shù)支持,且容易確定整車(chē)系統(tǒng)中需要連接在CAN網(wǎng)絡(luò)中的節(jié)點(diǎn)控制器數(shù)量及布置,并能夠提高CAN網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)效率和魯棒性。