国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

CAN總線位定時參數的確定

發布時間:2010-3-17 19:04    發布者:蹦蹦
關鍵詞: CAN , 參數 , 總線
引言

CAN總線是一種有效支持分布式控制和實時控制的、多主的異步串行通信網絡。由于CAN總線具有較強的糾錯能力,支持差分收發,適合高噪聲環境,具有較遠的傳輸距離,并且Philips和Intel等半導體公司都有支持CAN通信協議的集成器件。CAN總線已經在各個領域中得到了廣泛應用。

在CAN通信協議中規定,通信波特率、每個位周期的取樣位置和個數,都可以自行設定。這樣的設計理念,為用戶在自己的應用中,優化網絡通訊性能提供了空間。為了通過設定位定時參數來優化網絡通信性能,必須清楚位定時參數與參考時鐘誤差和系統內信號延遲的關系。如果位周期內的取樣位置偏后,將能夠容忍較大的信號傳輸延遲,相應的,總線傳輸距離可以延長;而如果周期內的取樣位置接近中間,則可以容忍系統的節點間的參考時鐘誤差。但這顯然是矛盾的,為了協調這種矛盾,必須對位定時參數進行優化位置。

圖1 位周期結構圖

通過對CAN總線位定時參數進行研究,找到矛盾的關鍵所在,就能夠對其進行優化,從而提高通信系統的整體性能。下面以Philips公司的獨立通信控制器 SJA1000為例,進行研究。

1 相關定義

1.1 位周期的組成

波特率(fbit)是指單位時間內所傳輸的數據位的數量,一般取單位時間為1s。波特率由通信線上傳輸的一個數據位周期的長度(Tbit)決定,如下式所示。
Fbit=1/Tbit    (1)

根據Philips公司的獨立通信控制器,一個位周期由3個部分組成:同步段(tSYNC_SEG)、相位緩沖段1(tTSEG1)和相位緩沖段2(tTSEG2)。
Tbit=tSYNC_SEG+tTSEG1+tTSEG2     (2)

所有這些時間段,都有一個共同的時間單元——系統時鐘周期(TSCL)。具體到SJA1000,TSCL由總線時序寄存器的值來確定。 SJA1000有2個總線時序寄存器,即總線時序寄存器0(BTR0)和總線時序寄存器1(BTR1)。這2個寄存器有自己不同的功能定義,共同作用決定總線的通信波特率。

