李 明,張鳳登
(上海理工大學光電信息與計算機工程學院,上海 200093)
制動性能是檢驗汽車安全性能的一個重要指標。相較于傳統制動方式,線控制動(Brake-by-Wire,BBW)具有顯著優勢。例如與液壓制動系統相比,線控制動系統連接裝置大幅度減少,很多機械部件用線束代替,既減輕了車身重量又降低了車輛維修的復雜度[1-4]。然而,由于汽車行駛環境具有不確定性,線控制動系統需要采集并處理大量信息,信息傳輸的安全性、可靠性與高效性是需要重點關注的問題[5-6]。文獻[7]將CAN 總線應用于汽車線控制動系統中,提出了系統以及各節點間的電路設計方案,簡化了系統結構,提高了可靠性。由于CAN 通信協議沒有冗余性,當通信系統發生故障時,整個系統都會癱瘓,因此系統安全性十分不足[8-11]。文獻[12]將FlexRay 總線應用于嵌入式線控制動系統中,設計了2 個FlexRay 節點,可實現對兩個電機的制動作用。
本文將具有較高傳輸速率、較佳安全容錯性的FlexRay通信網絡運用于汽車線控制動系統中,提出汽車4 個車輪同時制動的硬件設計方案與軟件故障容錯策略,以提高制動系統的傳輸速率、安全性以及可靠性,克服液壓制動系統的不足。
系統共設計9 個節點,整體架構如圖1 所示,包括中央控制節點(MCU)冗余、總線傳輸通道冗余、傳感器冗余等。該系統使用雙模冗余提供備份以增加安全性,其顯著特點為在汽車正常行駛過程中,兩個MCU 分別控制前后輪制動,其中FMCU 控制前車輪,RMCU 控制后車輪,二者互相監視。任何一個MCU 出現故障,另一個就會接管所有車輪控制節點,這樣至少可在原來的一個周期延時內實現兩輪制動,提高了系統可靠性[13-15]。

Fig.1 Hardware system design圖1 硬件系統方案設計
軟件容錯控制策略由分布在節點和系統級別的多個組件組成,具體如圖2 所示。在理想情況下,所有故障都在節點級別被及時處理,然而由于暫時性故障多樣且復雜,實際情況并非如此。因此,本文采用基于簽名的檢測方法在節點級別快速檢測已知故障,并通過預設恢復策略進行恢復。基于系統模型異常處理方法,在系統級別恢復剩余暫時性故障,且不影響系統控制質量與功能結構。

Fig.2 Software fault tolerant architecture of line control system圖2 線控制動系統的軟件容錯架構
節點模型一般由平臺特定模型與應用特定模型組成。其通過節點的結構與行為信息檢測特定的應用瞬態故障,并根據預設恢復策略進行恢復。如圖3 所示,應用結構以基本功能圖表示,節點的動態行為由線控制動系統通用節點中的數據流和狀態轉換表示。應用結構體現了基本功能之間的依賴關系,可根據具體的基本功能或數據精確定位故障。當檢測到故障并指向特定組件(基本功能或數據)時,系統激活搜索策略并從策略庫中獲取相關恢復策略,從而快速消除故障。如果同時檢測到基本功能故障和相關數據故障,基本功能的恢復具有優先權,通過使用備用值修復故障,并重新執行[16-17]。

Fig.3 Node model of linear control system圖3 線控制動系統的節點模型
除中央節點外,每個節點都需要檢測并讀取傳感器數值,采用軟件投票的方式增加讀取數據的可靠性。當使用多數投票法檢索輸入的正確值時,如果大多數值彼此不同,則可以進行故障檢測。只有當大多數值相同時,才能進行失效防范。例如,如果3個值中有2個相同,則建立失敗防護。
節點級別不能恢復的瞬態故障將傳播至系統級,最終降低系統性能,并反映在功能結構中[2-3]。因此,本文采用基于模型的異常檢測方法,從系統層面的控制質量和功能結構兩方面檢測瞬態故障。用于容忍這些瞬態故障的典型模型包括制動控制模型和結構模型。
為防止車輪抱死,線控制動系統利用車輪滑移控制車輪制動器。本文方案有兩個MCU,每個MCU 控制兩個車輪,該種控制方式基于四分之一車輛模型,表示為:

