CAN總線的特點、幀類型以及應用中的注意事項

2020-12-01 OFweek維科網

1980年,Bosch的工程師開始研究汽車上高速串行通信的問題,並在1986年發布了CAN(Controller Area Network)總線。CAN以其多主,高速(最高1Mbps),抗幹擾的特性被廣泛應用汽車及各種工業環境。在此我們主要介紹一下CAN總線的特點,幀類型,以及應用中的注意事項。

1.CAN總線特點

1.1多主控制

跟我們常用的RS485隻有一個主機,從機只能等待主機的輪詢不同,在CAN總線中,當任意一個節點監測到總線空閒時,就可以立即啟動信息的發送,也就是每一個節點都可以當主機。當然,這馬上會引起我們的擔心。如同一個家庭每個人都當家做主,那還不亂了套嗎?不急,我們來看一下。這個問題是如何被巧妙地解決的。

物理層,CAN採用差分總線。單片機引腳的邏輯電平0,被CAN收發器(PHY)轉換為顯性電平(Dominant),邏輯電平1被轉換為隱性電平(Reccesive)。總線上執行的是「線與」邏輯,只要有一個節點輸出顯性電平,那麼總線上就是顯性電平。

仲裁(Arbitration),CAN的發送總是以SOF(Start Of Frame)起始,緊跟器後是ID。在發送ID的同時,節點監聽總線上的顯隱狀態,當監聽到的狀態與自己發送的不一致時,此節點將停止發送,進入只收模式。如下圖所示,每一幀消息所具有的ID決定了此消息的優先級,發送最高優先級消息的節點獲得總線最後的控制權,得以最終完整的發送自己的消息。

接收濾波(Filter)。一個掛在總線上的節點可以監聽到所有的消息(Message),但通常我們只對其中某些消息感興趣,這時怎麼辦呢?CAN模塊一般會提供接收濾波功能(Filter)。通過設置濾波寄存器,我們可以達到接收消息時,比對ID所有位,也可以只比對ID某些位,從而達到只接收ID與自己完全相同的消息,或接收ID與自己部分相同的消息的目的。利用這種機制可以給節點編組,給組成員群發消息。

1.2速度快,距離遠

CAN總線可以達到1Mbps的速率。總線速度隨著傳輸距離增加而下降,下面是一些典型速率。在一個數據幀內可以傳送8個字節的數據。

1000kbps 40m

500kbps  130m

100kbps  620m

50kbps   1300m

5kbps    10000m

2012年,Bosch又發布了CANFD(CAN with Flexible Data-rate),最高速率可以達到10Mbps,在一個數據幀內可以傳送64位元組的數據。2015 年 ,國際標準化組織(ISO)正式發布支持CAN FD的11898-1協議。

2.幀類型

CAN協議很簡潔,只包含4種幀類型。

數據幀(Data Frame),用來把數據從發送節點傳送至接收節點。

遠程幀(Remote Frame),一個節點用來請求其它節點發送數據。一個節點發送遠程幀時會把Arbitration Filed最後一位RTR(置1),具有相同ID的節點會把數據發送到總線上。

錯誤幀(Error Frame),當一個節點檢測到錯誤時會向總線發出錯誤幀,以通知其它節點。

過載幀(Overload Frame),用來在數據幀或遠程幀之間插入延時。

幀間隔(Interframe Space),不是一種幀類型。它是幀之間的間隙,由多個連續的隱性電平構成。

在編程時我們直接用到的就是數據幀和遠程幀。軟體編程比較簡單,需要注意的是一般需要設置寄存器中的初始化請求位(Initialization request),使模塊進入初始化狀態,才能開始進行CAN模塊的各種配置,初始化完成後退出初始化狀態,進入運行狀態。

3.CAN總線應用注意事項

3.1終端匹配電阻

在CAN總線的兩端要用120歐的電阻端接進行阻抗匹配,因為CAN總線長度一般會比較長,傳輸的信號速度快,特別是信號的邊沿跳變部分頻率很高。

