基礎篇18.can總線工作原理_第1頁
基礎篇18.can總線工作原理_第2頁
基礎篇18.can總線工作原理_第3頁
基礎篇18.can總線工作原理_第4頁
基礎篇18.can總線工作原理_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

學ARM從STM32開始主講人:劉洋學習板:LY-STM32手機:網(wǎng)站:郵箱:

30094562淘寶店:本公司授課所使用產(chǎn)品均為本公司自主研發(fā)CAN總線工作原理CAN是什么?CAN是ControllerAreaNetwork的縮寫(以下稱為CAN),是ISO*1國際標準化的串行通信協(xié)議。

在當前的汽車產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數(shù)量也隨之增加。為適應“減少線束的數(shù)量”、“通過多個LAN,進行大量數(shù)據(jù)的高速通信”的需要,1986年德國電氣商博世公司開發(fā)出面向汽車的CAN通信協(xié)議。此后,CAN通過ISO11898及ISO11519進行了標準化,現(xiàn)在在歐洲已是汽車網(wǎng)絡的標準協(xié)議。

現(xiàn)在,CAN的高性能和可靠性已被認同,并被廣泛地應用于工業(yè)自動化、船舶、醫(yī)療設備、工業(yè)設備等方面。下圖是車載網(wǎng)絡的構想示意圖。CAN通信協(xié)議的開發(fā),使多種LAN通過網(wǎng)關進行數(shù)據(jù)交換得以實現(xiàn)。(1)多主控制在總線空閑時,所有的單元都可以發(fā)送消息(多主控制)。最先訪問總線的單元可獲得發(fā)送權。多個單元同時開始發(fā)送時,發(fā)送高優(yōu)先級ID消息的單元可獲得發(fā)送權,所有的消息都以固定的格式發(fā)送。(2)系統(tǒng)的柔軟性與總線相連的單元沒有類似于“地址”的信息。因此在總線上增加單元時,連接在總線上的其它單元的軟硬件及應用層都不需要改變。(3)通信速度根據(jù)整個網(wǎng)絡的規(guī)模,可設定適合的通信速度。在同一網(wǎng)絡中,所有單元必須設定成統(tǒng)一的通信速度。即使有一個單元的通信速度與其它的不一樣,此單元也會輸出錯誤信號,妨礙整個網(wǎng)絡的通信。不同網(wǎng)絡間則可以有不同的通信速度。CAN的特點(4)遠程數(shù)據(jù)請求可通過發(fā)送“遙控幀”請求其他單元發(fā)送數(shù)據(jù)。(5)錯誤檢測功能·錯誤通知功能·錯誤恢復功能所有的單元都可以檢測錯誤(錯誤檢測功能)。檢測出錯誤的單元會立即同時通知其他所有單元(錯誤通知功能)。正在發(fā)送消息的單元一旦檢測出錯誤,會強制結束當前的發(fā)送。強制結束發(fā)送的單元會不斷反復地重新發(fā)送此消息直到成功發(fā)送為止(錯誤恢復功能)。(6)故障封閉CAN可以判斷出錯誤的類型是總線上暫時的數(shù)據(jù)錯誤(如外部噪聲等)還是持續(xù)的數(shù)據(jù)錯誤(如單元內部故障、驅動器故障、斷線等)。由此功能,當總線上發(fā)生持續(xù)數(shù)據(jù)錯誤時,可將引起此故障的單元從總線上隔離出去。(7)連接CAN總線是可同時連接多個單元的總線??蛇B接的單元總數(shù)理論上是沒有限制的。但實際上可連接的單元數(shù)受總線上的時間延遲及電氣負載的限制。降低通信速度,可連接的單元數(shù)增加;提高通信速度,則可連接的單元數(shù)減少。STM32bxCAN主要特點●支持CAN協(xié)議2.0A和2.0B主動模式●波特率最高可達1兆位/秒●支持時間觸發(fā)通信功能發(fā)送●3個發(fā)送郵箱●發(fā)送報文的優(yōu)先級特性可軟件配置●記錄發(fā)送SOF時刻的時間戳接收●3級深度的2個接收FIFO●可變的過濾器組:─在互聯(lián)型產(chǎn)品中,CAN1和CAN2分享28個過濾器組─其它STM32F103xx系列產(chǎn)品中有14個過濾器組●標識符列表●記錄接收SOF時刻的時間戳時間觸發(fā)通信模式●禁止自動重傳模式●16位自由運行定時器●可在最后2個數(shù)據(jù)字節(jié)發(fā)送時間戳管理●中斷可屏蔽初學者需要關注的幾個重點1.隱性位與顯性位CAN總線為“隱性”(邏輯1)時,CAN_H和CAN_L的電平為2.5V(電位差為0V);CAN總線為“顯性”(邏輯0)時,CAN_H和CAN_L的電平分別是3.5V和1.5V(電位差為2.5V)2.數(shù)據(jù)幀類型:(1)標準數(shù)據(jù)幀(2)擴展數(shù)據(jù)幀(3)標準遠程幀(4)擴展遠程幀CAN總線上的所有器件都必須使用相同的比特率。然而,并非所有器件都要求具有相同的主振蕩器時鐘頻率。對于采用不同時鐘頻率的器件,應通過適當設置波特率預分頻比以及每一時間段中的時間份額的數(shù)量來對比特率進行調整?!裢蕉?SYNC_SEG):同步段為首段,用于同步CAN總線上的各個節(jié)點。輸入信號的跳變沿就發(fā)生在同步段,該段持續(xù)時間為1TQ?!駮r間段1(BS1):定義采樣點的位置。其值可以編程為1到16個時間單元,但也可以被自動延長,以補償因為網(wǎng)絡中不同節(jié)點的頻率差異所造成的相位的正向漂移?!駮r間段2(BS2):定義發(fā)送點的位置。其值可以編程為1到8個時間單元,但也可以被自動縮短以補償相位的負向漂移。重新同步跳躍寬度(SJW)定義了,在每位中可以延長或縮短多少個時間單元的上限。其值可以編程為1到4個時間單元。3.位時間特性CAN波特率=系統(tǒng)時鐘/分頻數(shù)/(1*tq+tBS1+tBS2)其中tBS1=tq*(TS1[3:0]+1)tBS2=tq*(TS2[2:0]+1)tq=(BRP[9:0]+1)*tPCLK這里tq表示1個時間單元tPCLK=APB時鐘的時間周期BRP[9:0],TS1[3:0]和TS2[2:0]在CAN_BTR寄存器中定義CAN波特率計算公式總體配置保持tBS1>=tBS2,tBS2>=1個CAN時鐘周期,tBS2>=2tSJWCAN波特率參數(shù)設置5KBPSCAN_SJW=CAN_SJW_2tq;

CAN_BS1=CAN_BS1_6tq;

CAN_BS2=CAN_BS2_4tq;

CAN_Prescaler=600;10KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=600;20KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=300;25KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=240;40KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=150;CAN波特率參數(shù)設置50KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=120;62.5KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=96;80KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=75;100KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=60;125KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=48;CAN波特率參數(shù)設置200KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=30;250KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=24;400KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_5tq;

CAN_BS2=CAN_BS2_3tq;

CAN_Prescaler=10;500KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=12;800KBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_5tq;

CAN_BS2=CAN_BS2_3tq;

CAN_Prescaler=5;CAN波特率參數(shù)設置1MKBPSCAN_SJW=CAN_SJW_1tq;

CAN_BS1=CAN_BS1_3tq;

CAN_BS2=CAN_BS2_2tq;

CAN_Prescaler=6;(1)屏蔽位模式在屏蔽位模式下,標識符寄存器和屏蔽寄存器一起,指定報文標識符的任何一位,應該按照“必須匹配”或“不用關心”處理。(2)標識符列表模式在標識符列表模式下,屏蔽寄存器也被當作標識符寄存器用。因此,不是采用一個標識符加一個屏蔽位的方式,而是使用2個標識符寄存器。接收報文標識符

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論