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