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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CAN FD 總線(xiàn)技術(shù)分析

          CAN FD 總線(xiàn)技術(shù)分析

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

            最近越來(lái)越多工程師關(guān)注 ,同時(shí)也會(huì)向虹科反饋 的產(chǎn)品應(yīng)用信息。編者覺(jué)得對(duì)于 的發(fā)布,對(duì)于中國(guó)的工程師或者是中國(guó)對(duì)CAN技術(shù)的應(yīng)用將會(huì)迎來(lái)新的契機(jī)。試想,國(guó)外累計(jì)了20多年的CAN技術(shù)呈現(xiàn)出來(lái)的新技術(shù)-CAN FD,在它誕生沒(méi)多久就可以見(jiàn)證和陪伴它的“成長(zhǎng)”,對(duì)于技術(shù)工程師來(lái)說(shuō)是多么美妙的事情。

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

            剛好上個(gè)月參加CiA在天津的CAN FD技術(shù)發(fā)布會(huì),期間編者有幸擔(dān)當(dāng)CiA 主席的Holger的現(xiàn)場(chǎng)翻譯,也是收獲良多。當(dāng)?shù)谝淮谓佑|CAN FD,現(xiàn)場(chǎng)很多人都會(huì)有疑問(wèn),CAN FD與CAN有哪些不同呢?CAN FD能否與當(dāng)前的CAN 兼容?目前CAN FD的應(yīng)用情況怎么樣?等等一系列相關(guān)的問(wèn)題就像打開(kāi)話(huà)匣子一樣迸發(fā)出來(lái)。當(dāng)然,CiA 主席Holger一一進(jìn)行解答。接下來(lái)編者也會(huì)重點(diǎn)介紹CAN FD與CAN的不同之處,同時(shí)也作了哪些升級(jí)。

            一、CAN FD采用了兩種位速率

            CAN FD全稱(chēng)為CAN with Flexible Data-rate,即是帶靈活可變的數(shù)據(jù)波特率,在數(shù)據(jù)段中可以實(shí)現(xiàn)高達(dá)理論15Mbit/s的通信波特率,從控制場(chǎng)中的BRS位到ACK場(chǎng)之前(含CRC分界符)為可變速率,其余部分為原CAN總線(xiàn)用的速率。

            

           

            二、CAN-FD的數(shù)據(jù)幀增加至64個(gè)字節(jié)有效數(shù)據(jù)

            如下圖可見(jiàn),較之CAN基本數(shù)據(jù)格式,CAN-FD的數(shù)據(jù)位長(zhǎng)度已經(jīng)突破最大8個(gè)字節(jié)的數(shù)據(jù),達(dá)到最高64個(gè)字節(jié)的有效數(shù)據(jù)。

           

            

           

            三、幀結(jié)構(gòu)的變化:

            其中CAN FD 數(shù)據(jù)幀在控制場(chǎng)新添加EDL位、BRS位、ESI位,采用了新的DLC編碼方式、新的CRC算法(CRC場(chǎng)可能擴(kuò)展到17,21,26位)。

            3.1 控制場(chǎng)添加EDL位、BRS位、ESI位

            EDL位:(Extended Data Length)原CAN數(shù)據(jù)幀中的保留位r, 該位功能為:

            隱性: 表示CAN FD 報(bào)文 (采用新的DLC編碼和CRC算法)

            顯性: 表示CAN報(bào)文

            BRS位:( Bit Rate Switch)該位功能為:

            隱性:表示轉(zhuǎn)換可變速率

            顯性:表示不轉(zhuǎn)換速率

            ESI(Error State Indicator),該位的功能為:

            隱性:表示發(fā)送節(jié)點(diǎn)處于被動(dòng)錯(cuò)誤狀態(tài)(Error Passive)

            顯性:表示發(fā)送節(jié)點(diǎn)處于主動(dòng)錯(cuò)誤狀態(tài)(Error Active 

           

            3.2 新的DLC編碼方式

            對(duì)比ISO 11898-1的編碼方式是線(xiàn)性編碼方式,CAN-FD新的DLC編碼方式是以階梯式的向上增加,而非逐一向上的非線(xiàn)性編碼。

           

            

           

            3.3 更長(zhǎng)的數(shù)據(jù)位

            當(dāng)然少不了數(shù)據(jù)域高達(dá)64個(gè)字節(jié)的數(shù)據(jù)長(zhǎng)度:

           

            

           

            3.4 新的CRC算法

            確定在第一位以及以后每4位添加一個(gè)填充位加以分割,這個(gè)填充位的值是上一位的反碼,作為格式檢查,如果填充位不是上一位的反碼,就作出錯(cuò)處理。

            CAN FD的CRC場(chǎng)擴(kuò)展到了16位以上,可擴(kuò)展到17,21位。。由于數(shù)據(jù)場(chǎng)長(zhǎng)度有很大變化區(qū)間,所以要根據(jù)DLC大小應(yīng)用不同的CRC生成多項(xiàng)式。

           

            

           

            綜上說(shuō)了那么多理論上的變化,看起來(lái)還是不夠具體,那么就來(lái)一個(gè)CAN標(biāo)準(zhǔn)幀與CAN FD幀的波特對(duì)比圖:

            

           

            有關(guān)CAN FD與CAN 的兼容問(wèn)題,Holger提到目前有三種方式來(lái)應(yīng)付同一個(gè)平臺(tái)中兩者的兼容問(wèn)題,

            1.同一個(gè)平臺(tái)采用CAN FD和CAN兩種硬件通道,

            2.同一個(gè)平臺(tái)保持CAN處理器不變,改變CAN收發(fā)器,

            3.在使用CAN FD通信時(shí),讓CAN節(jié)點(diǎn)進(jìn)入休眠狀態(tài)。

            當(dāng)然還有其他方式可以實(shí)現(xiàn),大家也可以討論,有關(guān)CAN-FD的技術(shù)問(wèn)題,您也可以向CiA主席進(jìn)行提問(wèn),相信他也會(huì)給您一個(gè)權(quán)威的回復(fù)。如果需要的話(huà)

            Holger提到以后CAN的發(fā)展,相信CAN FD終將會(huì)替代CAN。有關(guān)CAN FD的硬件,目前逐步有一些公司推出相應(yīng)的產(chǎn)品,據(jù)我所知德國(guó)PEAK已經(jīng)推出PC CAN FD接口PCAN-USB FD,目前也有很多工程師關(guān)注這個(gè)產(chǎn)品的應(yīng)用。下面補(bǔ)個(gè)CAN FD發(fā)布會(huì)天津站的現(xiàn)場(chǎng)圖:

            

           



          關(guān)鍵詞: CAN FD

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();