李 明,張鳳登
(上海理工大學(xué)光電信息與計算機工程學(xué)院,上海 200093)
制動性能是檢驗汽車安全性能的一個重要指標(biāo)。相較于傳統(tǒng)制動方式,線控制動(Brake-by-Wire,BBW)具有顯著優(yōu)勢。例如與液壓制動系統(tǒng)相比,線控制動系統(tǒng)連接裝置大幅度減少,很多機械部件用線束代替,既減輕了車身重量又降低了車輛維修的復(fù)雜度[1-4]。然而,由于汽車行駛環(huán)境具有不確定性,線控制動系統(tǒng)需要采集并處理大量信息,信息傳輸?shù)陌踩?、可靠性與高效性是需要重點關(guān)注的問題[5-6]。文獻[7]將CAN 總線應(yīng)用于汽車線控制動系統(tǒng)中,提出了系統(tǒng)以及各節(jié)點間的電路設(shè)計方案,簡化了系統(tǒng)結(jié)構(gòu),提高了可靠性。由于CAN 通信協(xié)議沒有冗余性,當(dāng)通信系統(tǒng)發(fā)生故障時,整個系統(tǒng)都會癱瘓,因此系統(tǒng)安全性十分不足[8-11]。文獻[12]將FlexRay 總線應(yīng)用于嵌入式線控制動系統(tǒng)中,設(shè)計了2 個FlexRay 節(jié)點,可實現(xiàn)對兩個電機的制動作用。
本文將具有較高傳輸速率、較佳安全容錯性的FlexRay通信網(wǎng)絡(luò)運用于汽車線控制動系統(tǒng)中,提出汽車4 個車輪同時制動的硬件設(shè)計方案與軟件故障容錯策略,以提高制動系統(tǒng)的傳輸速率、安全性以及可靠性,克服液壓制動系統(tǒng)的不足。
系統(tǒng)共設(shè)計9 個節(jié)點,整體架構(gòu)如圖1 所示,包括中央控制節(jié)點(MCU)冗余、總線傳輸通道冗余、傳感器冗余等。該系統(tǒng)使用雙模冗余提供備份以增加安全性,其顯著特點為在汽車正常行駛過程中,兩個MCU 分別控制前后輪制動,其中FMCU 控制前車輪,RMCU 控制后車輪,二者互相監(jiān)視。任何一個MCU 出現(xiàn)故障,另一個就會接管所有車輪控制節(jié)點,這樣至少可在原來的一個周期延時內(nèi)實現(xiàn)兩輪制動,提高了系統(tǒng)可靠性[13-15]。
Fig.1 Hardware system design圖1 硬件系統(tǒng)方案設(shè)計
軟件容錯控制策略由分布在節(jié)點和系統(tǒng)級別的多個組件組成,具體如圖2 所示。在理想情況下,所有故障都在節(jié)點級別被及時處理,然而由于暫時性故障多樣且復(fù)雜,實際情況并非如此。因此,本文采用基于簽名的檢測方法在節(jié)點級別快速檢測已知故障,并通過預(yù)設(shè)恢復(fù)策略進行恢復(fù)?;谙到y(tǒng)模型異常處理方法,在系統(tǒng)級別恢復(fù)剩余暫時性故障,且不影響系統(tǒng)控制質(zhì)量與功能結(jié)構(gòu)。
Fig.2 Software fault tolerant architecture of line control system圖2 線控制動系統(tǒng)的軟件容錯架構(gòu)
節(jié)點模型一般由平臺特定模型與應(yīng)用特定模型組成。其通過節(jié)點的結(jié)構(gòu)與行為信息檢測特定的應(yīng)用瞬態(tài)故障,并根據(jù)預(yù)設(shè)恢復(fù)策略進行恢復(fù)。如圖3 所示,應(yīng)用結(jié)構(gòu)以基本功能圖表示,節(jié)點的動態(tài)行為由線控制動系統(tǒng)通用節(jié)點中的數(shù)據(jù)流和狀態(tài)轉(zhuǎn)換表示。應(yīng)用結(jié)構(gòu)體現(xiàn)了基本功能之間的依賴關(guān)系,可根據(jù)具體的基本功能或數(shù)據(jù)精確定位故障。當(dāng)檢測到故障并指向特定組件(基本功能或數(shù)據(jù))時,系統(tǒng)激活搜索策略并從策略庫中獲取相關(guān)恢復(fù)策略,從而快速消除故障。如果同時檢測到基本功能故障和相關(guān)數(shù)據(jù)故障,基本功能的恢復(fù)具有優(yōu)先權(quán),通過使用備用值修復(fù)故障,并重新執(zhí)行[16-17]。
Fig.3 Node model of linear control system圖3 線控制動系統(tǒng)的節(jié)點模型
除中央節(jié)點外,每個節(jié)點都需要檢測并讀取傳感器數(shù)值,采用軟件投票的方式增加讀取數(shù)據(jù)的可靠性。當(dāng)使用多數(shù)投票法檢索輸入的正確值時,如果大多數(shù)值彼此不同,則可以進行故障檢測。只有當(dāng)大多數(shù)值相同時,才能進行失效防范。例如,如果3個值中有2個相同,則建立失敗防護。
節(jié)點級別不能恢復(fù)的瞬態(tài)故障將傳播至系統(tǒng)級,最終降低系統(tǒng)性能,并反映在功能結(jié)構(gòu)中[2-3]。因此,本文采用基于模型的異常檢測方法,從系統(tǒng)層面的控制質(zhì)量和功能結(jié)構(gòu)兩方面檢測瞬態(tài)故障。用于容忍這些瞬態(tài)故障的典型模型包括制動控制模型和結(jié)構(gòu)模型。
為防止車輪抱死,線控制動系統(tǒng)利用車輪滑移控制車輪制動器。本文方案有兩個MCU,每個MCU 控制兩個車輪,該種控制方式基于四分之一車輛模型,表示為:
式中,m(單位:kg)和r(單位:m)分別為四分之一車輛模型的質(zhì)量和車輪半徑,J(單位:kg·m2)為車輪的轉(zhuǎn)動慣量,v(單位:m/s)為車身縱向速度,w(單位:rad/s)為車輪角速度,F(xiàn)x(單位:N)和Tb(單位:N·m)分別為輪胎摩擦力和制動力矩。
系統(tǒng)中的非線性行為隱藏在Fx中,其表達式如下:
式中,F(xiàn)Z(N)為輪胎—路面接觸點處的垂直力;λ為縱向滑移率,表示為:
基于四分之一車輛模型的車輛制動控制能有效增加系統(tǒng)容錯能力。例如,當(dāng)車輪的一個節(jié)點或制動器失效時,首先采用故障診斷的方式進行處理,如果無法恢復(fù)其功能,則采用降級模式以三輪制動,通過滑移率和制動力分配等方式給出解決方案(這些方案在文獻[18]中已給出)。
本文設(shè)計的線控制動系統(tǒng)中9 個節(jié)點的硬件設(shè)計方案相同,節(jié)點結(jié)構(gòu)框圖如圖4 所示。每個節(jié)點主要由主MCU、制動意圖采集電路、輪速采集電路、FlexRay 驅(qū)動電路和CAN 驅(qū)動電路等組成。
Fig.4 Node structure block diagram of line control system圖4 線控制動系統(tǒng)節(jié)點結(jié)構(gòu)框圖
θr=[θ1,θ2,θ3,θ4],為取決于道路情況的系數(shù)向量,μ為λ的非線性函數(shù)。
本文使用Pacejka 的Magic Formula 穩(wěn)態(tài)模型,表示為:
控制器為MC9S12XF 系列單片機MC9S12XF512,其最小系統(tǒng)電路如圖5 所示[19]。
Fig.5 Minimum system circuit of MC9S12XF512圖5 MC9S12XF512 單片機最小系統(tǒng)電路
制動意圖采集選用電阻式壓力傳感器,該傳感器受到的壓力越大,代表駕駛員制動意圖越大,具體驅(qū)動電路如圖6 所示。壓力傳感器的最大量程為50N,精度為0.001N,設(shè)定壓力值與制動意圖成正比。
Fig.6 Driving circuit of braking intention acquisition圖6 制動意圖采集驅(qū)動電路
輪速采集模塊主要是為了獲得汽車的當(dāng)前狀態(tài),以便及時反饋給中央處理器,作出適當(dāng)處理。汽車所需制動力不僅與駕駛員的制動意圖密切相關(guān),還受路況和行駛速度的影響。大量數(shù)據(jù)表明,在高速行駛過程中,突然剎車引起的汽車事故數(shù)量非常高,因此一個安全可靠的制動系統(tǒng)必須考慮到汽車的運行速度。本文設(shè)計加入輪速采集模塊,使中央控制節(jié)點可以根據(jù)每個車輪的速度分布進行制動力分配。
線控制動系統(tǒng)的制動策略需要通過軟件編程實現(xiàn),要求為快速準(zhǔn)確地采集制動信號,安全可靠地制動。
線控制動系統(tǒng)的軟件架構(gòu)如圖7 所示,該圖描述了整個系統(tǒng)的數(shù)據(jù)流向。中央節(jié)點1 和中央節(jié)點2 獲取壓力傳感器的數(shù)據(jù),以此判斷制動意圖,其中節(jié)點1 控制前兩個車輪,節(jié)點2 控制后兩個車輪,根據(jù)制動力分配算法合理分配制動力矩,以共同完成制動。兩個中央節(jié)點統(tǒng)一調(diào)度分配,有相互冗余的作用,且冗余通過半主動的方式實現(xiàn)。4個子節(jié)點的主要作用為制動以及采集車輪速度。
Fig.7 Software architecture of line control system圖7 線控制動系統(tǒng)軟件架構(gòu)
本系統(tǒng)共有9 個節(jié)點,包括3 個壓力傳感器節(jié)點,2 個主控制節(jié)點,4 個子控制節(jié)點。節(jié)點1 和節(jié)點2 兩個主節(jié)點起著故障監(jiān)測與制動力分配的重要作用,其會循環(huán)監(jiān)測制動意圖以及故障情況。正常情況下,所有節(jié)點都會進行通訊以及故障校驗,當(dāng)需要制動時,主節(jié)點首先接收到制動信號,然后將計算后的制動力數(shù)據(jù)傳輸?shù)狡渌? 個子節(jié)點。在故障模式下,主節(jié)點會監(jiān)測到駕駛員的制動意圖,迅速判斷節(jié)點故障狀態(tài),根據(jù)故障狀態(tài)選擇合適的制動力分配策略[3]。線控制動系統(tǒng)主節(jié)點流程如圖8 所示。
Fig.8 Master node process of brake by wire system圖8 線控制動系統(tǒng)主節(jié)點流程
從節(jié)點的主要作用為將采集到的輪速數(shù)據(jù)傳輸給中央控制節(jié)點,并從中央控制節(jié)點接收制動力分配數(shù)據(jù)輸出的PWM 波,以對磁粉制動器進行制動。
在FlexRay 通信程序中,各個節(jié)點都運行在中斷模式。應(yīng)用主要調(diào)用以下驅(qū)動程序配置FlexRay 模塊:
(1)配置FlexRay 時序和定時。
(2)配置接收消息緩存和雙收發(fā)信息緩存,允許發(fā)送和接收FlexRay 消息,使能消息緩存中斷。
(3)配置FIFO 存儲、使能FIFO 中斷。
(4)配置時鐘T1、T2,使能定時中斷。
(5)建立6 個節(jié)點的通信。
(6)當(dāng)消息緩存發(fā)生時,存儲接收幀的時隙狀態(tài)。
(7)當(dāng)消息緩存中斷時,以最新數(shù)據(jù)更新發(fā)送消息緩存[20]。
將FlexRay 網(wǎng)絡(luò)配置成雙通道通信,傳輸速率為10Mbit/s,1 個周期的時間設(shè)置為5ms,信號均在靜態(tài)段時隙發(fā)送。線控制動的FlexRay 網(wǎng)絡(luò)參數(shù)配置如表1 所示。
Table1 FlexRay network parameter configuration表1 FlexRay 網(wǎng)絡(luò)參數(shù)配置
將硬件與軟件整合[20],搭建分布式線控制動系統(tǒng)實驗平臺,當(dāng)系統(tǒng)運行正常時,能夠保證制動。為方便驗證系統(tǒng)能否克服故障,針對總線開發(fā)環(huán)境(CANoe)接收到的信號做出表2 設(shè)定。
Table 2 Source and meaning of CANoe received value表2 CANoe 接收值來源及其含義
當(dāng)FlexRay 總線通信失效時,系統(tǒng)通信無法正常實現(xiàn)。在進行FlexRay 配置時采用雙通道冗余,首先將每個節(jié)點的單個FlexRay 接口人為斷開,觀察能否正常通信。實驗結(jié)果如圖9 所示,SFlexRay_state 值為15,表明單通道系統(tǒng)可以實現(xiàn)通信。然后斷掉MCU 的雙通道通信,實驗結(jié)果如圖10 所示,SFlexRay_state 值為5,表明斷掉兩個通道時通信無法進行。
Fig.9 CAN message mark in FlexRay single channel communication圖9 FlexRay 單通道通信時CAN 報文標(biāo)志
以上兩個實驗結(jié)果說明本文系統(tǒng)可以克服單通道失效的情況。
Fig.10 CAN message flag when FlexRay communication fails圖10 FlexRay 通信失效時CAN 報文標(biāo)志
CANoe 的模擬節(jié)點拓撲結(jié)構(gòu)如圖11 所示,人為地將兩個MCU 中的任意一個斷電,系統(tǒng)仍然能夠正常工作,說明系統(tǒng)能夠應(yīng)對單個MCU 發(fā)生故障的情況。但當(dāng)兩個MCU都斷電時,系統(tǒng)無法實現(xiàn)正常功能。
本實驗分為4 組,第1 組為觀察正常情況下CANoe 中Sbreak_state 的值,實驗結(jié)果如圖12 所示,正常情況下Sbreak_state 的值為16。
Fig.11 CANoe simulation node topology圖11 CANoe 模擬節(jié)點拓撲圖
Fig.12 CAN message mark when brake is normal圖12 制動器正常時CAN 報文標(biāo)志
第2 組實驗斷開1 個制動器節(jié)點,實驗結(jié)果如圖13 所示,Sbreak_state 的值為17,表明通信正常,且在實物平臺環(huán)境下可以實現(xiàn)制動。
Fig.13 CAN message mark when one brake fails圖13 1 個制動器失效時CAN 報文標(biāo)志
第3 組實驗斷開2 個制動器節(jié)點,實驗結(jié)果如圖14 所示,Sbreak_state 的值為18,表明通信正常,且在實物平臺環(huán)境下可以實現(xiàn)制動。
Fig.14 CAN message mark when two brakes fail圖14 2 個制動器失效時CAN 報文標(biāo)志
第4 組實驗斷開3 個制動器節(jié)點,實驗結(jié)果如圖15 所示,Sbreak_state 的值為19,表明通信正常。在實物平臺上測試,斷開所有制動節(jié)點后系統(tǒng)無法正常實現(xiàn)功能。
Fig.15 CAN message mark when three brakes fail圖15 3 個制動器失效時CAN 報文標(biāo)志
上述實驗結(jié)果表明,本文線控制動系統(tǒng)可以應(yīng)對單通信通道故障、單MCU 故障以及制動器節(jié)點故障的情況,可靠性與容錯性較好。
通過研究大量國內(nèi)外文獻中關(guān)于汽車線控制動系統(tǒng)、制動執(zhí)行器以及車載網(wǎng)絡(luò)的內(nèi)容,本文提出一種線控制動故障容錯系統(tǒng),通過搭建實驗平臺,實現(xiàn)了具有硬件冗余、軟件容錯能力的線控制動方案,具體步驟包括原理圖PCB設(shè)計、元器件焊接、軟件代碼編寫等。然而,本文設(shè)計的線控制動方案相對簡單,對駕駛員制動意圖信號的采集精準(zhǔn)度有待提高,后續(xù)可通過采用專業(yè)電子制動踏板的方式進行優(yōu)化。