
發布
注冊
/
登錄CAN-BUS
關注創建者:匿名 創建時間:2021-10-19

CAN-BUS的實例教程
CAN-BUS即CAN總線技術,全稱為“控制器局域網總線技術(Controller Area Network-BUS)”。Can-Bus總線技術最早被用于飛機、坦克等武器電子系統的通訊聯絡上。將這種技術用于民用汽車最早起源于歐洲,在汽車上這種總線網絡用于車上各種傳感器數據的傳遞。
CAN-BUS的工作原理
大家知道當今車輛的電控系統是越來越多,例如電子燃油噴射裝置、ABS裝置、安全氣囊裝置、電動門窗、主動懸架等等。同時遍布于車身的各種傳感器實時的監測車輛的狀態信息,并將此信息發送至相對應的控制單元內。
通過上圖我們可以看到車身上的各種控制單元,車越高級,車身上的控制單元也就越多,每個控制單元都可看做一臺獨立的電腦,它可以接受信息,同時能對各種信息進行處理、分析,然后發出一個指令。比如發動機控制單元會接受來自進氣壓力傳感器、發動機溫度傳感器、油門踏板位置傳感器、發動機轉速傳感器等等的信息,在經過分析和處理后會發送相應的指令來控制噴油嘴的噴油量、點火提前角等等,其它控制單元的工作原理也都類似。在這里可以給大家做一個比喻,車上的各種控制單元就好比一家公司各個部門的經理,每個部門的經理接受來自自己部門員工的工作匯報,經過分析作出決策,并命令該部門的員工去執行。
車身上的這些控制單元并不是獨立工作的,它們作為一個整體,需要信息的共享,那么這就存在一個信息傳遞的問題。比如發動機控制單元內的發動機轉速與油門踏板位置這兩個信號也需要傳遞給自動變速器的控制單元,然后自動變速器控制單元會據此來發出升檔和降檔的操作指令,那么兩個控制單元之間又是如何進行通信的呢?
目前在車輛上應用的信息傳遞形式有兩種。第一種是每項信息都通過各自獨立的數據線進行交換。比如兩個控制單元間有5種信息需要傳遞,那么則需要5根獨立的數據線。
展開 圖9 填充DasSteeringControlMessage的代碼片段
CAN消息的第四個字節是一個單字節的校驗和,它是由8bit_checksum算法以CAN ID (0x0488)作為初始種子計算出來的:
圖10 eightbit_checksum算法
圖11顯示了在cantx服務的DasSteeringControlMessageEmitter::finalize_message()函數中填寫了DasSteeringControlMessage的校驗和:
圖11 DasSteeringControlMessage的代碼片段
遠程控制轉向系統
在弄清楚APE、LB和其他與轉向系統控制相關的ECU(EPAS、EPB)之間的CAN-bus通信后,我們還不能通過直接從APE向LB注入惡意DSCM來欺騙EPAS控制轉向系統 . 原因是,如前所述,DSCM 受到消息時間戳和計數器的保護,以及在 APE 中稱為 PARTY CAN-bus 的冗余 CAN。
最后,我們找到了一個有效的解決方案:將惡意代碼動態注入 cantx 服務,并鉤住 cantx 服務的 DasSteeringControlMessageEmitter::finalize_message() 函數,以重用 DSCM 的時間戳和計數器,以任意值操縱 DSCM。此外,關鍵部分是DSCM的控制類型必須設置為0x01,APE2LB_CAN的can_bus設置為0x01,表示DSCM的目的地是底盤CAN總線。
展開 節點控制器可以判斷錯誤是暫時的數據錯誤還是持續性錯誤,當總線上發生持續數據錯誤時,控制器可將節點從總線上隔離;
通信介質可采用雙絞線、同軸電纜和光導纖維,一般使用最便宜的雙絞線;
理論上,CAN總線用單根信號線就可以通信,但還是配備了第二根導線,第二根導線與第一根導線信號為差分關系,可以有效抑制電磁干擾;
在40米線纜條件下,最高數據傳輸速率 1Mbps;
總線上可同時連接多個節點,可連接節點總數理論上是沒有限制的,但實際可連接節點數受總線上時間延遲及電氣負載的限制;
參考
Learning Module CAN -Vector
CAN Bus -Wikipedia
Can Bus Id Filter And Mask - De Montfort University
Introduction to the Controller Area Network - TI
NXP Application-note/AN1798 - NXP
Car CAN Bus - Xiaomin
本著對自己和對他人負責的原則,由于我接觸CAN的時間也不是很久,本文很多是基于個人在項目中學習和總結的經驗,所以文中難免存在錯誤和不足,請各位不吝賜教,及時指出。
展開 CAN bus模塊完全兼容BK Connect軟件和Sonoscout無線便攜式系統
3058型CANbus模塊具有2個CAN通道,支持高速CAN(ISO 11898-2) 和低速CAN(ISO 11898-3),以及J-1939及OBD-II,
可同時接入汽車CAN信號和其他CAN設備,如高精度GPS設備等。此外,3058模塊還支持2通道數字音頻信號,如數字人工頭。
下面針對汽車NVH測試場景,介紹B&K通用NVH測試與分析軟件的主要特點:
硬件配置的圖形化顯示
圖形化配置硬件信息,使我們更加清楚系統是如何配置的,減少配置錯誤的發生。可圖形化配置傳感器和采集前端,自動識別智能型傳感器。可指示過載或其他傳感器信息——
不需要查看硬件即可知道測量狀態,對于分布式系統非常有幫助。圖形化顯示數據處理流程,可以清晰的顯示某些特定通道利用各種分析方式進行數據處理。
展開 二、阻抗匹配與反射理論的運用
1 CAN總線為何要加終端電阻,又為何是120Ω
按照ISO11898規范,為了增強CAN-bus 通訊的可靠性,CAN-bus 總線網絡的兩個端點通常要加入終端匹配電阻(120Ω)。
1.1 終端電阻的含義
終端電阻,是一種電子信息在傳輸過程中遇到的阻礙。高頻信號傳輸時,信號波長相對傳輸線較短,信號在傳輸線終端會形成反射波,干擾原信號,所以需要在傳輸線末端加終端電阻,使信號到達傳輸線末端后不反射。
對于低頻信號則不用。在長線信號傳輸時,一般為了避免信號的反射和回波,也需要在接收端接入終端匹配電阻。
一般在直線型中,線纜兩端即是發送端,也是接收端,故線纜兩端需各加一個終端電阻。
終端電阻的作用:
1:阻抗匹配,匹配信號源和傳輸線之間的阻抗,極少反射,避免振蕩。
2:減少噪聲,降低輻射,防止過沖。在串聯應用情況下,串聯的終端電阻和信號線的分布電容以及后級電路的輸入電容組成RC濾波器,消弱信號邊沿的陡峭程度,防止過沖。
1.2 為什么選120Ω
CAN總線的終端匹配電阻值取決于電纜的特性阻抗,與電纜的長度無關,一般雙絞線(屏蔽或非屏蔽)連接的終端電阻一般介于100至140Ω之間,典型值為120Ω。
前面的分析,我們已經知道,只有阻抗匹配,才能避免反射的產生。既然傳輸導線特性阻抗是120Ω,為了盡可能的保證信號的完整性,can總線終端電阻的大小也為120Ω。
值得一提的是,雙絞線的的特性阻抗與其絞距關系密切,這也是各個標準對于雙絞線絞距都有定義的原因所在。
展開 
CAN-BUS的相關專題、標簽、搜索
CAN-BUS的最新內容
包括3056型高轉速與低頻輔助輸入模塊和3058型CAN Bus及CCLD輸入模塊,支持多種信號采集,如CAN信號、數字音頻信號等。通過IXXAI的CANbridge NT 420,可支持CAN FD信號。
軟件平臺
全新的BK Connect提供了從測試、分析到報告生成的軟件支持,具備實時監視和數據分析功能,以及符合最新國際標準的聲品質分析等。
LAN-XI分析儀
包擴麥克風輸入模塊、直接/CCLD輸入模塊,CAN BUS輸入模塊,電荷輸入模塊,輔助通道輸入模塊和全功能輸出模塊等。
高速數據采集儀
包括采樣率高達250MS/s的高速采集卡,±(0~1000)V的電壓信號采集板卡,(0~220)mA的電流信號采集卡,光電隔離放大器等。
也可通過EtherCAT?, PROFINET?, CAN bus或電壓實時集成到控制系統的同時,同步采集測試數據到PC中。
二、阻抗匹配與反射理論的運用
1 CAN總線為何要加終端電阻,又為何是120Ω
按照ISO11898規范,為了增強CAN-bus 通訊的可靠性,CAN-bus 總線網絡的兩個端點通常要加入終端匹配電阻(120Ω)。
1.1 終端電阻的含義
終端電阻,是一種電子信息在傳輸過程中遇到的阻礙。
汽車Tbox的原理
汽車T-BOX與主機通過CAN BUS總線通信,實現指令與信息的傳遞,從而獲取到包括車輛狀態、按鍵狀態等信息以及傳遞控制指令等;通過音頻連接,實現雙方共用麥克與喇叭輸出。與手機APP是通過后臺系統以數據鏈路的形式進行間接通信(雙向)。T-BOX與后臺系統通信還包括語音和短信兩種形式,使用短信形式主要實現一鍵導航及遠程控制功能。
幾種典型的通用ESD保護電路
CAN Bus保護
ECU功能
讀取車燈開關狀態
物理輸入:HW_LB_OFF
邏輯輸入:LB_OFF
相關軟件模塊:DIO Driver/Handler, RTE, SwitchEvent(Sensor-SWC)
讀取點火鑰匙狀態(通過車身控制器)
物理輸入: CAN BUS
Controller Area Network,簡稱CAN或者CAN bus) 是一種功能豐富的串行總線標準,最早的CAN控制芯片在奔馳車上應用并量產,因為支持多主機,多從機的優點,所以一輛車所有控制器,傳感器,電子設備直接的通信只需要兩條線就夠了,大大優化了整車的布線。
7、通訊設計(Communication)
在完成軟件組件到硬件的Mapping后,可進行信號的路由,并進行網絡通訊設計,PREEvision提供了多種通信設計編輯器來應對同步的通信類型,比如CAN Bus Editor,LIN Scheduling Editor,FlexRay Schedulling 和Ethernet Explorer。
CAN-BUS即CAN總線技術,全稱為“控制器局域網總線技術(Controller Area Network-BUS)”。Can-Bus總線技術最早被用于飛機、坦克等武器電子系統的通訊聯絡上。將這種技術用于民用汽車最早起源于歐洲,在汽車上這種總線網絡用于車上各種傳感器數據的傳遞。