基于ARM和ADIS16355的汽車二自由度數(shù)據(jù)采集系統(tǒng)
汽車的二自由度橫擺角速度與側(cè)向加速度這兩個(gè)參數(shù)對(duì)汽車的穩(wěn)定性分析具有重要作用,是汽車主動(dòng)安全的重要組成部分,可以通過預(yù)測(cè)與實(shí)測(cè)兩種方式獲得。為了得到更真實(shí)的數(shù)據(jù),本文設(shè)計(jì)了基于ARM微控制器和ADIS16355傳感器的數(shù)據(jù)采集系統(tǒng),通過實(shí)車測(cè)試得到了汽車的橫擺角速度與側(cè)向加速度的數(shù)據(jù),分析了干擾源,并且對(duì)數(shù)據(jù)采用卡爾曼濾波方法進(jìn)行處理。
1系統(tǒng)工作原理
ADIS16355傳感器裝在接近汽車的中心位置上(接近汽車的質(zhì)心位置),建立汽車的三維坐標(biāo)系如圖1所示。
汽車X、Y、Z三個(gè)方向的旋圖1汽車三維坐標(biāo)系轉(zhuǎn)角速度與加速度可通過ADIS16355傳感器測(cè)得,測(cè)得的數(shù)據(jù)通過ADC轉(zhuǎn)換成數(shù)字信號(hào),然后通過SPI串行通信協(xié)議把采集到的數(shù)據(jù)傳送到控制器中,這里只取側(cè)向加速度與橫擺角速度這兩個(gè)信息量。采用的控制器是Philips公司生產(chǎn)的ARM7處理器LPC2119.數(shù)據(jù)采集系統(tǒng)工作原理如圖2所示。
2 系統(tǒng)模塊介紹
2.1 LPC2119簡(jiǎn)介
ARM是指精簡(jiǎn)指令集的微處理器,具有高性能、廉價(jià)、低耗能的特點(diǎn),在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。該系統(tǒng)采用的是ARM7系列的LPC2119微控制器。LPC2119是基于一個(gè)支持實(shí)時(shí)仿真和跟蹤的16/32位ARM7TDMI-S內(nèi)核的微控制器,并帶有128 KB的高速Flash存儲(chǔ)器;指令支持32位的ARM模式與16位的Thumb模式:128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼的ARM方式能夠在最大時(shí)鐘速率下運(yùn)行;對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過30%,而性能的損失卻很小。LPC2119具有非常小的64腳封裝、極低的功耗、多個(gè)32位定時(shí)器、4路10位ADC、2路CAN總線、PWM通道、46個(gè)GPIO以及多達(dá)9個(gè)外部中斷,功耗低,性能強(qiáng)大,特別適用丁汽車、工業(yè)控制應(yīng)用以及醫(yī)療系統(tǒng)和容錯(cuò)維護(hù)總線。由于內(nèi)置了寬范圍的串行通信接口,也非常適合于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器以及其他各種類型的應(yīng)用。
2.1 LPC2119簡(jiǎn)介
ARM是指精簡(jiǎn)指令集的微處理器,具有高性能、廉價(jià)、低耗能的特點(diǎn),在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。該系統(tǒng)采用的是ARM7系列的LPC2119微控制器。LPC2119是基于一個(gè)支持實(shí)時(shí)仿真和跟蹤的16/32位ARM7TDMI-S內(nèi)核的微控制器,并帶有128 KB的高速Flash存儲(chǔ)器;指令支持32位的ARM模式與16位的Thumb模式:128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼的ARM方式能夠在最大時(shí)鐘速率下運(yùn)行;對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過30%,而性能的損失卻很小。LPC2119具有非常小的64腳封裝、極低的功耗、多個(gè)32位定時(shí)器、4路10位ADC、2路CAN總線、PWM通道、46個(gè)GPIO以及多達(dá)9個(gè)外部中斷,功耗低,性能強(qiáng)大,特別適用丁汽車、工業(yè)控制應(yīng)用以及醫(yī)療系統(tǒng)和容錯(cuò)維護(hù)總線。由于內(nèi)置了寬范圍的串行通信接口,也非常適合于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器以及其他各種類型的應(yīng)用。
2.2 ADIS16355簡(jiǎn)介
ADIS1635傳感器集成了三軸加速度傳感器和三軸陀螺儀傳感器,具有體積小、功能強(qiáng)、功耗低等特性。它主要由以下模塊組成:陀螺儀、加速度傳感器、A/D轉(zhuǎn)換器、數(shù)字校準(zhǔn)以及SPI協(xié)議轉(zhuǎn)換模塊。在三維直角坐標(biāo)系X、Y、Z中,陀螺儀與加速度傳感器首先感應(yīng)到物體的運(yùn)動(dòng),分刖測(cè)得運(yùn)動(dòng)物體X、Y、Z三個(gè)方向的旋轉(zhuǎn)角速度與加速度,三個(gè)方向旋轉(zhuǎn)角速度的測(cè)量范用分別為±75°/s、±150°/s、±300°/s,加速度的測(cè)量范圍都為±10g,有效數(shù)據(jù)位都為14位。它具有很高的分辨率,其中旋轉(zhuǎn)角速度的最低分辨率為0.073 26,三個(gè)方向的加速度的分辨率為2.255mg,基本能滿足用戶的需求。它的工作電壓為5 V,直接輸出16位的數(shù)字信號(hào),通過SPI通信協(xié)議傳送。ADIS16355的結(jié)構(gòu)框圖如圖3所示。
ADIS1635傳感器集成了三軸加速度傳感器和三軸陀螺儀傳感器,具有體積小、功能強(qiáng)、功耗低等特性。它主要由以下模塊組成:陀螺儀、加速度傳感器、A/D轉(zhuǎn)換器、數(shù)字校準(zhǔn)以及SPI協(xié)議轉(zhuǎn)換模塊。在三維直角坐標(biāo)系X、Y、Z中,陀螺儀與加速度傳感器首先感應(yīng)到物體的運(yùn)動(dòng),分刖測(cè)得運(yùn)動(dòng)物體X、Y、Z三個(gè)方向的旋轉(zhuǎn)角速度與加速度,三個(gè)方向旋轉(zhuǎn)角速度的測(cè)量范用分別為±75°/s、±150°/s、±300°/s,加速度的測(cè)量范圍都為±10g,有效數(shù)據(jù)位都為14位。它具有很高的分辨率,其中旋轉(zhuǎn)角速度的最低分辨率為0.073 26,三個(gè)方向的加速度的分辨率為2.255mg,基本能滿足用戶的需求。它的工作電壓為5 V,直接輸出16位的數(shù)字信號(hào),通過SPI通信協(xié)議傳送。ADIS16355的結(jié)構(gòu)框圖如圖3所示。
2.3 SPI協(xié)議簡(jiǎn)介
SPI協(xié)議是Motorola公司制定的全雙工串行通信協(xié)議,具有傳送速度快、協(xié)議簡(jiǎn)單的特點(diǎn)。通信只需要四根線,即SCK(時(shí)鐘)、SSEL(從機(jī)選擇)、MISO(主入從出)、MOSI(主出從入);最高傳送速率可以達(dá)到系統(tǒng)工作頻率的1/8,并且已經(jīng)得到了廣泛的應(yīng)用。ADIS16355也是通過SPI協(xié)議來傳送。首先把LPC2119中集成的SIP控制器設(shè)置為主機(jī),把傳感器的SPI接口設(shè)置為從機(jī),把它們的接線對(duì)應(yīng)連接起來,即相當(dāng)于從控制器的從機(jī)選擇端,在通信過程中要使它一直保持低電平,處于有效狀態(tài);然后,通過主控制器把需要采集信號(hào)的地址發(fā)送到從控制器中。SPI時(shí)序圖如圖4所示。
SPI協(xié)議是Motorola公司制定的全雙工串行通信協(xié)議,具有傳送速度快、協(xié)議簡(jiǎn)單的特點(diǎn)。通信只需要四根線,即SCK(時(shí)鐘)、SSEL(從機(jī)選擇)、MISO(主入從出)、MOSI(主出從入);最高傳送速率可以達(dá)到系統(tǒng)工作頻率的1/8,并且已經(jīng)得到了廣泛的應(yīng)用。ADIS16355也是通過SPI協(xié)議來傳送。首先把LPC2119中集成的SIP控制器設(shè)置為主機(jī),把傳感器的SPI接口設(shè)置為從機(jī),把它們的接線對(duì)應(yīng)連接起來,即相當(dāng)于從控制器的從機(jī)選擇端,在通信過程中要使它一直保持低電平,處于有效狀態(tài);然后,通過主控制器把需要采集信號(hào)的地址發(fā)送到從控制器中。SPI時(shí)序圖如圖4所示。
由于傳感器ADIS16355輸出的數(shù)據(jù)是16位的,所以傳送數(shù)據(jù)也是以16為周期。最高位代表讀寫控制位,如果為0代表向傳感器中寫入命令,為1則代表從傳感器中讀出當(dāng)前狀態(tài);次高位為0,緊接著的6位代表對(duì)應(yīng)寄存器的地址,最后面8位不關(guān)心。注意,在這個(gè)地址下讀出來的數(shù)據(jù)是對(duì)應(yīng)上一個(gè)地址的數(shù)據(jù);與此同時(shí)從控制器把對(duì)應(yīng)的采集到的16位數(shù)據(jù)發(fā)送到主機(jī)中去。
3 系統(tǒng)軟件設(shè)計(jì)與數(shù)據(jù)分析
該系統(tǒng)針對(duì)汽車二自由度的數(shù)據(jù)采集,而汽車二自由度是指汽車橫擺角速度與側(cè)向加速度,所以利用ADIS16355傳感器采集這兩個(gè)數(shù)據(jù)。由ADIS16355的說明書可知,反映橫擺角速度的寄存器的地址為0x08或0x09,而側(cè)向加速度對(duì)應(yīng)的寄存器地址為0x0A或0x0B,要想得到汽車橫擺角速度與側(cè)向加速度,按照時(shí)序讀出相應(yīng)寄存器地址的數(shù)據(jù)即可。其工作流程如圖5所示。
該系統(tǒng)針對(duì)汽車二自由度的數(shù)據(jù)采集,而汽車二自由度是指汽車橫擺角速度與側(cè)向加速度,所以利用ADIS16355傳感器采集這兩個(gè)數(shù)據(jù)。由ADIS16355的說明書可知,反映橫擺角速度的寄存器的地址為0x08或0x09,而側(cè)向加速度對(duì)應(yīng)的寄存器地址為0x0A或0x0B,要想得到汽車橫擺角速度與側(cè)向加速度,按照時(shí)序讀出相應(yīng)寄存器地址的數(shù)據(jù)即可。其工作流程如圖5所示。
通過串口可以讀取Y軸的側(cè)向加速度與X軸的橫擺角速度,如表1所列。
然而汽車運(yùn)行中不可避免會(huì)受到其他因素的干擾,采集到的數(shù)據(jù)可能存在一定程度上的失真性,因此需要找出干擾源的類型,從而選擇適當(dāng)?shù)姆椒ò央s波濾掉,得到相對(duì)準(zhǔn)確的數(shù)據(jù)。為此設(shè)計(jì)汽車怠速與正常運(yùn)行兩種模式。汽車在怠速狀態(tài)下,由于汽車是相對(duì)靜止?fàn)顟B(tài),理論上測(cè)到的汽車橫擺角速度與側(cè)向加速度為0,然而由于存在其他的干擾因素,因而實(shí)際測(cè)得的數(shù)據(jù)并不為0.通過對(duì)測(cè)試數(shù)據(jù)的分析可以得到干擾源的類型,從而根據(jù)干擾類型而設(shè)計(jì)出相應(yīng)的濾波方式。下面分別就汽車的怠速模式與正常運(yùn)行模式兩種運(yùn)動(dòng)方式具體分析。
3.1 汽車怠速模式
汽車怠速模式是指發(fā)動(dòng)機(jī)處于啟動(dòng)狀態(tài),但是汽車處于停止不前的狀態(tài),可以測(cè)得相應(yīng)的數(shù)據(jù)。這里以汽車的橫擺角速度數(shù)據(jù)進(jìn)行分析,取了2500個(gè)采樣點(diǎn),利用數(shù)據(jù)的統(tǒng)計(jì)特性對(duì)數(shù)據(jù)分別求均值、協(xié)方差與功率譜密度,求得的均值為-7.7682e-005,近似為0.為了直觀,把采集到的源數(shù)據(jù)、協(xié)方差與功率譜密度通過MATLAB作圖的方式顯示出來,如圖6所示。
汽車怠速模式是指發(fā)動(dòng)機(jī)處于啟動(dòng)狀態(tài),但是汽車處于停止不前的狀態(tài),可以測(cè)得相應(yīng)的數(shù)據(jù)。這里以汽車的橫擺角速度數(shù)據(jù)進(jìn)行分析,取了2500個(gè)采樣點(diǎn),利用數(shù)據(jù)的統(tǒng)計(jì)特性對(duì)數(shù)據(jù)分別求均值、協(xié)方差與功率譜密度,求得的均值為-7.7682e-005,近似為0.為了直觀,把采集到的源數(shù)據(jù)、協(xié)方差與功率譜密度通過MATLAB作圖的方式顯示出來,如圖6所示。
由圖可知,自相關(guān)函數(shù)只有在橫坐標(biāo)為0時(shí)候才有取值,功率譜密度分布比較均勻,而且采集到的數(shù)據(jù)均值近似為0,這與高斯白噪聲的統(tǒng)汁特性相似,因而斷定干擾源類型為高斯白噪聲。
3.2 汽車正常運(yùn)行模式
汽車正常運(yùn)行模式是汽車勻速行駛在水平、下燥、水泥路面上,測(cè)得此時(shí)的汽車橫擺角速度與側(cè)向加速度。從傳感器采集到的數(shù)據(jù)不可避免地受到干擾源的影響,由上面給出的結(jié)論可知干擾源類型為白噪聲??柭鼮V波前的數(shù)據(jù)與濾波后的數(shù)據(jù)如圖7所示??柭鼮V波對(duì)白噪聲具有很好的濾波能力,它的濾波原理是最小均差原理,并且當(dāng)前的數(shù)據(jù)只與前一個(gè)數(shù)據(jù)有關(guān),數(shù)據(jù)存儲(chǔ)量小,有利于計(jì)算機(jī)求解,所以選用卡爾曼濾波方式對(duì)采集到的數(shù)據(jù)進(jìn)行濾波,從而得到相對(duì)準(zhǔn)確的數(shù)據(jù)。這里采集了10 000個(gè)數(shù)據(jù)點(diǎn)。
由圖7可以看到,通過卡爾曼濾波后,曲線更加平滑,有效地剔除了雜波,從而為控制系統(tǒng)提供更準(zhǔn)確的數(shù)據(jù)。
結(jié)語
本文采用ARM微控制器和ADIS16355傳感器設(shè)計(jì)了一種數(shù)據(jù)采集系統(tǒng),不但能夠采集汽車的橫擺角速度與側(cè)向加速度兩個(gè)參數(shù),而且用卡爾曼濾波方式對(duì)采集到的數(shù)據(jù)濾掉了雜波,使得到的數(shù)據(jù)更為準(zhǔn)確。經(jīng)分析表明,該設(shè)計(jì)方案是可行的。這種數(shù)據(jù)采集系統(tǒng)在汽車主動(dòng)安全方面有很好的應(yīng)用價(jià)值,能為汽車穩(wěn)定性分析供準(zhǔn)確的數(shù)據(jù)。
本文采用ARM微控制器和ADIS16355傳感器設(shè)計(jì)了一種數(shù)據(jù)采集系統(tǒng),不但能夠采集汽車的橫擺角速度與側(cè)向加速度兩個(gè)參數(shù),而且用卡爾曼濾波方式對(duì)采集到的數(shù)據(jù)濾掉了雜波,使得到的數(shù)據(jù)更為準(zhǔn)確。經(jīng)分析表明,該設(shè)計(jì)方案是可行的。這種數(shù)據(jù)采集系統(tǒng)在汽車主動(dòng)安全方面有很好的應(yīng)用價(jià)值,能為汽車穩(wěn)定性分析供準(zhǔn)確的數(shù)據(jù)。
評(píng)論