一種「動靜結合」的CAN總線調度算法在汽車電子控制

2021-01-10 電子產品世界

CAN總線最初是由德國BOSCH公司於20世紀80年代初提出的,當時主要應用於汽車電氣通信,它將汽車上各種信號的接線只用兩根簡潔的電纜線取代,而各種電子裝置通過CAN控制器掛到這兩根電纜上,設備之間進行數據通信和數據共享,從而大大減少了汽車上的線束。CAN總線結構獨特,性能可靠,目前被公認為是最有前途的現場控制總線之一。

本文引用地址:http://www.eepw.com.cn/article/201609/304269.htm

1、基於CAN總線的汽車電子控制網絡中潛在問題

從信息共享角度分析,現代典型的汽車電子控制單元有:電控燃油噴射系統、電控傳動系統、防抱死制動系統(ABS)、防滑控制系統(ASR)、巡航系統、空調控制系統等,用CAN總線將各個單元節點連接起來,組成實時通信網絡。

汽車CAN總線網絡在實際運行過程中,眾多節點之間需要進行大量的實時數據交換,不可避免會出現總線負荷過大的情況。當信息幀的碰撞概率達到一定程度時,系統中一部分信息幀的收發就會產生延時,甚至根本不能收發成功。這樣,當駕駛員剎車時,即使時延只有幾個毫秒,但時速100公裡的汽車也可能在這期間內全速駛出3~4米,後果將不堪設想。

為了解決上述問題,本文提出了一種結合TTCAN(Time Triggered Controller Area Network)技術和動態晉升機制[4]各自所長的「動靜結合」的調度算法。該算法有效解決了數據的發送時延和衝突問題,改善了CAN總線數據傳輸的實時性。

2、基於TTCAN技術的時間觸發調度方式

TTCAN由時間進程驅動,其時間觸發調度由順序固定的時間窗組成。時間窗是用於交換報文的時間片斷,通常有三類時間窗:專用時間窗(特定的周期性報文)、仲裁時間窗(通過仲裁訪問總線的報文)和空閒時間窗(為總線擴展所保留),如圖1所示。專用時間窗類似於TDMA(時分多路訪問),屬於離線進行的靜態調度,所有流程和時間參數均需要預先指定,並可以在多級或多個TTCAN網絡內實現同步。TTCAN的全局時間由時間主機周期發送的參考報文產生,它的總線最多可以配置8個具有優先級的時間主機節點,以確保總線的連續、確定性通信,優先級最高的時間主機為當前時間主機。

圖1 TTCAN的基本周期和時間窗

在節點編程時,可以利用處理器的定時器中斷周期作為NTU(Network Time Unit),其值定義為在CAN總線上以1Mbps的速率傳輸1幀8位元組數據幀所需時間的八分之一,約為16.75μs。對周期中斷次數進行計數,總線的調度從主節點發送參考報文開始,當計數器值與節點設定值相符時,則發送周期報文。傳輸數據幀時的時間窗利用率可以定義為:時間窗利用率=(傳輸數據幀所需的NTU數/時間窗長度)×100%。在實際測試中可以發現,當時間窗小、調度周期數大時,誤碼率較大;當時間窗增大即時間窗利用率較低時,誤碼率基本維持在很低的水平。

3、基於動態優先級調度算法的事件觸發調度方式

仲裁窗發送事件觸發報文,如果採用傳統的靜態優先級分配機制,將會在網絡負擔繁重的情況下出現發送傳輸時延或者丟失報文。而動態優先級調度算法則能很好地解決這一問題。以下是該算法的基本原理。

首先,將CAN的仲裁域(以擴展幀格式為例)分成優先級和標識兩部分,如圖2所示。標識部分是固定用來標識協議幀的,這也是協議幀的惟一標識,與傳統協議幀標識符的意義完全相同;優先級部分已經不再具有協議幀的標識功能,而只是表示協議幀的優先級功能,所以它可以根據總線調度機制分配給協議幀的優先級的變化而變化。

