日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 電源 > 功率器件
[導(dǎo)讀]CAN-bus總線(xiàn)是應(yīng)用最廣泛的現(xiàn)場(chǎng)總線(xiàn)之一,而很多非常熟練的CAN工程師,面對(duì)一條CAN報(bào)文到底有多少位的問(wèn)題時(shí),卻不能非常準(zhǔn)確地回答。今天我們就從最基本的幀格式來(lái)解惑一條

CAN-bus總線(xiàn)是應(yīng)用最廣泛的現(xiàn)場(chǎng)總線(xiàn)之一,而很多非常熟練的CAN工程師,面對(duì)一條CAN報(bào)文到底有多少位的問(wèn)題時(shí),卻不能非常準(zhǔn)確地回答。今天我們就從最基本的幀格式來(lái)解惑一條CAN報(bào)文的到底有多少位。

CAN報(bào)文幀分為幾種呢?CAN-bus通信幀共分為數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀、過(guò)載幀和幀間隔。而數(shù)據(jù)幀和遠(yuǎn)程幀又有標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種。其幀類(lèi)型以及用途如表 1所示:


表 1 幀類(lèi)型及用途


?數(shù)據(jù)幀

數(shù)據(jù)幀從結(jié)構(gòu)上看分為7段,分別為起始段、仲裁段、控制段、數(shù)據(jù)段、CRC校驗(yàn)段、ACK應(yīng)答段、幀結(jié)束段。如圖1:


圖 1 標(biāo)準(zhǔn)數(shù)據(jù)幀跟擴(kuò)展數(shù)據(jù)幀結(jié)構(gòu)圖


幀起始段:該段由單個(gè)顯性位構(gòu)成,在總線(xiàn)空閑時(shí)才允許發(fā)送,所有節(jié)點(diǎn)必須同步于開(kāi)始發(fā)送的數(shù)據(jù)幀的起始位;


標(biāo)準(zhǔn)幀仲裁段:標(biāo)準(zhǔn)幀的仲裁段由11位ID碼和一個(gè)顯性位RTR碼組成,RTR碼為遠(yuǎn)程幀標(biāo)識(shí)位;


擴(kuò)展幀仲裁段:擴(kuò)展幀的仲裁段由29位ID碼、一位顯性的SRR碼、一位隱性的IDE碼和一位顯性的RTR碼組成;


標(biāo)準(zhǔn)幀控制段:標(biāo)準(zhǔn)幀的控制段由單位顯性的IDE、保留位r0和4位數(shù)據(jù)長(zhǎng)度代碼DLC組成,DLC數(shù)據(jù)段采用BCD編碼;


擴(kuò)展幀控制段:擴(kuò)展幀的控制段由兩個(gè)保留位r1和r0和4位的DLC數(shù)據(jù)段組成,r1和r0都為顯性填充,接收時(shí)無(wú)論保留位是顯性還是隱性都沒(méi)有影響;


數(shù)據(jù)段:一個(gè)數(shù)據(jù)段為8個(gè)字節(jié);


CRC校驗(yàn)段:CRC校驗(yàn)段由15位的校驗(yàn)碼和1個(gè)隱性位填充的CRC界定符組成,CRC校驗(yàn)范圍為幀起始、仲裁段、控制段和數(shù)據(jù)段;


ACK段:ACK段由ACK碼和一個(gè)隱性位ACK界定符組成,發(fā)送節(jié)點(diǎn)在ACK段發(fā)送兩個(gè)隱性位,接收節(jié)點(diǎn)在收到的報(bào)文ACK前面的幀格式?jīng)]有錯(cuò)誤時(shí),他將發(fā)出ACK碼為顯性位的報(bào)文。


幀結(jié)束段:由7個(gè)連續(xù)的隱性位組成。


?遠(yuǎn)程幀

遠(yuǎn)程幀幀格式跟數(shù)據(jù)幀類(lèi)似,也分為標(biāo)準(zhǔn)幀跟擴(kuò)展幀,但是遠(yuǎn)程幀屬于被請(qǐng)求發(fā)送節(jié)點(diǎn)發(fā)送的報(bào)文,而數(shù)據(jù)幀是發(fā)送節(jié)點(diǎn)的報(bào)文。如圖 2,遠(yuǎn)程幀沒(méi)有數(shù)據(jù)幀。


圖 2 標(biāo)準(zhǔn)遠(yuǎn)程幀和擴(kuò)展遠(yuǎn)程幀的結(jié)構(gòu)圖


