CAN總線接口模塊工作原理
本文引用地址:http://cqxgywz.com/article/201612/330846.htm圖5 超載幀結構
(5)空閑幀。
數據幀及遠程幀與前幀消息之間的間隔被稱為幀間空間的場隔開,如圖6所示,幀間
圖6 不包含暫停發送場的幀間空間
空間由間歇場和總線空閑場組成,前面已經發送過報文的錯誤節點還包括暫停發送場。間歇場由3個隱性位 組成,在此期間,CAN節點不進行幀發送。間歇場的存在使CAN控制器在下次消息發送前有時間進行內部處理 操作。
總線空閑場可以為任意長度,此時總線處于空閑狀態,允許任何節點開始報文發送。等待報文發送的節點 緊隨間歇場后啟動報文發送,即在空閑場第一位期間就啟動報文發送。
如圖7所示,錯誤認可節點完成一個報文發送后,在開始另一次報文發送或進入總線空閑狀態之前,緊隨間 歇場發送8個隱性位的暫停發送場。發送暫停發送場期間,若其他節點開始發送報文,則本節點停止送出暫 停發送場,并變為報文接收器。
圖7 包含暫停發送場的幀間空間 (6)標準數據幀。
標準數據幀的結構如圖8所示。
圖8 標準幀格式
(7)擴展幀。
擴展幀的結構如圖9所示。
圖9 擴展幀格式
3.傳輸過程中的可靠性和同步問題
(1)可靠性。
CAN網絡通信要求信息可靠傳送,但由于外界干擾不可避免地會對通信線路造成影響,誤碼總是客觀存在 的,所以網絡通信中必須采取某些差錯控制措施。
當出現錯誤時,及時發現錯誤并及時加以糾正。為提高抗干擾能力和數據的可靠性,CAN采用了多種錯誤 檢測手段:發送監視、位填充錯誤檢測、CRC校驗、格式錯誤檢測以及應答錯誤檢測。
為保證CAN網絡中節點間的正常通信,必須對報文的位定時作出規定。接收同步、網絡傳輸延遲補償及采 樣點定位均由CAN協議集成電路的可編程位定時邏輯確定。CAN中正常位速率被定義為:在不需要重同步的情 況下,每秒傳送的位數。正常位定時被定義為一位的持續時間,實際上就是正常位速率的倒數。
(2)同步問題。
位時間可劃分為4個互不重疊的時間段:同步段(SYNC ̄SEG:SynchronizationSegment)、傳播段(PROPˉSEG:Propagation Segment)、相位緩沖段1(PHASEˉSEG:Phase Bufer Segment1)及相位緩沖段2(PHASE-SEG2:Phase Bufer Segment2)。
同步段用于總線上各節點消息傳輸同步,長度為一個時間份額,此段內需要一個跳變沿。傳播段用于補償網絡內的物理延遲時間,它是信號在總線上傳播時間、輸入比較器延遲和輸出驅動器延遲之和的兩倍,長度可被編程為1~8個時間份額。實際上,在CAN協議集成器件中并沒有定義此段。
相位緩沖段用于補償上升沿或下降沿的相位誤差,通過重同步,這兩個時間段可被用戶延長或縮短。相位緩沖段1長度可編程為1~8個時間份額,相位緩沖段2長度取值為相位緩沖段1最大值和消息處理時間之和,消息處理時間個于等于兩個時間份額(這一點在CAN協議集成器件中并未嚴格遵守,實際應用中相位緩沖段1比相位緩沖段2長)。
由采樣點開始,保留用于計算后續位電平的時間段被定義為消息處理時間,其長度小于或等于2個時間份額。總線電平在采樣點被讀取,所以此點代表該位的數值大小。采樣點位于相位緩沖段1的末尾處。
時間份額是由振蕩器時鐘分頻得出的一個固定時間單元,在CAN協議集成器件中被稱為系統時鐘周期,可由一個預分頻器設定大小,時間份額由下式計算:
時間份額=m×最小時間份額
其中m為預分頻器系數,最小時間份額在CAN集成器件中被稱為振蕩器時鐘周期。一個位時間中時間份額總數必須被編程在8~25之間。
網絡常采用的同步方式有兩種:準同步和標準同步。準同步又稱獨立同步,各節點均擁有時間獨立的高穩定度振蕩時鐘,它們的頻率并不一定完全相等,但必須時間相近。準同步的優點是同步體系簡單,容易實現,缺點是工作可靠性較差。
標準同步又分為主從同步法和相互同步法兩種,主從同步方法中,各網絡節點的時鐘以在網絡中處于重要位置的節點時鐘為基準。其優點是結構相對簡單,網絡穩定性好,缺點是網絡過分依賴于主時鐘,有全網癱瘓的危險。
和其他計算機網絡相比,CAN網絡結構相對簡單,所以采用準同步方式,每個節點都擁有自己獨立的振蕩時鐘。CAN網絡中,同步方式又分硬同步和重同步兩種形式,同步過程由器件自身完成。
CAN模塊使用RB3/CANRX和RB2/CANTX/INT2引腳與CAN總線驅動器接口。要配置CANRX和CANTX為CAN接口,需要將TRISB〈3>位置1,TRISB(2)位清0。


評論