CAN總線在數(shù)據(jù)鏈路層中的應(yīng)用是其通信協(xié)議中的關(guān)鍵部分、它負(fù)責(zé)在物理層之上實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸。致遠(yuǎn)第二代CAN總線分析儀ZPS-CANFD,除了可以完成CAN、CANFD總線物理層的一致性測(cè)試,同時(shí)也可以完成對(duì)CAN總線數(shù)據(jù)鏈路層工作過程的觀察。
什么是數(shù)據(jù)鏈路層
在CAN總線應(yīng)用中,物理層一致性測(cè)試成為各CAN總線廠家必測(cè)的校驗(yàn)任務(wù),以此來保證總線或節(jié)點(diǎn)產(chǎn)品有健康的信號(hào)質(zhì)量。CAN總線的應(yīng)用領(lǐng)域逐漸擴(kuò)大,共模干擾、電磁干擾、信號(hào)衰減等影響總線通訊的因素也逐漸增強(qiáng),數(shù)據(jù)傳輸過程中常常出現(xiàn)錯(cuò)誤,而物理層只負(fù)責(zé)透明的傳輸結(jié)構(gòu)的原始比特流,不能進(jìn)行任何錯(cuò)誤控制。因此,當(dāng)需要在一條線路上傳送數(shù)據(jù)時(shí),除了必須有一條物理線路(鏈路)外,還必須有一些必要的規(guī)程來控制這些數(shù)據(jù)的傳輸。把實(shí)現(xiàn)這些規(guī)程的硬件和軟件加到鏈路上,就構(gòu)成了數(shù)據(jù)鏈路層(Data Link Layer)。
數(shù)據(jù)鏈路層主要由兩個(gè)部分組成, MAC子層(媒體訪問控制子層)、LLC子層(邏輯鏈路控制子層)。如圖1所示為目前國際標(biāo)準(zhǔn)“ISO 11898-1:2015(E)”中 數(shù)據(jù)鏈路層CAN的分層架構(gòu)圖。

圖1 CAN的分層架構(gòu)圖
MAC子層
MAC子層是CAN協(xié)議的關(guān)鍵組成部分,主要負(fù)責(zé)將物理層接收到的信號(hào)組織成具有實(shí)際意義的信息,并管理錯(cuò)誤控制等傳輸流程,MAC子層主要功能有以下幾點(diǎn):消息的幀化處理:將待傳輸?shù)臄?shù)據(jù)封裝成符合CAN協(xié)議的幀格式;仲裁:通過非破壞性仲裁機(jī)制解決多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù)時(shí)的沖突;應(yīng)答:接收節(jié)點(diǎn)通過應(yīng)答機(jī)制確認(rèn)數(shù)據(jù)的正確接收;錯(cuò)誤的檢測(cè)和報(bào)告:檢測(cè)通信過程中的錯(cuò)誤,并通過錯(cuò)誤幀向其他節(jié)點(diǎn)報(bào)告。在ZPS-CANFD中,我們可以通過報(bào)文解碼界面,清晰地看到幀格式,如仲裁場(chǎng)、應(yīng)答場(chǎng)信息。除此之外,我們也可以在Decode界面中看到填充位(即白色填充位置),如圖2所示:

圖2 報(bào)文解碼
也可以通過報(bào)文接收窗口,觀察錯(cuò)誤幀類型,如圖3所示:

圖3 幀錯(cuò)誤類型標(biāo)記LLC子層LLC子層雖然在CAN協(xié)議標(biāo)準(zhǔn)中沒有明確劃分,但我們通常可以將幀過濾、報(bào)文重發(fā)等邏輯控制功能歸為LLC子層的范圍:報(bào)文過濾:通過過濾器只保留想看的報(bào)文;報(bào)文重發(fā):在檢測(cè)到通信錯(cuò)誤或未收到應(yīng)答時(shí),自動(dòng)重發(fā)報(bào)文。ZPS-CANFD中,擁有報(bào)文過濾的功能和出現(xiàn)錯(cuò)誤幀時(shí)報(bào)文重發(fā)的機(jī)制,我們可以通過報(bào)文接收界面觀察只想看的報(bào)文以及觀察報(bào)文重發(fā)的過程以及重發(fā)報(bào)文的信息,如圖4所示為某報(bào)文文件過濾后的錯(cuò)誤幀報(bào)文。

