1.CAN網(wǎng)絡(luò)簡介
CAN的中文是控制局域網(wǎng)(Controller Area Network),與1986年由德國Bosch公司為汽車開發(fā)的網(wǎng)絡(luò)技術(shù),主要用于汽車的檢測和控制,目的是為了適應(yīng)汽車“減少線束數(shù)量”和“通過多個網(wǎng)絡(luò)進行大量數(shù)據(jù)的高速傳輸”的需求。
2.CAN網(wǎng)絡(luò)特點
CAN網(wǎng)絡(luò)的特點主要有以下幾點:
節(jié)點之間采用多主通信的方式
采用短幀結(jié)構(gòu),數(shù)據(jù)幀為8個字節(jié),實時性高
報文ID值越小,優(yōu)先級越高
具有非破壞性的總線仲裁處理機制
有可靠的CRC校驗方式,傳輸過程中出錯率極低
具有自動重發(fā)機制
節(jié)點嚴(yán)重錯誤時,具有自動脫離總線的功能
最遠通信距離可達10km(速率在5kbps一下)
通信速率最高可達1MB/s(此時通訊距離最遠40m)
實際節(jié)點數(shù)可大110個
成本低
3.CAN物理層結(jié)構(gòu)
CAN總線有兩條傳輸線路,為CAN_H和CAN_L,在總線兩端通常需要連接終端電阻,阻值為100-130 Ω。CAN網(wǎng)絡(luò)采用差分電平傳輸數(shù)據(jù),在ISO11898(高速CAN)中,CAN_H顯性狀態(tài)電壓約為3.5V,隱性狀態(tài)電壓約為2.5V,CAN_L在顯性和隱性狀態(tài)下的電壓則分別為1.5V和2.5V。在CAN總線上可以有許多個節(jié)點(ISO建議最大32個節(jié)點,實際最大節(jié)點數(shù)可根據(jù)收發(fā)器的負載能力進行調(diào)節(jié)),每個節(jié)點包括Host主機,CAN控制器和CAN收發(fā)器。CAN收發(fā)器主要實現(xiàn)二進制碼流與差分信號之間的轉(zhuǎn)換,CAN控制器的作用主要是用于處理來自Host主機的數(shù)據(jù)并傳給CAN收發(fā)器。
4.CAN通信原理
CAN網(wǎng)絡(luò)采用異步通信的方式,因此需要根據(jù)波特率進行采樣。紅色箭頭則表示采樣點的位置,圖示采樣得到數(shù)據(jù)則為“1010 1010”。
說到采樣點,就需要引入位時間的概念。位時間是指每傳輸一位數(shù)據(jù)需要的時間,即位時間=1/波特率。一個位時間可以分為同步段、傳播段、相位緩沖段1和相位緩沖段2,某個位時間每個段的時間份額。
不同的波特率時間對應(yīng)的采樣點以及位時間的份額可能不同。以波特率為500k為例,一個位時間被分成了16個時間份額,采用點在第14個時間份額。
這里有一個問題,為什么CAN通信中,要波特率和采樣點要設(shè)置成一樣的呢?畫個圖就能一目了然。假設(shè)采樣點提前20%,那么采樣的數(shù)據(jù)就會為“0101 1010”,和之前的數(shù)據(jù)第五位就不相同了。因此,如果采樣點不同,就會造成數(shù)據(jù)傳輸錯誤,傳輸?shù)臄?shù)據(jù)越多,累積的錯誤數(shù)據(jù)位就越多。所以,在進行CAN通信時,一定要將各節(jié)點的波特率和采樣點設(shè)置成相同的。
5.軟件中采樣點的設(shè)置
5.1在PCAN-View軟件中
1、打開PCAN-View軟件便會有如下界面
我們可以看到在connect對話框中有連接選項和以下設(shè)置界面,在設(shè)置界面我們可以設(shè)置時鐘頻率、波特率、總線時序等,以及在“Filter setting”欄中我們可以設(shè)置過濾器條件,用于過濾報文(標(biāo)準(zhǔn)幀/拓展幀,過濾條件為報文ID范圍)。
2、點擊“Bus Timing Register”選項框后面的三角形箭頭,選擇“Manage Bit rates”,進入Manage Bit rates對話框
3、選擇“Add”,便可在右端對話框中輸入自己想要的參數(shù),包括標(biāo)題、預(yù)分頻、時間段等參數(shù),根據(jù)我們輸入的參數(shù)在下方的對話框中會實時顯示對應(yīng)的波特率、采樣點、時間量等信息,以便于我們完成對采樣點等信息的設(shè)置。
最后點擊“OK”完成對采樣點的設(shè)置。(在之后我們?nèi)羰窍胍淖儾蓸狱c,我們可以點擊工具欄中的連接按鈕,重新進入連接界面(“connect”界面))。
5.2 在PEAK-Explorer 5中設(shè)置采樣點
1、打開PEAK-Explorer 5,點擊菜單欄中的“Tool”,在下拉菜單欄中選擇“Nets Configuration”,進入PCAN Nets Configuration對話框
2、在PCAN Nets Configuration對話框中USB菜單欄下的Internet選項上單擊鼠標(biāo)右鍵,選擇“New Net”,進入“Net Properties”對話框,在這你可以設(shè)置網(wǎng)絡(luò)名稱、時鐘頻率、波特率等信息。
3、點擊波特率欄后的三個點,進入Manage Bit rates對話框,后續(xù)采樣點的設(shè)置操作同PCAN-View中相同,這里便不再贅述。
以上便是通過PCAN-View和PEAK Explorer 5兩個軟件完成對采樣點的設(shè)置,這兩個軟件對采樣點的設(shè)置可以與波特率計算工具配合使用,可以實現(xiàn)更簡潔的工作方式,提高工作效率。
6.波特率計算工具的使用
6.1選擇你的波特率類型
可選擇三種波特率類型,其分別為CAN、CAN FD、SJA-1000三種類型。CAN Bit Rate類型是用于實現(xiàn)對用CAN作控制器的FPGA實現(xiàn)的設(shè)備的波特率仲裁類型,比如PCAN-miniPCIe。
CAN FD Bit Rate同CAN Bit Rate類似,唯一區(qū)別在于CAN FD Bit Rate是針對用CAN FD作控制器,比如PCAN-PCI Express FD。
SJA-1000 Bit Rate類型是被用于產(chǎn)自飛利浦、有著8MHz的時鐘頻率、基于SJA-1000 CAN控制器的設(shè)備,比如PCAN-USB。
6.2 輸入波特率和偏移量
有兩個鍵入框,在第一個鍵入框中輸入要查詢的波特率和它的單位;在第二個鍵入框中輸入允許的偏移量(可選可不選),如若選擇“Allow bit rate deviation”,那么就要考慮輸入一個偏移度(容忍量),并且這近似的值將被列在結(jié)果中。如果沒進行勾選,僅有波特率的匹配值被給出,而沒有偏移量。
6.3 選擇輸入頻率、采樣點和位時間
第一欄是讓你選擇一個頻率去限制時鐘頻率,這將被用于計算波特率(至少選擇一個頻率)。第二欄是輸入采樣點范圍(可選可不選),輸入采樣點范圍是用于過濾采樣結(jié)果,如果不進行勾選,將得到所有采樣點結(jié)果。第三欄是選擇位時間范圍(可選可不選),與第二欄功能類似,區(qū)別在于第三欄是基于位時間范圍來過濾所得結(jié)果。如果不進行勾選,將得到所有位時間結(jié)果。
6.4 點擊開始計算,得出所要結(jié)果
在結(jié)果中我們可看到,上面的框中顯示我們已選擇的設(shè)置,下面的框中顯示計算結(jié)果。另外就是在整個流程中我們并沒用到的按鍵,其對應(yīng)的功能分別如下。
不同設(shè)備之間要實現(xiàn)準(zhǔn)確無誤的通信,波特率匹配是很重要的條件。波特率計算工具將簡化這一計算過程,避免了繁瑣而又復(fù)雜的公式計算,熟練掌握這一工具的使用,將大大提高我們的工作效率,降低人工計算的錯誤率。
責(zé)任編輯:tzh
評論
查看更多