參照數(shù)據(jù)幀可了解遠(yuǎn)程幀的結(jié)構(gòu),但是兩者之間也有不同:

SRR段和RTR段:數(shù)據(jù)幀是顯性電平,遠(yuǎn)程幀是隱性電平;

節(jié)點(diǎn)性質(zhì):數(shù)據(jù)幀是發(fā)送節(jié)點(diǎn)發(fā)出的報(bào)文格式,遠(yuǎn)程幀是被請(qǐng)求發(fā)送的節(jié)點(diǎn)發(fā)送的報(bào)文格式;

CRC校驗(yàn)范圍:數(shù)據(jù)幀是幀起始、仲裁段、控制段和數(shù)據(jù)段,而遠(yuǎn)程幀則是幀起始、仲裁段和控制段。


了解了數(shù)據(jù)幀跟遠(yuǎn)程幀的標(biāo)準(zhǔn)報(bào)文格式后,有些人可能會(huì)問(wèn)了,我有時(shí)看到的報(bào)文為什么跟你的標(biāo)準(zhǔn)格式的位數(shù)不一樣呢?


?位填充

CAN-bus屬于異步串行通信,這種通信方式?jīng)]有時(shí)鐘線(xiàn),所以各個(gè)收發(fā)器的時(shí)鐘不可能完全一致,時(shí)鐘不一致就會(huì)造成偏差。所以為了解決這個(gè)問(wèn)題,CAN總線(xiàn)采用同步的方式來(lái)校準(zhǔn)時(shí)鐘。CAN-bus規(guī)定信號(hào)的跳變沿為同步信號(hào),只要信號(hào)發(fā)生變化,節(jié)點(diǎn)時(shí)鐘就被同步一次。CAN-bus還規(guī)定同步的最大周期為5個(gè)位。


但是問(wèn)題來(lái)了,要是出現(xiàn)連續(xù)性的5個(gè)位甚至更長(zhǎng)時(shí)間沒(méi)有邊沿跳變(例如數(shù)據(jù)段全為0x56),那該如何解決呢?CAN-bus對(duì)這種情況又進(jìn)行了規(guī)范,如果傳輸?shù)奈恍盘?hào)連續(xù)5個(gè)位是相同的,就要插入一個(gè)電平相反的位,這個(gè)就是CAN-bus的“位填充”規(guī)則。如圖 4。


圖 4 位填充規(guī)則


?0x00和0x55

由于位填充規(guī)則的存在,所以就存在即使兩個(gè)幀都是標(biāo)準(zhǔn)數(shù)據(jù)幀,但發(fā)送不同ID或者數(shù)據(jù)段的時(shí)候報(bào)文時(shí)間會(huì)不同,圖5為1M波特率下ID跟數(shù)據(jù)都為0x00的標(biāo)準(zhǔn)數(shù)據(jù)幀報(bào)文。原本108個(gè)位的標(biāo)準(zhǔn)數(shù)據(jù)幀的真實(shí)的報(bào)文時(shí)間為123us。


圖 5 標(biāo)準(zhǔn)數(shù)據(jù)幀0x00報(bào)文


而0x55的標(biāo)準(zhǔn)數(shù)據(jù)幀報(bào)文格式則如圖 6:ID為555H,數(shù)據(jù)段為55H,報(bào)文沒(méi)有出現(xiàn)連續(xù)的相同位,所以填充位最少,8位的數(shù)據(jù)段位時(shí)間為標(biāo)準(zhǔn)的8us,全報(bào)文時(shí)間為108us。


圖 6 標(biāo)準(zhǔn)數(shù)據(jù)幀0x55報(bào)文


下表給出了標(biāo)準(zhǔn)數(shù)據(jù)幀、擴(kuò)展數(shù)據(jù)幀、標(biāo)準(zhǔn)遠(yuǎn)程幀、擴(kuò)展遠(yuǎn)程幀四種幀類(lèi)型在發(fā)送不同ID和數(shù)據(jù)時(shí)位時(shí)間的差別。


表 2 不同ID和數(shù)據(jù)位填充位數(shù)不一樣


通過(guò)CAN-Scope總線(xiàn)分析儀的報(bào)文接收和示波器,可以將每一幀報(bào)文跟波形做一一對(duì)應(yīng),快速分析總線(xiàn)上的報(bào)文時(shí)間和波形情況,實(shí)現(xiàn)CAN總線(xiàn)的快速故障定位和干擾排除。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