圖2 CAN擴展幀格式的仲裁域的劃分

其次,當協議幀第一次發送、且當它在發送時和其他協議幀碰撞並失去仲裁時,即退出發送,並置優先級上升一位後,再重新發送。因為這時其優先級高於其他協議幀,在整個網絡中如果沒有其他與之具有相同優先級的協議幀同時發送,即使和其他的協議幀(處於第一次發送的)碰撞,也會贏得仲裁,所以發送成功的概率很大。

實現動態優先級晉升的算法很簡單,其軟體流程圖如圖3所示。

圖3 動態優先級調度算法的程序流程圖

4、調度算法在汽車電子控制網絡中的應用

作者設計了防抱死系統(ABS)、電子助力轉向系統(EPS)以及車身控制系統(兼做低速CAN總線與高速CAN總線之間的網橋)作為CAN總線汽車電子控制網絡節點,上位PC機節點採用IXXAT公司的CANlink模塊(CAN-RS232轉換器)與總線相連,並使用該公司的CAN BUS Tester(CAN總線測試儀)模塊以及CanAnalyser(CAN總線分析開發)軟體進行了CAN網絡的設計和開發。採用本文介紹的調度算法,應用層部分採用的是目前流行的J1939協議。

4.1 汽車電子控制網絡硬體設計

防死抱系統、電子助力轉向系統及車身控制系統的處理器均選用了飛思卡爾公司的MC9S12DP256晶片,該晶片是一款低成本、高性能的16位HCS12系列微處理器,內置有msCAN控制器,非常適合作為汽車電子控制單元的核心部件; CAN總線收發器選用的是MC33989(高速總線)晶片和MC33388晶片(低速總線);車身控制系統中的LIN總線收發器和電機驅動選用的都是MC33399晶片;車燈及其他負載的驅動選用的是MC33888晶片。網絡整體框圖如圖4所示。

圖4 汽車電子控制網絡的整體框圖

4.2 汽車電子控制網絡軟體設計

利用CodeWarrior集成開發環境IDE(Integrated Development Environment),通過背景調試方式BDM(Background Debug Mode),下載控制程序和修改相關參數,在不幹擾目標程序運行的情況下,實時監測各寄存器和存儲器,實現了控制程序的板上在線調試,從而提高了集成系統的開發效率和試驗的方便性,縮短了試驗周期。

系統所需軟體模塊主要由系統初始化模塊、啟動自檢模塊、主控制模塊、數據採集模塊、數據處理模塊、參考車速計算模塊、控制決策和執行機構動作模塊、故障診斷模塊、總線通信模塊等幾大部分組成。各模塊由主控制模塊按任務管理機制實時進行統一調度,分配運行時間,進行數據和信號的交換。


