最近在看飛思卡爾s12系列CAN部分,發(fā)現(xiàn)波特率計算這塊沒有一個講的詳細的,在數(shù)據(jù)手冊里也沒有詳細說明。
經(jīng)過仔細研究,特將CAN部分波特率計算總結出來。
引用部分CAN波特率計算資料如下:
簡單介紹一個波特率的計算,在CAN的底層協(xié)議里將CAN數(shù)據(jù)的每一位時間(TBit)分為許多的時間段(Tscl),這些時間段包括:
A. 位同步時間(Tsync)
B. 時間段1(Tseg1)
C. 時間段2(Tseg2)
其中位同步時間占用1個Tscl;時間段2占用(Tseg1+1)個Tscl;時間段2占用(Tseg2+1)個Tscl,所以CAN控制器的位時間(TBit)就是:TBit=Tseg1+Tseg2+Tsync=(TSEG1+TSEG2+3)*Tscl,那么CAN的波特率 (CANbps)就是1/TBit。
但是這樣計算出的值是一個理論值。在實際的網(wǎng)絡通信中由于存在傳輸?shù)难訒r、不同節(jié)點的晶體的誤差等因素,使得網(wǎng)絡CAN的波特率的計算變得復雜起來。CAN在技術上便引入了重同步的概念,以更好的解決這些問題。這樣重同步帶來的結果就是要么時間段1(Tseg1)增加TSJW(同步跳轉(zhuǎn)寬度SJW+1),要么時間段減少TSJW,因此CAN的波特率實際上有一個范圍:1/(Tbit+Tsjw) ≤CANbps≤1/(Tbit-Tsjw)
CAN有波特率的值四以下幾個元素決定:
A. 最小時間段Tscl;
B. 時間段1 TSEG1;
C. 時間段2 TSEG2;
D. 同步跳轉(zhuǎn)寬度 SJW
那么Tscl又是怎么計算的呢?這是總總線時序寄存器中的預分頻寄存器BRP派上了用場,Tscl=(BRP+1)/FVBP。FVBP為微處理器的外設時鐘。
下面用一個例子來舉例說明。
注:本例中時鐘使用總線時鐘,若選擇外設時鐘,則外設時鐘=晶振頻率/2
比如,總線時鐘fbus=16M,準備設定的波特率 CANbps=250K,則
(1)位時間TBit=1/250k=4us.
同時,
(2)TBit=Tseg1+Tseg2+Tsync=(TSEG1+TSEG2+3)*Tscl,
一般 (TSEG1+TSEG2+3)的值取16(8~25之間),則
Tscl=4us/16=250ns
而同時(3)Tscl=(BRP+1)/fbus
fbus為微處理器的總線時鐘。則
250ns=(BRP+1)/16M,
計算之后BRP=3;
假設我們先不考慮BTR0中的SJW位和BTR1中的SAM位。那么,BTR0和BTR1就是2個分頻系數(shù)寄存器;它們的乘積是一個擴展的分頻系數(shù)。即:
BTR0×BTR1=fbus/CANbps (4)
此例中,BTR0*BTR1=16M/250K=64.
此例中,BRP=3,其作為BTR0的組成部分,表示預分頻值為4,則BTR1的預分頻值為
(5)64/4=16;
(CAN規(guī)范中規(guī)定其取值在8~25之間)
TSEG1和TESG2的值(TSEG1+TSEG2+3)=16,而根據(jù)CIA推薦:
75% when 波特率 > 800K
80% when 波特率 > 500K
87.5% when 波特率 <= 500K
CiA計算方式:
sample =(1+(TSEG1+1))/(1+(TSEG1+1)+(TSEG2+1)) (6)
sample = ( 1 + CAN_BS1) / (1 + CAN_BS1 + CAN_BS2) (6)
在這里,CAN_BS1=TSEG1+1,CAN_BS2=TSEG2+1;
則CAN_BS1和CAN_BS2的取值要符合要求。
此處令CAN_BS1取13,CAN_BS2取2, 采樣率=(1+13)/(1+13+2)=87.5% BTR1=0001 1100B
則CANBTR1的值為0x1c;
其實,用一個公式總結則為
CANbps = fbus/( (BRP+1) * (CAN_BS1+CAN_BS2+1))
本例中 250K=16M/(3+1)*(13+2+1)=16M/64;
總之,BRP(BTR0的值)和CAN_BS1,CAN_BS2的值可以自定,但是要符合(CAN_BS1+CAN_BS2)=15,且符合CIA推薦的標準。
總體配置保持CAN_BS1>=CAN_BS2 , CAN_BS1>=1個CAN時鐘周期 ,CAN_BS2>=2SJW ,
本例中,CAN_BS2=2,則SJW=1;即BRT0的bit7和bit6均為0
SAM的確定:低頻時,選SAM=1,即采樣3次。高頻100K以上時,取SAM=0,即采樣1次。
總結:
BTR0: SJW和CAN_BS2有關,CAN_BS2>=2SJW
BTR1: SAM的確定:低頻時,選SAM=1,即采樣3次。高頻100K以上時,取SAM=0,即采樣1次。
CANbps = fbus/( (BRP+1) * (CAN_BS1+CAN_BS2+1)) 最重要的公式
CANbps為要設定的CAN波特率;
fbus為總線時鐘頻率,若采用外部時鐘時,則外部時鐘=晶振時鐘/2;
BRP為BTR0的低6位值;
CAN_BS1為BTR1的bit0~bit3的值-1;
CAN_BS2為BTR1的bit4~bit6的值-1;
上一篇:MC9S12G128模塊化分層化軟件架構之二——IO驅(qū)動
下一篇:MC9S12XET256之ECT模塊(5)
推薦閱讀
史海拾趣
在電子行業(yè)中,艾迪沃德公司(Beijing IDworld Science & Technology Development Co., Ltd.)的發(fā)展歷程充滿了技術創(chuàng)新與市場拓展的亮點。以下是五個關于艾迪沃德公司發(fā)展起來的相關故事,每個故事均基于事實描述,旨在展現(xiàn)其成長軌跡。
1. 創(chuàng)立與技術創(chuàng)新起點
艾迪沃德公司成立于2004年6月,自創(chuàng)立之初便確立了以研究、開發(fā)國際先進指紋識別技術為基本戰(zhàn)略的發(fā)展方向。在那個指紋識別技術剛剛興起的時代,艾迪沃德憑借其前瞻性的視野,迅速投入到這一領域的探索中。公司自主研發(fā)的指紋識別技術,經(jīng)過不斷迭代與優(yōu)化,逐漸成為了業(yè)界公認的優(yōu)秀指紋識別核心算法之一。這一技術突破不僅為公司贏得了市場的初步認可,更為后續(xù)的產(chǎn)品開發(fā)奠定了堅實的基礎。
2. 產(chǎn)品多元化與市場拓展
隨著技術的不斷成熟,艾迪沃德開始將指紋識別技術應用于更多領域,推出了包括指紋考勤機、指紋門禁系統(tǒng)、指紋保險柜在內(nèi)的多元化產(chǎn)品系列。這些產(chǎn)品憑借其高安全性、便捷性和穩(wěn)定性,迅速在市場中占據(jù)了一席之地。特別是在安防、金融、教育等行業(yè),艾迪沃德的產(chǎn)品得到了廣泛應用,進一步鞏固了其在指紋識別領域的市場地位。
3. OEM與ODM業(yè)務的發(fā)展
為了滿足不同客戶的定制化需求,艾迪沃德積極拓展OEM(原始設備制造商)和ODM(原始設計制造商)業(yè)務。公司憑借其強大的研發(fā)能力和生產(chǎn)能力,為眾多合作伙伴提供從產(chǎn)品設計、生產(chǎn)到售后的全方位服務。這一業(yè)務模式不僅為公司帶來了穩(wěn)定的收入來源,還進一步提升了艾迪沃德在電子行業(yè)中的知名度和影響力。
4. 技術支持與解決方案提供
艾迪沃德深知技術支持對于客戶的重要性,因此公司組建了一支專業(yè)的技術支持團隊,為客戶提供包括技術咨詢、方案設計、系統(tǒng)集成在內(nèi)的全方位服務。無論是大型項目還是小型應用,艾迪沃德都能根據(jù)客戶的具體需求,提供量身定制的解決方案。這種以客戶為中心的服務理念,贏得了客戶的廣泛贊譽和信賴。
5. 國際合作與品牌建設
在國際化戰(zhàn)略的推動下,艾迪沃德積極參與國際交流與合作,與多家國際知名企業(yè)建立了良好的合作關系。通過引進國外先進技術和管理經(jīng)驗,艾迪沃德不斷提升自身的競爭力和創(chuàng)新能力。同時,公司還加大了品牌建設的力度,通過參加國際展會、發(fā)布新品等方式,提升品牌知名度和美譽度。這些努力不僅為公司帶來了更多的國際合作機會,也為艾迪沃德在全球電子行業(yè)中樹立了良好的品牌形象。
隨著業(yè)務的不斷發(fā)展,Embedded Artists公司開始考慮向國際市場擴張。他們與全球各地的合作伙伴建立了緊密的合作關系,共同開發(fā)適用于不同市場的嵌入式解決方案。同時,公司還積極參加國際展會和研討會,與全球同行交流技術心得和市場動態(tài)。這些努力使Embedded Artists公司的品牌在國際市場上得到了廣泛認可。
D3 Semiconductor自創(chuàng)立之初,就致力于半導體技術的研發(fā)與創(chuàng)新。公司憑借其獨特的超結金屬氧化物半導體場效應晶體管(MOSFET)技術,在功率電子市場上迅速嶄露頭角。這項技術在硬開關應用中展現(xiàn)出了同類最佳性能,為通訊、企業(yè)計算、不間斷電源(UPS)和太陽能等領域提供了高效可靠的解決方案。D3 Semiconductor的這一技術突破不僅贏得了市場的認可,也為公司后續(xù)的發(fā)展奠定了堅實的基礎。
近年來,隨著電子信息技術的快速發(fā)展和智能化趨勢的加劇,東晶電子也面臨著新的機遇和挑戰(zhàn)。為了適應市場變化和滿足客戶需求,公司開始實施戰(zhàn)略轉(zhuǎn)型和升級。公司加大了對新型電子元器件的研發(fā)力度,推動產(chǎn)品向微型化、功能化、高精度方向發(fā)展。同時,公司還積極開拓新領域和新市場,拓展業(yè)務范圍和市場份額。這些舉措為公司未來的發(fā)展奠定了堅實的基礎。
請注意,這些故事是基于已知信息的概括性描述,并非具體的歷史事件。在實際情況中,東晶電子的發(fā)展歷程可能更加復雜和多樣化。
在電子行業(yè)中,壓敏技術是一項重要的技術。Ceratech Corporation公司針對這一領域進行了深入研究和探索。公司研發(fā)團隊經(jīng)過多次試驗和改進,成功研發(fā)出具有自主知識產(chǎn)權的壓敏產(chǎn)品。這些產(chǎn)品不僅具有高靈敏度和高穩(wěn)定性,而且能夠適應各種復雜環(huán)境。通過壓敏技術的研發(fā)與應用,Ceratech Corporation進一步提升了其在電子行業(yè)的技術實力和市場競爭力。
/*------------------------------------------- 項目名: 家電中央控制系統(tǒng)工程 程序名: 顯示MCU總體程序 編寫人: 杜洋 初寫時間: 2005年9月5日晚20時 程序功能: 實現(xiàn)液晶、語音部分的人機對話和總線的通信 實現(xiàn) ...… 查看全部問答∨ |
|
裝的OS是WINCE6.0+SP2,并且安裝了更新的包。在WINCE6.0下通過自帶BSP編譯OS,總是編譯錯誤,build.log 文件輸出: EDITBIN : fatal error LNK1104: cannot open file \'D:\\WINCE600\\OSDesigns\\OSDesign1\\OSDesign1\\Wince600\\zylonite_mhlv ...… 查看全部問答∨ |
如何獲取聲音輸出設備如何判斷keypad light on or off 1. 如何判斷鍵盤燈(keypad light)是打開還是關閉? 2. 如何獲取聲音的輸出設備是什么? 對問題1找到一段代碼: CEDEVICE_POWER_STATE powerState; GetDevicePower(\"BKL1:\",POWER_NAME,&powerState); CEDEVICE_POWER_STATE.D4 ...… 查看全部問答∨ |
我看SLC與MLC的DATASHEET沒有什么區(qū)別 但是驅(qū)動程序用于SLC按頁讀寫都正確,用于mlc就不正確,有誰知道用于mlc的驅(qū)動程序與用于slc的驅(qū)動程序上應該有什么不同之處,謝謝!?。?!… 查看全部問答∨ |
|
搞了幾年的嵌入式軟件開發(fā)了,各種操作系統(tǒng)下的驅(qū)動寫了不少,各種操作系統(tǒng)的移植裁減也做了不少了,突然發(fā)現(xiàn)沒啥可做的了,每天都開始重復性勞動了,除非自己寫操作系統(tǒng)去。 前幾周郁悶的想去轉(zhuǎn)做數(shù)字IC去,后來了解了下,要做到高手級別必須要扎 ...… 查看全部問答∨ |
|
在MDK中在ram調(diào)試的方法(已經(jīng)驗證) 用MDK在ram中調(diào)試的方法。 相關鏈接:https://bbs.eeworld.com.cn/upfiles/img/200712/20071220174455798.pdf… 查看全部問答∨ |
設計資源 培訓 開發(fā)板 精華推薦
- 電動車電池成本降一半,續(xù)航卻減一半?寧德時代新電池能突圍嗎?
- 從“不可修”到可拆可換:CTP電池的售后怎么辦?
- 區(qū)域控制器ZCU國產(chǎn)化:從物料齊全到系統(tǒng)話語權
- 總額超260億-盤點全球移動機器人領域融資TOP10企業(yè)
- 安森美CEO談論電動汽車與AI服務器前景
- LILYGO T-LoRa Pager:復古造型與前沿技術結合的物聯(lián)網(wǎng)手持設備
- VS Code+PlatformIO搭建ESP32 Arduino開發(fā)環(huán)境
- Esp32環(huán)境離線搭建參考
- ESP32使用舵機庫時的錯誤
- ESP32 S3接ST7789屏幕線序