隨著汽車(chē)電子控制單元以及汽車(chē)電子裝置的不斷增多,采用串行總線(xiàn)實(shí)現(xiàn)多路傳輸,組成汽車(chē)電子網(wǎng)絡(luò),是一種既可靠又經(jīng)濟(jì)的做法。在協(xié)議的管理下,若干控制單元、若干終端、傳輸設(shè)備和通信控制處理器等組成系統(tǒng)集合。
汽車(chē)電子控制網(wǎng)絡(luò)是按照特定的車(chē)載網(wǎng)絡(luò)協(xié)議,如CAN2.0、以太網(wǎng)等,以共享資源為目的,將所有位置上分散且獨(dú)立的車(chē)載控制模塊相互連接在一起的集合,我們想要實(shí)現(xiàn)對(duì)總線(xiàn)的數(shù)據(jù)應(yīng)用,就得進(jìn)入網(wǎng)絡(luò)去實(shí)現(xiàn)訪(fǎng)問(wèn)和控制。
一、訪(fǎng)問(wèn)控制方式
速銳得適配寶馬奧迪大眾捷豹路虎的現(xiàn)場(chǎng)CAN總線(xiàn)的設(shè)備終端(TBOX/OBD)訪(fǎng)問(wèn)控制方式主要有一下幾種:載波監(jiān)聽(tīng)多路訪(fǎng)問(wèn)、沖突檢測(cè)與解決、主從訪(fǎng)問(wèn)控制方式、令牌訪(fǎng)問(wèn)控制方式以及時(shí)分多路等。
在適配過(guò)程中,總線(xiàn)上的任何節(jié)點(diǎn)都沒(méi)有預(yù)約發(fā)送時(shí)間,節(jié)點(diǎn)的數(shù)據(jù)都是隨機(jī)發(fā)送的,比如在網(wǎng)絡(luò)上爭(zhēng)用傳輸設(shè)備終端,故又稱(chēng)為爭(zhēng)用技術(shù)。若同一時(shí)刻有多個(gè)節(jié)點(diǎn)向總線(xiàn)上發(fā)送數(shù)據(jù)就會(huì)引起沖突,為了避免沖突每個(gè)節(jié)點(diǎn)在發(fā)送信息前,都要監(jiān)聽(tīng)總線(xiàn)上是否有信息在傳送,這就是載波監(jiān)聽(tīng)的原由,目前市面上很多OBD產(chǎn)品都采用請(qǐng)求的方式來(lái)獲得數(shù)據(jù),但是會(huì)影響總線(xiàn)的正常工作,也就會(huì)導(dǎo)致報(bào)故障碼、儀表燈亂閃、數(shù)據(jù)無(wú)法適配和獲取,OBD請(qǐng)求數(shù)據(jù)過(guò)快,還會(huì)造成總線(xiàn)網(wǎng)絡(luò)數(shù)據(jù)沖突。這些就奠定了速銳得適配寶馬奧迪大眾捷豹路虎的現(xiàn)場(chǎng)CAN總線(xiàn)的實(shí)際意義。
二、先聽(tīng)再講的訪(fǎng)問(wèn)邏輯
載波監(jiān)聽(tīng)的方式是“先聽(tīng)再講”。一個(gè)節(jié)點(diǎn)要發(fā)送消息,首先要監(jiān)聽(tīng)CAN總線(xiàn),檢測(cè)總線(xiàn)上是否有其他節(jié)點(diǎn)正在發(fā)送消息,總線(xiàn)空閑則再發(fā)送,總線(xiàn)忙,則采用監(jiān)聽(tīng)模式,這就是退避算法的核心,目前能掌握此技術(shù)的企業(yè)屈指可數(shù)。
由于傳輸線(xiàn)上不可避免地存在傳輸延遲,可能有多個(gè)節(jié)點(diǎn)同事檢測(cè)到總線(xiàn)處于空閑狀態(tài)并開(kāi)始發(fā)送,從而導(dǎo)致沖突,所以,在每個(gè)節(jié)點(diǎn)開(kāi)始發(fā)送消息后,還要持續(xù)監(jiān)聽(tīng)線(xiàn)路,判斷是否有其他節(jié)點(diǎn)正在與本節(jié)點(diǎn)同時(shí)發(fā)送消息,一旦發(fā)現(xiàn)有便停止發(fā)送,這就是沖突檢測(cè)。
三、穿插邊聽(tīng)邊講
載波監(jiān)聽(tīng)多路訪(fǎng)問(wèn)協(xié)議已經(jīng)廣泛運(yùn)用于車(chē)載網(wǎng)絡(luò)中。在TBOX或者CAN等設(shè)備終端訪(fǎng)問(wèn)方式中,每個(gè)節(jié)點(diǎn)在發(fā)送幀期間,同時(shí)有沖突檢測(cè)功能,就是我們常說(shuō)的“邊講邊聽(tīng)”。
采用載波監(jiān)聽(tīng)多路CAN訪(fǎng)問(wèn)的機(jī)制可以從根本上避免沖突,仲裁期間,每個(gè)發(fā)送節(jié)點(diǎn)將從總線(xiàn)上的檢測(cè)到的值與自己發(fā)送的值相比較,如果不同,立即停止發(fā)送轉(zhuǎn)為接收。
該總線(xiàn)適配的方法優(yōu)點(diǎn)是:1、實(shí)現(xiàn)較為簡(jiǎn)單,2、主節(jié)點(diǎn)定時(shí)間從節(jié)點(diǎn)發(fā)送詢(xún)問(wèn)幀,所以每個(gè)節(jié)點(diǎn)獲得總線(xiàn)訪(fǎng)問(wèn)權(quán)的時(shí)間基本上是確定的。缺點(diǎn)是:浪費(fèi)帶寬、如果汽車(chē)主節(jié)點(diǎn)出故障可能需要借助診斷儀清碼,造成原因是總線(xiàn)網(wǎng)絡(luò)如上所說(shuō),速率不同。
四、輪詢(xún)?cè)L問(wèn)
在通用系列汽車(chē)上,還存在主節(jié)點(diǎn)通過(guò)周期性的詢(xún)問(wèn)從節(jié)點(diǎn)來(lái)控制基于節(jié)點(diǎn)通訊的總線(xiàn)訪(fǎng)問(wèn)權(quán)限,也就是我們常說(shuō)的“輪詢(xún)機(jī)制”。在輪詢(xún)周期,主節(jié)點(diǎn)從節(jié)點(diǎn)發(fā)送詢(xún)問(wèn)幀,相應(yīng)的節(jié)點(diǎn)必須以一個(gè)應(yīng)答時(shí)間為響應(yīng)。
五、令牌訪(fǎng)問(wèn)與控制方式
根據(jù)上述訪(fǎng)問(wèn)機(jī)制中存在的沖突,其原因是由于各個(gè)節(jié)點(diǎn)發(fā)送消息是隨機(jī)的。為了解決這些沖突,我們采用新的“令牌訪(fǎng)問(wèn)”的方式。這個(gè)原理可用于環(huán)狀網(wǎng)絡(luò),也可以用于總線(xiàn),網(wǎng)絡(luò)上叫令牌環(huán)狀網(wǎng),總線(xiàn)上叫令牌總線(xiàn)網(wǎng)。
在令牌環(huán)狀網(wǎng)中,每個(gè)時(shí)刻只允許一個(gè)節(jié)點(diǎn)發(fā)送消息。令牌在網(wǎng)絡(luò)環(huán)路中不斷的傳遞,只有擁有此令牌的節(jié)點(diǎn)才允許向網(wǎng)絡(luò)中發(fā)送消息,其他的節(jié)點(diǎn)僅允許接收。因此,表示消息發(fā)送權(quán)的令牌在環(huán)狀信道上不斷循環(huán),環(huán)上每個(gè)節(jié)點(diǎn)都有機(jī)會(huì)獲得TBOX或者OBD終端的訪(fǎng)問(wèn)權(quán),而任何時(shí)候都只有一個(gè)節(jié)點(diǎn)利用環(huán)路傳輸消息,這樣就避免了沖突。
令牌總線(xiàn)網(wǎng)的傳遞方式也是一樣,可采用總線(xiàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),但是不同的是,前者在物理總線(xiàn)上由網(wǎng)上的各個(gè)節(jié)點(diǎn)按照一定順序行成一個(gè)邏輯環(huán),每個(gè)節(jié)點(diǎn)在環(huán)中均有一個(gè)指定的邏輯位置,末節(jié)點(diǎn)的后繼節(jié)點(diǎn)是首節(jié)點(diǎn)。該總線(xiàn)訪(fǎng)問(wèn)方式從物理上看是一個(gè)總線(xiàn)結(jié)構(gòu)的局域網(wǎng),各個(gè)節(jié)點(diǎn)共享一個(gè)通道。但是從邏輯上看,這一種環(huán)狀結(jié)構(gòu)的局域網(wǎng)和令牌環(huán)不一樣,只有擁有令牌的節(jié)點(diǎn)才具有OBD或者TBOX終端的訪(fǎng)問(wèn)權(quán)。在正常運(yùn)行時(shí),節(jié)點(diǎn)完成發(fā)送后就將令牌傳遞給下一個(gè)節(jié)點(diǎn)。令牌是按照地址的遞減順序傳遞給下一個(gè)節(jié)點(diǎn)的,但從物理上看,帶有目標(biāo)地址的令牌幀廣播至總線(xiàn)上的所有節(jié)點(diǎn),當(dāng)目標(biāo)節(jié)點(diǎn)識(shí)別符合它的地址時(shí)才將該令牌接收。
六、分時(shí)多路訪(fǎng)問(wèn)
該設(shè)備終端訪(fǎng)問(wèn)方式中,用于傳輸數(shù)據(jù)的周期被分成很多時(shí)間片,網(wǎng)絡(luò)系統(tǒng)的各個(gè)消息按照事先規(guī)定的發(fā)送順序,在發(fā)送周期的固定時(shí)間內(nèi)發(fā)送數(shù)據(jù)到總線(xiàn)上,因此各個(gè)節(jié)點(diǎn)訪(fǎng)問(wèn)設(shè)備終端的時(shí)間片是確定的。該設(shè)備終端訪(fǎng)問(wèn)方式的前提條件是每個(gè)節(jié)點(diǎn)的局部參考時(shí)間與統(tǒng)一的全局時(shí)間基準(zhǔn)同步。
目前,市面上所有的汽車(chē)制造商無(wú)一例外的在汽車(chē)網(wǎng)絡(luò)化控制上投入大量的資源,同時(shí),廠商及消費(fèi)者也從汽車(chē)網(wǎng)絡(luò)控制技術(shù)的廣泛應(yīng)用中獲得所需要的信號(hào)。汽車(chē)網(wǎng)絡(luò)化技術(shù)是通信技術(shù)、計(jì)算機(jī)技術(shù)、以及控制理論和實(shí)操相結(jié)合的產(chǎn)物,車(chē)聯(lián)網(wǎng)與總線(xiàn)數(shù)據(jù)應(yīng)用也是現(xiàn)代汽車(chē)電子技術(shù)最重要的基礎(chǔ),需要在這個(gè)大數(shù)據(jù)時(shí)代下,收集分布在汽車(chē)各處傳感器發(fā)出的信息,按照嵌入式指令進(jìn)行實(shí)時(shí)采集、利用、運(yùn)算,所以,這就是速銳得適配寶馬奧迪大眾捷豹路虎大量車(chē)型現(xiàn)場(chǎng)CAN總線(xiàn)的根本原因,同時(shí)把經(jīng)驗(yàn)分享給大家。