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

          新聞中心

          CAN_幀

          作者: 時(shí)間:2016-12-12 來源:網(wǎng)絡(luò) 收藏
            CAN幀

            15.2.1 CAN的基本概念
            (1)報(bào)文(Messages)
            總線上傳輸?shù)男畔⒓礊閳?bào)文,它們以若干個(gè)不同的固定格式發(fā)送,但長度受限。當(dāng)總線空閑時(shí),總線上任何單元均可發(fā)送新報(bào)文。
            (2)信息路由(Information Routing)
            在CAN系統(tǒng)中,CAN不對單元分配站地址,報(bào)文的尋址內(nèi)容由報(bào)文的標(biāo)識(shí)符指定。標(biāo)識(shí)符不指出報(bào)文的目的地,但是這個(gè)數(shù)據(jù)的特定含義使得總線上所有單元可以通過報(bào)文濾波來判斷該數(shù)據(jù)是否與它們相符合。
           ?。?)位速率(Bit Rate)
            即總線的傳輸速率。在一個(gè)給定的CAN系統(tǒng)中,位速率是唯一的,也是固定的。
           ?。?)優(yōu)先權(quán)(Priorities)
            在總線訪問期間,標(biāo)識(shí)符定義一個(gè)靜態(tài)的報(bào)文優(yōu)先權(quán)。
            5)遠(yuǎn)程數(shù)據(jù)請求(Remote Data Request)
            當(dāng)總線上某單元需要請求另一單元發(fā)送數(shù)據(jù)時(shí),可通過發(fā)送遠(yuǎn)程實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)請求。
           ?。?)多主機(jī)(Multimaster)
            總線空閑時(shí),總線上任何單元都可以開始向總線上傳送報(bào)文,但只有最高優(yōu)先權(quán)報(bào)文的單元可獲得總線訪問權(quán)。
           ?。?)仲裁(Arbitration)
            總線空閑時(shí),若同時(shí)有兩個(gè)或兩個(gè)以上單元開始發(fā)送報(bào)文,總線訪問沖突運(yùn)用逐位仲裁規(guī)則,借助標(biāo)識(shí)符ID解決。
           ?。?)錯(cuò)誤標(biāo)定和恢復(fù)時(shí)間(Error Signaling and Recovery Time)
            任何檢測到錯(cuò)誤的單元會(huì)標(biāo)志出已被損壞的報(bào)文。此報(bào)文會(huì)失效并將自動(dòng)重傳。如果不再出現(xiàn)錯(cuò)誤,則從檢測到錯(cuò)誤到下一報(bào)文的傳送開始為止,恢復(fù)時(shí)間最多為31位的時(shí)間。
            (9)故障界定(Fault Confinement)
            CAN單元能夠把永久故障和短暫的干擾區(qū)別開來。
           ?。?0)連接(Connection)
            CAN通信鏈路是一條可連接多單元的總線。理論上,總線上單元數(shù)目是無限制的,實(shí)際上,單元數(shù)受限于延遲時(shí)間和總線的電氣負(fù)載能力。
           ?。?1)單通道(Single Channel)
            CAN總線由單一通道組成,借助數(shù)據(jù)重同步實(shí)現(xiàn)信息傳輸。(12)總線數(shù)據(jù)表示(Bus Values)
            CAN總線上有兩種互補(bǔ)邏輯數(shù)值:顯性(Dominant)電平和隱性(Recessive)電平。若顯性位與隱性位同時(shí)發(fā)送,總線上數(shù)值將是顯性。
           ?。?3)應(yīng)答(Acknowledgment)
            所有接收器對接收到的報(bào)文進(jìn)行一致性檢查。對于一致的報(bào)文,接收器給予應(yīng)答;對于不一致的報(bào)文,接收器做出標(biāo)志。
            15.2.2 CAN總線的位數(shù)值表示與通信距離
            CAN總線上用顯性(Dominant)和隱性(Recessive)兩個(gè)互補(bǔ)的邏輯值表示0和1。當(dāng)在總線上出現(xiàn)同時(shí)發(fā)送顯性位和隱性位時(shí),總線上數(shù)值將出現(xiàn)顯性。

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

            15.2.3 報(bào)文傳輸和幀結(jié)構(gòu)
            報(bào)文傳輸由以下4個(gè)不同的幀類型表示和控制:
            數(shù)據(jù)幀:數(shù)據(jù)幀將數(shù)據(jù)從發(fā)送器傳輸?shù)浇邮掌鳌?br />  遠(yuǎn)程幀:總線單元發(fā)出遠(yuǎn)程幀,請求發(fā)送具有同一標(biāo)識(shí)符的數(shù)據(jù)幀。
            錯(cuò)誤幀:任何單元檢測到總線錯(cuò)誤就發(fā)出錯(cuò)誤幀。
            過載幀:過載幀用于在先行和后續(xù)數(shù)據(jù)幀(或遠(yuǎn)程幀)之間提供一附加的延時(shí)。
            數(shù)據(jù)幀和遠(yuǎn)程幀可以使用標(biāo)準(zhǔn)幀及擴(kuò)展幀兩種格式。它們用一個(gè)幀間空間與前面的幀分隔。
            (1)數(shù)據(jù)幀
            數(shù)據(jù)幀由7個(gè)不同的位場組成:幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC 場、應(yīng)答場、幀結(jié)尾。數(shù)據(jù)幀組成如下圖。

            (2)遠(yuǎn)程幀
            遠(yuǎn)程幀也有標(biāo)準(zhǔn)格式和擴(kuò)展格式,而且都由6 個(gè)不同的位場組成:幀起始、仲裁場、控制場、CRC 場、應(yīng)答場、幀結(jié)尾。遠(yuǎn)程幀的組成如下圖。

           ?。?)出錯(cuò)幀
            錯(cuò)誤幀由兩個(gè)不同的場組成。第一個(gè)場是由不同站提供的錯(cuò)誤標(biāo)志(ERROR FLAG)的疊加;第二個(gè)場是錯(cuò)誤界定符。出錯(cuò)幀的組成如下圖。

            (4)過載幀
            過載幀包括兩個(gè)位場:過載標(biāo)志和過載界定符。過載幀的組成如下圖。

            15.2.4 錯(cuò)誤處理
            1)錯(cuò)誤檢測( 5種不同的錯(cuò)誤類型)
            位錯(cuò)誤:單元在發(fā)送位的同時(shí)也對總線進(jìn)行監(jiān)視。如果所發(fā)送的位值與所監(jiān)視的位值不相同,則在位時(shí)間里檢測到一個(gè)位錯(cuò)誤。
            填充錯(cuò)誤:如果在使用位填充法進(jìn)行編碼的信息中,出現(xiàn)了6個(gè)連續(xù)相同的電平時(shí),將檢測到一個(gè)填充錯(cuò)誤。
            CRC錯(cuò)誤:CRC序列包括發(fā)送器的CRC計(jì)算結(jié)果。如果計(jì)算結(jié)果與接收到的CRC序列的結(jié)果不相符,則檢測到一個(gè)CRC錯(cuò)誤。
            形式錯(cuò)誤:當(dāng)一個(gè)固定的位場含有1個(gè)或多個(gè)非法位,則檢測到一個(gè)形式錯(cuò)誤。
            應(yīng)答錯(cuò)誤:只要在應(yīng)答間隙期間所監(jiān)視的位不為顯性,則發(fā)送器會(huì)檢測到一個(gè)應(yīng)答錯(cuò)誤。
            2)錯(cuò)誤標(biāo)定
            檢測到錯(cuò)誤條件的站通過發(fā)送錯(cuò)誤標(biāo)志指示錯(cuò)誤。對于“錯(cuò)誤主動(dòng)”的節(jié)點(diǎn),錯(cuò)誤信息為“主動(dòng)錯(cuò)誤標(biāo)志”,對于“錯(cuò)誤被動(dòng)”的節(jié)點(diǎn),錯(cuò)誤信息為“被動(dòng)錯(cuò)誤標(biāo)志”。
            15.2.5 故障界定
            至于故障界定,單元的狀態(tài)可能為下列三種之一:錯(cuò)誤主動(dòng)、錯(cuò)誤被動(dòng)、總線關(guān)閉。
            錯(cuò)誤主動(dòng)的單元可以正常地參與總線通信并在檢測到錯(cuò)誤時(shí)發(fā)出主動(dòng)錯(cuò)誤標(biāo)志。
            錯(cuò)誤被動(dòng)的單元不允許發(fā)送主動(dòng)錯(cuò)誤標(biāo)志。錯(cuò)誤被動(dòng)的單元參與總線通信,在錯(cuò)誤被檢測到時(shí)只發(fā)送被動(dòng)錯(cuò)誤標(biāo)志。而且,發(fā)送以后,錯(cuò)誤被動(dòng)單元將在初始化下一個(gè)發(fā)送之前處于等待狀態(tài)。
            總線關(guān)閉的單元不允許在總線上有任何的影響。
            15.2.6 位定時(shí)與同步
            位定時(shí)與同步定義CAN總線的通信速率,相關(guān)名詞有:
            標(biāo)稱位速率(Nominal Bit Rate):一理想的發(fā)送器在沒有重新同步的情況下每秒發(fā)送的位數(shù)量。
            標(biāo)稱位時(shí)間(Nominal Bit Time):1/標(biāo)稱位速率。標(biāo)稱位時(shí)間可分成幾個(gè)不重疊的片段,分別是:同步段(SYNC_SEG)、傳播段(PROG_SEG)、相位
            緩沖段1(PHASE_SEG1)、相位緩沖段2(PHASE_SEG2)。
            同步段(SYNC_SEG):用于同步總線上不同的節(jié)點(diǎn),這一段內(nèi)要有一個(gè)跳變沿。
            傳播段(PROG_SEG):用于補(bǔ)償網(wǎng)絡(luò)內(nèi)的物理延時(shí)時(shí)間。它是總線上輸入比較器延時(shí)和輸出驅(qū)動(dòng)器延時(shí)總和的2倍。
            相位緩沖段1(PHASE_SEG1)、相位緩沖段2(PHASE_SEG2):用于補(bǔ)償邊沿階段的誤差。這兩個(gè)段可以通過重新同步加長或縮短。
            采樣點(diǎn)(Sample Point):讀總線電平并解釋各位的值的一個(gè)時(shí)間點(diǎn)。采樣點(diǎn)位于相位緩沖段1之后。
            信息處理時(shí)間(Information Processing Time):信息處理時(shí)間是以一個(gè)采樣點(diǎn)作為起始的時(shí)間段。采樣點(diǎn)用于計(jì)算后續(xù)位的位電平。
            時(shí)間份額(Time Quanta):時(shí)間份額是派生于振蕩器周期的固定時(shí)間單元。存在一個(gè)可編程的預(yù)比例因子,將整體數(shù)值范圍為1-32的整數(shù),以最小時(shí)間份額為起點(diǎn),時(shí)間份額的長度為:
            時(shí)間份額=m * 最小時(shí)間份額,其中,m為預(yù)比例因子
            時(shí)間段長度(Length of Segments):同步段為1個(gè)時(shí)間份額,傳播段的長度可設(shè)置成1、2…8個(gè)時(shí)間份額,相位緩沖段1的長度可設(shè)置成1、2…8個(gè)時(shí)間份額,相位緩沖段2的長度為相位緩沖段1和信息處理時(shí)間之間的最大值,信息處理時(shí)間少于或等于2個(gè)時(shí)間份額。
            一個(gè)位時(shí)間總的時(shí)間份額值可以設(shè)置在8~25的范圍。



          關(guān)鍵詞: CAN幀數(shù)

          評論


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