式中,m(單位:kg)和r(單位:m)分別為四分之一車輛模型的質量和車輪半徑,J(單位:kg·m2)為車輪的轉動慣量,v(單位:m/s)為車身縱向速度,w(單位:rad/s)為車輪角速度,Fx(單位:N)和Tb(單位:N·m)分別為輪胎摩擦力和制動力矩。
系統中的非線性行為隱藏在Fx中,其表達式如下:

式中,FZ(N)為輪胎—路面接觸點處的垂直力;λ為縱向滑移率,表示為:

基于四分之一車輛模型的車輛制動控制能有效增加系統容錯能力。例如,當車輪的一個節點或制動器失效時,首先采用故障診斷的方式進行處理,如果無法恢復其功能,則采用降級模式以三輪制動,通過滑移率和制動力分配等方式給出解決方案(這些方案在文獻[18]中已給出)。
本文設計的線控制動系統中9 個節點的硬件設計方案相同,節點結構框圖如圖4 所示。每個節點主要由主MCU、制動意圖采集電路、輪速采集電路、FlexRay 驅動電路和CAN 驅動電路等組成。

Fig.4 Node structure block diagram of line control system圖4 線控制動系統節點結構框圖

θr=[θ1,θ2,θ3,θ4],為取決于道路情況的系數向量,μ為λ的非線性函數。
本文使用Pacejka 的Magic Formula 穩態模型,表示為:
控制器為MC9S12XF 系列單片機MC9S12XF512,其最小系統電路如圖5 所示[19]。

Fig.5 Minimum system circuit of MC9S12XF512圖5 MC9S12XF512 單片機最小系統電路
制動意圖采集選用電阻式壓力傳感器,該傳感器受到的壓力越大,代表駕駛員制動意圖越大,具體驅動電路如圖6 所示。壓力傳感器的最大量程為50N,精度為0.001N,設定壓力值與制動意圖成正比。

Fig.6 Driving circuit of braking intention acquisition圖6 制動意圖采集驅動電路
輪速采集模塊主要是為了獲得汽車的當前狀態,以便及時反饋給中央處理器,作出適當處理。汽車所需制動力不僅與駕駛員的制動意圖密切相關,還受路況和行駛速度的影響。大量數據表明,在高速行駛過程中,突然剎車引起的汽車事故數量非常高,因此一個安全可靠的制動系統必須考慮到汽車的運行速度。本文設計加入輪速采集模塊,使中央控制節點可以根據每個車輪的速度分布進行制動力分配。
線控制動系統的制動策略需要通過軟件編程實現,要求為快速準確地采集制動信號,安全可靠地制動。
線控制動系統的軟件架構如圖7 所示,該圖描述了整個系統的數據流向。中央節點1 和中央節點2 獲取壓力傳感器的數據,以此判斷制動意圖,其中節點1 控制前兩個車輪,節點2 控制后兩個車輪,根據制動力分配算法合理分配制動力矩,以共同完成制動。兩個中央節點統一調度分配,有相互冗余的作用,且冗余通過半主動的方式實現。4個子節點的主要作用為制動以及采集車輪速度。

Fig.7 Software architecture of line control system圖7 線控制動系統軟件架構
本系統共有9 個節點,包括3 個壓力傳感器節點,2 個主控制節點,4 個子控制節點。節點1 和節點2 兩個主節點起著故障監測與制動力分配的重要作用,其會循環監測制動意圖以及故障情況。正常情況下,所有節點都會進行通訊以及故障校驗,當需要制動時,主節點首先接收到制動信號,然后將計算后的制動力數據傳輸到其他4 個子節點。在故障模式下,主節點會監測到駕駛員的制動意圖,迅速判斷節點故障狀態,根據故障狀態選擇合適的制動力分配策略[3]。線控制動系統主節點流程如圖8 所示。

