汽車CAN總線的開發與測試系列-開篇

2020-12-23 IND4汽車人

作者根據自己的工作經驗,準備寫一個關於汽車CAN總線的系列文章。該系列文章將CAN總線在汽車電子領域的應用做一個簡單的梳理,內容包括測試和開發兩個主要方面。測試方面,主要講解關於汽車CAN總線的測試項目、標準協議、測試原理和評判依據,分享一些測試過程中開發的工具,介紹下CANoe的使用和CAPL腳本;開發方面,主要講解在單片機(以STM32F407為主)上進行CAN硬體相關的配置和報文收發、Busoff相關的處理。本系列文章,從底層硬體到CAN協議的應用,內容不少,希望自己能堅持下來,為促進國家汽車行業的發展盡一份綿薄之力吧。

點擊文末閱讀原文附上了我的系列文章的規劃。

本篇作為開篇跟大家分享第一部分基礎篇的第一節內容,歡迎大家指正。本節的主要目的是簡介CAN總線的基礎知識,大家在看後面章節的時候,可以返回來快速查閱這些基礎知識。

1.1控制器在總線的連接方式

如圖1-1是兩個控制器在同一個CAN總線上的連接情況,可以看出,CAN總線採用的是兩根線進行信號傳輸,分別叫做CANH(CAN高)和CANL(CAN低),是一對雙絞線,在汽車行業,這對雙絞線的顏色是黃色(CANH)和綠色(CANL)。

圖1-1 控制器在CAN總線的連接方式

圖1-2 CAN的雙絞線

1.2 CAN的內部連接方式

CAN總線內部模塊包括CAN控制器和CAN收發器,CAN控制器負責處理CAN總線的信號,包括判斷幀類型,控制信號的接收和發送,CAN總線的故障處理,CAN控制器和CAN收發器之間是普通的單線連接。CAN控制器通過Tx線向CAN收發器發送數據,通過Rx線從CAN收發器獲取數據;CAN收發器通過CANH和CANL雙絞線連接到CAN總線,將CAN控制器發來的數據轉換為差分信號,傳輸到CAN總線,同時將CANH和CANL這組差分信號轉換為CAN控制器可以識別的信號。

圖1-3 CAN內部連接方式

1.3 CAN的報文格式

CAN的報文格式可以概括為CANID+CANData,那擴展幀舉例,如圖1-4-1所示:

圖1-4-1 CAN報文格式

圖1-4-2 CAN報文波形

CANID裡面隱藏的信息非常豐富,一幀報文,首先是CANID,然後是CAN數據,CANID首先是幀起始,然後是RTR(表明是數據幀還是遠程幀,數據幀是帶CAN數據的,遠程幀沒有CAN數據,利用這個特性可以測試採樣點),IDE表示標準幀還是擴展幀,DLC表示CAN數據的字節數(CAN最多支持8位元組數據),CRC是對CAN數據的校驗,ACK是應答位,由總線上另外一個節點來填充此位,發送節點根據此位的值確定此幀報文是否被正確接收,如果沒有正確被接收,發送節點會發送無應答錯誤幀(Not Acknowlage),對於擴展幀,還有18位的Extended ID部分。

圖1-5 CAN報文組成

1.4 CAN的錯誤機制(Busoff)

CAN總線在使用過程中,難免遇到各種情況的錯誤,比如CAN總線突然短路,或者是CANH短電了,這些都會導致CAN控制器進入錯誤狀態,當錯誤次數過多,CAN控制器就會進入Busoff狀態。

圖1-6 CAN控制器錯誤狀態

1.5 CAN總線錯誤幀講解

目前已有的資料幾乎都只是文字性的描述錯誤幀的類型,並沒有以真實波形進行演示,本文結合示波器波形進行錯誤幀的講解,如圖1-6、圖1-7、圖1-8。錯誤幀由錯誤標誌和錯誤界定符組成,錯誤標誌分為主動錯誤標誌和被動錯誤標誌,產生錯誤的CAN控制器,先進入主動錯誤狀態,發出主動錯誤標誌,為6個連續的顯性位,總線上的其他節點對該錯誤進行認可,也發出主動錯誤標誌,所以從總線上看到的主動錯誤標誌一般在6-12個顯性位;同理,當CAN控制器進入被動錯誤狀態後,發出被動錯誤標誌,書上說被動錯誤標誌為6個連續的隱性位組成,根據示波器實測,總線上接入一個CAN控制器,連續幹擾該CAN控制器的CRC界定符,讓CAN控制器發出錯誤幀,結果顯示,CAN控制器先進入主動錯誤狀態,發出6個連續的顯性位+8個隱性位的錯誤界定符,隨著幹擾次數的增加,CAN控制器進入被動錯誤狀態,發出6個連續的隱性位+6個連續的顯性位+8個隱性位的錯誤界定符。

圖1-7 幹擾CRC界定符發出的主動錯誤標誌

圖1-8 幹擾CRC界定符發出的錯誤界定符

圖1-9 幹擾CRC界定符發出的被動錯誤標誌

