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

          新聞中心

          EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > 如何識別陌生CAN網(wǎng)絡(luò)的協(xié)議?

          如何識別陌生CAN網(wǎng)絡(luò)的協(xié)議?

          作者:ZLG致遠電子 時間:2018-03-07 來源:電子產(chǎn)品世界 收藏

            在網(wǎng)絡(luò)中,所有節(jié)點的數(shù)據(jù)收發(fā)共享一條總線。當(dāng)面對未知的多節(jié)點總線網(wǎng)絡(luò)時,如何準(zhǔn)確分析各節(jié)點間的通信協(xié)議呢?

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

            一、總線通信方式

            與485類似,CAN-Bus也是以總線的方式進行通信的,所有的CAN節(jié)點都掛在一對差分線上。但CAN總線中的節(jié)點不存在主從的概念,當(dāng)節(jié)點有數(shù)據(jù)需要上傳時可自主、即時發(fā)送,先進的仲裁機制保證數(shù)據(jù)不會沖突。

              

            圖1 CAN總線通信方式

            二、CAN總線協(xié)議分析

            對比標(biāo)準(zhǔn)的通信七層模型,CAN總線大體可分為物理層、鏈路層、應(yīng)用層。對鏈路層的解析就能得到節(jié)點ID號。若對一個“未加密”CAN總線做鏈路層的解析,使用CAN總線接口卡(也稱CAN盒)即可。這類工具能將CAN通訊轉(zhuǎn)換為USB、PCI等通信方式,一般配合電腦使用。若要對CAN總線做全面的分析,則需要專業(yè)的總線分析儀。CANScope是集CAN節(jié)點測試與標(biāo)定、CAN總線故障診斷與解決的綜合儀器。

              

            圖2 CAN總線抓包工具及方法

            三、多路CAN卡的應(yīng)用

            以上提到的總線協(xié)議分析是在總線節(jié)點少、節(jié)點ID已知的前提下進行的。當(dāng)面對一個協(xié)議未知且節(jié)點數(shù)多、節(jié)點ID未知網(wǎng)絡(luò)時,首先要做的是分別摘取各路CAN中報文、辨識各節(jié)點ID。

              

            圖3 數(shù)據(jù)分離、摘取

            若將每個節(jié)點單獨取出做測試,則必然破壞原有通信規(guī)則。如何在不破壞原有通信的基礎(chǔ)上搞清楚一個陌生的收發(fā)協(xié)議呢?所謂工欲善其事,必先利其器。您需要一個能同時收發(fā)、轉(zhuǎn)送多路CAN數(shù)據(jù)的CAN卡,USBCAN-8E-U正是這種測試工具。

              

            圖4 USBCAN-8E-U

            USBCAN-8E-U集成8路CAN-bus接口,各通道間可做路由(轉(zhuǎn)發(fā))功能。在識別節(jié)點ID時,可以將節(jié)點同時接到8個CAN接口上,然后設(shè)置8路CAN間通信自由轉(zhuǎn)發(fā),保證原有網(wǎng)絡(luò)通信規(guī)則不受破壞。強大的上位機軟件將每個通道發(fā)送、接收的CAN報文按通道分開顯示,數(shù)據(jù)分析一目了然。

              

            圖5 多節(jié)點CAN網(wǎng)絡(luò)分析



          關(guān)鍵詞: CAN

          評論


          技術(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); })();