新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 簡化CAN和LIN車載網(wǎng)絡(luò)測試

簡化CAN和LIN車載網(wǎng)絡(luò)測試

作者: 時間:2016-12-14 來源:網(wǎng)絡(luò) 收藏
CAN是一種連接多個控制模塊使用的串行異步多主站通信協(xié)議。其中,小于125 Kbps的數(shù)據(jù)速率通常稱為低速CAN。125 Kbps~1 Mbps的數(shù)據(jù)速率稱為高速CAN。CAN在信令處理中使用單線、雙線或容錯技術(shù)。在單線CAN中,數(shù)據(jù)速率是33.3 Kbps和83.33Kbps,信令采用單端信令。雙線CAN數(shù)據(jù)速率是高速CAN,信令采用差分信令。容錯CAN用于低速CAN數(shù)據(jù)速率。


網(wǎng)絡(luò)中的每個CAN節(jié)點通過發(fā)送包形式的信息進行通信。每個包將包含開銷和凈荷。根據(jù)通信類型,包稱為數(shù)據(jù)幀、遠程幀、過載幀或錯幀。對車載網(wǎng)絡(luò),CAN節(jié)點請求數(shù)據(jù),然后發(fā)送一個遠程幀。如果節(jié)點忙著處理數(shù)據(jù)、執(zhí)行優(yōu)先工作,那么節(jié)點將把過載幀放在總線上,表明它目前正忙。如果CAN節(jié)點發(fā)現(xiàn)有校驗和錯誤或數(shù)據(jù)毀壞,它將發(fā)送一個錯幀。CAN有兩種協(xié)議格式:CAN2.OA和CAN2.OB。這兩種版本之間的差別是地址中使用的位數(shù)不同。CAN2.OA支持11位地址,可以兼容CAN2.OB。CAN2.OB支持29位地址,也稱為擴展地址。

CAN2.OB的典型數(shù)據(jù)幀內(nèi)容如圖1所示。

本文引用地址:http://butianyuan.cn/article/201612/329677.htm

LIN基礎(chǔ)知識

LIN是一種基于公共UART接口的單線串行通信協(xié)議。LIN采用單主站多從站組網(wǎng)結(jié)構(gòu)。它是為汽車傳感器和驅(qū)動器組網(wǎng)應(yīng)用開發(fā)的,用于車門控制、車燈和車窗操作。LIN主節(jié)點將LIN網(wǎng)絡(luò)與高級網(wǎng)絡(luò)相連,如使用控制器區(qū)域網(wǎng)(CAN)。由于電磁干擾和時鐘同步要求,LIN支持最大20Kbps的數(shù)據(jù)速率。在收到和過濾標識符時,從站任務(wù)激活,開始傳輸消息響應(yīng)。響應(yīng)由2個、4個或8個數(shù)據(jù)字節(jié)和1個校驗和字節(jié)組成。包頭和響應(yīng)部分構(gòu)成了一個消息格式。LIN消息格式如圖2所示。


測量頻率振蕩器容限和傳輸延遲,幫助解決位定時問題

CAN協(xié)議的功能、位速率、位采樣點和一個位周期中的樣點數(shù)量都可以由用戶編程。在這一過程中,用戶必須知道位定時參數(shù)、參考頻率振蕩器容限和系統(tǒng)中各種信號傳輸延遲。根據(jù)CAN規(guī)范,位時間分成四段,即同步段、傳播時間段、相位緩沖段1和相位緩沖段2。每個段由可以編程的特定數(shù)量的時間單位組成。時間單位(tq)是位時間的基本時間單位,其長度由編程人員使用位速率預(yù)標量定義。圖3說明了怎樣才能選擇位時間中的時間單位,然后為4個段分配時間單位。同步段(sync_seg)是預(yù)計發(fā)生CAN總線電平邊沿的位時間部分。在sync_seg外面發(fā)生的邊沿與相位段邊沿間的距離稱為該邊沿的相位誤差。傳輸時間段(prop_seg)主要用來補償CAN網(wǎng)絡(luò)內(nèi)部的物理延時。相位緩沖段(phasesegl和phase_seg2)包圍在樣點周圍。再一同步跳轉(zhuǎn)寬度(SJW)規(guī)定了再同步可以在相位緩沖段規(guī)定的范圍內(nèi)把樣點移動多遠的距離,以補償沿到沿誤差。


為使CAN網(wǎng)絡(luò)正常運行,必須考慮物理延時和頻率振蕩器的容限范圍,CAN網(wǎng)絡(luò)中的每個節(jié)點從自己的頻率振蕩器中得到位定時,這個位時間會隨著頻率振蕩器的容限而變化。在實際系統(tǒng)中,由于初始容限偏置和老化及周圍溫度變化,頻率振蕩器參考頻率fclk會偏離額定值。這些偏離之和得到總的頻率振蕩器容限。在對定時寄存器編程時,編程人員必須考慮這一變化。