圖1-10 幹擾CRC界定符發出的主動和被動錯誤標誌對比

相關焦點

  • 汽車數位化技術CAN總線數據應用是落腳點
    一、技術背景在當今的中高檔汽車中都採用了汽車總線技術。汽車總線為汽車內部各種複雜的電子設備、控制器、測量儀器等提供了統一數據交換渠道。一些汽車專家認為,就像在20世紀70年代引入集成電路、80年代引入微處理器一樣,近20年來數據總線技術的引入也將是汽車電子技術發展的一個裡程碑。
  • CAN總線有什麼方法可以診斷故障問題
    【太平洋汽車網】CAN總線故障問題診斷方法可以將CAN節點一個一個往總線上接,每接一個節點後觀察、測試總線通信狀況。該方法相信是絕大多數現場應用工程師都有嘗試,往往可以零成本揪出問題節點。CAN總線多用於工控和汽車領域,在CAN總線的開發測試階段,需要對其拓撲結構、節點功能、網路整合等進行開發測試,需要虛擬、半虛擬、全實物仿真測試平臺,同時必須測試各節點是否符合ISO11898中規定的錯誤響應機制等,因此CAN
  • 國內選擇第三方公司逆向汽車CAN總線數據七個理由
    除了知名汽車零配件公司自己招募一些團隊做CAN開發以外,一般採用委託第三方公司。其目的是:降低研發成本,省去大批工程師高額的開發周期和管理費用,目前國際知名的第三方供應商有Vector、EB、Mentor Graphics,國內有速銳得。
  • 車載CAN總線網絡數據訪問及研究意義
    車載總線的開放程度也越來越高,博世、維克多、中汽中心、速銳得可以通過這些接口輕易訪問車載CAN網絡,對CAN網絡的數據進行採集和適配,生成新的DBC文件用於測試及仿真。目前針對車載CAN總線了解的多,實戰的少,基於大數據的智能網聯汽車更是少之又少,平臺和企業對於信息的缺乏和監管,顯得掣肘。
  • 增加CAN總線節點數量的幾個方法
    CAN接口負載即為CANH、CANL之間的有效電阻值大小,該電阻會影響發送節點輸出的差分電壓的幅值,組網後網絡中各個節點的負載電阻 RL接近,如圖 1我們測試了CTM1051M小體積CAN隔離模塊在不同負載下的輸出差分電壓幅值。
  • 軟體定義汽車始於面向服務的總線變革 車載乙太網迎來黃金時代
    要致富,先修路,對於汽車行業來說,已經到了道路升級的重要關口。汽車總線將如何演進?本篇文章將和您一起探討這個問題。01 功能需求決定著汽車總線的多元化發展早期汽車採用點對點的單一通信方式,相互之間少有聯繫。
  • 3分鐘讓你了解你的愛車之什麼是汽車CAN總線傳輸原理!
    下圖為電動汽車CAN總線系統原理框圖。該CAN總線系統由中央控制器、電池管理系統、電動機控制系統、制動控控制系統及儀表控制系統組成。各個控制器之間通過CAN總線進行通信,以實現傳感器測量數據的共享以及控制指令的發送和接收等,並使各控制器的控制性能都有所提高,從而提高系統的控制性能。通信的信息類型為信息類和命令類。信息類主要是發送一些信息, 如傳感器信號、診斷信息、系統的狀態。命令類則主要是發送給其他執行器的命令。通信主要有以下內容。(1)車輛起動時的自檢。
  • 嶽陽汽車電子CAN總線保護二極體多少錢
    嶽陽汽車電子CAN總線保護二極體多少錢  ESD9X7V 7V單向 FBP-02C 40pF代ESD9X7.0ST5G…   ESDA6V8UH 5V 4路 MSOP10 0.35pF 主要用於HDMI ESD靜電保護   ESDA6V8UD 5V 4路 DFN10 0.35pF 主要用於HDMI ESD靜電保護   ESDA6V8UF 5V 4路 SOT23-6 0.7pF主要用於
  • 高速CAN、容錯CAN、LIN總線的區別是什麼
    在這裡你可能要問「不都有CAN總線了嗎?這個LIN總線又是從哪裡來的?」其實理由很簡單,就是CAN總線太貴啦!處處都用CAN總線的話,那整車的總線架構成本將會變得很高!在一些比如車身電子配件的地方(如車窗、後視鏡、大燈、車鎖等),我們不需要報文像CAN總線上傳輸的那樣「高速」!各大廠商一拍腦門就研究了這個LIN總線!
  • 基於控制器局部網CAN總線實現大型電機狀態監測系統的設計
    CAN總線通信接口集中了 CAN協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗餘校驗、優先級判別等工作。這樣就降低了開發難度、縮短了開發周期,這一點是僅有電氣協議的 RS-485無法比擬的。 1.1CAN總線的信號傳輸實時性分析 從 CAN的數據鏈路層協議,可以計算得出具有最高優先級的數據幀的最壞傳輸時間。
  • 如何看待汽車電子控制系統中的軟體開發
    這個V模型涵蓋了從系統層面到軟體層面以及集成後的功能測試和系統測試等流程,是當今汽車行業廣泛應用的開發流程。 軟體開發流程: 設計、實現及測試軟體部件 依據具體的需求,工程師開始分別搭建不同的軟體部件。在前面一系列的拆解、分析和定義後,終於抵達了軟體最核心最具體的世界——代碼。與人們熟知的程式設計師直接寫代碼稍有區別,傳統的汽車軟體研發採用的是基於模型開發。如下圖所示,邏輯運算通過模型的方式表達出來,相比於代碼更加直觀,便於日後的標定工作和維護。
  • 燃料電池汽車整車控制器硬體在環實時仿真測試平臺
    從控制器實現到實車測試的過程中還需要進行硬體在環實時仿真測試。這是因為在整車控制器的開發過程中,利用整車控制器硬體在仿真測試平臺構建虛擬的整車現場環境。對控制器進行硬體在環仿真測試,不但可以大大加快整車控制器軟、硬體的開發過程,而且開發成功的控制器具有較高的可靠性。因為仿真測試平臺可以模擬出在實車試驗中難以實現的特殊行駛狀態和危險狀態,從而對整車控制器進行全面的測試。控制器硬體在環仿真測試中,系統用數學模型來代替,控制器使用實物,系統模型和控制器之間的接口要與實際保持一致,在仿真調試完畢後,達到控制器和系統之間的「垂直安裝」或「垂直集成」。
  • UltraSoC和Canis Labs合作確保CAN總線的安全
    UltraSoC 與 Canis Automotive Labs 日前宣布了一項合作,旨在解決汽車行業中最嚴重的信息安全漏洞之一:CAN總線內部缺乏安全功能;而CAN總線通常用於連接諸如剎車
  • CAN一致性測試系統之終端電阻與內阻測試
    圖3在現場遇到以上情況,通過CANScope加上StressZ擴展板並聯在被測總線上,首先進行模擬電阻測試,找到與總線阻抗匹配的阻值,然後加在總線末端,信號正常,如圖4。圖5  內阻測試試驗連線圖圖5中Rtest為測試電阻,為5KΩ。
  • 現場總線有哪幾種?工業現場總線有哪些
    現場總線(Field bus)是近年來迅速發展起來的一種工業數據總線,它主要解決工業現場的智能化儀器儀表、控制器、執行機構等現場設備間的數字通信以及這些現場控制設備和高級控制系統之間的信息傳遞問題。由於現場總線簡單、可靠、經濟實用等一系列突出的優點,因而受到了許多標準團體和計算機廠商的高度重視。它是一種工業數據總線,是自動化領域中底層數據通信網絡。
  • 工業級1-2路CAN總線的功能特點及應用
    打開APP 工業級1-2路CAN總線的功能特點及應用 佚名 發表於 2020-12-13 08:59:24 本CAN光纖貓能實現CAN總線信號轉換為光信號在光纖上傳輸,起到延長了CAN總線的通信距離的作用,同時由於採用光纖通信,解決了電磁幹擾、地環幹擾和雷電破壞的難題,大大提高了數據通訊的可靠性、安全性和保密性,可廣泛用於各種工業控制、過程控制和交通控制等場合,特別適合銀行、電力及對電磁幹擾環境有特殊要求的部門和系統。
  • 常見九大現場總線全解析
    LON總線則綜合了當今現場總線的多種功能,同時具備了區域網的一些特點,使得它被廣泛地應用於航空/航天,農業控制、計算機/外圍設備、診斷/監控、電子測量設備、測試設備、醫療衛生、軍事/防衛、辦公室設備系統、機器人、安全警衛、保密、運動/遊藝、電話通信、運輸設備等領域。
  • 現場總線有哪些特點?現場總線技術九大種類介紹
    什麼是現場總線   現場總線(Fieldbus)是近年來迅速發展起來的一種工業數據總線,它主要解決工業現場的智能化儀器儀表、控制器、執行機構等現場設備間的數字通信以及這些現場控制設備和高級控制系統之間的信息傳遞問題。由於現場總線簡單、可靠、經濟實用等一系列突出的優點,因而受到了許多標準團體和計算機廠商的高度重視。
  • 整車廠如何快速實現測試設備CANFD升級?
    ,車內分布式電控單元ECU按照功能劃分為動力總成、車身控制、輔助駕駛等總線區域;車窗、車燈、天窗等則通過LIN總線接入CAN網絡。要實現從傳統汽車到智能網聯汽車的升級,從整車生產線控制、實驗室、ECU單元的設計都將做出很大的改動,其中涉及的CAN節點很多且複雜,如果全部升級為CANFD節點來實現ECU單元的設計、測試以及生產等,將會是一個比較漫長的過程。二、如何快速實現設備CANFD升級?
  • Elektra 2013 年度最佳測試產品獎得主—PicoScope 5000系列
    本周在倫敦舉辦的歐洲電子工業獎頒獎活動上,我們的PicoScope5000系列靈活解析度示波器在諸多測試設備製造商的激烈競爭中勝出,獲得了 Elektra 2013 年度最佳測試產品獎。