楊曉慧
(長(zhǎng)春大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,吉林 長(zhǎng)春 130022)
汽車(chē)自適應(yīng)巡航控制系統(tǒng)的嵌入式系統(tǒng)
楊曉慧
(長(zhǎng)春大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,吉林 長(zhǎng)春 130022)
本文從自適應(yīng)巡航控制算法入手,圍繞其結(jié)構(gòu)圖,論述了嵌入式系統(tǒng)的功能特性及其在汽車(chē)領(lǐng)域應(yīng)用的可行性與可靠性,闡明了其在大大提高汽車(chē)智能化發(fā)展中的重要作用。
自適應(yīng)巡航控制(ACC);超高頻率(UVHF);運(yùn)行時(shí)編譯器(RTOS)
嵌入式系統(tǒng)是一種將嵌入了軟件的計(jì)算機(jī)硬件作為其最重要的一部分的系統(tǒng)。它是一種專(zhuān)用于某個(gè)應(yīng)用或者產(chǎn)品的基于計(jì)算機(jī)的系統(tǒng)。它可以是一個(gè)獨(dú)立的系統(tǒng),也可以是更大系統(tǒng)的一部分。由于其軟件通常嵌入在ROM中,因此并不像計(jì)算機(jī)一樣需要輔助存儲(chǔ)器。嵌入式系統(tǒng)是當(dāng)前汽車(chē)電子領(lǐng)域應(yīng)用最廣泛的系統(tǒng)之一。從1990年起,就已經(jīng)在汽車(chē)的離散獨(dú)立組件或者集成中心服務(wù)系統(tǒng)的定時(shí)器、電機(jī)和機(jī)械系統(tǒng)的實(shí)時(shí)控制,自適應(yīng)巡航控制(ACC)[2]、數(shù)據(jù)采集等功能中使用。
維持恒定速度的自適應(yīng)巡航控制增加了一項(xiàng)特性,即在高速公路上出現(xiàn)多汽車(chē)流的情況下,維持車(chē)隊(duì)穩(wěn)定的功能。行駛控制是一個(gè)負(fù)責(zé)控制主動(dòng)輪油門(mén),并以預(yù)定的恒定速度引導(dǎo)汽車(chē)行駛的系統(tǒng)。行駛控制也可以在高速公路上出現(xiàn)多汽車(chē)流,或者護(hù)送貴賓的情況下保持車(chē)隊(duì)穩(wěn)定。通常,駕駛員在駕駛期間,使用加速器踏板控制車(chē)速。但是導(dǎo)航控制系統(tǒng)解除了駕駛員的這項(xiàng)工作,并且在道路條件比較適宜時(shí),ACC可以代替手動(dòng)控制。當(dāng)交通不太擁擠時(shí),汽車(chē)以比較高的速度行駛。在需要的時(shí)候,駕駛員也可以恢復(fù)控制。
自適應(yīng)控制是指一種調(diào)整控制輸入的當(dāng)前狀態(tài)的算法[1],該算法的方程中使用的不是一組恒定不變的數(shù)學(xué)參數(shù),而是可以動(dòng)態(tài)調(diào)整的。需要不斷調(diào)整的參數(shù)示例有比例常量、積分常量和微分常量。圖1介紹了自適應(yīng)控制算法如何進(jìn)行調(diào)整和操作。
圖1 調(diào)整操作的自適應(yīng)控制算法模型
ACC嵌入式系統(tǒng)的結(jié)構(gòu)圖如圖2所示。
2.1 常見(jiàn)的ACC系統(tǒng)執(zhí)行行為
(1)從DAS單元內(nèi)的速度計(jì)得到道路速度。
(2)從DAS單元內(nèi)的引擎速度得到加速度。
(3)得到用于剎車(chē)操作的剎車(chē)開(kāi)關(guān)輸入。
圖2 ACC嵌入式系統(tǒng)的結(jié)構(gòu)圖
(4)向踏板系統(tǒng)發(fā)送輸出信息,用于緊急剎車(chē)以及ACC行駛控制下的駕駛員不干涉行駛。
(5)運(yùn)行自適應(yīng)算法,計(jì)算并發(fā)送控制信號(hào)給真空管傳動(dòng)裝置中的步進(jìn)電動(dòng)機(jī)。開(kāi)啟真空管的小孔控制油門(mén)。這個(gè)閥門(mén)是電氣閥門(mén)。建立真空時(shí)通過(guò)風(fēng)箱提供所需動(dòng)力。也可以直接使用油門(mén)上帶有螺紋驅(qū)動(dòng)附件的A.D.C或者步進(jìn)電動(dòng)機(jī),代替真空傳動(dòng)裝置和風(fēng)箱。
(6)控制前置面板,該面板有以下部件:(a)用于“開(kāi)”、“關(guān)”、“自動(dòng)駕駛”、“恢復(fù)控制”、“設(shè)置/加速”開(kāi)關(guān)和顯示。駕駛員通過(guò)分別按下“開(kāi)”或者“關(guān)”來(lái)激活和關(guān)閉ACC系統(tǒng)。通過(guò)分別按下“自動(dòng)駕駛”或者“恢復(fù)控制”來(lái)移交和恢復(fù)ACC系統(tǒng)的控制權(quán)。駕駛員使用“設(shè)置/加速”開(kāi)關(guān)設(shè)置行駛速度。開(kāi)關(guān)依據(jù)ACC激活時(shí)的狀態(tài)閃爍綠光或者紅光。(b)報(bào)警和消息閃爍單元發(fā)出適當(dāng)?shù)膱?bào)警信號(hào)和消息閃爍統(tǒng)計(jì)圖表[3]。
(7)從前方車(chē)隊(duì)的車(chē)輪上的雷達(dá)或者UVHF(Ultra Very High Frequency,超高頻率)附件中得到前方汽車(chē)的距離。步進(jìn)電動(dòng)機(jī)調(diào)整該附件,使雷達(dá)發(fā)射器的視線(xiàn)和前方汽車(chē)保持在一條直線(xiàn)上。雷達(dá)系統(tǒng)保證了車(chē)隊(duì)穩(wěn)定,并在緊急情況發(fā)出警告。
選擇ACC的案例研究,是為了證明RTOS[4]在某些應(yīng)用程序中是必需的。我們使用運(yùn)行時(shí)編譯器(RTOS)的一些功能特性,來(lái)得到汽車(chē)電子系統(tǒng)中可靠的控制系統(tǒng)。這里給出的ACC系統(tǒng)示例,包括系統(tǒng)維持車(chē)隊(duì)穩(wěn)定的算法和端口。汽車(chē)電子設(shè)備中的硬件系統(tǒng)必須提供功能上的安全。以下是當(dāng)前一些重要的硬件標(biāo)準(zhǔn)和準(zhǔn)則:
a.TTP(Time Triggered Protocol,定時(shí)觸發(fā)協(xié)議)
b.CAN(Control Area Network,控制域網(wǎng)絡(luò))
c.MOST(Media Oriented System Transport,媒體定向系統(tǒng)傳輸)
d.為EMC(Electromagetic Magnetic Control,電磁控制)和功能安全準(zhǔn)則制定的IEE指導(dǎo)標(biāo)準(zhǔn)。
2.2 ACC系統(tǒng)應(yīng)用
當(dāng)前,基于嵌入系統(tǒng)的汽車(chē)控制單元使用微處理器、微控制器、DSP或者ASIP。我們假設(shè)在該案例中使用了這些單元,以下是它們的設(shè)備驅(qū)動(dòng)端口和函數(shù)。
(1)Port_Align:進(jìn)電動(dòng)機(jī)端口。電動(dòng)機(jī)按中斷信號(hào)順時(shí)針或者逆時(shí)針運(yùn)轉(zhuǎn)。該電動(dòng)機(jī)還會(huì)調(diào)整雷達(dá)或者UVHF傳輸設(shè)備和前方汽車(chē)在一條直線(xiàn)上。
(2)Port_Ranging:時(shí)間差timeDiff讀入端口設(shè)備。然后服務(wù)例程開(kāi)始執(zhí)行,雷達(dá)發(fā)射信號(hào),傳感器接收來(lái)自前方汽車(chē)的反射信號(hào)。該程序剛開(kāi)始禁用中斷。端口設(shè)備電路測(cè)量?jī)蓚€(gè)時(shí)刻之間的延遲。程序在退出臨界段時(shí)啟用中斷。延遲的一半乘以測(cè)量速度的任務(wù)提供的速度,得到前方汽車(chē)的距離。
(3)Port_Speed:口設(shè)備在接收中斷信號(hào)的同時(shí),設(shè)置一個(gè)N_rotation遞減計(jì)數(shù)器,并注明該時(shí)刻的時(shí)間。程序剛開(kāi)始禁用中斷。在遞減計(jì)數(shù)溢出后,它再次注明時(shí)間,并得到時(shí)間差deltaT。程序在退出臨界段時(shí)啟用中斷。Port_Speed收到來(lái)自Port_RangeRate的信號(hào)時(shí),在速度計(jì)上顯示當(dāng)前速度speedNow。
(4)Port_RangeRate:它向端口傳輸信號(hào)rangNow和speedNow,發(fā)送給車(chē)隊(duì)中的其他汽車(chē)。同時(shí)發(fā)送信號(hào)給Port_Speed,在速度計(jì)上顯示speedNow.
(5)Port_Brake:端口設(shè)備在收到中斷信號(hào)時(shí)應(yīng)用剎車(chē)和緊急剎車(chē)操作。該服務(wù)例程剛開(kāi)始禁用中斷,在退出臨界段時(shí)啟用中斷。它也應(yīng)用剎車(chē)操作并將剎車(chē)信息以信號(hào)的方式發(fā)送給車(chē)隊(duì)中的其他汽車(chē)。
在一個(gè)復(fù)雜嵌入式系統(tǒng)的設(shè)計(jì)中需要大量的編碼工作,當(dāng)開(kāi)發(fā)一個(gè)產(chǎn)品時(shí),需要能在一個(gè)合理的時(shí)間內(nèi)完成這些工作。一個(gè)就緒可用的RTOS程序包具有這樣的優(yōu)點(diǎn):在那些提前測(cè)試和調(diào)試過(guò)的RTOS函數(shù),以及錯(cuò)誤和異常處理函數(shù)已經(jīng)經(jīng)過(guò)眾多用戶(hù)測(cè)試使用后,RTOS程序包可以方便地獲得測(cè)試結(jié)果。汽車(chē)嵌入式系統(tǒng)在操作系統(tǒng)上需要一些超過(guò)MUCOS或者VxWorks以及MS DOS和UNIX的特殊性能。所需的特殊OS性能如下所示:
(1)語(yǔ)言可以與應(yīng)用程序相關(guān),沒(méi)有必要是C或者C++,數(shù)據(jù)類(lèi)型也應(yīng)該與具體的應(yīng)用程序相關(guān),但不與具體的RTOS相關(guān)。例如,在VxWorks中STATUS是RTOS相關(guān)的,這是不允許的,因?yàn)樗赡艹蔀橐粋€(gè)錯(cuò)誤源,所以不可靠。
(2)它的OS、每種方法、類(lèi)和運(yùn)行時(shí)庫(kù)應(yīng)該是可伸縮的。這優(yōu)化了對(duì)存儲(chǔ)器的需求。
(3)任務(wù)可以分成4類(lèi)。這向程序員提供了一個(gè)明顯的任務(wù)劃分,使得他們可以確定系統(tǒng)中哪些模塊使用哪類(lèi)任務(wù)。
a.每個(gè)優(yōu)先級(jí)的任務(wù)只有一個(gè),并且只激活一次的基本任務(wù)稱(chēng)作BCC1。
b.每個(gè)優(yōu)先級(jí)的任務(wù)只有一個(gè),并且只激活一次的擴(kuò)展任務(wù)稱(chēng)作ECC1。
c.每個(gè)優(yōu)先級(jí)的任務(wù)有多個(gè),并且運(yùn)行期間可激活多次的基本任務(wù)稱(chēng)作BCC2。
d.每個(gè)優(yōu)先級(jí)的任務(wù)有多個(gè),并且運(yùn)行期間可激活多次的擴(kuò)展任務(wù)稱(chēng)作ECC2。
(4)OS可以以截然不同的方式調(diào)度ISR和任務(wù)。
(5)中斷系統(tǒng)在服務(wù)例程開(kāi)始時(shí)被禁用,在返回時(shí)啟用。這使得任務(wù)可以在實(shí)時(shí)環(huán)境中運(yùn)行。
(6)任務(wù)可以實(shí)時(shí)調(diào)度。
(7)任務(wù)可以由3組對(duì)象組成,事件(信號(hào)量)、資源(語(yǔ)句和函數(shù))和設(shè)備。前面描述了一些端口設(shè)備。報(bào)警器就是一個(gè)例子。它顯示統(tǒng)計(jì)圖表、消息和閃爍消息,并發(fā)出嘟嘟聲和蜂鳴聲。
(8)不允許創(chuàng)建和刪除定時(shí)器、任務(wù)或者信號(hào)量對(duì)象。運(yùn)行時(shí)故障可能導(dǎo)致定時(shí)器或者信號(hào)量未經(jīng)允許就被刪除。這是潛在的問(wèn)題根源,因而不可靠。
(9)消息隊(duì)列通過(guò)任務(wù)發(fā)關(guān)的IPC不允許作為等待任務(wù),因?yàn)樗赡軣o(wú)限等待所需要的全部消息。RTOS隊(duì)列類(lèi)型、無(wú)限等待和消息超時(shí)可能是潛在的故障源,因而不可靠。信號(hào)量作為資源鍵或者計(jì)數(shù)器時(shí)可能會(huì)有類(lèi)似的風(fēng)險(xiǎn),所以不使用它們。
(10)進(jìn)入臨界段之前和執(zhí)行服務(wù)例程的時(shí)候,必須禁用所有中斷,只在返回的時(shí)候才啟用。
汽車(chē)電子設(shè)備中的軟件也必須是標(biāo)準(zhǔn)的。當(dāng)前一些重要的軟件標(biāo)準(zhǔn)和準(zhǔn)則是AMI-C(汽車(chē)多媒體接口協(xié)作),MISRA-C(針對(duì)汽車(chē)系統(tǒng)中C語(yǔ)言軟件準(zhǔn)則的發(fā)動(dòng)機(jī)行業(yè)可靠性協(xié)會(huì)標(biāo)準(zhǔn))和用于RTOS、通信和網(wǎng)絡(luò)管理的OSEK/VDX。操作系統(tǒng)方面的OSEK-OS,具有較高的可靠性。從而得出OSEK-OS[5]標(biāo)準(zhǔn)比VxWorks或者M(jìn)UCOS更可靠。所以ACC嵌入式系統(tǒng)會(huì)在汽車(chē)領(lǐng)域應(yīng)用得更加廣泛。
[1] 王宜懷,劉曉升.嵌入式應(yīng)用技術(shù)基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2005:133-134.
[2] Raj Kamal.嵌入式系統(tǒng)-體系結(jié)構(gòu)、編程與設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005:443-444.
[3] B.Demuth and D.Eisenreich,Designing Embedded Internet Devices[M].Butterworth Heinemann,2002:188-190.
[4] 桑楠,等.嵌入式系統(tǒng)原理及應(yīng)用開(kāi)發(fā)技術(shù)[M].2版.北京:高等教育出版社,2008:201-202.
[5] 魏忠.嵌入式開(kāi)發(fā)詳解[M].北京:電子工業(yè)出版社,2003:239-240.
責(zé)任編輯:吳旭云
The embedded system of vehicle adaptive cruise control
YANG Xiao-hui
(College of Computer Science and Technology,Changchun University,Changchun 130022,China)
Starting from the vehicle adaptive cruise control algorithm and centering on its structure chart,this paper discusses the functional characteristics of the embedded system as well as the feasibility and dependability in automotive field and expounds the important role in the automobile intelligent development.
adaptive cruise control(ACC);super high frequency(UVHF);real-time operation system(RTOS)
TP66
A
1009-3907(2010)08-0081-03
2010-06-22
楊曉慧(1974-)女,吉林鎮(zhèn)賚人,實(shí)驗(yàn)師,主要從事計(jì)算機(jī)方面的研究。