Fig.8 Master node process of brake by wire system圖8 線控制動系統主節點流程
從節點的主要作用為將采集到的輪速數據傳輸給中央控制節點,并從中央控制節點接收制動力分配數據輸出的PWM 波,以對磁粉制動器進行制動。
在FlexRay 通信程序中,各個節點都運行在中斷模式。應用主要調用以下驅動程序配置FlexRay 模塊:
(1)配置FlexRay 時序和定時。
(2)配置接收消息緩存和雙收發信息緩存,允許發送和接收FlexRay 消息,使能消息緩存中斷。
(3)配置FIFO 存儲、使能FIFO 中斷。
(4)配置時鐘T1、T2,使能定時中斷。
(5)建立6 個節點的通信。
(6)當消息緩存發生時,存儲接收幀的時隙狀態。
(7)當消息緩存中斷時,以最新數據更新發送消息緩存[20]。
將FlexRay 網絡配置成雙通道通信,傳輸速率為10Mbit/s,1 個周期的時間設置為5ms,信號均在靜態段時隙發送。線控制動的FlexRay 網絡參數配置如表1 所示。

Table1 FlexRay network parameter configuration表1 FlexRay 網絡參數配置
將硬件與軟件整合[20],搭建分布式線控制動系統實驗平臺,當系統運行正常時,能夠保證制動。為方便驗證系統能否克服故障,針對總線開發環境(CANoe)接收到的信號做出表2 設定。

Table 2 Source and meaning of CANoe received value表2 CANoe 接收值來源及其含義
當FlexRay 總線通信失效時,系統通信無法正常實現。在進行FlexRay 配置時采用雙通道冗余,首先將每個節點的單個FlexRay 接口人為斷開,觀察能否正常通信。實驗結果如圖9 所示,SFlexRay_state 值為15,表明單通道系統可以實現通信。然后斷掉MCU 的雙通道通信,實驗結果如圖10 所示,SFlexRay_state 值為5,表明斷掉兩個通道時通信無法進行。

Fig.9 CAN message mark in FlexRay single channel communication圖9 FlexRay 單通道通信時CAN 報文標志
以上兩個實驗結果說明本文系統可以克服單通道失效的情況。

Fig.10 CAN message flag when FlexRay communication fails圖10 FlexRay 通信失效時CAN 報文標志
CANoe 的模擬節點拓撲結構如圖11 所示,人為地將兩個MCU 中的任意一個斷電,系統仍然能夠正常工作,說明系統能夠應對單個MCU 發生故障的情況。但當兩個MCU都斷電時,系統無法實現正常功能。
本實驗分為4 組,第1 組為觀察正常情況下CANoe 中Sbreak_state 的值,實驗結果如圖12 所示,正常情況下Sbreak_state 的值為16。

Fig.11 CANoe simulation node topology圖11 CANoe 模擬節點拓撲圖

Fig.12 CAN message mark when brake is normal圖12 制動器正常時CAN 報文標志
第2 組實驗斷開1 個制動器節點,實驗結果如圖13 所示,Sbreak_state 的值為17,表明通信正常,且在實物平臺環境下可以實現制動。

Fig.13 CAN message mark when one brake fails圖13 1 個制動器失效時CAN 報文標志
第3 組實驗斷開2 個制動器節點,實驗結果如圖14 所示,Sbreak_state 的值為18,表明通信正常,且在實物平臺環境下可以實現制動。

Fig.14 CAN message mark when two brakes fail圖14 2 個制動器失效時CAN 報文標志
第4 組實驗斷開3 個制動器節點,實驗結果如圖15 所示,Sbreak_state 的值為19,表明通信正常。在實物平臺上測試,斷開所有制動節點后系統無法正常實現功能。

Fig.15 CAN message mark when three brakes fail圖15 3 個制動器失效時CAN 報文標志
上述實驗結果表明,本文線控制動系統可以應對單通信通道故障、單MCU 故障以及制動器節點故障的情況,可靠性與容錯性較好。
通過研究大量國內外文獻中關于汽車線控制動系統、制動執行器以及車載網絡的內容,本文提出一種線控制動故障容錯系統,通過搭建實驗平臺,實現了具有硬件冗余、軟件容錯能力的線控制動方案,具體步驟包括原理圖PCB設計、元器件焊接、軟件代碼編寫等。然而,本文設計的線控制動方案相對簡單,對駕駛員制動意圖信號的采集精準度有待提高,后續可通過采用專業電子制動踏板的方式進行優化。