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