版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
目錄
1:網(wǎng)絡(luò)組建2:總線節(jié)點(diǎn)組成3:總線電平(總線上物理信號)4:抗電磁干擾能力5:通信原理(廣播方式)6:幀種類7:數(shù)據(jù)幀解析8:數(shù)據(jù)幀仲裁段解析9:數(shù)據(jù)幀控制段解析10:數(shù)據(jù)幀數(shù)據(jù)段解析11:發(fā)送沖突處理辦法(仲裁辦法)12:位填充規(guī)則(Bit-StuffingRule)13:錯誤種類14:位時序以及同步15:錯誤計(jì)數(shù)器第1頁1:CANbus網(wǎng)絡(luò)組建所有節(jié)點(diǎn)通過兩條線連接起來。兩條線分別稱為CAN_H和CAN_L。假如要求不高,一般用帶屏蔽雙絞線就能夠了。網(wǎng)絡(luò)兩端必須有120歐終端電阻。因此在設(shè)計(jì)線路板時候都要有一種120歐電阻,一般1/4瓦就夠了。通過跳線或者撥碼開關(guān)選擇是否使用這個電阻。第2頁2:CANbus節(jié)點(diǎn)組成一種節(jié)點(diǎn)一般包括3個部分:微控制器,CAN控制器和CAN收發(fā)器。典型組合有:51單片機(jī)+SJA1000+PCA82C250(5V)。另外,有微控制器內(nèi)部已經(jīng)包括了CAN控制器,例如STM32。STM32+SN65HVD230(3.3V)。收發(fā)器一般都是8個引腳芯片。集成CAN控制微控制器將是將來CANBUS應(yīng)用首選。第3頁3:CANbus上總線電平(總線上物理信號)CANBUS上總線電平稱為隱性電平和顯性電平。Recessive:隱性(代表邏輯1)CAN_H=CAN_L=2.5V兩條線上電壓差:0VDominant:顯性(代表邏輯0)CAN_H=3.5V/CAN_L=1.5V兩條線上電壓差:2V假如CAN控制器發(fā)送邏輯1時,CAN收發(fā)器使CAN_H和CAN_L都為2.5V,這時,兩條線上電壓差為0V??偩€上稱為隱性電平。假如CAN控制器發(fā)送邏輯0時,CAN收發(fā)器使CAN_H為3.5V,CAN_L為1.5V,這時,兩條線上電壓差為2V。總線上稱為顯性電平。多種節(jié)點(diǎn)同步開始發(fā)送時,會包括到總線仲裁(也就是誰能夠繼續(xù)發(fā)送)。顯性電平優(yōu)先級高于隱性電平,后來會專門講,這里先提一下。第4頁4:CANbus抗電磁干擾能力假如出現(xiàn)電磁干擾,那么肯定會同步干擾到CAN_H和CAN_L兩條線。CAN收發(fā)器始終采集是這兩條線上電壓差,而電壓差不會由于干擾而變化,這種方式顯著提升了抗干擾能力。這就是為何采取差分傳輸原因。第5頁5:CANbus通信原理(廣播方式)每一種節(jié)點(diǎn)都能夠積極發(fā)送幀。(幀是CAN協(xié)議要求發(fā)送或接收單位)每一種節(jié)點(diǎn)都能夠接收到來自其他節(jié)點(diǎn)發(fā)送幀。但詳細(xì)要不要接收,由你決定。一般是通過配備CAN控制器過濾器寄存器來設(shè)置。一旦設(shè)置好,CAN控制器會根據(jù)你設(shè)置,自動去判斷要不要接收,完全由硬件實(shí)現(xiàn),這個判斷要不要接收過程,也叫過濾。第6頁6:CANbus幀種類大家不要被這樣多種類幀嚇壞了,其實(shí)很多都是由硬件自動實(shí)現(xiàn)。通信是通過以上5種類型幀進(jìn)行。幀由段組成,段由二進(jìn)制位組成。發(fā)送或者接收只能以幀為單位!?。。?!數(shù)據(jù)幀和遠(yuǎn)程幀有標(biāo)準(zhǔn)格式和擴(kuò)展格式兩種。標(biāo)準(zhǔn)格式有11位標(biāo)識符(Identifier:簡稱ID),擴(kuò)展格式有29位標(biāo)識符。錯誤幀,過載幀和幀間隔都是由硬件實(shí)現(xiàn),我們無法用軟件控制。對于應(yīng)用者來說是透明,我們完全能夠不用管它們。數(shù)據(jù)幀和遠(yuǎn)程幀構(gòu)造上差不多,最大區(qū)分就是遠(yuǎn)程幀沒有數(shù)據(jù)段。數(shù)據(jù)幀也是最復(fù)雜幀,因此我們重點(diǎn)解析數(shù)據(jù)幀。
幀幀用途1數(shù)據(jù)幀用于一種節(jié)點(diǎn)傳送信息到其他任一或所有節(jié)點(diǎn)2遠(yuǎn)程幀用于一種節(jié)點(diǎn)積極要求其他節(jié)點(diǎn)發(fā)送信息3錯誤幀假如節(jié)點(diǎn)在接收過程中檢測到錯誤,它就會發(fā)送一種錯誤幀4過載幀當(dāng)一種節(jié)點(diǎn)正忙于處理接收信息,能夠通知其他節(jié)點(diǎn)暫緩發(fā)送新報(bào)文5幀間隔幀與幀之間間隔第7頁7:CANbus數(shù)據(jù)幀解析數(shù)據(jù)幀由7個段組成。(1)幀起始(SOF):表達(dá)幀開始。(2)仲裁段(ArbitrationField):表達(dá)該幀優(yōu)先級(主要就是ID)。(3)控制段(ControlField):表白數(shù)據(jù)字節(jié)數(shù)。(4)數(shù)據(jù)段(DataField):數(shù)據(jù)詳細(xì)內(nèi)容,可發(fā)送0~8個字節(jié)數(shù)據(jù)。(5)CRC段(CRCField):用于校驗(yàn)傳輸是否正確。(6)ACK段(ACKField):表達(dá)確認(rèn)是否正常接收。(7)幀結(jié)束(EOF):表達(dá)此幀結(jié)束。其中幀起始,CRC段,ACK段,幀結(jié)束由硬件實(shí)現(xiàn)。第8頁8:CANbus數(shù)據(jù)幀仲裁段解析標(biāo)準(zhǔn)格式標(biāo)識符長度是11位,緊隨其后是RTR位,用于表白此幀是數(shù)據(jù)幀還是遠(yuǎn)程幀。IDE位用于表白此幀是標(biāo)準(zhǔn)幀還是擴(kuò)展幀。擴(kuò)展格式標(biāo)識符長度是29位,緊隨其后是RTR位,用于表白此幀是數(shù)據(jù)幀還是遠(yuǎn)程幀。IDE位用于表白此幀是標(biāo)準(zhǔn)幀還是擴(kuò)展幀。CAN控制器都有有關(guān)寄存器與這些位對應(yīng)。只需要操作寄存器就行了。ID能夠根據(jù)自己需要設(shè)置,例如能夠把它當(dāng)做地址。節(jié)點(diǎn)接收數(shù)據(jù)時候主要就是過濾這里設(shè)置ID。這點(diǎn)非常主要,要認(rèn)真體會!?。。。?!第9頁9:CANbus數(shù)據(jù)幀控制段解析保存位(r0、r1),CAN控制器硬件會自動處理,我們不論它。數(shù)據(jù)長度碼(DLC0---DLC3),CAN控制器有對應(yīng)寄存器用來設(shè)置數(shù)據(jù)長度。數(shù)據(jù)字節(jié)數(shù)必須為0~8字節(jié)。但接收方對DLC=9~15情況并不視為錯誤。第10頁10:CANbus數(shù)據(jù)幀數(shù)據(jù)段解析數(shù)據(jù)段就是你想發(fā)送數(shù)據(jù)??砂?~8個字節(jié)數(shù)據(jù)。CAN控制器有對應(yīng)寄存器,直接填入數(shù)據(jù)就行了??偨Y(jié)一下:我們做軟件時候只要設(shè)置ID,RTR,IDE,數(shù)據(jù)長度和詳細(xì)數(shù)據(jù),這些都有有關(guān)寄存器供我們操作。CAN控制器硬件會負(fù)責(zé)把這些東西打包成幀格式。第11頁11:CANbus發(fā)送沖突處理辦法(仲裁辦法)在總線空閑時,最先開始發(fā)送節(jié)點(diǎn)取得發(fā)送權(quán),一旦開始發(fā)送,不會被其他節(jié)點(diǎn)搶占。多種節(jié)點(diǎn)同步開始發(fā)送時,各發(fā)送節(jié)點(diǎn)從仲裁段第一位開始進(jìn)行仲裁。連續(xù)輸出顯性電平最多節(jié)點(diǎn)可繼續(xù)發(fā)送。(Dominant:顯性優(yōu)先)第12頁12:CANbus位填充規(guī)則(Bit-StuffingRule)位填充是為避免突發(fā)錯誤而設(shè)定功能。當(dāng)同樣電平連續(xù)5位時則添加一種位反型數(shù)據(jù)。位填充組成如上圖所示,硬件自動實(shí)現(xiàn)。第13頁13:CANbus錯誤種類當(dāng)發(fā)生錯誤時,一般都會觸發(fā)錯誤中斷,能夠查看中斷標(biāo)志位,理解詳細(xì)發(fā)生了什么類型錯誤,然后根據(jù)本身情況處理。錯誤種類錯誤內(nèi)容1:位錯誤當(dāng)發(fā)送器將自己發(fā)送電平與總線上電平相比較,發(fā)覺二者不相等時產(chǎn)生2:填充錯誤當(dāng)節(jié)點(diǎn)檢測到6個相同電平值連續(xù)位時發(fā)生。在正常情況下,當(dāng)發(fā)送器檢測到它已經(jīng)發(fā)送了5個數(shù)值相同連續(xù)位時,那么它將在第六位上插入一種取反值(稱之為位填充)。這樣,當(dāng)節(jié)點(diǎn)檢測到6個連續(xù)具有相同值位時,即產(chǎn)生一種填充位錯誤。3:CRC錯誤當(dāng)CRC(循環(huán)冗余檢查)值與發(fā)送器生成值不匹配時發(fā)生。每一幀包括一種由發(fā)送器初始化循環(huán)冗余檢查(CRC)域。接收器計(jì)算出CRC值,并與發(fā)送器產(chǎn)生值相比較。假如兩個值不相等,即產(chǎn)生CRC錯誤。4:格式錯誤當(dāng)在一必須發(fā)送預(yù)定值區(qū)內(nèi)檢測到非法位時發(fā)生。確定預(yù)定義位值必須在CAN幀內(nèi)一種確定點(diǎn)發(fā)送,假如在這些區(qū)域中一種內(nèi)檢測到非法位值,即產(chǎn)生格式錯誤。5:ACK錯誤當(dāng)發(fā)送器確定信息沒有得到應(yīng)答時發(fā)生。在數(shù)據(jù)幀及遠(yuǎn)程幀之間存在一種應(yīng)答時間段。該時間段內(nèi),所有接收節(jié)點(diǎn),無論是否是預(yù)定接收者都必須對接收信息作出應(yīng)答。第14頁14:CANbus位時序以及同步正常位時間=1/波特率。例如:1M波特率。一種位時間就是1微秒。一種位時間我們?nèi)藶榈匕阉?xì)分為4段。同步段(SS)監(jiān)視由隱性電平到顯性電平邊緣并使之同步。傳輸時間段(PTS)用于吸取CAN網(wǎng)絡(luò)上物理延遲。相位緩沖段1(PBS1)相位緩沖段2(PBS2)再同步時,用于賠償相位誤差。第15頁同步重新同步跳躍寬度(SJW):對相位誤差進(jìn)行同步賠償最大值。圖中加大或者減小量就是這個SJW。第16頁位時序設(shè)定舉例假如CAN波特率為1M,接收采樣時鐘為8M,那么我們把8M時鐘分為8份,其中SS:一份,PTS:3份,PBS1:2份,PBS2:2份。份尚有一種正式名稱:TimeQuantum(tq)。第17頁15:CANbus錯誤計(jì)數(shù)器節(jié)點(diǎn)始終處于3種狀態(tài)之一積極錯誤狀態(tài):積極錯誤狀態(tài)是能夠正常參與總線通信狀態(tài)。被動錯誤狀態(tài):被動錯誤狀態(tài)是易引發(fā)錯誤狀態(tài)。總線關(guān)閉態(tài):總線關(guān)閉態(tài)是不能參與總線上通信狀態(tài),信息接收和發(fā)送均被嚴(yán)禁。這些狀態(tài)依靠發(fā)送錯誤計(jì)數(shù)和接收錯誤計(jì)數(shù)來管理,根據(jù)計(jì)數(shù)值決定進(jìn)入何種狀態(tài)。錯誤狀態(tài)和計(jì)數(shù)值關(guān)系如上表所示。處于總線關(guān)閉態(tài)節(jié)點(diǎn),檢測到128次連續(xù)11個位隱性位則:TEC=0REC=0。相稱于自動恢復(fù)。單元錯誤狀態(tài)發(fā)送錯誤計(jì)數(shù)值(TEC)接收錯誤計(jì)數(shù)值(REC)積極錯誤狀態(tài)0~127且0~127被動錯誤狀態(tài)128~255或128~255總線關(guān)閉態(tài)256
~
~第18頁北極星電子CANBUS周圍產(chǎn)品介紹PCI8510:基于PCI總線PCCAN接口卡。CAN控制器為SJA1000.工業(yè)級。收發(fā)速度達(dá)8000幀/秒以上。USBCAN:基于USB總線PCCAN接口卡。CAN控制器為SJA1000或者STM32(驅(qū)動提供各自寄存器操作),并有一路或者兩路CAN通道。工業(yè)級。接收速度可達(dá)7500擴(kuò)展幀/秒。CANBUS協(xié)議分析儀:基于USB總線CAN協(xié)議分析儀??山馕鯟ANOpenJ1939DeviceNet協(xié)議。以及常規(guī)CAN數(shù)據(jù)分析。更多資料:STM32CAN發(fā)送和接收過濾詳解
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版房屋租賃合同水電費(fèi)環(huán)保計(jì)量與智慧家居配套服務(wù)合同3篇
- 2025版頂樓地產(chǎn)買賣合同協(xié)議3篇
- 二零二五年度2025版中學(xué)生個性化輔導(dǎo)家教合同3篇
- 二零二五年度個人商鋪?zhàn)赓U合同:商業(yè)街商鋪?zhàn)赓U協(xié)議12篇
- 2025版高空作業(yè)搬運(yùn)工勞務(wù)安全責(zé)任合同2篇
- 二零二五年度二手車異地過戶業(yè)務(wù)擔(dān)保合同
- 二零二五年度二手車買賣合同模板5篇
- 二零二五年度云計(jì)算資源彈性伸縮服務(wù)合同范本2篇
- 2025版交通工程勞務(wù)派遣及項(xiàng)目進(jìn)度管理合同3篇
- 二零二五年住宅小區(qū)拆除重建與綠化工程合同3篇
- 年產(chǎn)700噸青霉素的生產(chǎn)工藝設(shè)計(jì)
- 牛肉粉店運(yùn)營方案
- 2024年回遷房買賣合同樣本(5篇)
- 形式邏輯新解智慧樹知到期末考試答案章節(jié)答案2024年上海財(cái)經(jīng)大學(xué)
- 閩2023-G-01先張法預(yù)應(yīng)力高強(qiáng)混凝土管樁DBJT13-95
- 寵物醫(yī)療創(chuàng)新創(chuàng)業(yè)
- 醫(yī)院培訓(xùn)課件:《痞滿(少陽太陰合?。┗颊咧嗅t(yī)個案護(hù)理》
- 一種基于STM32的智能門鎖系統(tǒng)的設(shè)計(jì)-畢業(yè)論文
- 工程倫理-工程案例分析
- 物質(zhì)與意識的辯證關(guān)系
- 小學(xué)英語考試教師總結(jié)反思8篇
評論
0/150
提交評論