傳輸線效應 平常我們總是認為電信號從一個引腳發出,通過導線,瞬間就會到達接收引腳,導線上的電壓處處是相等的。但是當信號的頻率很高,或者導線特別長,總之導線的長度接近傳導信號波長的1/10後,我們就需要轉變一下我們的觀念,此時信號的傳輸主要受電纜特性阻抗的影響。

電纜特性阻抗 = 信號電場強度(伏特/米) / 磁場強度(安培/米)

電纜的特性阻抗與電纜的材質,粗細,線纜之間的距離有關,而與電纜的長度無關。電纜的特性阻抗還和信號的頻率有關,但是當頻率增加到一定數值時,特性阻抗不再變化。常用的帶屏蔽雙絞線的特性阻抗是120歐。

信號在阻抗不連續處會產生反射,所以要保持電纜阻抗的連續性,而且線纜終點需要用等於電纜特性阻抗的電阻進行端接,以消耗掉傳輸至端點的信號,否則信號會反射回去和後續發出的信號產生疊加,引起錯誤。

頻率與波長對應關係

150K  2000m

500K   600m

1M     300m

10M     30m

端接電阻的另一個作用是可以使CAN總線從顯性狀態快速回到隱性狀態。因為在顯性狀態下,兩條線纜CAN_H, CAN_L之間的寄生電容會被充電,如果沒有一個放電迴路,總線不能快速回到隱性狀態。

3.2EMC防護

CAN常常工作在強幹擾的工業環境中,採用屏蔽雙絞線會極大的提升EMC防護性能。同時如果數字電路部分和CAN收發器之間用高速光耦隔離開,並且對兩部分採用完全隔離的電源供電,那麼可以把總線上的幹擾最大限度地隔離在外部。

需要注意的是屏蔽層只能在一點接入大地。如果在多個點接地,那麼通過大地會形成電流環路,反而會引入噪聲。

3.3時鐘容差(Oscillator Tolerance)

總線的速度越高,需要的時鐘精度越高。一般在低於125kpbs時可以用低成本的陶瓷震蕩器(ceramic resonators),更高的速度下建議使用晶體振蕩器(Quartz,or Crystal Oscilators)。

3.4CAN模塊死機現象

CAN模塊內部有監控電路,總線上的異常,如短路等,會引起錯誤計數器增長。TEC(Transmit Error Counter), REC(Receive Error Counter)。當發送錯誤TEC計數超過255後,CAN模塊進入BUS-OFF模式,此節點不能發送也不能接收。這樣做的好處是可以避免由個別模塊的問題引起整個總線不能工作。

晶片一般會提供兩種恢復機制:自動和手動模式。比如在STM32單片機中,如果ABOM位設置為1,CAN模塊將不斷嘗試自動恢復。如果ABOM=0,則需要程序進入CAN初始化模式,重新配置後,再退出初始化進入正常工作模式。

由於CAN總線非常可靠,不易出錯,所以在測試階段建議人為製造一些總線錯誤,比如短路,斷路,強幹擾之類,看程序是否能從異常狀態下恢復。

