<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 解讀ISO11898-1數(shù)據(jù)鏈路層和物理層信號(hào)

          解讀ISO11898-1數(shù)據(jù)鏈路層和物理層信號(hào)

          作者: 時(shí)間:2018-09-13 來(lái)源:網(wǎng)絡(luò) 收藏

          ISO 11898-1定義了哪些內(nèi)容,相關(guān)項(xiàng)目如何測(cè)試?本文將為你一一解讀。

          本文引用地址:http://www.ex-cimer.com/article/201809/389105.htm

          1、關(guān)于ISO 11898

          ISO是世界性的標(biāo)準(zhǔn)化組織,主要任務(wù)是制定國(guó)際標(biāo)準(zhǔn),協(xié)調(diào)世界范圍內(nèi)的標(biāo)準(zhǔn)化工作,與其他國(guó)際性組織合作研究有關(guān)標(biāo)準(zhǔn)化問(wèn)題。IS0 11898由以下部分組成:

          層和

          — ISO11898-2:高速接入單元

          — ISO11898-3:低速容錯(cuò)接入單元

          — 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、的定位

          對(duì)比標(biāo)準(zhǔn)的OSI通訊協(xié)議模型,ISO 11898-1定義了CAN的層和部分物理層,如圖1。層和物理層具體可分為邏輯鏈路控制、媒介訪問(wèn)控制、物理層編碼、物理層介質(zhì)、物理層媒介依賴。

          圖1 ISO 11898的定位

          3、適用范圍

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

          圖2 新舊幀關(guān)系

          4、基本概念

          SO11898-1詳細(xì)列舉出CAN總線涉及到的基本概念。具體細(xì)節(jié)請(qǐng)讀者參考原文,此處不再展開(kāi)。

          圖3 基本概念

          5、CAN層體結(jié)構(gòu)

          ISO 11898-1包含邏輯鏈接控制子層(LLC)、介質(zhì)訪問(wèn)控制子層(MAC)、物理編碼子層(PCS)。其中LLC包括接受過(guò)濾、過(guò)載通知以及恢復(fù)管理;MAC層包括數(shù)據(jù)封裝與解封、幀編碼、介質(zhì)訪問(wèn)管理、錯(cuò)誤檢測(cè)、序列及反序列;PCS層包括位編碼、位解碼以及同步。

          圖4 ISO 11898包含的規(guī)范

          6、MAC數(shù)據(jù)的一致性

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

          圖5 自動(dòng)錯(cuò)誤過(guò)濾

          7、錯(cuò)誤及恢復(fù)

          為了避免設(shè)備因自身原因影響其他正常節(jié)點(diǎn),11898-1固定每個(gè)CAN控制器都有一個(gè)發(fā)送錯(cuò)誤計(jì)數(shù)器(TEC)和接收錯(cuò)誤計(jì)數(shù)器(REC)。轉(zhuǎn)換流程如圖6。

          — 主動(dòng)錯(cuò)誤狀態(tài):這是設(shè)備正常狀態(tài),設(shè)備正常參加通信,當(dāng)檢測(cè)到錯(cuò)誤時(shí)發(fā)送錯(cuò)誤標(biāo)識(shí);

          — 被動(dòng)錯(cuò)誤狀態(tài):檢測(cè)出錯(cuò)誤后,設(shè)備將發(fā)送被動(dòng)錯(cuò)誤標(biāo)識(shí);

          — 總線狀態(tài)關(guān)閉:因?yàn)樽陨韲?yán)重問(wèn)題使總線自身進(jìn)入總線關(guān)閉狀態(tài),該狀態(tài)下無(wú)數(shù)據(jù)收發(fā)。

          圖6 設(shè)備狀態(tài)轉(zhuǎn)換

          8、一致性測(cè)試

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

          圖7 致性測(cè)試項(xiàng)目

          采樣點(diǎn)測(cè)試:該測(cè)試旨在驗(yàn)證CAN 控制器的波特率采樣點(diǎn)位置。采用干擾的手段,將采樣點(diǎn)位置的邏輯電平破壞,則這個(gè) CAN 報(bào)文將出現(xiàn)錯(cuò)誤。以此就可以確定干擾的位置為采樣點(diǎn)位置。

          圖8 采樣點(diǎn)測(cè)試

          CAN2.0B 兼容測(cè)試: 測(cè)試被測(cè)設(shè)備DUT 是否能兼容CAN2.0B 的擴(kuò)展幀,不會(huì)發(fā)出錯(cuò)誤幀。根據(jù)GMW14242,要求在DUT在接收擴(kuò)展幀時(shí),不會(huì)有錯(cuò)誤幀發(fā)出。測(cè)試平臺(tái)架構(gòu)如圖9所示。

          圖9 CAN2.0B兼容性測(cè)試

          報(bào)文標(biāo)示符測(cè)試:測(cè)試被測(cè)DUT 發(fā)出的報(bào)文標(biāo)識(shí)符(ID)是否符合預(yù)期。根據(jù)ISO11898-1,要求在DUT在發(fā)送所有應(yīng)用報(bào)文,都具備正確的ID。如圖10在數(shù)據(jù)長(zhǎng)度框、幀ID框內(nèi)進(jìn)行關(guān)鍵字檢索,查找異常幀。

          圖10 報(bào)文標(biāo)示符測(cè)試



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();