在DP07000系列上運行的CAN和LIN定時和協(xié)議解碼軟件(稱為下DSVNM)自動測量頻率振蕩器容限。用戶可以指定CAN節(jié)點的號碼。下DSVNM中的結(jié)果將包括有ACK位及沒有ACK位的整體頻率振蕩器容限。TDSVNM還將提供沒有ACK位的數(shù)據(jù),表明接收CAN節(jié)點對傳輸節(jié)點的影響。通過結(jié)合使用頻率振蕩器的發(fā)送節(jié)點和接收節(jié)點容限,可以對CAN控制器定時寄存器編程,實現(xiàn)無差錯的網(wǎng)絡(luò)性能。

除頻率振蕩器容限信息外,為精確地設(shè)置樣點,還要求傳輸延時信息。傳輸延遲在CAN系統(tǒng)中具有重要意義,這是因為CAN支持在競爭訪問網(wǎng)絡(luò)的節(jié)點之間進行非破壞性判優(yōu)及同幀確認。

假設(shè)有兩個CAN節(jié)點A和B。兩個節(jié)點A和B之間的單向傳播延遲規(guī)定為tprop (A, B)。由于兩個節(jié)點之間的信號傳播時間,同步到CAN總線上碼流的任何CAN節(jié)點將與發(fā)射機碼流不同相。

在圖4中的實例中,兩個節(jié)點A和B都是對CAN總線執(zhí)行判優(yōu)的發(fā)射機。節(jié)點A發(fā)送幀開始位的時間比節(jié)點B早不到一個位時間,因此節(jié)點B把自己同步到收到的從隱性到顯性的邊沿。由于節(jié)點B是在發(fā)送后同步的這一邊沿延遲(A_to_B),因此B的位定時段相對于A發(fā)生位移。節(jié)點B發(fā)送優(yōu)先權(quán)更高的標識符,因此在發(fā)送顯性位時,在特定標識符上它會贏得判優(yōu),而節(jié)點A則傳輸隱性位。節(jié)點B發(fā)送的顯性位將在延遲(B_to_A)后到達節(jié)點A。


由于頻率振蕩器容限,節(jié)點A的樣點的實際位置可能會位于節(jié)點A同相的段額定范圍內(nèi)的任何地方,因此節(jié)點B傳輸?shù)奈槐仨氃趐hase_segl開始前到達節(jié)點A。這一條件定義了prop_seg的長度。

如果節(jié)點B傳輸?shù)膹碾[性到顯性的邊沿在phase_seg2開始后到達節(jié)點A,那么可能會發(fā)生節(jié)點A對隱性位、而不是顯性位取樣的情況。這會導(dǎo)致誤碼,并使用錯誤標記破壞當前幀。
這個問題要求工程師在對CAN控制器的定時寄存器編程時考慮精確的數(shù)據(jù)。現(xiàn)在TDSVNM軟件提供了自動測量傳輸延遲的功能。TDSVNM可以自動測量頻率振蕩器容限和傳輸延遲,用戶可以使用來自車載網(wǎng)絡(luò)的實際環(huán)境數(shù)據(jù)對寄存器編程。

CAN和LIN消息的協(xié)議解碼

一旦物理層在車載網(wǎng)絡(luò)中全面運行,固化軟件將與ECU(發(fā)動機控制單元)集成在一起。在這一活動過程中,用戶可以以數(shù)據(jù)鏈路層格式查看OSI的物理層活動。圖5是典型的車載網(wǎng)絡(luò)。


在圖5中,多條總線使用網(wǎng)關(guān)互連起來。舒適總線和資訊娛樂總線通常以低于125 Kbps的速率運行,傳動鏈總線和安全總線以500 Kbps~1 Mbps的數(shù)據(jù)速率運行。LIN總線接入到舒適總線上。在不同總線之間使用網(wǎng)關(guān)交換數(shù)據(jù)。在這個異構(gòu)網(wǎng)絡(luò)中,需要進行的分析如下:

· 觸發(fā)特定GAN幀內(nèi)容,捕獲總線業(yè)務(wù),以數(shù)據(jù)鏈路層格式查看信息

· CAN消息之間的時戳

· 檢定不同網(wǎng)段之間的通信

· 能夠同時查看兩個網(wǎng)段中的協(xié)議活動。兩個網(wǎng)段可以是CAN-CAN或CAN-LIN

· 檢定網(wǎng)關(guān)的性能,確定網(wǎng)段之間信息交換的時延及信息交換的準確性

通過使用與DP07000系列集成式CAN觸發(fā)功能接口的TDSVNM軟件,用戶可以捕獲特定CAN幀內(nèi)容上的CAN業(yè)務(wù)。TDSVNM解決方案可以監(jiān)測CAN2.OA或CAN2.0B幀。用戶可以靈活地選擇幀類型,如數(shù)據(jù)幀、過載幀、遠程幀或錯幀。根據(jù)幀中的內(nèi)容,用戶可以指明要監(jiān)測的內(nèi)容,并發(fā)起捕獲。

但是,采用YT格式捕獲的數(shù)據(jù)很難解釋NRZ數(shù)據(jù),很難知道CAN消息中的內(nèi)容。TDSVNM解碼YT波形,以十六進制或二進制格式顯示數(shù)據(jù),節(jié)約了時間,不會產(chǎn)生人為錯誤。


評論


技術(shù)專區(qū)

關(guān)閉