CAN BUS汽車(chē)總線測(cè)試應(yīng)用方案簡(jiǎn)介
傳送數(shù)據(jù)的標(biāo)準(zhǔn)數(shù)據(jù)格式(Basic Data Frame)
CAN BUS列表協(xié)定分析格式
圖一CAN BUS傳送格式
Start of frame:任何格式起始位一定為0,表示要求遠(yuǎn)方傳數(shù)據(jù)回來(lái)。
Arbitration Field:Identifier為11bits主要功能是信號(hào)發(fā)送時(shí)的順序排列,數(shù)值越小優(yōu)先權(quán)越高,而排列由ID-10至ID-0,而ID-10至ID-4不可皆為1。后RTR(RemoteTransmit Request)為傳送或遠(yuǎn)程要求的判斷位,當(dāng)RTR=0表示傳Data出去,RTR=1表示要求遠(yuǎn)方傳數(shù)據(jù)回來(lái)。
Control Field:控制段由6個(gè)位組成,包括數(shù)據(jù)長(zhǎng)度代碼和兩個(gè)將來(lái)作為擴(kuò)展格式用的保留位。所發(fā)送的保留位必需為0。接收器接收所有由0和1組合在一起的位元。如圖二及圖三控制段的IDE和RB0是保留位一定是0,后面的4bit只能是0-8,表示后續(xù)data段將傳幾個(gè)bytes的數(shù)據(jù)。
數(shù)據(jù)格式可分為標(biāo)準(zhǔn)格式(Basic CAN)與擴(kuò)展格式(Peli CAN),標(biāo)準(zhǔn)格式傳送數(shù)據(jù)的格式(Data Frame)如圖一CAN BUS傳送格式,報(bào)文的格式分成Start of bit(SOB)、Arbitra-
tion Field、Control Field、Data Filed、CRC Filed、ACK Filed、END of Frame。
High Quality Pr ofessional Instruments
圖二Control Field -1
圖三Control Field -2
Data Field:所需要傳的數(shù)據(jù),先傳MSB,只能傳0-8bytes的Data。
CRC Field:16bit CRC驗(yàn)證碼,后一個(gè)Del為界定符,固定為1。
Ack Field:此為接收端的回傳信息,有兩個(gè)位,后一個(gè)Del為界定符,固定為1。若接收成功Ack就回傳0,則傳送端就知道接收端已接收到數(shù)據(jù)。
END of Frame :1111111(2)表結(jié)束。
傳送數(shù)據(jù)的擴(kuò)展數(shù)據(jù)格式(Peli Data Frame)
圖四擴(kuò)展格式(Peli CAN)
擴(kuò)展格式(Peli CAN)中,傳送數(shù)據(jù)的數(shù)據(jù)格式(Data Frame)如圖四,報(bào)文的格式也分成Start of bit(SOB)、Arbitration Field、Control Field、Data Filed、CRCFiled、ACK Filed、END of Frame等七小節(jié)。不過(guò)Arbitration Field的部分多了18bit,而SRR與IDE皆為1。
圖五Remote Transmit Request Frame
向遠(yuǎn)端要求數(shù)據(jù)的遠(yuǎn)程格式(Remote Transmit Request Frame)
當(dāng)RTR=1,表示向遠(yuǎn)端要求數(shù)據(jù)的遠(yuǎn)程格式Remote Transmit Request Frame,此時(shí)的DLC3..DLC0為所需回傳數(shù)據(jù)的Data bytes。且此格式無(wú)Data Filed,如圖五。
圖六Error Frame
向節(jié)點(diǎn)報(bào)告出錯(cuò)的出錯(cuò)格式(Error Frame)
主動(dòng)錯(cuò)誤標(biāo)志由6個(gè)連續(xù)的顯性位構(gòu)成。這種位順序主動(dòng)打破了位填充規(guī)則。所有其他站在識(shí)別到產(chǎn)生的位填充錯(cuò)誤后,會(huì)自行產(chǎn)生錯(cuò)誤幀,稱為錯(cuò)誤響應(yīng)標(biāo)志。
錯(cuò)誤標(biāo)志字段因此包含6到12個(gè)連續(xù)顯性位(由1個(gè)或多個(gè)節(jié)點(diǎn)產(chǎn)生)。錯(cuò)誤幀以錯(cuò)誤定界符字段為結(jié)束。在錯(cuò)誤幀發(fā)送完畢后,列表協(xié)定分析活動(dòng)恢復(fù)正常狀態(tài),被中斷的節(jié)點(diǎn)會(huì)嘗試重新發(fā)送被中止的報(bào)文。錯(cuò)誤界定符:錯(cuò)誤定界符由8個(gè)隱性字節(jié)成,允許列表協(xié)定分析節(jié)點(diǎn)在錯(cuò)誤發(fā)生后重新啟動(dòng)列表協(xié)定分析通信,如圖六。
節(jié)點(diǎn)電路尚未準(zhǔn)備好會(huì)要求延遲傳送的過(guò)載格式(Overload Frame)
節(jié)點(diǎn)的內(nèi)部條件(節(jié)點(diǎn)處理數(shù)據(jù)中,對(duì)于下一筆數(shù)據(jù)需要延遲),起始于個(gè)間歇期間位。
間歇期間檢測(cè)到"0",起始于檢測(cè)到間歇期間為"0"的下一個(gè)位。
過(guò)載標(biāo)志會(huì)發(fā)出六個(gè)"0",此六個(gè)"0"會(huì)破壞間歇的格式,使其他節(jié)點(diǎn)知道此時(shí)有節(jié)點(diǎn)發(fā)出過(guò)載標(biāo)志。當(dāng)發(fā)送完過(guò)載標(biāo)志,節(jié)點(diǎn)會(huì)發(fā)出8個(gè)"1",其他節(jié)點(diǎn)也會(huì)在完成后發(fā)出7個(gè)"1"。
圖七Overload Frame
報(bào)文間的空隙(Interframe Space)
報(bào)文間的空隙分為間歇與bus空閑兩種。間歇為3個(gè)"1",此期間不可傳送任何信息,除了過(guò)載格式例外。bus空閑為各節(jié)點(diǎn)都未發(fā)送數(shù)據(jù),所以此長(zhǎng)度示任意的,任何節(jié)點(diǎn)都可在此時(shí)發(fā)送自己的數(shù)據(jù)。當(dāng)有節(jié)點(diǎn)處于錯(cuò)誤被動(dòng),會(huì)在間歇后發(fā)出8個(gè)"1",讓其他的節(jié)點(diǎn)有機(jī)會(huì)重發(fā)自己的信息。
如圖七所示,有兩個(gè)方式會(huì)產(chǎn)生過(guò)載格式:
CAN BUS汽車(chē)總線測(cè)試應(yīng)用方案
車(chē)用電子列表協(xié)定有很多種,應(yīng)用較多的有LIN,CAN、FlexRay、TIP/C、SAEJ1850、TFCAN、ASRB、MOST等。美國(guó)汽車(chē)工程師協(xié)會(huì)(SAE)根據(jù)速率將車(chē)用電子信號(hào)劃分為A、B、C三類(lèi)。
A類(lèi):
列表協(xié)定標(biāo)準(zhǔn)包括TTP/A(Time Triggered Protocol/A)和LIN(Local Interconnect Net-work),其傳輸速率較低。
B類(lèi):
列表協(xié)定標(biāo)準(zhǔn)主要包括J1850、VAN,低速CAN。
C類(lèi):
列表協(xié)定標(biāo)準(zhǔn)主要包括TTP/C、FlexRay和高速CAN(ISO11898-2)都用于與汽車(chē)安全相關(guān)以及即時(shí)性要求比較高的地方。如動(dòng)力系統(tǒng),其傳輸速率比較高,通常在125kb/s到10Mb/s之間,必須支持即時(shí)的周期性的參數(shù)傳輸。
以目前中國(guó)臺(tái)灣車(chē)用電子產(chǎn)業(yè)而言,常見(jiàn)的是CAN BUS,接下來(lái)我們以CAN BUS進(jìn)行解說(shuō)。
CAN-BUS(Controller Area Network -控制器區(qū)域網(wǎng)路)在1993年制定為標(biāo)準(zhǔn)化ISO 11898-1,廣泛的應(yīng)用在車(chē)用電子系統(tǒng)上。
CAN是一種差動(dòng)列表協(xié)定,可提供高安全等級(jí)及有效率的即時(shí)控制。更具備了強(qiáng)大的調(diào)試和優(yōu)先權(quán)判機(jī)制,在這樣的機(jī)制下,網(wǎng)絡(luò)信息的傳輸變的更為可靠而有效率。
同時(shí)擁有低成本的特性,再加上CAN提供多主控端的構(gòu)架,這種特色,特別適合使用在主系統(tǒng)或子系統(tǒng)下提供更完整智慧型網(wǎng)絡(luò)設(shè)備。
CAN是建立在基于信息導(dǎo)向傳輸協(xié)定的廣播傳輸機(jī)制(broadcast communication mechanism)上。CAN定義信息的內(nèi)容,利用信息識(shí)別(message identifier)來(lái)定義內(nèi)容和信息的優(yōu)先順位,以進(jìn)行信息的傳遞,CAN擁有了高度的彈性調(diào)整能力,可以在既有的網(wǎng)絡(luò)中增加節(jié)點(diǎn)而不用在軟硬體上作修正與調(diào)整的作業(yè),很遠(yuǎn)的數(shù)據(jù)傳輸距離(10KM)、很高的數(shù)據(jù)傳輸率(1M bit/s)、可根據(jù)報(bào)文格式發(fā)送信息不需裝置、可靠的錯(cuò)誤處理與調(diào)試機(jī)制、信息遭到破壞后可自動(dòng)重發(fā)、節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)退出列表協(xié)定分析的功能。
CAN BUS汽車(chē)總線測(cè)試應(yīng)用方案信號(hào)實(shí)際測(cè)量
經(jīng)過(guò)前面對(duì)于CAN BUS的介紹,相信對(duì)于這一種在車(chē)用電子領(lǐng)域中的列表協(xié)定有了初步的認(rèn)知,接下來(lái)讓我們看看CAN BUS在汽車(chē)上的實(shí)際信號(hào)表現(xiàn)。
孕龍邏輯分析儀的攜帶方便,可幫助工程師面對(duì)各種測(cè)量環(huán)境都能得心應(yīng)手,如圖八所示,使用孕龍邏輯分析儀搭配筆記型電腦,很輕易的就可以直接在汽車(chē)上進(jìn)行CAN BUS信號(hào)的測(cè)量。
將孕龍邏輯分析儀的A0接上CAN H信號(hào)、B0接上CAN L信號(hào),因CAN BUS為差動(dòng)信號(hào)且CANH與CAN L的信號(hào)電壓并不一樣,故需將兩條信號(hào)線分別接至不同的Port上,并將A Port與B Port的觸發(fā)準(zhǔn)位分別設(shè)定,接地線直接接至汽車(chē)門(mén)邊扣環(huán)上即可。實(shí)際的信號(hào)擷取狀況如圖九所示。以圖中封包1而言,透過(guò)孕龍邏輯分析儀CAN列表協(xié)定分析模塊,可快速的進(jìn)行CAN BUS信號(hào)譯碼,搭配上封包列表顯示,可清楚的看出每一筆CAN BUS的起始時(shí)間及封包內(nèi)容、數(shù)據(jù)數(shù)值、CRC(注1)等,如DIC = 0X8代表該封包內(nèi)夾帶8筆數(shù)據(jù),透過(guò)封包列表顯示可清楚看見(jiàn)8筆數(shù)據(jù)中的數(shù)值。
圖八在汽車(chē)上實(shí)際測(cè)量CAN BUS信號(hào)
圖九使用孕龍邏輯分析儀測(cè)量CAN BUS實(shí)際畫(huà)面
注1:
CRC檢查是針對(duì)突發(fā)性、單一位或奇數(shù)個(gè)位元錯(cuò)誤進(jìn)行檢查的動(dòng)作,已表示數(shù)據(jù)傳輸?shù)倪^(guò)程中是否錯(cuò)誤。主要的運(yùn)作方式是將數(shù)據(jù)位D(X)除以多項(xiàng)式G(X)進(jìn)行運(yùn)算,不同的CRC檢查則有不
同的多項(xiàng)式G(X)產(chǎn)生,經(jīng)過(guò)除法運(yùn)算后可得知余數(shù)R(X)來(lái)進(jìn)行判斷。
圖十CAN BUS列表分析模塊設(shè)定畫(huà)面
CAN BUS信號(hào)使用Baud Rate做為信號(hào)傳送的速度依據(jù),孕龍科技邏輯分析儀CAN BUS列表分析模塊擁有自動(dòng)Baud Rate偵測(cè)功能(注2),工程師在面對(duì)未知的CAN BUS時(shí)更能輕松分析(如
圖十)。
CAN BUS列表分析模塊設(shè)定
注2:
孕龍科技CAN BUS列表分析模塊可自行判斷波形中小的脈沖寬度進(jìn)行Baud Rate轉(zhuǎn)換,當(dāng)工程師面對(duì)未知的信號(hào)時(shí),便無(wú)須手動(dòng)計(jì)算以加速項(xiàng)目進(jìn)行。
CAN BUS系統(tǒng)架構(gòu)上擁有許多的節(jié)點(diǎn),每一個(gè)節(jié)點(diǎn)都有相對(duì)應(yīng)的BASIC ID,孕龍科技邏輯分析儀在LAP-322000U-A支持了列表協(xié)定封包觸發(fā),讓工程師可特定的CAN BUS信號(hào)狀態(tài)作為觸發(fā)條件。(圖十一為設(shè)定BASIC ID 0X2A9,圖十二為觸發(fā)完成)
列表協(xié)定封包觸發(fā)
圖十一列表協(xié)定封包觸發(fā)設(shè)定畫(huà)面
設(shè)定作為觸發(fā)條件的封包狀態(tài)及數(shù)值
圖十二列表協(xié)定封包觸發(fā)完成
總結(jié)
車(chē)用電子技術(shù)發(fā)展日新月異,不但提升了汽車(chē)性能,也更加保障了行車(chē)安全。然而,跟上這股進(jìn)化的潮流也需要有相對(duì)應(yīng)的工具,孕龍邏輯分析儀列表協(xié)定分析模塊目前支持大約四十種串列協(xié)定信號(hào),從車(chē)用電子到IC界面、從PC系統(tǒng)到多媒體傳輸,都有相對(duì)應(yīng)的譯碼模塊,相信工程師擁有這些譯碼功能必定可增加工作效率。