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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > CAN信號中位定時段的規(guī)格

          CAN信號中位定時段的規(guī)格

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

            通訊中使用的是同步數(shù)據(jù)傳輸,控制器在其通訊過程中會不停出現(xiàn)位同步的操作,但不同的數(shù)據(jù)通訊系統(tǒng)對位同步的要求是不同,為了滿足其要求,我們必須更加深入的來探討另一個概念叫位 定時段的規(guī)格。

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

            位定時段的規(guī)格是根據(jù)數(shù)據(jù)通信系統(tǒng)的需求而確定的。如果要在特定位速率下實現(xiàn)最大的 總線長度或者在給定總線長度的情況下實現(xiàn)最短的等待時間(最大位速率),那么用于重新同步的保留時間( 相位緩沖段)必須保持最小。當時間緩沖段設定為最小值時,表示在一次重新同步當中只能校正|e|=1的相位誤差。因此對位同步的要求非常高,要滿足這樣的要求只能使用精確的石英晶振(石英晶振的誤差通常小于0.1%.)。

            

           

            圖 1 位定時段(位速率和總線長度乘積為最大值)的規(guī)格

            圖 1所示為位定時段(位速率和總線長度乘積為最大值)的規(guī)格。這樣的要求主要應用于工業(yè)自動化系統(tǒng)。

            如果對位速率和總線長度的要求不高,那么位速率和總線長度的乘積也因此降低,而用于重新同步的時間緩沖段則可延長。這樣根據(jù)最大可能的同步跳轉寬度,在一次重新同步中可校正|e|=4的相位誤差。因此可以使用較為經(jīng)濟的陶瓷振蕩器。圖 2所示為適用于 汽車電子中最大振蕩器誤差的位定時規(guī)格。

            

           

            圖 2 位定時段的規(guī)格(適用于最大振蕩器誤差)

            通常位定時的規(guī)格首先通過所需要的位速率來確定。位時間必須為系統(tǒng)時鐘周期的整數(shù)倍。位時間tbit=n×tq(n=4..25,tq為時間量)。確定位定時參數(shù)的一種方法是首先確定傳輸段的長度,因此必須考慮到最大的總線長度和最大內部延遲時間。將往返的延遲時間轉換成對應時間量的數(shù)目并取四舍五入為tq的整數(shù)倍。由于同步段的長度為1個tq。那么剩下兩個相位緩沖段的長度為(tbit-tprog_seg-tq)。如果剩余時間單位的個數(shù)m=(tbit-tprog_seg-tq)/tq為偶數(shù),則兩個緩沖段的長度相同,如果是奇數(shù),tphase-seq2=tphase_seq1+tq。

            還必須注意Phase_Seg2的最小標稱長度。由于該段不能短于控制器的數(shù)據(jù)處理時間(該時間取決于實現(xiàn)方式的不同,介于0到2 tq之間)。同步跳轉寬度(SJW)設置為它的最大值Min{4, tphase_Seg1/tq}。

            振蕩器的允許誤差根據(jù)下方兩條公式進行確定。

            公式一:

            



          關鍵詞: CAN

          評論


          技術專區(qū)

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