嵌入式系統(tǒng)的自適應(yīng)前照燈系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了改善駕駛員在夜間或能見(jiàn)度較低環(huán)境下的視野范圍,提高行駛的安全性,介紹了一種基于嵌入式系統(tǒng)的汽車自適應(yīng)前照燈系統(tǒng)的設(shè)計(jì)方案。此系統(tǒng)中的前照燈控制器采用FPGA來(lái)控制CAN總線控制器、數(shù)/模轉(zhuǎn)換器和全橋電機(jī)驅(qū)動(dòng)器等器件來(lái)實(shí)現(xiàn)接收方向盤轉(zhuǎn)角信號(hào),并使電機(jī)運(yùn)行帶動(dòng)前照燈的轉(zhuǎn)向。自適應(yīng)前照燈系統(tǒng)控制中心使用的是ARM9處理器。該設(shè)計(jì)方案滿足要求,已經(jīng)在項(xiàng)目中獲得了良好的應(yīng)用效果。
引言
汽車自適應(yīng)前照燈系統(tǒng)是汽車安全系統(tǒng)的重要組成部分,它能根據(jù)轉(zhuǎn)向角和車速的變化自動(dòng)調(diào)整前照燈光束照射方向,增加了汽車行駛前方的有效照射區(qū)域,從而提高駕駛員在夜間或能見(jiàn)度低的環(huán)境下的視覺(jué)范圍。
本設(shè)計(jì)采用了嵌入式技術(shù)來(lái)實(shí)現(xiàn),嵌入式技術(shù)不僅廣泛地應(yīng)用于汽車行業(yè),而且在工業(yè)自動(dòng)化、監(jiān)控系統(tǒng)、醫(yī)療儀器等領(lǐng)域也有廣泛應(yīng)用。
1 系統(tǒng)原理設(shè)計(jì)
本文介紹的汽車前照燈轉(zhuǎn)向控制器主要是由FPGA、D/A轉(zhuǎn)換器、CAN總線控制器和電機(jī)驅(qū)動(dòng)芯片等器件組成的。它的設(shè)計(jì)分為CAN總線控制器模塊和電機(jī)驅(qū)動(dòng)模塊兩部分,由FPGA來(lái)控制并連接這兩個(gè)模塊。CAN總線控制器模塊實(shí)現(xiàn)接收CAN報(bào)文包消息,F(xiàn)PGA通過(guò)處理CAN報(bào)文包消息來(lái)控制電機(jī)驅(qū)動(dòng)模塊使左右電機(jī)分別轉(zhuǎn)動(dòng)。汽車前照燈轉(zhuǎn)向控制中心使用的是ARM9處理器,它主要處理相關(guān)傳感器的信息并根據(jù)相應(yīng)的自適應(yīng)算法計(jì)算出前照燈轉(zhuǎn)角角度。系統(tǒng)的架構(gòu)圖如圖1所示。
2 硬件設(shè)計(jì)
2.1 CAN總線結(jié)點(diǎn)控制器模塊
本模塊設(shè)計(jì)中的CAN總線結(jié)點(diǎn)控制器模塊主要是由FPGA、CAN總線控制器、CAN總線收發(fā)器和一些外圍電路實(shí)現(xiàn)的。CAN總線通信的核心是CAN總線控制器,由它完成CAN總線的通信協(xié)議,實(shí)現(xiàn)物理層和數(shù)據(jù)鏈路層的所有功能。CAN總線收發(fā)器按照BOSCH CAN總線標(biāo)準(zhǔn)將0或1邏輯信號(hào)轉(zhuǎn)換為標(biāo)準(zhǔn)中規(guī)定的電平。本設(shè)計(jì)中選用了Microchip公司開發(fā)的CAN總線控制器MCP2510和CAN總線收發(fā)器MCP2551。CAN總線結(jié)點(diǎn)控制器模塊電路原理圖如圖2所示。
Microchip公司生產(chǎn)的MCP2510是一款控制器局域網(wǎng)絡(luò)(CAN)協(xié)議控制器,完全支持CAN總線V2.0 A/B技術(shù)規(guī)范。該器件支持CAN1.2、CAN2.0A、主動(dòng)和被動(dòng)CAN2.0B等版本的協(xié)議,能夠發(fā)送和接收標(biāo)準(zhǔn)和擴(kuò)展報(bào)文。它還同時(shí)具備驗(yàn)收過(guò)濾以及報(bào)文管理功能。該器件包含三個(gè)發(fā)送緩沖器和兩個(gè)接收緩沖器,減少了單片機(jī)(MCU)的管理負(fù)擔(dān)。MCU的通信是通過(guò)行業(yè)標(biāo)準(zhǔn)串行外設(shè)接口(SPI)來(lái)實(shí)現(xiàn)的,其數(shù)據(jù)傳輸速率高達(dá)5 Mb/s。
圖2中
、SO、SI、SCK、
接口與FPGA引腳接口相連,F(xiàn)PGA通過(guò)與
、SO、SI、SCK相連的引腳實(shí)現(xiàn)SPI接口,并與MCP2510中斷信號(hào)接口INT結(jié)合來(lái)完成對(duì)MCP2510的控制。CANH和CANL連接到CAN總線網(wǎng)絡(luò)中。
2.2 電機(jī)驅(qū)動(dòng)模塊
本模塊設(shè)計(jì)主要由FPGA、D/A轉(zhuǎn)換器、電機(jī)功率驅(qū)動(dòng)器組成,通過(guò)FPGA控制D/A轉(zhuǎn)換器、電機(jī)功率驅(qū)動(dòng)器實(shí)現(xiàn)步進(jìn)電機(jī)的細(xì)分驅(qū)動(dòng)技術(shù),從而完成對(duì)步進(jìn)電機(jī)的控制。本設(shè)計(jì)中的D/A轉(zhuǎn)換器選用Maxim公司開發(fā)的MAX506,電機(jī)功率驅(qū)動(dòng)器選用NS公司開發(fā)的LMD18245,實(shí)現(xiàn)兩個(gè)步進(jìn)電機(jī)的功率驅(qū)動(dòng)及電流控制,完成對(duì)汽車兩個(gè)前照燈的智能轉(zhuǎn)向。
LMD18245是NS公司生產(chǎn)的DMOS全橋功率放大器,其內(nèi)部集成了驅(qū)動(dòng)和控制有刷直流電機(jī)或單相雙極性步進(jìn)電機(jī)的所有電路模塊。該器件在同一芯片中組合應(yīng)用了雙極、CMOS控制、保護(hù)電路和DMOS功率開關(guān)等多種技術(shù),并可通過(guò)固定關(guān)斷時(shí)間技術(shù)來(lái)控制電機(jī)的電流。
圖3為L(zhǎng)MD18245芯片的電路連接圖。一共用了4塊這種芯片組成一個(gè)雙步進(jìn)電機(jī)驅(qū)動(dòng)。在圖3中連接RC端的電容和電阻構(gòu)成了一個(gè)單穩(wěn)態(tài)網(wǎng)絡(luò),它的寬度取決于RC端與地之間的RC網(wǎng)絡(luò),關(guān)斷時(shí)間為1.1RC。當(dāng)A1+、A1+連接的電機(jī)線圈內(nèi)的電流達(dá)到(VrefA×D/16)/[(250×10-6)Rs]安培時(shí),出現(xiàn)斷路。其中D是由M1~M4給定的十進(jìn)制數(shù)。本設(shè)計(jì)中的VrefA端輸入電壓最大為5 V,接在CS OUT端的電阻Rs為40 kΩ,所以步進(jìn)電機(jī)的最大電流限定為0.5 A,滿足本設(shè)計(jì)使用的42BYGH4604步進(jìn)電機(jī)的額定電流。電路中DIR是電流方向控制信號(hào),BRAKE是關(guān)斷信號(hào),DAC REF、M1、M2、M3和M4是內(nèi)置4位D/A轉(zhuǎn)換器的參考電壓和數(shù)字輸入信號(hào)。
圖4為D/A轉(zhuǎn)換芯片MAX506的電路連接圖,MAX506是4路8位電壓輸出的數(shù)/模轉(zhuǎn)換器(DAC)。MAX506提供了4路DAC各自獨(dú)立的輸入鎖存器,輸入數(shù)據(jù)從一個(gè)共用的8位輸入端口傳輸?shù)捷斎腈i存器。MAX506通過(guò)地址輸入A0和A1選擇DAC,并通過(guò)拉低WR電平信號(hào)來(lái)更新。電路中的VrefA、VrefB、VrefC、VrefD為4片LMD18245提供DAC REF的參考電壓。
3 軟件設(shè)計(jì)
本文中MCP2510主要采取中斷模式進(jìn)行總線數(shù)據(jù)的接收。整個(gè)系統(tǒng)主程序只提供了一種中斷,首先對(duì)MCP2510發(fā)送復(fù)位指令使它復(fù)位,然后使其進(jìn)入Configuration模式進(jìn)而對(duì)它進(jìn)行初始化,即對(duì)各個(gè)相應(yīng)的寄存器賦初始值,設(shè)定MCP2510的波特率、發(fā)送標(biāo)識(shí)符、接收標(biāo)識(shí)符、報(bào)文驗(yàn)收濾波器及屏蔽寄存器,完成初始化后將其置為Normal模式,進(jìn)入等待接收數(shù)據(jù)狀態(tài)。
電機(jī)驅(qū)動(dòng)模塊電路程序的設(shè)計(jì)主要有三部分:兩個(gè)循環(huán)加減計(jì)數(shù)器、兩個(gè)ROM IP核和4路復(fù)用D/A轉(zhuǎn)換器的片選信號(hào)發(fā)生單元。ROM是用ISE提供的IP核來(lái)實(shí)現(xiàn),對(duì)24MHz系統(tǒng)時(shí)鐘進(jìn)行分頻得到D/A轉(zhuǎn)換器的片選信號(hào),然后對(duì)4個(gè)端口進(jìn)行掃描,就可以達(dá)到分時(shí)復(fù)用的目的。
汽車前照燈轉(zhuǎn)向控制中心主要對(duì)各汽車傳感器信號(hào)進(jìn)行接收,并根據(jù)汽車自適應(yīng)前照燈的原理實(shí)現(xiàn)它的相關(guān)控制算法,然后發(fā)送控制信號(hào)給汽車前照燈轉(zhuǎn)向控制器,使它控制前照燈實(shí)現(xiàn)智能轉(zhuǎn)向。
在汽車中,汽車速度V和安全停車視距S的數(shù)學(xué)關(guān)系如表1所列。
根據(jù)表中的數(shù)據(jù),得到汽車速度與停車視距間的擬合數(shù)學(xué)關(guān)系如下:
S=0.0015V3+0.21V2+0.6821V+10.0122 (1)
當(dāng)汽車轉(zhuǎn)彎時(shí),汽車前照燈轉(zhuǎn)向控制中心根據(jù)汽車轉(zhuǎn)彎半徑和速度計(jì)算出前照燈的轉(zhuǎn)動(dòng)角度。然后汽車前照燈轉(zhuǎn)向控制器通過(guò)控制步進(jìn)電機(jī)來(lái)執(zhí)行前照燈的轉(zhuǎn)向。停車視距與轉(zhuǎn)彎半徑的幾何關(guān)系圖如圖5所示。
圖5中,R(單位為m)是汽車轉(zhuǎn)彎半徑;θh(單位為度)是前照燈的水平方向轉(zhuǎn)動(dòng)角度;S(單位為m)是停車視距。停車視距的計(jì)算公式為:
在實(shí)際情況下,轉(zhuǎn)彎半徑不容易獲取,所以通常通過(guò)汽車前輪轉(zhuǎn)向角度來(lái)代替汽車轉(zhuǎn)彎半徑。根據(jù)阿克曼幾何轉(zhuǎn)向原理,汽車前輪轉(zhuǎn)角與轉(zhuǎn)彎半徑的關(guān)系如下:
假設(shè)汽車的軸距為2.812 m,得到如圖6所示的前照燈轉(zhuǎn)角角度、前輪轉(zhuǎn)角角度和汽車速度的關(guān)系圖。
4 系統(tǒng)測(cè)試
測(cè)試中汽車前照燈轉(zhuǎn)向控制中心通過(guò)收集汽車速度和方向盤轉(zhuǎn)角傳感器信號(hào)計(jì)算出前照燈轉(zhuǎn)角角度,然后向汽車前照燈轉(zhuǎn)向控制器發(fā)送控制信號(hào)。由于汽車前照燈要求轉(zhuǎn)動(dòng)的角度較小,最大轉(zhuǎn)動(dòng)角度只有15°,所以很容易達(dá)到響應(yīng)速度的要求。測(cè)試表明,前照燈轉(zhuǎn)角角度誤差較小,滿足系統(tǒng)要求。