解讀ISO11898-1數據鏈路層和物理層信號
ISO 11898-1定義了哪些內容,相關(guān)項目如何測試?本文將為你一一解讀。
本文引用地址:http://dyxdggzs.com/article/201712/372403.htm1、關(guān)于ISO 11898
ISO是世界性的標準化組織,主要任務(wù)是制定國際標準,協(xié)調世界范圍內的標準化工作,與其他國際性組織合作研究有關(guān)標準化問(wèn)題。IS0 11898由以下部分組成:
? ISO11898-1:數據鏈路層和物理層信號
? ISO11898-2:高速接入單元
? ISO11898-3:低速容錯接入單元
? 11898-4:時(shí)間觸發(fā)通訊
? ISO11898-5:低功耗的高速接入單元
? ISO11898-6:選擇性喚醒的高速接入單元
最新的ISO 11898-2、ISO 11898-5和ISO 11898-6已經(jīng)取代ISO 11898-2:2003、ISO 11898-5:2007和ISO 11898-6:2013。
2、ISO11898-1的定位
對比標準的OSI通訊協(xié)議模型,ISO 11898-1定義了CAN的數據鏈路層和部分物理層,如圖1。數據鏈路層和物理層具體可分為邏輯鏈路控制、媒介訪(fǎng)問(wèn)控制、物理層編碼、物理層介質(zhì)、物理層媒介依賴(lài)。

圖1 ISO 11898的定位
3、適用范圍
ISO11898-1旨在實(shí)現CAN模塊之間數據鏈路層上的信息規范??刂破鲄^域的網(wǎng)絡(luò )是一種串行通信協(xié)議,用于道路車(chē)輛和其他控制領(lǐng)域,支持分布式實(shí)時(shí)控制和多路復用。ISO11898-1:2015適用于經(jīng)典CAN幀與靈活CAN幀(CAN-FD)。經(jīng)典的CAN幀有效載荷達8個(gè)字節,比特率最高允許1 Mbit/s。最新的CAN幀(CAN-FD)幀格式允許比特率高于1 mbit/s,并且有效載荷大于每幀8字節。新幀架構(CAN-FD)兼容經(jīng)典幀結構。

圖2 新舊幀關(guān)系
4、基本概念
SO11898-1詳細列舉出CAN總線(xiàn)涉及到的基本概念。具體細節請讀者參考原文,此處不再展開(kāi)。

圖3 基本概念
5、CAN層體結構
ISO 11898-1包含邏輯鏈接控制子層(LLC)、介質(zhì)訪(fǎng)問(wèn)控制子層(MAC)、物理編碼子層(PCS)。其中LLC包括接受過(guò)濾、過(guò)載通知以及恢復管理;MAC層包括數據封裝與解封、幀編碼、介質(zhì)訪(fǎng)問(wèn)管理、錯誤檢測、序列及反序列;PCS層包括位編碼、位解碼以及同步。

圖4 ISO 11898包含的規范
6、MAC數據的一致性
要傳送的消息是由LLC產(chǎn)生的,通過(guò)節點(diǎn)的控制器主機接口和數據鏈路層的子層傳輸到MAC子層。MAC子層將把整個(gè)消息存儲在一個(gè)臨時(shí)緩沖區中,該緩沖區在傳輸開(kāi)始之前被填充。當傳送的信息被傳送到MAC的子層時(shí),LLC子層應檢查數據錯誤。如果檢測到數據錯誤,就不會(huì )啟動(dòng)傳輸。如果在檢測到數據錯誤時(shí)已經(jīng)啟動(dòng),那么節點(diǎn)將被切換到總線(xiàn)監控模式或進(jìn)入受限的操作模式,接收節點(diǎn)將不會(huì )看到一條有效消息。

圖5 自動(dòng)錯誤過(guò)濾
7、錯誤及恢復
為了避免設備因自身原因影響其他正常節點(diǎn),11898-1固定每個(gè)CAN控制器都有一個(gè)發(fā)送錯誤計數器(TEC)和接收錯誤計數器(REC)。轉換流程如圖6。
? 主動(dòng)錯誤狀態(tài):這是設備正常狀態(tài),設備正常參加通信,當檢測到錯誤時(shí)發(fā)送錯誤標識;
? 被動(dòng)錯誤狀態(tài):檢測出錯誤后,設備將發(fā)送被動(dòng)錯誤標識;
? 總線(xiàn)狀態(tài)關(guān)閉:因為自身嚴重問(wèn)題使總線(xiàn)自身進(jìn)入總線(xiàn)關(guān)閉狀態(tài),該狀態(tài)下無(wú)數據收發(fā)。

圖6 設備狀態(tài)轉換
8、一致性測試
CAN總線(xiàn)實(shí)際應用中總會(huì )遇到很多問(wèn)題,因此對總線(xiàn)的各個(gè)方面做一致性測試十分必要。CAN的一致性測試包括物理層一致性測試、數據鏈路層一致性測試、應用層一致性測試。參考ISO 11898-1,可使用CANScope對CAN總線(xiàn)做數據鏈路層一致性測試,包括圖7內的測試項目。

圖7 一致性測試項目
采樣點(diǎn)測試:該測試旨在驗證CAN 控制器的波特率采樣點(diǎn)位置。采用干擾的手段,將采樣點(diǎn)位置的邏輯電平破壞,則這個(gè) CAN 報文將出現錯誤。以此就可以確定干擾的位置為采樣點(diǎn)位置。

圖8 采樣點(diǎn)測試
CAN2.0B 兼容測試: 測試被測設備DUT 是否能兼容CAN2.0B 的擴展幀,不會(huì )發(fā)出錯誤幀。根據GMW14242,要求在DUT在接收擴展幀時(shí),不會(huì )有錯誤幀發(fā)出。測試平臺架構如圖9所示。

圖9 CAN2.0B兼容性測試
報文標示符測試:測試被測DUT 發(fā)出的報文標識符(ID)是否符合預期。根據ISO11898-1,要求在DUT在發(fā)送所有應用報文,都具備正確的ID。如圖10在數據長(cháng)度框、幀ID框內進(jìn)行關(guān)鍵字檢索,查找異常幀。

圖10 報文標示符測試
評論