CAN是控制器局域網(wǎng)絡(ControllerAreaNetwork,CAN)的簡稱,由德國的BOSCH公司開發(fā),并最終成為國際標準(ISO 11898),是國際上應用最廣泛的現(xiàn)場總線之一。
CAN總線通過差模信號傳輸使得總線具有良好的抗干擾性能。由于總線具有實時性強、抗干擾能力強等特點,在軌道交通、汽車電子等行業(yè)得到廣泛的應用。伴隨著技術的升級和CAN節(jié)點的增加,對于經(jīng)典CAN最高1Mbps的波特率已經(jīng)不能滿足應用需求。因此CAN FD協(xié)議應運而生,并在2016年正式寫入ISO 11898,將最高波特率提高到5Mbps。但是隨著新一代汽車智能化的快速發(fā)展,對CAN通信的速率的提升有了進一步的要求,CiA(CAN in Automation)協(xié)會牽頭制定了CiA601-4的標準,定義了CAN FD SIC(Signal Improvement Capability)的要求,將通信速率提升到8Mbps,并在2024年正式寫入ISO 11898-2:2024國際標準。同時下一代的標準CAN XL也被進一步明確,將CAN通信速率的上限提升到20Mbps,CAN的應用場景也將進一步拓寬。
作為國內(nèi)接口芯片的領行者和CiA協(xié)會的會員,思瑞浦可以為用戶提供全系列的CAN收發(fā)器產(chǎn)品,并持續(xù)大力投入緊跟行業(yè)的需求和發(fā)展方向,為用戶提供高可靠性、高性能、高性價比的解決方案。
思瑞浦的CAN收發(fā)器產(chǎn)品已被廣泛應用于眾多的領域,我們也收集到了很多來自客戶實際應用中比較常見的一些應用相關疑問,本文將介紹常見的CAN總線應用問題,并提供相應的解決方法,以幫助您更好地理解和解決這些問題。
CAN芯片最低速率要求
CAN總線上的數(shù)據(jù)采用不歸零編碼方式,顯性和隱性同時傳送時,總線的結果值為顯性。而對于具有TXD顯性超時保護功能的CAN收發(fā)器,在TXD引腳顯性時間超過允許最大的時間tDOM后,發(fā)送器將被禁能,收發(fā)器輸出表現(xiàn)為隱性狀態(tài),根據(jù)CAN協(xié)議(ISO 11898),除了錯誤幀和過載幀(允許6個相等顯性位),CAN幀報文中在5個連續(xù)相等位后,發(fā)送器自動插入一個與之互補的補碼位;接收時,這個填充位被自動丟掉。例如,5個連續(xù)的高電平位后,CAN自動插入一個低電平位。
因此TXD只允許最多11個連續(xù)的顯性位,最壞的情況是一個錯誤幀緊接在5個連續(xù)的顯性位后,即tDOM的最小值要求收發(fā)器的最小位速率必須大于36.67kbps。
ISO 11898-2顯性超時要求
此外顯性超時保護功能可有效保護總線的正常通信,由于CAN總線顯性電平的“支配地位”,在CAN總線組網(wǎng)時,若有其中一個CAN節(jié)點出現(xiàn)硬件或者軟件上的錯誤,使控制器TXD引腳持續(xù)處于低電平,則會使總線電平持續(xù)保持在顯性狀態(tài),總線上所有節(jié)點均不能正常通信,導致總線癱瘓。
若總線節(jié)點數(shù)量眾多,確定問題節(jié)點將是一項艱巨的任務,TXD顯性超時后,發(fā)送器將被禁能,收發(fā)器輸出表現(xiàn)為隱性狀態(tài),總線將不受該節(jié)點影響,從而保證總線的正常通信。收發(fā)器下一個顯性輸出只有在釋放了TXD后才可以產(chǎn)生。
思瑞浦推出的全系CAN收發(fā)器均支持TXD顯性超時保護功能,保證了總線通信的魯棒性。
采樣點設置錯誤
采樣點是CAN控制器讀取總線電平并解釋各個比特位邏輯值的時間點。由于CAN報文的一個位時間由若干個Tq組成(CAN控制器的最小時間周期稱作時間份額Tq,它是通過對芯片晶振周期進行分頻而得來的),通常為8~25個,同時根據(jù)功能分為4個階段: 同步段、傳播段、相位緩沖段1和相位緩沖段2。
1個bit位的構成
采樣點即為在某位時間內(nèi)讀取總線電平的時刻,采樣時刻的設置通過配置寄存器決定,對于同一CAN整車網(wǎng)絡,各個節(jié)點應該盡量使用相同的采樣點位置,否則容易出現(xiàn)采樣錯誤,進而使整個網(wǎng)絡的通信出現(xiàn)故障。
收發(fā)報文報文ID沖突
CAN總線是廣播類型的總線,所有的消息都以固定的格式發(fā)送。在總線空閑狀態(tài)下,任意節(jié)點都可以向總線上發(fā)送信息。最先向總線發(fā)送信息的節(jié)點獲得總線的發(fā)送權。當多個節(jié)點同時向總線發(fā)送消息時,所發(fā)送消息的優(yōu)先權高的那個節(jié)點獲得總線的發(fā)送權。
所謂節(jié)點的優(yōu)先權是根據(jù)標識符(Identifier以下稱為ID)決定。這里ID不是表示發(fā)送的目的地址,而是表示訪問總線的消息的優(yōu)先級,ID值越小優(yōu)先級越高。當兩個以上的單元同時開始發(fā)送消息時,對各消息ID的每個位進行逐個仲裁比較,仲裁獲勝(被判定為優(yōu)先級最高)的單元可繼續(xù)發(fā)送消息,仲裁失利的單元則立刻停止發(fā)送而進行接收工作。
仲裁過程示意
ID的大小決定了總線上節(jié)點沖突時各節(jié)點的發(fā)送順序,整車上通信的報文數(shù)量級在幾十甚至上百,如果這些報文的ID重復,總線上會出現(xiàn)錯誤幀,因此在前期軟件設計階段需根據(jù)ECU設備的重要性定義好每個設備在組網(wǎng)中ID,并保證其ID在組網(wǎng)中的唯一性。
CAN總線組網(wǎng)問題
ISO11898-2中對高速CAN物理層進行了規(guī)定,推薦CAN網(wǎng)絡采用總線形式的線性拓撲結構,如下圖所示,線性拓撲CAN網(wǎng)絡采用單一信道(總線)作為傳輸介質,所有的站點通過相應的硬件接口接到一條公共的總線上。線性拓撲阻抗匹配比較簡單,只需要在主干的兩端并上合適的終端電阻即可(2km內(nèi)通常為120Ω)。
線性拓撲
T型接線方式會存在由于分支長度以及分支長度的積累造成阻抗的不連續(xù),因而接頭處產(chǎn)生信號“反射”的現(xiàn)象。反射的信號量由瞬態(tài)阻抗的變化量決定,變化量越大,反射就越嚴重。分支處產(chǎn)生的是負相反射,引起信號電平下沖,這種下沖可能會超過噪聲容限,造成誤觸發(fā)。為了避免這種情況發(fā)生,希望反射波盡快回到源端,也就是支線要盡可能短。在ISO11898-2中規(guī)定分支長度在1Mbps下不得大于0.3m,則可以穩(wěn)定運行,如下圖。
組網(wǎng)拓撲要求
此外CAN總線長度與傳輸速率有關,在1Mbps速率下點對點通信總線最大長度為40m。實際線長與總線節(jié)點數(shù)量以及線材拓撲有關,需根據(jù)具體調試決定。
通信速度和最大總線長度的關系
-
收發(fā)器
+關注
關注
10文章
3393瀏覽量
105860 -
控制器
+關注
關注
112文章
16198瀏覽量
177398 -
CAN總線
+關注
關注
145文章
1936瀏覽量
130628
發(fā)布評論請先 登錄
相關推薦
評論