摘 要: 以S3C2440為核心,,以WinCE操作系統(tǒng)作為平臺(tái),設(shè)計(jì)了基于CAN總線的車載感知硬件電路,,運(yùn)用微慣性測量單元實(shí)現(xiàn)對(duì)汽車自身運(yùn)動(dòng)狀態(tài)的在線測量,,并實(shí)現(xiàn)信息在智能終端的顯示。融合當(dāng)前流行的智能車載終端模塊,,實(shí)現(xiàn)GPS車載導(dǎo)航,、GPRS無線通信、無線上網(wǎng)和智能報(bào)警等功能。
關(guān)鍵詞: 車載感知,;控制器局域網(wǎng),;微慣性測量單元;GPS,;GPRS
隨著汽車電子產(chǎn)業(yè)的高速發(fā)展,,作為汽車可選裝備的智能車載終端已經(jīng)逐漸普及起來,在一些高檔汽車上已經(jīng)作為必要部件,。但是國內(nèi)車載終端的開發(fā)還處于實(shí)驗(yàn)性階段,,相對(duì)滯后,目前還沒有一款真正集成的車載信息感知和智能車載終端相結(jié)合的設(shè)備,。
本文設(shè)計(jì)了是車載感知和智能終端,,擴(kuò)展了傳統(tǒng)的車載信息智能終端的功能。通過運(yùn)用當(dāng)前流行的控制器局域網(wǎng)CAN(Controller Area Network)總線技術(shù),,實(shí)現(xiàn)對(duì)分布式車載傳感器信息的采集以及與終端的通信,,通過終端對(duì)數(shù)據(jù)的分析處理可以對(duì)潛在危險(xiǎn)發(fā)出報(bào)警信號(hào),并在屏幕上顯示報(bào)警信息,,可以對(duì)駕駛員起到預(yù)警作用,。此外還設(shè)計(jì)了CAN控制器/收發(fā)器塊、GPRS無線通信,、GPS衛(wèi)星導(dǎo)航以及電源調(diào)節(jié)等模塊,,擴(kuò)展了傳統(tǒng)智能車載終端的應(yīng)用,提高ARM板的利用效率,。
1 系統(tǒng)硬件設(shè)計(jì)
車載感知與智能終端硬件主要由中央處理器單元,、GPS模塊、GPRS模塊,、CAN控制器/收發(fā)器模塊,、存儲(chǔ)器模塊、LED顯示模塊,、A/D轉(zhuǎn)換器模塊,、傳感器模塊、電源調(diào)節(jié)模塊和報(bào)警模塊等組成,,系統(tǒng)的總體框架設(shè)計(jì)如圖1所示,。
1.1 中央處理器單元
在車載終端系統(tǒng)中,ARM作為中央處理單元對(duì)系統(tǒng)的整體性能起著至關(guān)重要的作用,。本系統(tǒng)選用了Samsung公司基于ARM9內(nèi)核的S3C2440作為中央處理器,,具有很高的性價(jià)比[1],。S3C2440可將系統(tǒng)組成縮減至最小,,其集成了分開的16 KB指令/數(shù)據(jù)緩存、SDRAM控制器,、LCD控制器,、4通道DMA,、3通道UART、I2C總線,、I2S總線,、SD主機(jī)接口、PWM定時(shí)器,、看門狗,、片上PLL時(shí)鐘發(fā)生器、8通道10 bit A/D控制器和觸摸屏接口,、攝像頭接口以及帶日歷函數(shù)的實(shí)時(shí)時(shí)鐘,,并且S3C2440最高頻率可達(dá)400 MHz,且功耗只有mW級(jí),。
1.2 GPS模塊
GPS接收模塊采用Motorola GPS M12接收模塊,。M12模塊支持Motorola二進(jìn)制格式和NMEA0183格式兩種數(shù)據(jù)輸出模式[2]。它的特點(diǎn)是:超低功耗,、高靈敏度,,它的衛(wèi)星信號(hào)漂移小,通過天線接收來自GPS衛(wèi)星的定位信號(hào),,經(jīng)過變頻,、放大、濾波等一系列處理過程,,實(shí)現(xiàn)對(duì)GPS衛(wèi)星信號(hào)的跟蹤,、鎖定、測量,,產(chǎn)生計(jì)算位置的數(shù)據(jù)信息,。該模塊通過串行口RS232與 S3C2410 進(jìn)行通信。
1.3 GPRS模塊
GPRS 無線通信模塊采用Motorola G24,,該模塊是一款高速GSM/GPRS/EDGE模塊,,支持4頻850/900/ 1 800/1 900 MHz,它以先進(jìn)的技術(shù)穩(wěn)定地實(shí)現(xiàn)了M2M的高速無縫連接,。G24內(nèi)置TCP/IP協(xié)議棧,,并能適應(yīng)惡劣的工作環(huán)境。G24與S3C2440A之間通過串行口2進(jìn)行通信,,通過在ARM嵌入式系統(tǒng)中建立TCP/IP以及PPP 等網(wǎng)絡(luò)協(xié)議棧實(shí)現(xiàn)與監(jiān)控中心的信息交互,。
1.4 CAN控制器/收發(fā)器模塊
在S3C2440芯片上沒有CAN控制器,所以需要在芯片外部擴(kuò)展CAN控制器和收發(fā)器,。SJA1000是一款獨(dú)立的CAN控制器,,廣泛應(yīng)用于汽車和一般工業(yè)環(huán)境中的控制器局域網(wǎng)絡(luò)。它是Philips公司PCA82C200控制器的替代產(chǎn)品,支持CAN2.0A,、CAN2.0B協(xié)議,,與僅支持CAN2.0A的PCA82C200在硬件和軟件上完全兼容,因此本設(shè)計(jì)選用SJA1000,。
CAN收發(fā)器是CAN協(xié)議控制器和物理總線之間的接口,,為總線提供差動(dòng)的發(fā)送和接收功能,是CAN系統(tǒng)中的必須設(shè)備,。該智能終端選用常用的CAN收發(fā)器并具有PCA82C250作為CAN控制器SJA1000與CAN總線之間的接口,,實(shí)現(xiàn)對(duì)總線的差動(dòng)發(fā)送和對(duì)CAN控制器的差動(dòng)接收,它最初為汽車高速通信(最高達(dá)1 Mb/s)應(yīng)用設(shè)計(jì),。PCA82C250與ISO/DISI1898標(biāo)準(zhǔn)完全兼容,,具有抗瞬間干擾、降低射頻干擾,、熱防護(hù),、防護(hù)電池與地之間發(fā)生短路等總線保護(hù)能力,最多可連接110個(gè)節(jié)點(diǎn),,即使某個(gè)節(jié)點(diǎn)掉電也不會(huì)影響總線,。為了加強(qiáng)CAN節(jié)點(diǎn)的抗干擾性能,本文在CAN控制器和收發(fā)器之間增加了光電隔離器6N137,。CAN總線控制器和收發(fā)器的設(shè)計(jì)原理如圖2所示[3],。
1.5 A/D轉(zhuǎn)換器模塊
本設(shè)計(jì)選用的MAXl224/MAXl225系列12 bit模/數(shù)轉(zhuǎn)換器(ADC)具有低功耗、高速,、串行輸出等特點(diǎn),,其采樣速率最高可達(dá)1.5 Mb/s,在2.7 V~3.6 V的單電源下工作,,需要1個(gè)外部基準(zhǔn)源,;可進(jìn)行真差分輸入,比單端輸入提供更好的噪聲抑制,、失真改善及更寬的動(dòng)態(tài)范圍,;同時(shí),具有標(biāo)準(zhǔn)SPITM,、QSPITM,、MI-CROWWIRETM,接口提供轉(zhuǎn)換所需的時(shí)鐘信號(hào),,可以方便地與標(biāo)準(zhǔn)數(shù)字信號(hào)處理器(DSP)的同步串行接口連接,。
1.6 LED顯示模塊
S3C2440內(nèi)部集成了LCD控制器,支持STN和TFT類型的液晶顯示器,,可根據(jù)水平和垂直像素,、數(shù)據(jù)線寬度和刷新率編程支持各種需求的屏幕,。LCD控制器主要負(fù)責(zé)傳送在幀緩沖區(qū)中的視頻數(shù)據(jù)和產(chǎn)生必要的控制信號(hào)。視頻數(shù)據(jù)采用DMA方式,,通過LCD數(shù)據(jù)總線vD[23:0]傳送??刂菩盘?hào)主要有垂直同步信號(hào)vSYNC,、線結(jié)束信號(hào)LEND、水平同步信號(hào)HSYNC,、像數(shù)時(shí)鐘信號(hào)vCLK和數(shù)據(jù)使能信號(hào)vDEN等,。
1.7 傳感器模塊
MEMS(Micro Electronic Measurement System)傳感器具有體積小、質(zhì)量輕,、響應(yīng)快,、靈敏度高和易生產(chǎn)等特點(diǎn),并具有低能耗,、高功率,、低成本等優(yōu)勢,特別適合在汽車上使用[4],。所用的微慣性測量單元MIMU由2個(gè)ADXL203型雙向微加速度計(jì)和3個(gè)ADXRS150型角速度陀螺組成,,MEMS陀螺傳感器采用的物理現(xiàn)象是科里奧利效應(yīng)[5],加速度計(jì)和角速度陀螺的布置如圖3所示,。
立方塊代表雙向加速度計(jì),,圓柱體代表角速度陀螺。要求3個(gè)角速度陀螺安裝在3個(gè)正交平面上,,它們敏感軸相互垂直,,組成測量體的三維坐標(biāo)系。2個(gè)雙向加速度計(jì)安裝在另外兩個(gè)面上,,為了保證加速度計(jì)的敏感軸也組成三維測量坐標(biāo)系,,要求測量垂向加速度的兩個(gè)敏感軸相互平行,剩下的一個(gè)底面作為MIMU與汽車質(zhì)心處的安裝固定平面,。
圍繞MEMS慣性加速和角速度傳感器,,開展以駕駛員操控行為動(dòng)作和車身運(yùn)動(dòng)狀態(tài)感知為核心內(nèi)容的汽車分布式感知技術(shù)研究及其平臺(tái)開發(fā),設(shè)計(jì)駕駛員手與腳對(duì)車輛操控行為的感知模塊,、車身運(yùn)動(dòng)感知模塊,。通過建立復(fù)雜的理論模型,結(jié)合汽車姿態(tài)傳感模塊的信息,,運(yùn)用信息融合技術(shù)識(shí)別得到可靠的駕駛員對(duì)汽車動(dòng)力學(xué)系統(tǒng)的輸入?yún)?shù),,包括方向盤輸入、油門踏板輸入,、變速手柄輸入,、制動(dòng)踏板輸入及離合器踏板輸入等,。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 軟件平臺(tái)
本方案采用WinCE作為嵌入式操作系統(tǒng)。WinCE是微軟公司專門為信息設(shè)備,、移動(dòng)應(yīng)用,、消費(fèi)類電子產(chǎn)品等領(lǐng)域而開發(fā)的嵌入式操作系統(tǒng),它包括如下幾個(gè)模塊:內(nèi)核模塊,、設(shè)備管理模塊,、文件系統(tǒng)模塊、圖形及窗口事件模塊,、網(wǎng)絡(luò)及通信模塊,、設(shè)備驅(qū)動(dòng)模塊和OAL模塊等,圖4所示是WinCE操作系統(tǒng)的基本結(jié)構(gòu),。
2.2 應(yīng)用軟件設(shè)計(jì)
模塊間的通信主要是通過串口進(jìn)行的,,因此本設(shè)計(jì)給出了主要的在WinCE下對(duì)串口操作的概要描述。
?。?)打開串行口
打開串行的程序?yàn)椋海═EXT(“COM1:”),,GENERIC_ READ│GENERIC_WRITE,0,,NULL,,OPEN_EXISTING,0,,NULL),,其中端口號(hào)COM1后的冒號(hào)是必需的,它用于區(qū)別在Windows NT或Windows 98中對(duì)設(shè)備驅(qū)動(dòng)程序的命名規(guī)則,。
?。?)配置串行口
串行口的配置是用改變DCB結(jié)構(gòu)配置來實(shí)現(xiàn)的。應(yīng)用程序可以通過函數(shù)GetCommState獲得缺省配置,,并用函數(shù)SetCommState來進(jìn)行新的配置[6],。配置串行口程序?yàn)椋?br />
DCB GPSDCB;
GPSDCB.DCBlength=sizeof (DCB),;
//初始化DCB結(jié)構(gòu)長度
GetCommState(hPort,,&GPSDCB); //讀取端口默認(rèn)狀態(tài)
GPSDCB.Baudrate=9600,; //設(shè)置波特率
GPSDCB.fParity=FALSH,; //設(shè)置為無奇偶校驗(yàn)
GPSDCB.ByteSize=8; //設(shè)置數(shù)據(jù)位
GPSDCB.StopBits=ONESTOPBIT,; //設(shè)置停止位
……
SetCommState (hPort,,&GPSDCB); //配置函數(shù)
if (! SetCommState (hPort,,&GPSDCB))
{
MessageBox(hMainWnd,,TEXT (“Unable to configure the serial port”),,
TEXT (“Error”),MB_OK),;
dWError=GetLastError (?。?br />
return FALSE,;
hPort=CreatFile
} //如果不能創(chuàng)建線程,,返回錯(cuò)誤標(biāo)志信息
(3)讀/寫串行口
讀,、寫串行口使用函數(shù)ReadFile和WriteFile,,其參數(shù)配置基本相同,。需要著重指出的是,,因?yàn)閃inCE不支持重疊的I/O操作,所以主線程或是任何創(chuàng)建窗口的線程不能試圖向串行口寫大量數(shù)據(jù),,這樣線程將會(huì)被阻塞,,從而不能管理消息隊(duì)列。應(yīng)用程序可以通過創(chuàng)建多個(gè)線程處理讀/寫操作來模擬重疊I/O,。為了協(xié)調(diào)多個(gè)線程,,可以調(diào)用WaitCommEvent函數(shù)阻塞線程,直至發(fā)生指定的通信事件,。
?。?)關(guān)閉串行口
關(guān)閉串行口程序如下:
void ComPortClose ( )
{
if (hPort !=INVALID_HANDLE_VALUE)
{CloseHandle (hPort) ,;
hPort=
INVALID_HANDLE_VALUE,;}
}
本文基于嵌入式ARM平臺(tái),重點(diǎn)設(shè)計(jì)了車載感知和智能終端的硬件電路部分,,突破傳統(tǒng)的智能車載終端的功能局限,,創(chuàng)新地結(jié)合智能終端這一載體,巧妙運(yùn)用MEMS傳感器設(shè)計(jì)了駕駛行為感知和汽車運(yùn)動(dòng)狀態(tài)監(jiān)測系統(tǒng),,為利用ARM研究車載感知提供了硬件設(shè)計(jì)思路,,對(duì)進(jìn)一步開展車載感知和智能終端的開發(fā)具有探索意義。
參考文獻(xiàn)
[1] Samsung公司. S3C2440A 32-bit RISC microprocessor user′s manual,, revision 0.12[Z]. 2004.
[2] Motorola Inc. Motorola GPS product—oncore user′s guide(rivision5.0)[M].USA:Motorola Inc,,2002.
[3] 馮桑,康迂福,,康林權(quán).基于CAN總線的車載智能終端硬件設(shè)計(jì)[J].公路與汽運(yùn),,2010(141):27-30.
[4] VERMA R, GOGOI B P,, MLADENOVIC D. MEMS Pressure and Acceleration Sensors for Automotive Application [C]. SAE 2003 World Congress & Exhibition,,2003-01-0204.
[5] 閆子波,,魏鳴.微機(jī)械陀螺儀的工作原理及其應(yīng)用[J].電子設(shè)計(jì)技術(shù),2009(9):62-65.
[6] 穆斌,,羅珣.智能化車載信息終端的設(shè)計(jì)與實(shí)現(xiàn)[J].徽工程科技學(xué)院學(xué)報(bào),,2004,19(3):46-49.