相關焦點

  • 什麼是CAN總線,CAN總線的優勢和特點
    CAN,全稱為「Controller Area Network」,即控制器區域網,是國際上應用最廣泛的現場總線之一。1993年,CAN 已成為國際標準ISO11898(高速應用)和ISO11519(低速應用)。最初,CAN被設計作為汽車環境中的微控制器通訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網絡。
  • 基於SAE J1939協議的CAN總線汽車儀表設計
    隨著科技進步,汽車排放、節能、安全和舒適性等使用性能不斷提高,汽車電子控制程度也越來越高。汽車電子控制裝置必須迅速、準確地處理各種信息,並通過儀表顯示出來,使駕駛員能夠及時了解並掌握汽車的運行狀態,以妥善處理各種情況。這裡給出一種基於CAN(Controller Area Network)總線的汽車儀表設計方案。
  • CAN總線在汽車行駛記錄儀中的應用
    汽車行駛記錄儀(vehicle traveling data recorder)是安裝在車輛上,能夠記錄、存儲、顯示、列印車輛運行速度、時間、裡程以及有關車輛行駛的其他狀態信息,並可通過接口實現數據輸出的數字式電子記錄裝置,俗稱汽車黑匣子。
  • 汽車數位化技術CAN總線數據應用是落腳點
    在現代汽車技術發展中,已經有95%以上的汽車採用了CAN總線協議,部分娛樂系統採用了乙太網,結合4G/5G的商業化應用,已經將原有封閉式的內部數據閉環的汽車連接到網際網路,我們的用戶不但可以遠程解鎖他們的愛車,還可以實現對汽車的遠程控制,即便無鑰匙的情況下,家人依然可以使用汽車。汽車作為移動交通工具,在新一輪的技術下,已經變得像遙控電視機一樣簡單。
  • can總線基本概念
    在汽車產業中,出於對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統被開發了出來。由於這些系統之間通信所用的數據類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數量也隨之增加。為適應「減少線束的數量」、「通過多個LAN,進行大量數據的高速通信」的需要,1986 年德國電氣商博世公司開發出面向汽車的CAN 通信協議。
  • 基於CAN總線和SAE J1939協議的汽車儀表設計
    FAN100這裡給出一種基於CAN(Controller Area Network)總線的汽車儀表設計方案。  1 CAN總線及SAE J1939協議  1.1 CAN總線及SAE J1939協議簡介  FAN100CAN總線屬於現場總線的範疇,是德國Bosch公司在20世紀80年代初為解決現代汽車中眾多的控制和測試儀器之間的數據交換而開發的一種有效支持分布式控制或實時控制的串行通信網絡。
  • 基於C167單片機和CAN總線實現數位化電梯控制系統的設計
    系統工作原理: 各個轎廂控制器及層站控制器將採集到的信號發送到CAN總線, 主控器根據這些信號及相應的群控算法選擇最優的電梯進行響應,結合專用線路上的安全信號、旋轉編碼器脈衝信號等發出選層、定向、變速和平層等指令, 控制轎廂的運行及門機的動作, 並將轎廂的位置信號發送到CAN總線上。顯示模塊則相應地進行LED顯示。
  • can總線通訊協議
    隨著集成電路和嵌入式電腦在汽車上的廣泛應用,現代汽車上的電子控制器的數量越來越多,常見的有發動機的電子燃油噴射裝置、防抱死制動裝置(ABS)、安全氣囊裝置
  • CAN總線錯誤幀長得啥樣?怎麼產生?
    can總線因為具有通信可靠性高,成本低,簡單實用等優點得到了越來越多的應用,所以充電機內部模塊間通信採用基於can總線的軟體均流方案;電動汽車充電機需要和蓄電池管理系統(bms)之間通信,同時由於can總線還具有較高的網絡安全性等特點,並且作為國際標準已逐漸發展成汽車電子系統的主流總線,因此將採用can總線作為充電機與電池管理系統之間的通信方式;而且can總線的通信距離較遠(10km),同時可靠性較高
  • 採用CAN總線的轎車車窗智能控制系統實現原理
    在充分研究有關CAN總線在汽車電子系統中的應用和電動車窗防夾方案的基礎上,提出一種基於CAN總線的轎車車窗智能控制系統的設計方案,實現車窗在正常工作模式下防夾控制功能和緊急情況下(異常工作模式)快速升降車窗控制功能。 目前.以微控制器為代表的汽車電子在整車電子系統中應用廣泛,汽車控制正由機電控制系統轉向以分布式網絡為基礎的智能化系統。
  • 現場總線FF的PID控制算法應用研究
    FF(基金會現場總線)現場總線是一種全數字、串行、雙向通信網絡,同時也是一種專門針對過程自動化領域的應用而設計的現場總線,所以其在設計之初就充分考慮了過程自動化領域的一些特點,比如總線、供電、本質安全,以及較高的實時性要求等。
  • 國內選擇第三方公司逆向汽車CAN總線數據七個理由
    對於車載ECU來說,一級零部件供應商研發可以分為系統、硬體、電子、軟體、機械結構等,CAN總線涉及最多是溝通的工作,主要是CAN總線的邏輯、信號需求、通信矩陣釋放、樣件提交、測試結果反饋等等。通信矩陣不能釋放的開發項目,看是否通過速銳得適配完成數據的採集與交互。
  • 多路UART總線與CAN總線通訊系統設計
    為了實現4路UART總線與CAN總線之間的相互轉換過程,採用微控制器AT89S51來控制通訊數據轉換,通過硬體電路實驗和軟體調試算法,得到了4路串行總線與CAN總線之間的相互透明轉換過程。該電路系統大大方便了具有UART接口的設備進行遠距離、多節點傳輸,增強了系統的通訊可靠性。
  • 汽車CAN總線原理培訓
    汽車CAN總線在汽車中有著至關重要的作用,現在日趨成熟的新能源車對CAN網絡的需求更加明顯,高壓電器、低壓電器、控制模塊之間等必須要用到,可見其重要性。首先,要了解其核心部件CAN收發器。CAN收發器是連接CAN控制系統與CAN總線網絡的橋梁,當選型CAN收發器時應該注意哪些參數,以及它工作的原理?
  • CAN總線和RS485總線的定義
    CAN是控制器區域網路(Controller Area Network, CAN)的簡稱,是由研發和生產汽車電子產品著稱的德國BOSCH公司開發了的,並最終成為國際標準(ISO11898)。是國際上應用最廣泛的現場總線之一。在北美和西歐,CAN總線協議已經成為汽車計算機控制系統和嵌入式工業控制區域網的標準總線,並且擁有以CAN為底層協議專為大型貨車和重工機械車輛設計的J1939協議。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用於汽車計算機控制系統和環境溫度惡劣、電磁輻射強和振動大的工業環境。
  • 新能源汽車CAN總線如何進行錯誤處理?
    2019年10月26日第三屆中國(佛山)氫能源大會中展示了氫燃料電池城市客車,與目前的純電動汽車和傳統汽車相比,作為一種新的驅動形式出現。但是,新能源汽車整車網絡的實現依舊離不開CAN總線通訊。工程師們通過CAN總線讀取車上的車速、轉速等信號可以控制整車上眾多的ECU單元。
  • 車載CAN總線網絡數據訪問及研究意義
    以前的汽車,車載電子控制單元少,有的就一個ECU,甚至都沒有BCM和更多的電子控制單元,對外的接口極少,非標準化,有的高端車內的CAN總線,又帶一個封閉的內網網關,為此,針對汽車CAN總線數據採集和利用的企業屈指可數。大部分的企業等著車廠授權,造成了僧多粥少的局面。
  • CAN總線的優點有哪些
    用乙太網直接進入工業控制領域,目前還存在一些問題,乙太網的媒體訪問方式CSDA/CD不能保證網絡傳輸的確定性和實時性,不能滿足工業現場惡劣環境的要求。將乙太網引入工業測控領域,通過與現場總線(CANBUS)分工合作,構成兩種異構網絡結構,將高效的乙太網和低速的現場總線相結合,解決大規模測控系統實時性和可靠性矛盾,提高整個系統的工作效率。兩種異構網絡的互連,需要用工業網關實現。
  • CAN總線協議概述
    CAN是控制器區域網路(Controller Area Network, CAN)的簡稱,是由以研發和生產汽車電子產品著稱的德國BOSCH公司開發的,並最終成為國際標準(ISO 11898),是國際上應用最廣泛的
  • 汽車CAN總線的開發與測試系列-開篇
    作者根據自己的工作經驗,準備寫一個關於汽車CAN總線的系列文章。該系列文章將CAN總線在汽車電子領域的應用做一個簡單的梳理,內容包括測試和開發兩個主要方面。測試方面,主要講解關於汽車CAN總線的測試項目、標準協議、測試原理和評判依據,分享一些測試過程中開發的工具,介紹下CANoe的使用和CAPL腳本;開發方面,主要講解在單片機(以STM32F407為主)上進行CAN硬體相關的配置和報文收發、Busoff相關的處理。本系列文章,從底層硬體到CAN協議的應用,內容不少,希望自己能堅持下來,為促進國家汽車行業的發展盡一份綿薄之力吧。