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