亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        CAN總線位定時和同步的研究與設(shè)計

        2010-05-13 08:46:00單琳娜,徐斌山,陳文平
        現(xiàn)代電子技術(shù) 2009年12期

        單琳娜,徐斌山,陳文平

        摘 要:在CAN規(guī)范中,位定時和同步機制是既重要又難于理解的環(huán)節(jié)之一,它不僅關(guān)系到對規(guī)范其他相關(guān)內(nèi)容的理解,甚至能對節(jié)點開發(fā)的成功與否產(chǎn)生直接的影響。因此介紹了位時間(周期)的組成與結(jié)構(gòu),總結(jié)并歸納位定時的作用;在此基礎(chǔ)上,給出硬同步和重同步的定義,重點分析硬同步和重同步的機理,并給出它們相應(yīng)的圖解,形象而又清晰地表明其本質(zhì);以獨立CAN控制器為例,詳細說明在一般開發(fā)和工程實際中,位定時參數(shù)設(shè)置和計算的一般方法及步驟。

        關(guān)鍵詞:位定時;硬同步;重同步;參數(shù)

        中圖分類號:TP3344文獻標識碼:B

        文章編號:1004-373X(2009)12-142-04

        Research and Design on CANbus Bit Time and Synchronization

        SHAN Linna,XU Binshan,CHEN Wenping

        (College of Information and Electronic Technology,Jiamusi University,Jiamusi,154007,China)

        Abstract:In the CANbus norm,bit time and synchronous mechanism is one of the link that is important and difficult to understand,it not only relates to norm the comprehension of other related content,even to influence direct the success or a case of crabs of node development.The constitute and structure of the bit time(period) is introduced,the function of bit time is tallied up and induced.The definition of hard and repetition synchronous is presented on the foundation,the mechanism of hard and repetition synchronous is analyzed,the correspondence diagram is presented,the hypostases is indicated vividly and clear.As an example with independent CANbus controller,the general method and step of bit time are elaborated in the general development and the engineering practice.

        Keywords:bit time;hard synchronous;repetition synchronous;parameter

        0 引 言

        控制器局域網(wǎng)CAN是一種用于連接汽車和工業(yè)場合中電子控制模塊、傳感器和執(zhí)行器的串行、多主通信規(guī)范[1,2]。由于CAN總線具有很強的糾錯能力、支持差分收發(fā)、傳輸距離遠等特點,因此CAN總線用途非常廣泛,現(xiàn)已成為工業(yè)數(shù)據(jù)通信領(lǐng)域的主流技術(shù)、基礎(chǔ)技術(shù),目前比較流行的TTCan,DeviceNet,CANOpen,SAE J1939等規(guī)范均是以CAN為基礎(chǔ)的,因此對CAN總線的深入研究是十分必要的。在CAN規(guī)范中,位定時和同步機制是既重要又難于理解的環(huán)節(jié)之一,它不僅關(guān)系到對波特率、總線長度等相關(guān)內(nèi)容的理解,甚至對節(jié)點開發(fā)的成功與否產(chǎn)生直接的影響。然而,目前相關(guān)文獻均缺乏針對CAN總線位定時和同步機制的詳細分析和探討。在此以CAN技術(shù)規(guī)范為基礎(chǔ),深入分析CAN總線的位定時和同步機制,給出硬同步和重同步的定義,并給出相應(yīng)的圖解解釋方式,對位時間的組成與結(jié)構(gòu)、同步的發(fā)生時刻、同步是如何進行的等關(guān)鍵內(nèi)容給出了明確而又具體的分析。這里的工作對理解位定時和同步機制的本質(zhì)、指導(dǎo)位時間參數(shù)的設(shè)置均具有較高的參考價值[3,4]。

        1 位定時

        1.1 位時間的組成

        位時間(位周期)tB即1位的持續(xù)時間。正常位時間tNBT是正常位速率fNBT(在非重同步的情況下,借助理想發(fā)送器每秒發(fā)送的位數(shù))的倒數(shù),即tNBT =1/fNBT。正常位時間可劃分為幾個互不重疊的時間段,這些時間段包括:同步段(SYNC-SEG)、傳播時間段(PROP-SEG)、相位緩沖器段1(PHASE-SEG1)、相位緩沖器段2(PHASE-SEG2)。每個時間段由整數(shù)個被稱為時間份額tQ的基本時間單位組成。tQ是由振蕩器周期tCLK派生出的一個固定時間單元。一個時間份額的持續(xù)時間通常便是CAN的一個系統(tǒng)時鐘周期tSCL。tSCL可通過可編程的預(yù)引比例因子進行調(diào)整。每個位時間必須由8~25個時間份額組成。位時間的組成如圖1所示。

        圖1 位時間組成

        位時間的各個時間段均有其特定的用途[5]:

        (1) 同步段用于使總線上的各個節(jié)點同步,要求有1個跳變沿位于此段內(nèi),該段長度為1個時間份額;

        (2) 傳播時間段用于補償網(wǎng)絡(luò)內(nèi)的物理延時,它是信號在總線上傳播時間、輸入比較器延時和輸出驅(qū)動器延時之和的2倍,該段長度為1~8個時間份額;

        (3) 相位緩沖器段1和相位緩沖器段2用于補償沿的相位誤差,通過重同步,相位緩沖器段1可被延長或相位緩沖器段2可被縮短。

        這些時間段的長度均是可編程的。在常用的通信控制器(SJA1000)或PAC82C200中,合并傳播時間段和相位緩沖器段1,稱為時間段1(TSEG1),相位緩沖器段2稱為時間段2(TSEG2),如圖1所示。

        采樣點是這樣一個時刻:在此時刻上,總線電平被讀取并被理解為其自身的數(shù)值。它位于相位緩沖器段1的終點。在重同步期間,采樣點的位置被移動整數(shù)個時間份額,該時間份額被允許的最大值稱為重同步跳轉(zhuǎn)寬度(SJW),它可被編程為1~4個時間份額。值得注意的是,重同步跳轉(zhuǎn)寬度并不是位時間的組成部分。

        1.2 位定時的作用

        位定時是由節(jié)點自身完成的(可編程),節(jié)點進行位定時的作用為[6,7]:

        (1) 確定位時間,以便確定波特率(位速率),從而確定總線的網(wǎng)絡(luò)速度;或在給定總線的網(wǎng)絡(luò)速度的情況下確定位時間;

        (2) 確定1位的各個組成部分——同步段、傳播時間段、相位緩沖器段1和相位緩沖器段2的時間長度,其中同步段用于硬同步,位于相位緩沖器段1終點的采樣點用于保證正確地讀取總線電平;

        (3) 確定重同步跳轉(zhuǎn)寬度以用于重同步。

        2 CAN總線同步機制分析

        CAN規(guī)范定義了自己獨有的同步方式:硬同步和重同步。同步與位定時密切相關(guān)。同步是由節(jié)點自身完成的,節(jié)點將檢測到來自總線的沿與其自身的位定時相比較,并通過硬同步或重同步適配(調(diào)整)位定時。在一般情況下,引起硬同步和重同步發(fā)生的、來自總線的沿如圖2所示。

        圖2 硬同步和重同步發(fā)生時刻示意圖

        2.1 硬同步

        CAN 技術(shù)規(guī)范給出了硬同步和重同步的結(jié)果,但沒有給出硬同步和重同步的定義。這里首先給出硬同步和重同步的定義,然后對其進行分析。

        所謂硬同步,就是由節(jié)點檢測到的,來自總線的沿強迫節(jié)點立即確定出其內(nèi)部位時間的起始位置(同步段的起始時刻)。硬同步的結(jié)果是,沿到來時刻的前一時刻(以時間份額tQ量度),即成為節(jié)點內(nèi)部位時間同步段的起始時刻,并使內(nèi)部位時間從同步段重新開始。這就是規(guī)范中所說的“硬同步強迫引起硬同步的沿處于重新開始的位時間同步段之內(nèi)”。硬同步一般用于幀的開始,即總線上的各個節(jié)點的內(nèi)部位時間的起始位置(同步段)是由來自總線的一個報文幀的幀起始的前沿決定的。

        同步段的時間長度為1個時間份額。如圖3所示,來自總線的引起硬同步的沿在t1時刻到來,則節(jié)點檢測到該沿。將t1時刻的前一時刻t0(以tQ為周期)作為內(nèi)部位時間同步段的起始時刻。

        圖3 硬同步圖解

        2.2 重同步

        所謂重同步,就是節(jié)點根據(jù)沿相位誤差的大小調(diào)整其內(nèi)部位時間,以使節(jié)點內(nèi)部位時間與來自總線的報文位流的位時間接近或相等。作為重同步的結(jié)果,PHASE-SEG1可被延長或PHASE-SEG2可被縮短,從而使節(jié)點能夠正確地接收報文。重同步一般用于幀的位流發(fā)送期間,以補償各個節(jié)點振蕩器頻率的不一致。這里涉及到沿相位誤差的概念。沿相位誤差由沿相對于節(jié)點內(nèi)部位時間同步段的位置給定,以時間份額量度,沿相位誤差的符號為e,其定義如下:

        (1) 若沿處于SYNC~SEG之內(nèi),則e=0;

        (2) 若沿處于采樣點之前(TSEG1內(nèi)),則e>0;

        (3) 若沿處于前一位的采樣點之后(TSEG2內(nèi)),則e<0。

        CAN技術(shù)規(guī)范中也給出了重同步跳轉(zhuǎn)寬度,重同步策略與同步規(guī)則,但比較抽象、不易理解。為深入理解節(jié)點是如何進行重同步的,圖4給出了重同步的圖解。在圖4中,SY,PR,PS1和PS2分別表示同步段、傳播段、相位緩沖段1和相位緩沖段2。假定總線位流的第一位(幀起始,為“0”)起始于t1時刻、終止于t2時刻,總線位流的第2位為“1”;從第2位開始,總線位流的“隱性”(“1”)至“顯性”(“0”)和“顯性”(“0”)至“隱性”(“1”)的跳變沿均用于重同步。在t1時刻,節(jié)點檢測到總線的跳變沿,便進行硬同步,使t1時刻的跳變沿處于節(jié)點內(nèi)部第1位位時間的同步段內(nèi)。節(jié)點從第1位的同步段開始啟動內(nèi)部位定時,即根據(jù)系統(tǒng)要求的波特率給出內(nèi)部位時間?,F(xiàn)假定由于各節(jié)點振蕩器頻率的不一致,在t2時刻的跳變沿未處于節(jié)點第2位位時間的同步段SY內(nèi),而是處于PS1內(nèi),即有e>0。這表明節(jié)點內(nèi)部的位時間小于總線位流的位時間。為了使節(jié)點能從總線上通過采樣得到正確的位數(shù)值,需使節(jié)點內(nèi)部的位時間延長,以使節(jié)點內(nèi)部位時間與總線位流位時間接近或相等。因此,在這種情況下節(jié)點應(yīng)采取的重同步策略為:使PS1延長一定寬度(圖4中PS1延長2個時間份額,即同步跳轉(zhuǎn)寬度為大于等于2個時間份額,如為3個時間份額)。e<0的情況與之類似,只是PS2會相應(yīng)地縮短一定寬度。這與CAN技術(shù)規(guī)范中的重同步策略是一致的。

        圖4 重同步圖解(e>0)

        這里需要注意的是,相位緩沖段只在當前的位時間內(nèi)被延長或縮短,在接下來的位時間內(nèi),只要沒有重同步,各時間段將恢復(fù)編程預(yù)設(shè)值。

        3 控制器中位定時參數(shù)設(shè)置的一般方法

        在典型的獨立CAN控制器(SJA1000或PCA82C200)中,負責位定時的寄存器為總線定時寄存器0(BTR0)和總線定時寄存器1(BTR1),其結(jié)構(gòu)如圖5所示[8,9]。

        圖5 總線定時寄存器

        寄存器中有關(guān)參數(shù)的計算公式如下:

        tSCL=2tCLK?BRP(1)

        BRP=32BRP.5+16BRP.4+8BRP.3+

        4BRP.2+2BRP.1+BRP.0+1(2)

        SJW=tSJW/tSCL=2SJW.1+SJW.0+1(3)

        SYNCSEG=tSYNCSEC/tSCL=1(4)

        TSEG1=tTSEG1/tSCL=8TSEG1.3+4TSEG1.2+

        2TSEG1.1+TSEG1.0+1(5)

        TSEG2=tTSEG2/tSCL=4TSEG2.2+2TSEG2.1+

        TSEG2.0+1(6)

        這些參數(shù)的范圍在CAN中有較嚴格的規(guī)定,具體如表1所示。

        表1 位定時參數(shù)的范圍(以時間份額度量)

        參數(shù)范圍說明

        SAM0或1規(guī)定采樣次數(shù)

        SJW1~4規(guī)定相位緩沖段延長或縮短的上限

        BRP1~64規(guī)定時間份額的長度

        SYNCSEG1同步總線上各節(jié)點

        TSEG11~16補償沿相位誤差可被延長

        TSEG21~8補償沿相位誤差可被縮短

        NBT8~25正常位時間

        在有些情況中,為了優(yōu)化網(wǎng)絡(luò)性能,這些參數(shù)的設(shè)置往往需要考慮傳輸延遲、時鐘偏頻等因素。然而,對于一般的開發(fā)或工程實際,完全可以根據(jù)經(jīng)驗對其進行計算和設(shè)置。這里以一個時鐘頻率為20 MHz、通信波特率為250 Kb/s(位時間為4 μs)的系統(tǒng)為例,介紹與位定位有關(guān)的各參數(shù)的計算方法和步驟。

        (1) 確定時間份額。

        由表1可知,在1個位周期中時間份額的數(shù)量必須是8~25之間的一個整數(shù)值。在滿足這個前提下,應(yīng)該使時間份額的時間值盡可能的小1些,也就是讓1個位周期中時間份額的數(shù)量更多。這樣做的目的是為了使采樣點位置的選擇具有更好的分辨率??紤]到以上兩個因素,在這里將時間份額的數(shù)量設(shè)置為20,于是有:

        時間份額: tSCL=200 ns。

        根據(jù)式(1):

        BRP=tSCL/2tCLK=2

        (2) 設(shè)置時間段和采樣點。

        下面需要對時間段1和時間段2進行分配和設(shè)置。由于時間份額的數(shù)量已經(jīng)確定,再根據(jù):時間份額的數(shù)量=1+TSEG1+TSEG2,

        這樣看來,時間段1和2似乎有多個配置可供選擇。但有一點值得注意的是,時間段1和2的確定同樣關(guān)系著采樣點在位周期中的位置,這是非常關(guān)鍵的。因為如果采樣點選擇的不適當,在有些情況中會直接導(dǎo)致錯誤的出現(xiàn)。與普通的串行通信端口或UART在中間位置(50%)的采樣不同,CAN總線的采樣點最好靠近位時間的末端。根據(jù)工程經(jīng)驗,一般將采樣點時間比設(shè)置在位時間80%的位置是最佳的,于是有:

        TSEG1=15;TSEG2=4

        采樣點時間比=(1+TSEG1)/(1+TSEG1+

        TSEG2)=(1+15)/(1+15+4)=0.8=80%

        (3) 確定同步跳轉(zhuǎn)寬度和采樣次數(shù)。

        為完成位定時參數(shù)的設(shè)置,最后還要確定同步跳轉(zhuǎn)寬度和采樣次數(shù)。同步跳轉(zhuǎn)寬度的一般設(shè)置原則是在允許的范圍內(nèi)應(yīng)盡可能的大一些,這樣更有利于在重同步時對沿相位誤差的補償,在這里可將該參數(shù)設(shè)置為3。采樣次數(shù)的設(shè)置比較容易和直接,對于高速總線,建議將SAM置為“0”,此時總線被采樣1次;而對于低/中速總線,建議將SAM置為“1”,此時總線被采樣3次。250 Kb/s屬于高速總線,所以在這里SAM應(yīng)置為0。

        通過以上方法和步驟所確定的各參數(shù)值,再結(jié)合式(2)、式(3)、式(5)、式(6)可直接得出寄存器BTR0和BTR1的設(shè)置值[10,11]。

        4 結(jié) 語

        (1) 結(jié)合圖解的方式對CAN總線位定時、硬同步和重同步等關(guān)鍵技術(shù)的深入探討和分析,反映了CAN總線位定時和同步機制的本質(zhì)、清晰地表明了它們在CAN技術(shù)規(guī)范中的地位與作用。

        (2) 在CAN總線中,通信波特率(位時間)、每個位時間的采樣位置及個數(shù)、同步跳轉(zhuǎn)寬度等都可以自行設(shè)定。然而,位定時參數(shù)如果設(shè)置不當就會檢測到錯誤并進行錯誤處理,導(dǎo)致總線性能下降甚至無法工作。因此要分析、解決這樣的問題就需要對CAN總線位定時和同步機制有較深入的理解,從而保證正確地設(shè)置位定時參數(shù)。

        (3) 這里所研究的內(nèi)容,是深入理解和學習CAN總線技術(shù)的前提和保證,也是進行后續(xù)開發(fā)和研究的基礎(chǔ)和關(guān)鍵。

        參考文獻

        [1]夏德海.現(xiàn)場總線的現(xiàn)狀及其發(fā)展趨勢[J].電氣時代,2006(8):16-19.

        [2]劉芳.淺談基于CAN總線現(xiàn)場的數(shù)據(jù)采集系統(tǒng)[J].鐵道通信信號,2006(3):23-24.

        [3]饒運濤,鄒繼軍,王進宏.現(xiàn)場總線CAN原理與應(yīng)用技術(shù)[M].2版.北京:北京航空航天大學出版社,2007.

        [4]甘永梅,李慶豐,劉曉娟,等.現(xiàn)場總線技術(shù)及應(yīng)用[M].北京:機械工業(yè)出版社,2004.

        [5]鞠玉翔.基于CAN的一個現(xiàn)場總線控制實驗系統(tǒng)的設(shè)計[D].上海:華東理工大學,2004.

        [6]蔣智康,陳濤,宋春寧.PIC單平機的CANopen通信協(xié)議[J].單片機與嵌入式系統(tǒng)應(yīng)用,2008(9):24-27.

        [7]楊福宇.對TTCAN的分析[J].單片機與嵌入式系統(tǒng)應(yīng)用,2008(6):5-7.

        [8]姜重然,陳文平,單琳娜.基于單片機以太網(wǎng)節(jié)點及精簡TCP/IP協(xié)議棧的設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2008(8):73-75.

        [9]姜重然,陳文平,單琳娜.基于現(xiàn)場總線一種報文優(yōu)先級產(chǎn)生與檢測方法[J].測控技術(shù),2008(9):54-56.

        [10]張煌,王常順.CAN總線冗余的船舶監(jiān)控系統(tǒng)的設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2008(10):57-60.

        [11]劉國棟,王爽心,吳枝祥.LPC2131基于CPLD的CAN接口設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2008(5):66-67.

        91精品手机国产在线能| 亚洲youwu永久无码精品| 色偷偷亚洲第一成人综合网址 | 边啃奶头边躁狠狠躁| 国产一级毛片AV不卡尤物| 久草国产手机视频在线观看| 久久这里都是精品99| 蜜桃日本免费观看mv| a级黑人大硬长爽猛出猛进| 青草蜜桃视频在线观看| 日韩亚洲国产中文字幕| 久久精品免费一区二区喷潮| 日韩av精品国产av精品| 伊人久久一区二区三区无码| 日韩精品资源在线观看免费| 国产一区二区三区日韩精品| 欧美操逼视频| 精品无吗国产一区二区三区av | 2021国产精品国产精华| 日韩成人精品在线| 久久本道久久综合一人| 亚洲av成人精品一区二区三区| 欧洲一卡2卡三卡4卡免费网站| 亚洲大片免费| 国产丝袜一区丝袜高跟美腿| 日本丰满熟妇videossexhd| 精品欧美乱码久久久久久1区2区| 亚洲AV日韩AV高潮喷潮无码| 黄色精品一区二区三区| 真实人与人性恔配视频| 日韩AVAV天堂AV在线| 在线观看日韩精品视频网站| 一本色道久久婷婷日韩| 亚洲一本到无码av中文字幕| 亚洲 暴爽 AV人人爽日日碰| 日韩美女av一区二区三区四区| 国产免费a∨片在线软件| 国产精美视频| 亚洲国产精品成人一区| 日韩av无码中文字幕| 精品无码专区久久久水蜜桃|