唐衛(wèi)斌
(商洛學(xué)院 電子信息與電氣工程學(xué)院,商洛 726000)
隨著工業(yè)經(jīng)濟(jì)的發(fā)展,汽車(chē)開(kāi)始大量使用,隨之而來(lái)的就是汽車(chē)行駛安全問(wèn)題。據(jù)相關(guān)統(tǒng)計(jì),在未來(lái)的幾年甚至幾十年汽車(chē)的年產(chǎn)銷(xiāo)量將呈現(xiàn)持續(xù)增長(zhǎng)的姿態(tài),伴隨著這種大量增長(zhǎng)的勢(shì)頭,汽車(chē)行駛出現(xiàn)的安全隱患問(wèn)題接踵而至,是當(dāng)今社會(huì)關(guān)注的焦點(diǎn)。
輪胎是支撐車(chē)體重量、驅(qū)動(dòng)、傳遞和牽引力、制動(dòng)力導(dǎo)向,保證車(chē)輛與地面的附著性的重要零件。全球每年發(fā)生的汽車(chē)交通事故中,死亡人數(shù)高達(dá)50萬(wàn)人,其中輪胎爆胎引發(fā)的事故占70 %[1]。輪胎氣壓不足或過(guò)高都會(huì)造成輪胎磨損,壽命減少,由此可知,汽車(chē)輪胎氣壓強(qiáng)度信號(hào)監(jiān)控是保證輪胎安全的重要技術(shù)[2]。傳統(tǒng)的汽車(chē)輪胎其強(qiáng)度信號(hào)監(jiān)控方法受到汽車(chē)行駛距離的影響,距離越遠(yuǎn),安裝在汽車(chē)輪胎的監(jiān)控子節(jié)點(diǎn)裝置消耗電流電量越多,工作壽命越短。因此,提出基于嵌入式系統(tǒng)的汽車(chē)輪胎氣壓強(qiáng)度信號(hào)監(jiān)控研究,利用嵌入式系統(tǒng),實(shí)現(xiàn)信號(hào)的無(wú)線(xiàn)傳輸,以此解決傳統(tǒng)方法中存在的問(wèn)題。
嵌入式系統(tǒng)是一種嵌入在受控器件內(nèi)部,針對(duì)特定任務(wù)而設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)[3]。在汽車(chē)輪胎氣壓強(qiáng)度信號(hào)監(jiān)控方法設(shè)計(jì)中,將不同功能的芯片安裝在汽車(chē)輪胎內(nèi)部,結(jié)合嵌入式操作系統(tǒng)達(dá)到監(jiān)控輪胎氣壓強(qiáng)度信號(hào)的目的。
監(jiān)控子節(jié)點(diǎn)是整個(gè)汽車(chē)輪胎氣壓強(qiáng)度信號(hào)監(jiān)控的發(fā)起者,考慮汽車(chē)輪胎實(shí)際工作溫度范圍及輪胎壓力情況,傳感器溫度測(cè)量滿(mǎn)足-40 ℃~125 ℃,傳感器壓力測(cè)量范圍為100~450 kPa[4]。
根據(jù)上述需求,選擇SP370作為監(jiān)控子節(jié)點(diǎn)的傳感器,其剖面圖如圖1所示。
圖1 SP370剖面圖
該芯片是具有14引腳的SOP封裝,其各引腳功能如表1所示。
表1 SP370引腳功能
將傳感器作為監(jiān)控子節(jié)點(diǎn)安裝在汽車(chē)輪胎內(nèi)部,通過(guò)無(wú)線(xiàn)射頻傳輸,將氣壓傳感器獲取的氣壓強(qiáng)度信號(hào)傳輸至處理中心。
根據(jù)實(shí)際的汽車(chē)環(huán)境、輪胎氣壓強(qiáng)度信號(hào)的采集手段,監(jiān)控中的各個(gè)模塊間無(wú)法通過(guò)有線(xiàn)方式進(jìn)行數(shù)據(jù)傳輸,因此,設(shè)計(jì)無(wú)線(xiàn)射頻傳輸功能,通過(guò)無(wú)線(xiàn)射頻傳輸方式實(shí)現(xiàn)通信[5]。
采用MAX1471作為射頻接收器,MAX1471中包含了超外插接收器所需要的全部有源元件,并且其內(nèi)部存在的一個(gè)非連接接收模式,能夠保證功耗較低,具有一定的節(jié)能功能。
將MAX1471外接一個(gè)10.4 MHz的低通濾波器,提高輪胎氣壓強(qiáng)度信號(hào)質(zhì)量。晶振的頻率同接收載波的頻率的關(guān)系如公式1所示。
式中:
xz—接收載波的頻率;
xXTAL—晶振頻率。
在MAX1471中,MIXOUT、AGND和IFIN+負(fù)責(zé)連接低通濾波器,用于ASK數(shù)據(jù)的解調(diào)[6]。MAX1471內(nèi)部的寄存器的讀寫(xiě)控制通過(guò)微控制器連接SCLK、CS和DIO實(shí)現(xiàn)[7]。
ADATA引腳置于高位,表示接收的是ASK解調(diào)數(shù)據(jù)。ASK接收數(shù)據(jù)是利用二進(jìn)制數(shù)1和0控制載波的通斷,其目的是在載波在數(shù)據(jù)信號(hào)1的狀態(tài)下,傳輸信道傳送載波;在數(shù)字信號(hào)0的狀態(tài)下,傳輸信道終端載波傳送。傳輸?shù)妮d波信號(hào)如下:
FDATA置于高位,表示接收的是FSK解調(diào)數(shù)據(jù)。FSK是利用數(shù)字信號(hào)的1和0控制兩個(gè)不同頻率的載波信號(hào)交替輸出。其表達(dá)式為:
式中:
Fm—采樣信號(hào);
t—周期;
ω—頻率;
ψ—幅度;
f1(t)—數(shù)字信號(hào)為1時(shí)的FSK解調(diào)數(shù)據(jù);
f2(t)—數(shù)字信號(hào)為0時(shí)的FSK解調(diào)數(shù)據(jù)[8]。
接收信號(hào)環(huán)節(jié)主要通過(guò)與微控制器連接的引腳,進(jìn)而對(duì)MAX1471內(nèi)部期存器進(jìn)行讀寫(xiě),實(shí)現(xiàn)汽車(chē)輪胎氣壓強(qiáng)度信號(hào)的接收。MAX1471的寫(xiě)入操作時(shí)序圖如圖2所示。
圖2 射頻接收器寫(xiě)入操作時(shí)序圖
通過(guò)上述過(guò)程接收由監(jiān)控子節(jié)點(diǎn)傳輸?shù)钠?chē)輪胎氣壓強(qiáng)度信號(hào),此時(shí)監(jiān)控到的信號(hào)是模擬信息,設(shè)計(jì)A/D信號(hào)采樣轉(zhuǎn)換功能,將模擬信息轉(zhuǎn)換成計(jì)算機(jī)可以識(shí)別的數(shù)字信息,通過(guò)監(jiān)控顯示模塊展示在用戶(hù)面前。
使用12位的ADC進(jìn)行電壓信號(hào)的采集,具體工作電路圖如圖3所示。
圖3 ADC12輸入電路開(kāi)關(guān)和采樣保持電路
ADC12的內(nèi)部存在兩種參考電壓可供選擇,另外在汽車(chē)輪胎氣壓強(qiáng)度信號(hào)采樣和模數(shù)轉(zhuǎn)換過(guò)程中,所需要的時(shí)鐘信號(hào)源可以選擇,轉(zhuǎn)換結(jié)果由專(zhuān)門(mén)的桶形緩沖[9]。
在實(shí)際信號(hào)轉(zhuǎn)換過(guò)程中,ADC12提供4種不同的信號(hào)模數(shù)轉(zhuǎn)換模式,供用戶(hù)選擇。分別是單通道單次轉(zhuǎn)換和單通道多次轉(zhuǎn)換,序列通道單次轉(zhuǎn)換和多次轉(zhuǎn)換[10]。
單通道單次轉(zhuǎn)換主要通過(guò)轉(zhuǎn)換存儲(chǔ)控制寄存器,設(shè)置汽車(chē)輪胎氣壓強(qiáng)度信號(hào)模數(shù)轉(zhuǎn)換的通道和范圍,使用設(shè)置的通道完成一次采樣和轉(zhuǎn)換后,使用ENC復(fù)位和置位,為下一次任務(wù)做準(zhǔn)備。單通道多次轉(zhuǎn)換,使用設(shè)定的通道進(jìn)行多次任務(wù),直到達(dá)到用戶(hù)設(shè)置的條件,停止任務(wù)。使用單通道相關(guān)轉(zhuǎn)換模式,在每次任務(wù)完成后,轉(zhuǎn)換的結(jié)果存放在ADC12中[11]。
序列通道轉(zhuǎn)換中,存在多個(gè)通道,每個(gè)通道的相關(guān)參數(shù)由特定的存儲(chǔ)控制寄存器設(shè)置,單次轉(zhuǎn)換與多次混轉(zhuǎn)換模式基本類(lèi)似,不同的是,在實(shí)汽車(chē)輪胎氣壓強(qiáng)度信號(hào)監(jiān)控過(guò)程中,單次轉(zhuǎn)換只完成一次信號(hào)轉(zhuǎn)換,多次轉(zhuǎn)換,會(huì)一直轉(zhuǎn)換,直到達(dá)到用戶(hù)設(shè)置的條件,停止轉(zhuǎn)換。
在實(shí)際輪胎氣壓強(qiáng)度監(jiān)控中,改變轉(zhuǎn)換模式不需要停止當(dāng)前轉(zhuǎn)換,直接切換模式后,當(dāng)前轉(zhuǎn)換任務(wù)完成后,轉(zhuǎn)換后的模式直接生效。轉(zhuǎn)換完成后,數(shù)字信號(hào)傳輸至監(jiān)控顯示模塊,顯示在用戶(hù)面前。
通過(guò)S3C2440 LCD控制器控制TEL LCD,將監(jiān)控的汽車(chē)輪胎氣壓強(qiáng)度顯示在LCD上。將LCD設(shè)備注冊(cè)到監(jiān)控設(shè)備中,定義LCD平臺(tái)設(shè)備的各種資源,分配info結(jié)構(gòu)體空間,初始化結(jié)構(gòu)體中的各項(xiàng)參數(shù)和LCD控制器,申請(qǐng)幀緩沖設(shè)別的顯示緩沖區(qū)空間,注冊(cè)info,實(shí)現(xiàn)對(duì)LCD顯示模式進(jìn)行設(shè)定的硬件接口函數(shù)[12]。
注冊(cè)完成后,初始化MMU,設(shè)置Nand flash的配置寄存器,選擇通信口,LCD初始化,通過(guò)串口通信接收信號(hào)。LCD監(jiān)控顯示工作原理圖如4所示。
圖4中顯示,汽車(chē)輪胎氣壓強(qiáng)度監(jiān)控?cái)?shù)據(jù)顯示在用戶(hù)面前是由像素時(shí)鐘信號(hào)、行同步信號(hào)、幀同步信號(hào)、數(shù)據(jù)使能信號(hào)共同工作作用的結(jié)果。在此基礎(chǔ)上,提供人機(jī)交互功能,實(shí)現(xiàn)實(shí)時(shí)接收、處理并顯示輪胎氣壓強(qiáng)度信號(hào)。監(jiān)控結(jié)果顯示在用戶(hù)面前的同時(shí),當(dāng)輪胎氣壓強(qiáng)度超過(guò)預(yù)設(shè)的極限值時(shí),通過(guò)報(bào)警模塊,為用戶(hù)提供聲光預(yù)警。聲光報(bào)警模塊選擇8路LED發(fā)光管作為對(duì)應(yīng)的輪胎位置、高低壓提示燈,蜂鳴器作為聲音預(yù)警[13]。
至此,基于嵌入式系統(tǒng)的汽車(chē)輪胎氣壓強(qiáng)度監(jiān)控方法設(shè)計(jì)完成。
在汽車(chē)輪胎壓強(qiáng)信號(hào)監(jiān)控方法仿真測(cè)試中,采用標(biāo)準(zhǔn)C編程,選用CodeWarrior編輯環(huán)境,無(wú)縫連接AXD Debugger調(diào)試器。
為了保證在測(cè)試過(guò)程中,嵌入式系統(tǒng)上電或復(fù)位時(shí),首先加載運(yùn)行Boot Loader程序,將內(nèi)存地址存放在Flash中的0x00000000處。系統(tǒng)上電后,在ADS中編譯程序,使用Boot Loader程序,跟操作系統(tǒng)內(nèi)核一起編譯,燒寫(xiě)進(jìn)Flash。ADS調(diào)試設(shè)置圖如圖5所示。
將Image entry point設(shè)置為0xc0080000,勾選Output local symb,完成后,文件內(nèi)生成可執(zhí)行的bin文件,成功燒寫(xiě)至目標(biāo)板的Flash中。
在ADS環(huán)境下編寫(xiě)汽車(chē)輪胎氣壓強(qiáng)度信號(hào)監(jiān)控執(zhí)行代碼,反復(fù)調(diào)試無(wú)誤后,下載至flash中運(yùn)行。按照從局部到整體調(diào)試整個(gè)測(cè)試過(guò)程所需的軟硬件。
加載不涉及任何外設(shè)的簡(jiǎn)單多任務(wù)的應(yīng)用程序,調(diào)試開(kāi)發(fā)板運(yùn)行情況,復(fù)位引導(dǎo)代碼運(yùn)行情況,多任務(wù)程序運(yùn)行結(jié)果。
分別調(diào)試SPI數(shù)據(jù)接收處理任務(wù)、中斷服務(wù)任務(wù)和數(shù)據(jù)顯示任務(wù),直至輸出正確結(jié)果。加載編寫(xiě)的所有執(zhí)行功能的程序到硬件部分,調(diào)試程序,測(cè)試汽車(chē)輪胎氣壓強(qiáng)度信號(hào)監(jiān)控方法的基本功能,如低壓報(bào)警、高壓報(bào)警或高溫報(bào)警等,調(diào)試結(jié)果顯示,各個(gè)環(huán)節(jié)功能執(zhí)行正常,穩(wěn)定可靠,可進(jìn)行后續(xù)測(cè)試。
圖4 LCD監(jiān)控顯示工作原理圖
圖5 ADS調(diào)試設(shè)置圖
測(cè)試安裝在汽車(chē)輪胎內(nèi)部的監(jiān)控子節(jié)點(diǎn)在正常監(jiān)控過(guò)程中功耗情況,以此判斷監(jiān)控子節(jié)點(diǎn)的使用壽命。使用基于嵌入式系統(tǒng)的汽車(chē)輪胎氣壓強(qiáng)度信號(hào)監(jiān)控方法測(cè)試的同時(shí),使用傳統(tǒng)的基于WSN的監(jiān)控方法,在相同的條件下,測(cè)試汽車(chē)側(cè)輪胎監(jiān)控子節(jié)在休眠狀態(tài)耗電和正常工作狀態(tài)下的狀態(tài)消耗電流和電量情況。
為了更好的對(duì)比兩種不同的汽車(chē)輪胎氣壓強(qiáng)度信號(hào)監(jiān)控方法。測(cè)試在不同的情況下,消耗電流電量情況,定時(shí)喚醒裝置設(shè)置為4 s一次,第一次喚醒設(shè)置加速度值,隨后增加電壓、溫度和壓力,分別測(cè)試其消耗的電流電量。
不同狀態(tài)下測(cè)量結(jié)果如表2和表3所示。表2中顯示休眠狀態(tài)下,電流電量最大消耗值為1.7,不同狀態(tài)下測(cè)量結(jié)果分別為1.56、0.95、1.5和0.5;表3中顯示休眠狀態(tài)下,電流電量最大消耗值為0.9,不同狀態(tài)下消耗情況分別為0.81、0.77、0.93、0.3;對(duì)比觀察兩組數(shù)據(jù),明顯能夠看出表3中結(jié)果低于表2中結(jié)果,假設(shè)一次監(jiān)控子節(jié)點(diǎn)一次完整的工作需要時(shí)間為4 s,取各種狀態(tài)下所消耗電量的最大值,經(jīng)計(jì)算得出,使用傳統(tǒng)的監(jiān)控方法,監(jiān)控子節(jié)點(diǎn)的使用壽命4.96年,使用設(shè)計(jì)的監(jiān)控方法,監(jiān)控子節(jié)點(diǎn)的使用壽命為8.23年,兩者相比,設(shè)計(jì)的基于嵌入式系統(tǒng)的汽車(chē)輪胎氣壓強(qiáng)度信號(hào)監(jiān)控方法優(yōu)于傳統(tǒng)的監(jiān)控方法。
表2 傳統(tǒng)的監(jiān)控方法子節(jié)點(diǎn)電流及電量消耗情況
表3 設(shè)計(jì)的監(jiān)控方法子節(jié)點(diǎn)電流及電量消耗情況
近年來(lái)汽車(chē)安全問(wèn)題受到廣泛關(guān)注,監(jiān)控汽車(chē)輪胎氣壓強(qiáng)度信號(hào)有助于保證汽車(chē)行駛安全及駕駛員人身安全。提出基于嵌入式系統(tǒng)的汽車(chē)輪胎氣壓強(qiáng)度信號(hào)監(jiān)控研究,通過(guò)設(shè)計(jì)的對(duì)比測(cè)試證明了設(shè)計(jì)的監(jiān)控方法,通過(guò)嵌入式系統(tǒng)的引用,解決了傳統(tǒng)的監(jiān)控方法中存在的監(jiān)控子節(jié)點(diǎn)工作壽命短的問(wèn)題。