圖4 錯(cuò)誤幀
除此之外,ZPS還可以通過ID、DLC長度、幀類型、時(shí)間等等參數(shù)進(jìn)行過濾,如圖5所示為自定義過濾編輯器。

圖5 過濾編輯器在報(bào)文
接收界面可以看到報(bào)文重發(fā)的過程,在總線負(fù)載率界面我們可以觀察到Busoff恢復(fù)過程,Busoff恢復(fù)是指當(dāng)CAN節(jié)點(diǎn)發(fā)送錯(cuò)誤計(jì)數(shù)器超過255次時(shí),節(jié)點(diǎn)會(huì)進(jìn)入Busoff狀態(tài),為了避免某個(gè)設(shè)備因自身原因?qū)е聼o法正確發(fā)送報(bào)文而不斷破壞總線的數(shù)據(jù)幀,CAN總線網(wǎng)絡(luò)具有嚴(yán)格的錯(cuò)誤診斷功能。在ZPS中,可以卡光標(biāo)來測(cè)量幀間隔從而知道Busoff恢復(fù)時(shí)間,如圖6所示:

圖6 Busoff恢復(fù)觀察總結(jié)CAN總線協(xié)議的數(shù)據(jù)鏈路層是實(shí)現(xiàn)CAN通信的關(guān)鍵部分,它負(fù)責(zé)在物理層之上實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸,通過幀同步、差錯(cuò)控制、流量控制和訪問控制等功能,CAN協(xié)議確保多個(gè)節(jié)點(diǎn)之間的高效、可靠通信。我們的ZPS-CANFD正好可以做到這幾點(diǎn),協(xié)助我們觀察錯(cuò)誤機(jī)制處理的過程,這些功能和機(jī)制共同構(gòu)成了CAN總線協(xié)議強(qiáng)大的通信功能,使其在眾多領(lǐng)域得到廣泛應(yīng)用。
-
CAN
+關(guān)注
關(guān)注
59文章
3066瀏覽量
472732 -
數(shù)據(jù)鏈路層
+關(guān)注
關(guān)注
0文章
63瀏覽量
12408
發(fā)布評(píng)論請(qǐng)先 登錄
數(shù)據(jù)鏈路層.ppt
數(shù)據(jù)鏈路層的作用
什么是OSI模型數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層到底是什么_數(shù)據(jù)鏈路層工作原理是怎樣的
數(shù)據(jù)鏈路層常用成紙法有哪些_數(shù)據(jù)鏈路層的作用
數(shù)據(jù)鏈路層和傳輸層的區(qū)別是什么
數(shù)據(jù)鏈路層設(shè)備有哪些
數(shù)據(jù)鏈路層的任務(wù)
ZLG致遠(yuǎn)電子首款CANFD總線分析測(cè)試產(chǎn)品正式發(fā)布
ZLG致遠(yuǎn)電子推出ZPS-CANFD總線分析測(cè)試平臺(tái)助力汽車工業(yè)
ZLG致遠(yuǎn)電子推ZPS-CANFD總線分析測(cè)試平臺(tái)
ZLG致遠(yuǎn)電子推出ZPS-CANFD總線分析測(cè)試平臺(tái)助力汽車工業(yè)進(jìn)程
CAN總線協(xié)議的數(shù)據(jù)鏈路層有哪些部分
ZPS-CANFD總線分析儀:一鍵操作,全面評(píng)估CAN/CANFD節(jié)點(diǎn)健康狀態(tài)
如何使用ZPS-CANFD觀察CAN數(shù)據(jù)鏈路層的工作過程
評(píng)論