日(ri)期:2018-07-06瀏覽(lan):6807次(ci)
CAN BUS汽(qi)車總(zong)線(xian)測試(shi)應用方(fang)案(an)簡介
傳送數據的(de)標(biao)準(zhun)數(shu)據格(ge)式(Basic Data Frame)
CAN BUS列表協定分析(xi)格(ge)式
圖壹CAN BUS傳送(song)格(ge)式
Start of frame:任何(he)格(ge)式起始位壹(yi)定為(wei)0,表示(shi)要求遠方(fang)傳數據回(hui)來(lai)。
Arbitration Field:Identifier為11bits主要功能(neng)是(shi)信(xin)號(hao)發(fa)送時(shi)的(de)順(shun)序(xu)排(pai)列,數值(zhi)越小優先(xian)權(quan)越高,而(er)排(pai)列由ID-10至(zhi)ID-0,而(er)ID-10至(zhi)ID-4不可(ke)皆為1。後(hou)RTR(RemoteTransmit Request)為(wei)傳送或(huo)遠程(cheng)要求的(de)判斷(duan)位,當(dang)RTR=0表示(shi)傳(chuan)Data出(chu)去(qu),RTR=1表示(shi)要求遠方(fang)傳數據回(hui)來(lai)。
Control Field:控制(zhi)段由6個位組(zu)成,包括(kuo)數據長(chang)度(du)代(dai)碼和(he)兩(liang)個將來(lai)作為(wei)擴展(zhan)格(ge)式用的(de)保留(liu)位。所發(fa)送的(de)保留(liu)位必(bi)需為0。接(jie)收器接(jie)收(shou)所有由0和(he)1組(zu)合(he)在(zai)壹起(qi)的(de)位元(yuan)。如圖二及圖(tu)三控制(zhi)段的(de)IDE和(he)RB0是(shi)保留(liu)位壹(yi)定是(shi)0,後(hou)面的(de)4bit只能(neng)是(shi)0-8,表示(shi)後(hou)續(xu)data段將傳(chuan)幾(ji)個bytes的(de)數(shu)據。
數(shu)據格(ge)式可(ke)分為(wei)標(biao)準(zhun)格(ge)式(Basic CAN)與擴展(zhan)格(ge)式(Peli CAN),標準(zhun)格(ge)式傳送數據的(de)格(ge)式(Data Frame)如圖壹CAN BUS傳(chuan)送(song)格(ge)式,報文的(de)格(ge)式分成(cheng)Start of bit(SOB)、Arbitra-
tion Field、Control Field、Data Filed、CRC Filed、ACK Filed、END of Frame。
High Quality Pr ofessional Instruments
圖(tu)二(er)Control Field -1
圖三Control Field -2
Data Field:所需要傳的(de)數(shu)據,先(xian)傳(chuan)MSB,只能(neng)傳(chuan)0-8bytes的(de)Data。
CRC Field:16bit CRC驗(yan)證(zheng)碼,後(hou)壹(yi)個Del為界(jie)定符(fu),固(gu)定為(wei)1。
Ack Field:此(ci)為(wei)接(jie)收端(duan)的(de)回(hui)傳(chuan)信息,有兩(liang)個位,後(hou)壹(yi)個Del為界(jie)定符(fu),固(gu)定為(wei)1。若接收成功Ack就回(hui)傳(chuan)0,則(ze)傳送端(duan)就知(zhi)道(dao)接收(shou)端(duan)已接(jie)收到數據。
END of Frame :1111111(2)表結(jie)束。
傳(chuan)送數據的(de)擴展(zhan)數(shu)據格(ge)式(Peli Data Frame)
圖四(si)擴展(zhan)格(ge)式(Peli CAN)
擴展(zhan)格(ge)式(Peli CAN)中,傳送(song)數據的(de)數(shu)據格(ge)式(Data Frame)如圖四(si),報文的(de)格(ge)式也分成(cheng)Start of bit(SOB)、Arbitration Field、Control Field、Data Filed、CRCFiled、ACK Filed、END of Frame等七小節。不過Arbitration Field的(de)部分多(duo)了18bit,而(er)SRR與IDE皆為1。
圖(tu)五Remote Transmit Request Frame
向(xiang)遠端(duan)要求數(shu)據的(de)遠程(cheng)格(ge)式(Remote Transmit Request Frame)
當(dang)RTR=1,表示(shi)向(xiang)遠端(duan)要求數(shu)據的(de)遠程(cheng)格(ge)式Remote Transmit Request Frame,此(ci)時(shi)的(de)DLC3..DLC0為(wei)所需回傳(chuan)數據的(de)Data bytes。且此(ci)格(ge)式無Data Filed,如圖五(wu)。
圖(tu)六(liu)Error Frame
向(xiang)節點(dian)報(bao)告(gao)出錯的(de)出(chu)錯格(ge)式(Error Frame)
主動(dong)錯誤(wu)標(biao)誌(zhi)由6個連續的(de)顯(xian)性位構(gou)成。這種位順(shun)序(xu)主動(dong)打破了位填(tian)充規則(ze)。所有其他站(zhan)在(zai)識別到產生(sheng)的(de)位填(tian)充錯誤(wu)後(hou),會(hui)自(zi)行產(chan)生錯誤(wu)幀(zhen),稱(cheng)為(wei)錯誤(wu)響(xiang)應標(biao)誌。
錯誤(wu)標(biao)誌(zhi)字段因(yin)此(ci)包含(han)6到12個連續顯(xian)性位(由1個或多(duo)個節點(dian)產(chan)生)。錯誤(wu)幀(zhen)以(yi)錯誤(wu)定界(jie)符(fu)字段(duan)為(wei)結(jie)束。在(zai)錯誤(wu)幀(zhen)發(fa)送完(wan)畢(bi)後(hou),列表協定分析(xi)活(huo)動(dong)恢(hui)復正常(chang)狀(zhuang)態(tai),被(bei)中斷(duan)的(de)節(jie)點(dian)會(hui)嘗(chang)試(shi)重新發(fa)送被(bei)中止的(de)報(bao)文(wen)。錯誤(wu)界(jie)定符(fu):錯誤(wu)定界(jie)符(fu)由8個隱性字節成(cheng),允許列表協定分析(xi)節(jie)點(dian)在(zai)錯誤(wu)發(fa)生後(hou)重新啟(qi)動(dong)列表協定分析(xi)通(tong)信,如(ru)圖六(liu)。
節(jie)點(dian)電(dian)路(lu)尚未準(zhun)備好(hao)會(hui)要求延遲(chi)傳(chuan)送(song)的(de)過(guo)載格(ge)式(Overload Frame)
節點(dian)的(de)內(nei)部條(tiao)件(節點(dian)處(chu)理(li)數據中,對(dui)於下壹(yi)筆數(shu)據需要延遲(chi)),起(qi)始於個間(jian)歇期間(jian)位。
間(jian)歇期間(jian)檢測(ce)到”0”,起(qi)始於檢測(ce)到間(jian)歇期間(jian)為”0”的(de)下(xia)壹(yi)個位。
過(guo)載標(biao)誌(zhi)會發(fa)出六(liu)個”0”,此(ci)六(liu)個”0”會破壞(huai)間(jian)歇的(de)格(ge)式,使其他節點(dian)知(zhi)道此(ci)時(shi)有節(jie)點(dian)發(fa)出過(guo)載標(biao)誌(zhi)。當(dang)發(fa)送完(wan)過載標(biao)誌(zhi),節點(dian)會(hui)發(fa)出8個”1”,其他節點(dian)也會(hui)在(zai)完成(cheng)後(hou)發(fa)出7個”1”。
圖七Overload Frame
報文間(jian)的(de)空(kong)隙(xi)(Interframe Space)
報(bao)文(wen)間(jian)的(de)空(kong)隙(xi)分為(wei)間(jian)歇與bus空(kong)閑(xian)兩種(zhong)。間(jian)歇為3個”1”,此(ci)期間(jian)不可(ke)傳送(song)任何(he)信息,除了過(guo)載格(ge)式例(li)外。bus空(kong)閑為(wei)各節點(dian)都(dou)未發(fa)送數(shu)據,所以此(ci)長(chang)度(du)示(shi)任意的(de),任何(he)節點(dian)都(dou)可(ke)在此(ci)時(shi)發(fa)送自(zi)己(ji)的(de)數(shu)據。當(dang)有節(jie)點(dian)處(chu)於錯誤(wu)被(bei)動(dong),會(hui)在間(jian)歇後(hou)發(fa)出8個”1”,讓其他的(de)節(jie)點(dian)有機會重發(fa)自(zi)己(ji)的(de)信(xin)息。
如圖七所示(shi),有兩(liang)個方(fang)式會產生過(guo)載格(ge)式:
CAN BUS汽(qi)車總(zong)線(xian)測試(shi)應用方(fang)案(an)
車用電(dian)子(zi)列表協定有很(hen)多(duo)種(zhong),應用較(jiao)多(duo)的(de)有LIN,CAN、FlexRay、TIP/C、SAEJ1850、TFCAN、ASRB、MOST等。美(mei)國(guo)汽(qi)車工程(cheng)師(shi)協會(hui)(SAE)根(gen)據速(su)率將(jiang)車用電(dian)子(zi)信(xin)號(hao)劃(hua)分為(wei)A、B、C三(san)類(lei)。
A類:
列表協定標(biao)準(zhun)包括(kuo)TTP/A(Time Triggered Protocol/A)和(he)LIN(Local Interconnect Net-work),其傳輸速(su)率較(jiao)低(di)。
B類:
列表協定標(biao)準(zhun)主要包括(kuo)J1850、VAN,低速(su)CAN。
C類:
列表協定標(biao)準(zhun)主要包括(kuo)TTP/C、FlexRay和(he)高(gao)速(su)CAN(ISO11898-2)都(dou)用於與汽(qi)車安全相(xiang)關(guan)以及即(ji)時(shi)性要求比(bi)較(jiao)高(gao)的(de)地方(fang)。如動(dong)力(li)系(xi)統(tong),其傳輸速(su)率比(bi)較(jiao)高(gao),通(tong)常在(zai)125kb/s到10Mb/s之(zhi)間(jian),必須支持(chi)即時(shi)的(de)周(zhou)期性的(de)參數傳(chuan)輸。
以目(mu)前(qian)中國(guo)臺(tai)灣車用電(dian)子(zi)產(chan)業(ye)而(er)言,常見的(de)是(shi)CAN BUS,接(jie)下來(lai)我(wo)們以CAN BUS進(jin)行解(jie)說。
CAN-BUS(Controller Area Network -控制(zhi)器區(qu)域(yu)網(wang)路(lu))在1993年(nian)制(zhi)定為(wei)標(biao)準(zhun)化(hua)ISO 11898-1,廣泛(fan)的(de)應用在車用電(dian)子(zi)系(xi)統(tong)上(shang)。
CAN是壹種差(cha)動(dong)列表協定,可(ke)提供(gong)高安全等級及有效率的(de)即(ji)時(shi)控制(zhi)。更(geng)具備了強(qiang)大的(de)調(tiao)試(shi)和(he)優(you)先(xian)權(quan)判機制(zhi),在這樣(yang)的(de)機制(zhi)下,網(wang)絡信(xin)息的(de)傳(chuan)輸變(bian)的(de)更(geng)為可(ke)靠(kao)而(er)有效率。
同(tong)時(shi)擁(yong)有低(di)成(cheng)本(ben)的(de)特性,再加上CAN提供(gong)多(duo)主控端(duan)的(de)構(gou)架,這種(zhong)特色,特別(bie)適(shi)合使用在主系統(tong)或子(zi)系(xi)統(tong)下(xia)提供(gong)更(geng)完整智慧型網(wang)絡設(she)備。
CAN是建立在(zai)基於信息導向(xiang)傳(chuan)輸協定的(de)廣播(bo)傳輸機制(zhi)(broadcast communication mechanism)上。CAN定義信(xin)息的(de)內(nei)容(rong),利(li)用信息識別(message identifier)來(lai)定義內(nei)容(rong)和(he)信(xin)息的(de)優(you)先(xian)順(shun)位,以(yi)進行信(xin)息的(de)傳(chuan)遞(di),CAN擁(yong)有了高(gao)度(du)的(de)彈(dan)性調(tiao)整能(neng)力(li),可(ke)以在(zai)既(ji)有的(de)網(wang)絡中增加(jia)節點(dian)而(er)不用在軟(ruan)硬體(ti)上(shang)作修正與(yu)調(tiao)整的(de)作(zuo)業(ye),很遠的(de)數(shu)據傳(chuan)輸距(ju)離(10KM)、很(hen)高(gao)的(de)數(shu)據傳(chuan)輸率(1M bit/s)、可(ke)根(gen)據報(bao)文(wen)格(ge)式發(fa)送信(xin)息不需裝(zhuang)置(zhi)、可(ke)靠(kao)的(de)錯誤(wu)處(chu)理(li)與調(tiao)試(shi)機制(zhi)、信息遭(zao)到破壞(huai)後(hou)可(ke)自(zi)動(dong)重發(fa)、節點(dian)在(zai)錯誤(wu)嚴重的(de)情(qing)況(kuang)下具有自(zi)動(dong)退(tui)出列表協定分析(xi)的(de)功能(neng)。
CAN BUS汽(qi)車總(zong)線(xian)測試(shi)應用方(fang)案(an)信(xin)號(hao)實際測量
經過前(qian)面對(dui)於CAN BUS的(de)介(jie)紹(shao),相(xiang)信對(dui)於這壹(yi)種在(zai)車用電(dian)子(zi)領(ling)域(yu)中的(de)列表協定有了初(chu)步的(de)認(ren)知(zhi),接(jie)下(xia)來(lai)讓我(wo)們看看(kan)CAN BUS在(zai)汽(qi)車上(shang)的(de)實際信號(hao)表現。
孕(yun)龍(long)邏輯分析(xi)儀(yi)的(de)攜(xie)帶(dai)方(fang)便(bian),可(ke)幫助(zhu)工程(cheng)師(shi)面對(dui)各種測量環境都(dou)能(neng)得(de)心(xin)應手,如圖(tu)八所示(shi),使用孕(yun)龍(long)邏輯分析(xi)儀(yi)搭配(pei)筆記型電(dian)腦,很(hen)輕易(yi)的(de)就可(ke)以直(zhi)接在(zai)汽(qi)車上(shang)進(jin)行CAN BUS信(xin)號(hao)的(de)測(ce)量。
將孕(yun)龍(long)邏輯分析(xi)儀(yi)的(de)A0接(jie)上(shang)CAN H信號(hao)、B0接(jie)上CAN L信(xin)號(hao),因(yin)CAN BUS為差(cha)動(dong)信(xin)號(hao)且CANH與CAN L的(de)信(xin)號(hao)電(dian)壓(ya)並(bing)不壹樣(yang),故(gu)需將兩(liang)條(tiao)信(xin)號(hao)線(xian)分別(bie)接(jie)至(zhi)不同(tong)的(de)Port上(shang),並(bing)將A Port與(yu)B Port的(de)觸發(fa)準(zhun)位分別(bie)設(she)定,接(jie)地線(xian)直接接至(zhi)汽(qi)車門(men)邊(bian)扣(kou)環上即可(ke)。實際的(de)信(xin)號(hao)擷(xie)取(qu)狀(zhuang)況如(ru)圖(tu)九(jiu)所示(shi)。以(yi)圖(tu)中封(feng)包1而(er)言,透過(guo)孕(yun)龍(long)邏輯分析(xi)儀(yi)CAN列表協定分析(xi)模塊,可(ke)快速(su)的(de)進(jin)行CAN BUS信(xin)號(hao)譯(yi)碼,搭配(pei)上封(feng)包列表顯(xian)示(shi),可(ke)清(qing)楚(chu)的(de)看(kan)出(chu)每(mei)壹(yi)筆CAN BUS的(de)起(qi)始時(shi)間(jian)及封(feng)包內(nei)容、數(shu)據數(shu)值(zhi)、CRC(註(zhu)1)等,如DIC = 0X8代(dai)表該封(feng)包內(nei)夾帶(dai)8筆數據,透(tou)過(guo)封(feng)包列表顯(xian)示(shi)可(ke)清(qing)楚(chu)看見8筆數(shu)據中的(de)數(shu)值(zhi)。
圖(tu)八在(zai)汽(qi)車上(shang)實際測量CAN BUS信號(hao)
圖(tu)九使用孕(yun)龍(long)邏輯分析(xi)儀(yi)測(ce)量CAN BUS實際畫面
註(zhu)1:
CRC檢查是針對(dui)突發(fa)性、單壹(yi)位或(huo)奇(qi)數(shu)個位元(yuan)錯誤(wu)進(jin)行檢(jian)查的(de)動(dong)作(zuo),已表示(shi)數(shu)據傳(chuan)輸的(de)過(guo)程(cheng)中是否錯誤(wu)。主要的(de)運(yun)作(zuo)方(fang)式是將數據位D(X)除以(yi)多(duo)項(xiang)式G(X)進行運(yun)算,不同(tong)的(de)CRC檢(jian)查則(ze)有不
同(tong)的(de)多(duo)項(xiang)式G(X)產生,經過除法(fa)運算(suan)後(hou)可(ke)得知(zhi)余數R(X)來(lai)進行判斷(duan)。
圖十(shi)CAN BUS列表分析(xi)模塊設(she)定畫面
CAN BUS信(xin)號(hao)使用Baud Rate做(zuo)為(wei)信(xin)號(hao)傳(chuan)送的(de)速(su)度依(yi)據,孕(yun)龍(long)科(ke)技邏輯分析(xi)儀(yi)CAN BUS列表分析(xi)模塊擁(yong)有自(zi)動(dong)Baud Rate偵測功能(neng)(註(zhu)2),工程(cheng)師(shi)在面對(dui)未知的(de)CAN BUS時(shi)更(geng)能(neng)輕(qing)松(song)分析(xi)(如(ru)
圖(tu)十)。
CAN BUS列表分析(xi)模塊設(she)定
註(zhu)2:
孕(yun)龍(long)科(ke)技CAN BUS列表分析(xi)模塊可(ke)自(zi)行判斷(duan)波(bo)形中小的(de)脈沖寬(kuan)度進(jin)行Baud Rate轉(zhuan)換,當(dang)工程(cheng)師(shi)面對(dui)未知的(de)信(xin)號(hao)時(shi),便(bian)無(wu)須手動(dong)計算以加速(su)項(xiang)目進行。
CAN BUS系(xi)統架構上(shang)擁(yong)有許(xu)多(duo)的(de)節(jie)點(dian),每(mei)壹(yi)個節點(dian)都(dou)有相(xiang)對(dui)應的(de)BASIC ID,孕(yun)龍(long)科(ke)技邏輯分析(xi)儀(yi)在(zai)LAP-322000U-A支持(chi)了列表協定封(feng)包觸發(fa),讓工程(cheng)師(shi)可(ke)特定的(de)CAN BUS信(xin)號(hao)狀(zhuang)態作(zuo)為(wei)觸發(fa)條(tiao)件。(圖十(shi)壹(yi)為設(she)定BASIC ID 0X2A9,圖(tu)十(shi)二(er)為(wei)觸發(fa)完成(cheng))
列表協定封(feng)包觸發(fa)
圖十(shi)壹列表協定封(feng)包觸發(fa)設(she)定畫面
設(she)定作(zuo)為(wei)觸發(fa)條(tiao)件的(de)封(feng)包狀(zhuang)態及數(shu)值(zhi)
圖(tu)十二(er)列表協定封(feng)包觸發(fa)完成(cheng)
總結(jie)
車用電(dian)子(zi)技(ji)術(shu)發(fa)展(zhan)日(ri)新(xin)月(yue)異,不但(dan)提(ti)升(sheng)了汽(qi)車性能(neng),也更(geng)加保障(zhang)了行車安全。然(ran)而(er),跟(gen)上(shang)這(zhe)股(gu)進(jin)化(hua)的(de)潮(chao)流也需要有相(xiang)對(dui)應的(de)工具,孕(yun)龍(long)邏輯分析(xi)儀(yi)列表協定分析(xi)模塊目前(qian)支持(chi)大約四(si)十種串列協定信(xin)號(hao),從車用電(dian)子(zi)到(dao)IC界(jie)面、從PC系統(tong)到多(duo)媒(mei)體(ti)傳(chuan)輸,都(dou)有相(xiang)對(dui)應的(de)譯(yi)碼(ma)模塊,相(xiang)信工程(cheng)師(shi)擁(yong)有這(zhe)些(xie)譯碼(ma)功能(neng)必(bi)定可(ke)增加(jia)工作(zuo)效率。
上(shang)壹(yi)篇(pian):USB2.0測(ce)試(shi)分析(xi)應用方(fang)案(an)
下(xia)壹篇(pian):孕(yun)龍(long)ZEROPLUS邏輯分析(xi)儀(yi)指標、特點(dian)、用戶介(jie)紹(shao)