總線時序寄存器0 定義波特率預設值BRP(共6位,取值區間[1,64]和同步跳轉寬度SJW(共2位,取值區間[1,4])的值。位功能說明如表1所列。

表1
bit7bit6bit5bit4bit3bit2bit1bit0
SJW.1SJW.0BRP.5BRP.4BRP.3BRP.2BRP.1BRP.0

CAN的系統時鐘周期TSCL,可以由BRP的數值為決定,計算公式如下:
TSCL=2TCLK×BRP=2TCLK×(32BRP.5+16BRP.4+
8BRP.3+4BRP.2+2BRP.1+1BRP.0+1)    (3)
其中TCLK為參考時間的周期。
TCLK=1/fCLK    (4)

為了補償不同總線控制器的時鐘振蕩器之間的相位偏移,任何總線控制器必須在當前傳送的相關信號邊沿重新同步。同步跳轉寬度定義了每一位周期可以被重新同步縮短或延長的時鐘周期的最大數目。
tSJW=TSCL×(2×SJW.1+1×SJW.0+1)  (5)

總線時序寄存器1 定義每個位周期長度采樣點的位置和在每個采樣點的采樣數目。位功能說明如表2所列,其中SAM意義見表3。

表2
bitbitbitbitbitbitbitbit
SAMTSEG2.2TSEG2.1TSEG2.0TSEG1.3TSEG1.2TSEG1.1TSEG1.0

表3
功    能
SAM0三倍:總線采樣三次:建議在中/低速總線(A和B級)使用,有處于過濾總線上毛刺
1單倍:總線采樣一次;建議使用在高速總線上(SAEC級)

TSEG1(共4位,取值區間[1,16])和TSEG2(共3位,取值區間[1,8])決定了每一位時鐘數目和采樣點的位置。這里
tSYNC_SEG=1×TSCL(此時間段固定) (6)
tTSEG1=TSCL×(8×TSEG1.3+4×TSEG1.2+2×TSEG1.1+1×TESG1.0+1)    (7)
tTSEG2=TSCL×(4×TSEG2.2+2×TSEG2.1+1×TESG2.0+1)    (8)
位周期的標量值(NBT)定義為,SYNC_SEG(同步段系統時鐘周期數)、TSEG1(相位緩沖段1系統時鐘周期數)、TSEG2(相位緩沖段2系統時鐘周期數)之和。這決定了它的取值區間為[3,25],在1個取樣點時,最小值一般取4;在3個取樣點時,最小值一般取5。
NBT=Tbit/TSCL=SYNC_SEG+TSEG1+TSEG2    (9)

位周期的一般結構如圖1所示。



1.2 參考時鐘誤差

在系統中,每一個節點都有自己獨立的參考時鐘。由于制造工藝、運行時間及環境溫度的變化,這些時鐘的實際頻率往往偏離預期的頻率值。我們稱這種偏差為參考時鐘誤差(Δf)。FCLK,max/min表示參考時鐘頻率的最大值或最小值,fCLK,rat表示參考時鐘頻率的額定值。

相應的系統時鐘周期也會有誤差。TSCL,min表示系統時鐘周期最小值,TSCL,max表示系統時鐘周期最大值,TSCL,rat表示系統時鐘周期額定值。由于Δf<<1,可以進行近似。
TSCL,min=(TSCL,rat)/(1+Δf)≈TSCL,rat×(1-Δf)    (11)
TSCL,max=(TSCL,rat)/(1-Δf)≈TSCL,rat×(1+Δf)     (12)

1.3 傳輸延遲

CAN總線采用無破壞性的基于優先權的仲裁機制。在這種機制下,傳輸延遲至關重要。如果傳輸延遲時間過長,將導致無效的訪問仲裁。傳輸延遲時間由物理總線延時(tBUS)、總線驅動器延時(ttran)和其它設備傳輸延遲(toth)共同決定。其它設備包括通信控制器、隔離光耦等。
tprop=2×(tBUS+ttran+toth)
傳輸延遲的標量值(PROP)可以由公式(14)得到。
PROP=tprop/TSCL     (14)

1.4 同步

通過同步機制,可以消除由于相位誤差帶來的影響,保證信息正確解碼。有兩種同步方式:硬同步和重同步。

硬同步僅發生在報文開始時,在一個空閑期間,總線上的所有控制器在一個SYNC_SEG段從隱性位到顯性位的跳變沿上,初始化自己的位周期定時,執行一次硬同步。

重同步發生在報文位流發送期間,每一個隱性位到顯性位跳變沿后。重同步根據引起同步邊沿的相位誤差,要么增加tTSEG1,要么減少 tTSEG2,使采樣點處于恰當的位置。同步邊沿的相位誤e,由相對于同步邊沿的位置而定,以系統時鐘周期(TSCL)。其它定及重同步處理方式如下:
e=0,同步邊沿發生在SYNC_SEG內;
e>0,同步邊沿發生在TSEG1內;
e<0,同步邊沿發生在TSEG2內。

如果引起重同步的邊沿相位誤差e的幅值小于或等于tSJW編程數值,則得同步導致位時間縮短或延長,與硬同步的作用一樣;如果e為正值,且幅值大于tSJW,則增加tTSEG1值為tSJW;如果e為負值,且幅值大于tSJW,則減少值為tSJW。

2 參數計算規則

參數確定原則為:保證系統在極端惡劣條件的兩節點間,能夠正確接收并解碼網絡上的信息幀。極端惡劣條件是指這兩個節點的鐘振偏差在系統容忍偏差極限的兩端,并且兩節點間具有最大的傳輸延遲。在沒有噪音干擾的正常通信情況下,相位誤差累計的最壞情況是,重同步邊沿之間間隔有10個位周期。這是定義 SJW最小值的條件。

在實際的通信系統中,噪音干擾是不可避免的。由于噪音干擾,可能會導致重同步邊沿之間的間隔超過10個位周期,可能進入錯誤處理模式。在這種情況下,由于同步邊沿之間的時間比較長,所以保證每一位都能夠確切地取樣就更加重要。如果不能夠確切地取樣,將會導致檢測到錯誤并進行錯誤處理。

考慮各方面的影響,位定時參數的設置公式如下:
①1取樣點模式



②3取樣點模式



在計算SJWmin時,取大于計算數值的最小整數;在計算TSEG2max時,取小于計算數值的最大整數。由公式(15)~(18)可見,SJW和 TSEG2由NBF、Δf、PROP分別決定。計算得到SJW和TSEG2后,由公式(9)可以得到TSEG1。根據SJA1000的寄存器說明,可以得到具體寄存器的設置數值。

3 參數計算步驟及舉例

某CAN通信系統,采用1個取樣點模式,其它參數指標如表4所列。

表4
參  數說    明最小值典型值最大值
fBit/(kb·s-1)通信波特率 250 
tbit/μs位周期時間 4 
fCLK/MHzCAN控制器的時鐘頻率  24
Δf/%時鐘頻率偏差  1.0
tran/ns總線驅動器延時3075157
toth/ns其它設備延時15 40
δ/(ns·m-1)線路延時5 6.5
L/m節點間總線長度3 95
tBUS/ns計算得到線路延時tBUS=L·δ15 618
fprop/ns計算得到傳輸延時,公式(13)120 1630

①確定可能的BRP、NBT和PROP。
由公式(1)、(3)、(4)及(9)得到
NBT=1/(fbit·TSCL)=fCLK/(2fbit·BRP)
所以有 NBT·BRP=fCLK/2fbit    (19)
將參數代入公式(19)得到NBT·BRP的值為48,而NBT取值為3~25,所以NBT和BRP所有可能的組合如表5所列。

表5
fCLKNBTBRPTSCL/nsPROPmaxPROPmin有效性
24MHz41210001.630.12
68666.62.450.18
865003.260.24
124333.34.890.36
1632506.520.48
242166.69.780.72

②計算NBTmin和NBTmax。由公式(15-1)、(18-1)、(19)、(14)及(3)推出
NBT≥



公式(22)



代入數據,計算得到8.31≤NBT≤17.9。原則上選12和16都可以,為了方便取得樣點,我們取較大的值16。
③根據公式(15-1)計算SJWmin,如表6所列。
④根據公式(17-1)計算TSEG2min,如表6所列。
⑤根據公式(18-1)計算TSEG2max,如表6所列。
⑥確定寄存器設置數值,如表7所列。

表6
最小值最大值確定值
SJW{3.23,3.67}max44
TSEG2{2,SJW}max{8,5.54,4.78}min4
TSEG1TSEG1=NBT-TSEG2-SYNC_SEG=16-4-111

表7
BTR0SHWBRPBTR1SAMTSEG2TSEG1
C2110000103A00111010

4 結論

在不同的系統應用中,可以根據所使用的時鐘頻率、時鐘信號的頻率偏差、通信波特率及最大傳輸距離等因素,對通信控制器位定時參數進行優化確定。確定得到的參數可以提高通信系統整體性能,這使CAN總線優勢更加明顯,以適合更加廣泛的應用。

參考文獻

   1. PHILIPS 公司 Determination of Bit TimingParameters for the CAN Controller SJA1000 1997
   2. Philips公司 DATA SHEET SJA1000 Stand-alone CANController 2000
   3. 鄔寬明 CAN 總線原理和應用系統設計 1996

作 者:北京全路通信信號研究設計院 吳永  
來 源:單片機嵌入式系統應用2003(10)
本文地址:http://m.qingdxww.cn/thread-9509-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 水多多凹凸福利视频导航| 日韩中文字幕亚洲无线码| 护士12p| 亚洲色噜噜狠狠站欲八| 亚洲xx在线| 日本大胆欧美人术艺术| 亚洲精品色| 亚洲欧美日韩另类在线一| 扒开黑女人p大荫蒂老女人| 日日a.v拍夜夜添久久免费| 午夜h视频| 日日干日日| 双子母性在线观看| 99久久免费精品国产| 久久中文字幕人妻AV熟女| 香港三级日本三级韩国三级| 青青青影院| 四虎影视免费在线观看| a免费在线观看视频| 三级黄色视屏| 日本三级黄色网址| 青青青在线视频国产| 涩涩国产精品福利在线观看| 97人摸人人澡人人人超一碰| 琪琪热热色原日韩在线| 秋霞影院精品久久久久| 四虎4hu永久免费国产精品| 天堂激情| 91精品国产高清久久久久久| 日本久久久| 午夜狠狠干| 亚洲一区视频| 11 13加污女qq看他下面| 日本不卡三卡四卡| 日韩三级网址| 四虎中文| 一二三四视频免费视频 | 欧美日本一区亚洲欧美一区 | 色中色网址导航| 1788福利视频在视频线| 色噜噜噜噜亚洲第一|