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

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > CAN總線位定時和同步機(jī)制的分析

          CAN總線位定時和同步機(jī)制的分析

          ——
          作者:李芳 時間:2005-08-12 來源: 收藏

          總線位定時和同步機(jī)制的分析
          The Analysis of Bit Timing and Synchronization Mechanism of Bus
          天津大學(xué)自動化學(xué)院 李芳,劉魯源,呂偉杰
          摘要:總線位定時參數(shù)可以由用戶來編程設(shè)置,合理的設(shè)置位定時能夠有效保證位流的同步,提高CAN總線的通訊性能。本文詳細(xì)分析了CAN總線的位定時和同步機(jī)制,并給出了重同步時重同步跳轉(zhuǎn)寬度與相位差補(bǔ)償?shù)年P(guān)系。
          關(guān)鍵詞:CAN總線;位定時;同步

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

           引言
          CAN(Controller Area Network)是有效支持分布式實(shí)時控制的串行通訊網(wǎng)絡(luò)。從位定時的同步方式考慮,它實(shí)質(zhì)上屬于異步通訊協(xié)議,每傳輸一幀,以幀起始位開始,而以幀結(jié)束及隨后的間歇場結(jié)束。這就要求收/發(fā)雙方從幀起始位開始必須保持幀內(nèi)信息代碼中的每一位嚴(yán)格的同步。從位定時編碼考慮,它采用的是非歸零編碼方式,位流傳輸不像差分碼那樣可以直接用電平的變化來代表同步信號,因此為保證同步質(zhì)量,CAN協(xié)議定義了自己的位同步方式:硬同步和重同步。
          目前相關(guān)文獻(xiàn)均缺乏對CAN總線位定時與同步機(jī)制的詳細(xì)分析。本文深入分析了CAN總線位周期的結(jié)構(gòu)以及CAN的兩種位同步方式 (硬同步和重同步),并明確給出了重同步時重同步跳轉(zhuǎn)寬度和相位差補(bǔ)償?shù)年P(guān)系,對于指導(dǎo)位定時參數(shù)的設(shè)置有較好的參考價值。
           位周期結(jié)構(gòu)
          網(wǎng)絡(luò)的標(biāo)準(zhǔn)位速率,其中就是額定位時間(也稱標(biāo)準(zhǔn)位周期)。如圖1所示,CAN總線的額定位時間是由4部分組成的:同步段(SYNC_SEG),傳播段(PROP_SEG),相位緩沖段1(PSEG1)和相位緩沖段2(PSEG2)。所以額定的為時間
          ,位周期中的這些段都是可以編程設(shè)置的,且都可以用整數(shù)個基本時間單位(時間份額)來表示。這個基本時間單位由振蕩器分頻而得的 ,(BRP為波特率預(yù)分頻因子,也可以編程設(shè)置)。

                           圖1     CAN總線額定位時間的結(jié)構(gòu)
          同步段是CAN總線位周期中每一位的起始部分。不管是發(fā)送節(jié)點(diǎn)發(fā)送一位還是接收節(jié)點(diǎn)接收一位都是從同步段開始的。但是由于發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)之間存在網(wǎng)絡(luò)傳輸延遲以及物理接口延遲,發(fā)送節(jié)點(diǎn)發(fā)送一位之后,接收節(jié)點(diǎn)延遲一段時間才能接收到,因此,發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)對應(yīng)同一位的同步段起始時刻就有一定的時延,記為。
          傳播延時段的設(shè)置就是要補(bǔ)償該段時延()的。CAN總線協(xié)議中的非破壞性仲裁機(jī)制以及幀內(nèi)應(yīng)答機(jī)制,都要求那些正在發(fā)送位流的發(fā)送節(jié)點(diǎn)能夠同時接收來自其他發(fā)送節(jié)點(diǎn)的“顯性位”(邏輯0),否則就會使得仲裁無效或者應(yīng)答錯誤。傳播延遲段推遲那些可能較早采樣總線位流的節(jié)點(diǎn)的采樣點(diǎn),保證由各個發(fā)送節(jié)點(diǎn)發(fā)送的位流到達(dá)總線上的所有節(jié)點(diǎn)之后才開始采樣。
          重同步跳轉(zhuǎn)寬度SJW并不是位周期里的一段,卻是位定時計算時的一個重要的指標(biāo),它定義了重同步時為補(bǔ)償相位誤差位時間中相位緩沖段1或者相位緩沖段2被增長或縮短的最大基本時間單元數(shù)。
           同步機(jī)制
          CAN總線的位同步只有在節(jié)點(diǎn)檢測到“隱性位”(邏輯1)到“顯性位”(邏輯0)的跳變時才會產(chǎn)生,當(dāng)跳變沿不位于位周期的同步段之內(nèi)時將會產(chǎn)生相位誤差。該相位誤差就是跳變沿與同步段結(jié)束位置之間的距離。如果跳變沿發(fā)生在同步段之后采樣點(diǎn)之前為正的相位誤差;如果跳變沿位于同步段之前采樣點(diǎn)之后為負(fù)的相位誤差。相位誤差源于節(jié)點(diǎn)的振蕩器漂移,網(wǎng)絡(luò)節(jié)點(diǎn)之間的傳播延遲以及噪聲干擾等。CAN協(xié)議規(guī)定了兩種類型的同步:硬同步和重同步。
          硬同步
          硬同步只在總線空閑時通過一個下降沿(幀起始)來完成,此時不管有沒有相位誤差,所有節(jié)點(diǎn)的位時間重新開始。強(qiáng)迫引起硬同步的跳變沿位于重新開始的位時間的同步段之內(nèi)。
          重同步
          在消息幀的隨后位中,每當(dāng)有從“隱性位”
          到“顯性位”的跳變,并且該跳變落在了同步段之外,就會引起一次重同步。重同步機(jī)制可以根據(jù)跳變沿增長或者縮短位時間以調(diào)整采樣點(diǎn)的位置,

                                圖2      正相位誤差時的重同步

                        

                                圖3      負(fù)相位誤差時的重同步

          保證正確采樣。
          如圖2,跳變沿落在了同步段之后采樣點(diǎn)之前,為正的相位誤差,接收器會認(rèn)為這是一個慢速發(fā)送器發(fā)送的滯后邊沿。此時節(jié)點(diǎn)為了匹配發(fā)送器的時間,會增長自己的相位緩沖段1(陰影部分)。增長的時間為相位差的絕對值,但是上限是重同步跳轉(zhuǎn)寬度SJW。
          如圖3,跳變沿落在了采樣點(diǎn)之后同步段之前,為負(fù)的相位誤差,接收器把它解釋為一個快速發(fā)送器發(fā)送的下一個位周期的提前邊沿。同樣節(jié)點(diǎn)為了匹配發(fā)送器的時間,會縮短自己的相位緩沖段2(陰影部分),下一個位時間立即開始??s短的時間也為相位差的絕對值,上限是重同步跳轉(zhuǎn)寬度SJW。
          相位緩沖段只在當(dāng)前位周期內(nèi)被增長或者縮短,接下來的位周期,只要沒有重同步,各段將恢復(fù)為位時間的編程預(yù)設(shè)值。
          當(dāng)相位差的絕對值小于或者等于重同步跳轉(zhuǎn)寬度SJW時,重同步和硬同步的效果是相同的,能實(shí)現(xiàn)相位差的補(bǔ)償;但是如果相位差的絕對值比重同步跳轉(zhuǎn)寬度大,由于補(bǔ)償?shù)淖畲笾凳侵赝教D(zhuǎn)寬度,致使重同步不能完全補(bǔ)償相位差。
          CAN協(xié)議的位填充機(jī)制除實(shí)現(xiàn)仲裁場、控制場、數(shù)據(jù)場和CRC序列的數(shù)據(jù)的透明性外,還增加了從“隱性位”到“顯性位”跳變的機(jī)會,也就是增多重同步的數(shù)量,提高同步質(zhì)量。在沒有出錯影響的情況下,位填充原則保證了兩次重同步跳轉(zhuǎn)邊沿之間不會多于10個位周期(即5個顯性位,5個隱性位),而實(shí)際的系統(tǒng)會有錯誤發(fā)生,使得實(shí)際的兩次重同步跳轉(zhuǎn)邊沿之間的間隔可能為17到23個位時間(活動錯誤標(biāo)志及其疊加6到12個位時間,錯誤界定符8個位時間,間歇場3個位時間)。
           結(jié)語
          在實(shí)際的系統(tǒng)設(shè)計中,用戶可以根據(jù)振蕩器時鐘頻率,總線波特率以及總線的最大傳輸距離等因素,對CAN控制器的位定時參數(shù)進(jìn)行優(yōu)化設(shè)置【4,5】,協(xié)調(diào)影響位定時設(shè)置的兩個主要因素:振蕩器容差和最大總線長度,合理安排位周期中采樣點(diǎn)的位置和采樣次數(shù),保證總線上位流的有效同步的同時,優(yōu)化系統(tǒng)的通訊性能,進(jìn)一步推進(jìn)CAN總線的廣泛應(yīng)用。
          參考文獻(xiàn):
          1.Wolfhard Lawrenz,CAN System Enginnering From Theory To Practical Application,Spring-Verlag,New York,1997.
          2. Stuart Robb, CAN Bit Timing Requirements, Motorola Semiconductor Application Note, 1999.

          絕對值編碼器相關(guān)文章:絕對值編碼器原理


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