CAN是Controller Area Network 的縮寫(以下稱為CAN),是ISO*1國際標(biāo)準(zhǔn)化的串行通信協(xié)議。在當(dāng)前的汽車產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。CAN總線是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。
CAN網(wǎng)絡(luò)的消息是廣播式的,即在同一時刻網(wǎng)絡(luò)上所有節(jié)點偵測的數(shù)據(jù)是一致的,它是一種基于消息廣播模式的串行通信總線。
1
CAN總線的特點
①多主控制
②消息的發(fā)送
③系統(tǒng)的柔軟性
④通信速度
⑤遠(yuǎn)程數(shù)據(jù)請求
⑥錯誤檢測功能·錯誤通知功能·錯誤恢復(fù)功能
⑦故障封閉
⑧連接
2
CAN總線錯誤狀態(tài)
01
錯誤狀態(tài)的種類
總線上的單元(節(jié)點)處于以下3種錯誤狀態(tài)之一。
①主動錯誤狀態(tài)
當(dāng)接收錯誤計數(shù)器和發(fā)送錯誤計數(shù)器計數(shù)值全部小于等于127時,節(jié)點處在主動錯誤狀態(tài)下,此時設(shè)備可以正常在總線上進(jìn)行通信,但節(jié)點需要上報主動錯誤狀態(tài)。
②被動錯誤狀態(tài)
當(dāng)接收錯誤計數(shù)器或發(fā)送錯誤計數(shù)器任意計數(shù)器值大于127時,節(jié)點處在被動錯誤狀態(tài),此時節(jié)點易導(dǎo)致總線錯誤。因此,處于被動錯誤的節(jié)點,不能連續(xù)向總線發(fā)送數(shù)據(jù),需要等待一定周期。處于初始錯誤狀態(tài)的節(jié)點,檢測到總線錯誤時,需要上報被動錯誤狀態(tài)。
③總線關(guān)閉態(tài)
當(dāng)發(fā)送錯誤計數(shù)器計數(shù)值大于255時,節(jié)點會進(jìn)入總線關(guān)閉狀態(tài)。處于總線關(guān)閉狀態(tài)下的節(jié)點,對總線上其他節(jié)點處于不可見狀態(tài),因此總線關(guān)閉節(jié)點不能發(fā)送數(shù)據(jù)到總線上,也不能接收總線上的數(shù)據(jù)。
處于總線關(guān)閉狀態(tài)的節(jié)點,只有通過從新初始化且等待一定總線空閑時間,才可以重新恢復(fù)并接入總線。
以上三種錯誤狀態(tài),通過發(fā)送接收錯誤計數(shù)管理,根據(jù)不同計數(shù)器狀態(tài)進(jìn)入不同錯誤狀態(tài),其對應(yīng)關(guān)系如下圖表:
圖1. 單元的錯誤狀態(tài)
02
錯誤計數(shù)值
錯誤計數(shù)根據(jù)不同的總線錯誤增加不同計數(shù)值,其對應(yīng)關(guān)系如下圖表:
3
其他常見問題
①CAN總線最少單元數(shù)量?
CAN總線最少需要2臺單元。
②CAN總線最多單元數(shù)量?
可連接的單元總數(shù)理論上是沒有限制的。
但實際上可連接的單元數(shù)受總線上的時間延遲及電氣負(fù)載的限制。降低通信速度,可連接的單元數(shù)增加;提高通信速度,則可連接的單元數(shù)減少。
③終端電阻數(shù)量?
在總線的首尾兩端(CANH、CANL之間)各接一個120?(Min.85?;Max.130?)電阻。(實際應(yīng)用中可能會存在無終端電阻或者多個終端電阻甚至每一個設(shè)備都有終端電阻,需要避免此類問題)。
推薦閱讀:《CAN總線為什么要加終端電阻?》
④總線速率問題?
同一總線同一時刻只存在一種速率,新接入總線的設(shè)備,需要提前知道總線速率并與之匹配,否則將不可通信。
⑤總線支線長度可以有多遠(yuǎn)?
ISO11898中只規(guī)定1M波特率下分支不超過0.3米。
支線過長會直接導(dǎo)致總線阻抗匹配問題發(fā)生,阻抗匹配是指信號源或者傳輸線跟負(fù)載之間達(dá)到一種適合的搭配。阻抗匹配主要為了調(diào)整負(fù)載功率和抑制信號反射,所以一旦阻抗匹配出現(xiàn)問題,就出現(xiàn)了上升沿和下降沿的臺階,很容易在邏輯識別的時候產(chǎn)生錯誤的識別。從而導(dǎo)致位寬失調(diào),節(jié)點接收錯誤信息。
⑥如何選擇線材?
選擇屏蔽雙絞線,且屏蔽層單端接地。
⑦CANH、CANL之間短路:當(dāng)CAN H 與CAN L 短路時,CAN網(wǎng)絡(luò)會關(guān)閉,無法再進(jìn)行通信。CANH、CANL對電源(正、負(fù))短路:可能無法正常通信,或者抗干擾能力大大降低。
⑧CANH、CANL斷路,無法正常通信;CANH、CANL反接,亦無法正常通信。
⑨采樣點匹配
同一總線,應(yīng)盡量將采樣點匹配到一致。否則可能導(dǎo)致部分設(shè)備無法正常通信。
⑩波特率配置問題?
以STM32F103為例:
brp應(yīng)該盡量小。
波特率>800kbps時,推薦采樣點75%;
波特率>500kbps時,推薦采樣點80%;
波特率<500kbps時,推薦采樣點87.5%。
-
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6662瀏覽量
110909 -
CAN總線
+關(guān)注
關(guān)注
145文章
1956瀏覽量
131119 -
通信協(xié)議
+關(guān)注
關(guān)注
28文章
916瀏覽量
40452
發(fā)布評論請先 登錄
相關(guān)推薦
評論