相關焦點

  • Profibus現場總線的特點優勢及在工業控制系統中應用
    Profibus現場總線的特點優勢及在工業控制系統中應用 劉美俊 發表於 2020-03-17 10:46:35 1 引言 現場總線是信息技術、網絡技術的發展在控制領域的體現
  • 一文看懂CAN總線原理、特點及應用
    CAN總線的特點  1、具有實時性強、傳輸距離較遠、抗電磁幹擾能力強、成本低等優點;  2、採用雙線串行通信方式,檢錯能力強,可在高噪聲幹擾環境中工作;  3、具有優先權和仲裁功能,多個控制模塊通過CAN 控制器掛到CAN-bus 上,形成多主機局部網絡;  4、可根據報文的ID決定接收或屏蔽該報文
  • 在嵌入式網關中CAN總線有什麼應用?
    在嵌入式網關中CAN總線有什麼應用? 從現實來看,乙太網擴展了現有的系統,但是現場總線不可能完全被工業乙太網替代,後者的潛力巨大,其應用領域一定會不斷擴大。所以,將現場總線與乙太網結合,從而實現底層生產與上層管理的緊密集成,已經成為一種趨勢。CAN總線作為國際上應用最廣泛的現場總線之一,在我國也得到了很廣泛的應用,該設計以 CAN總線作為工業現場總線,實現其與乙太網的互聯。
  • 探討CAN總線的抗幹擾能力
    位填充的另一個缺點是造成數據輸送率的下降以及幀長度的不確定性。FlexRay總線沒有用位填充的方法,使用其他方法實現位同步。2.2 幀編碼與解碼  關於CAN總線的幀已有大量文獻介紹,這裡不再贅述。FlexRay總線則複雜得多,其中對用戶安排帶寬起關鍵作用的是擴展字節的概念。
  • Modbus總線的特點_Modbus總線的應用
    打開APP Modbus總線的特點_Modbus總線的應用 電氣自動化應用 發表於 2020-06-16 14:37:36   Modbus的起源和發展   Modbus是由Modicon(現為施耐德電氣公司的一個品牌)在1979年發明的,是全球第一個真正用於工業現場的總線協議。
  • 編碼器的CAN總線接口及其在光電跟蹤系統中的應用
    在靶場設備、數字經緯儀、雷達及一些大型軍用設備等數位化測量跟蹤和定位系統中得到廣泛應用。在這些實際應用的控制系統中由於各分系統傳感器和探測器輸出的數據結構不同,絕對式光電軸角編碼器會用到不同的內部數據通信方式,主要有RS232、RS485/488串口,並口等。
  • 嵌入式Win CE中CAN總線控制器的驅動設計與實現
    計算機、通信(3C)一體化趨勢日趨明顯,嵌入式系統再度成為研究和應用的熱點。   1 CAN總線及控制器工作原理   控制器區域網CAN是由ISO定義的串行通信總線,主要用於各種過程檢測及控制。它是一種多主總線,通信介質可以是雙絞線、同軸電纜或光導纖維。通信速率可達1 Mb/s。CAN總線通信接口中集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗餘檢驗、優先級判別等項工作。
  • 基於C8051F040單片機的CAN總線和RS-232串口通信設計
    為了實現對CAN總線和RS-232串口雙向通信需求,提出了一種基於C8051F040單片機的數據通信方案,並完成系統設計。分析了CAN總線和RS-232串口的通信特點,介紹了單片機硬體,並對軟體的設計思路與流程做了詳盡描述,完成功能檢測。實驗結果表明,該設計達到了要求。
  • 多種工業應用串行總線特性及比較
    由於在消費類電子產品、計算機外設、汽車和工業應用中增加了嵌入式功能,對低成本、高速和高可靠通信介質的要求也不斷增長以滿足這些應用,其結果是越來越多的處理器和控制器用不同類型的總線集成在一起,實現與PC軟體、開發系統(如仿真器)或網絡中的其它設備進行通信。目前流行的通信一般採用串行或並行模式,而串行模式應用更廣泛。
  • Essay寫作類型以及寫作注意事項
    而且每個專業學科要求寫的Essay類型還都不一樣, 這就意味著在寫作格式內容, 要求上面會有區別; 說到這裡, 同學們是不是覺得有點腦殼疼? 別急,本期為大家分享: 基礎的Essay寫作類型以及寫作注意事項。
  • 基於CAN總線的分布式熱電阻智能節點的設計
    3.2 節點與上位機的can通信智能節點與主控卡或上位機的通信主要基於can通信協議來完成,它的優點是能夠實時處理數據、在惡劣環境下正常工作、成本低且擁有比較高的帶寬。由於上位機內部無can網絡適配器,因此需外接rs-232/can轉接卡,實現上位機與智能節點的通信。
  • 詳解CAN總線幾種正常的「異常」波形
    這是為什麼呢,大家都知道CAN-bus總線擁有自動應答機制,即當某一節點發送完一幀報文時,所有總線中的其餘非只聽節點均會在應答位處做出響應,如果報文被成功識別則發出一個顯性位做為應答信號。結合上文所述,應答位此時CAN總線上的電流是若干節點電流疊加的綜合,所以應答位的幅值高就很容易講通了。
  • 現代汽車核心技術-CAN總線應用層協議標準SAE J1939
    CAN協議中每一幀的數據量都不超過8個字節,以短幀多發的方式實現數據的高實時性;CAN總線的糾錯能力非常強,從而提高數據的準確性;同時CAN總線的速率可達到1M bit/s,是一個真正的高速網絡。總之,將CAN總線應用在汽車中使用有很多優點:(1)用低成本的雙絞線電纜代替了車身內昂貴的導線,並大幅度減少了用線數量;提高可靠性,安全性、降低成本。
  • 現場總線的類型——PROFIBUS(過程現場總線)
    Devicenet的許多特性沿襲於CAN,CAN總線是一種設計良好的通信總線,它主要用於實時傳輸控制數據。DeviceNet的主要特點是:短幀傳輸,每幀的最大數據為8個字節;無破壞性的逐位仲裁技術;網絡最多可連接64個節點;數據傳輸波特率為125kb/s、250kb/s、500kb/s;點對點、多主或主/從通信方式;採用CAN的物理和數據鏈路層規約。
  • 汽車現場總線的幾種類型
    目前,較流行的現場總線主要有:CAN、LonWorks、PROFIBUS、HARR、FF等。用此特點可方便地構成多機備份系統。4CAN採用非破壞性總線優先級仲裁技術,當兩個節點同時向網絡上發送信息時,優先級低的節點主動停止發送數據,而優先級高的節點可不受影響地繼續發送信息。按節點類型分成不同的優先級,可以滿足不同的實時要求,如圖—14和表—3中所示。
  • Profibus現場總線及應用實例
    DP、PA以及FMS的完美結合使得Profibus現場總線在結構和性能上優越於其他現場總線。2. Profibus-DP參考模型  Profibus協議結構是根據lS07498國際標準,以開放式系統網際網路作為參考模型的。  Profibus-DP定義了第一、二層和用戶接口。第三到七層未加描述。
  • CAN總線—PROFIBUS-DP總線網關的實現方法
    1  引言 在80年代中期,為了滿足不同自動化領域的應用需求,出現了擁有不同技術特點的現場總線。每一種現場總線都有自己的應用領域,並且都力圖拓展其應用領域,以擴張其技術壟斷範圍。工廠在擴建,改建等過程中很可能會選用與原先現場設備總線標準不同的產品,這些設備由於使用不同的現場總線,彼此間不能實現數據共享,於是就降低了設備間功能互補的優點。因此針對多種總線共存的客觀事實,探討如何解決不同現場總線系統的互聯有著重要的現實意義。
  • CAN總線及CAN通訊協議
    CAN,全稱為「Controller Area Network」,即控制器區域網,是國際上應用最廣泛的現場總線之一。最初,CAN被設計作為汽車環境中的微控制器通訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網絡。比如:發動機管理系統、變速箱控制器、儀表裝備、電子主幹系統中,均嵌入CAN控制裝置。
  • FF現場總線技術特點、網絡結構及在SECCO項目中的應用
    ⑤公用工程和OSBL,包括蒸汽生產、發電以及罐區等。 整個聯合裝置由SECCO ICS(Integrated Con-trol System)來進行監視和控制,其中ICS又由DCS、SIS、 F&G、AHP、GPC組成。
  • 基於嵌入式WinCE的CAN總線控制器驅動設計
    l CAN總線及控制器工作原理  控制器區域網CAN是由ISO定義的串行通信總線,主要用於各種過程檢測及控制。它是一種多主總線,通信介質可以是雙絞線、同軸電纜或光導纖維。通信速率可達1 Mb/s。cAN總線通信接口中集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗餘檢驗、優先級判別等項工作。