基于S3C2440的車(chē)載跟蹤監控系統研究與實(shí)現
S3C2440是三星推出的一款基于A(yíng)RM920TDMI-S內核的16/32位RISC嵌入微處理器,它是專(zhuān)為手持設備與一般的消費電子而設計的,能滿(mǎn)足小型嵌入式系統中低成本低功耗高性能小體積的要求,頻率穩定運行在405 MHz,最高可達533 MHz。S3C2440集成了豐富的片上資源,在開(kāi)發(fā)過(guò)程中可有效減少外圍的設備部件,以降低系統的成本。
2.2 存儲系統
本系統使用的SDRAM是由韓國現代公司的HY57V561620芯片,作為數據存儲空間。該芯片具有32 MB的存儲空間和16 b數據寬度,適合需要大容量和高帶寬的嵌入式系統使用,芯片采用3.3 V的外部電源。整個(gè)存儲空間被分為4個(gè)Bank,每個(gè)Bank的容量為4M×16 b。
使用的NAND FLASH是三星公司推出的K9F1208芯片,作為程序存儲空間。芯片工作電壓為3.3 V,該芯片的存儲容量為64 MB,整個(gè)存儲空間被分為4096個(gè)Block,每個(gè)Block又被分成32個(gè)Page,而每個(gè)Page的容量為528B(512 B+16B),其中16B空間是作為I/O緩沖器使用的。
考慮到系統需要存儲大量的地圖信息,而NANDFLASH只有64 MB,其中絕大部分的空間已被Linux操作系統的啟動(dòng)代碼及操作系統的鏡像和系統根文件系統占用。因此,在設計系統時(shí)加入了SD卡接口電路。S3C2440集成了SDI接口,該接口支持各種容量的SD卡,并可工作在DMA模式和中斷模式。
2.3 人機接口模塊
LCD液晶屏由于具有體積小、重量輕、低電壓、低功耗等特點(diǎn),非常適合本系統的要求。LCD屏顯示圖像,不但需要LCD驅動(dòng)器,還需要有相應的LCD控制器。LCD控制器則有專(zhuān)門(mén)的外部電路來(lái)實(shí)現。
S3C2440芯片集成了LCD控制器,可以支持各種單色,偽彩,真彩液晶屏,TFT彩屏,還提供1通道的LCD專(zhuān)用DMA。本系統中所外接的LCD是NEC 3.5寸觸摸式、彩色液晶屏,型號為NL2432HC22-23B。
2.4 GPS模塊
GPS系統采用高軌測距體制,以觀(guān)測站至GPS衛星之間的距離作為基本觀(guān)測量。通過(guò)對4顆或4顆以上的GPS衛星同時(shí)進(jìn)行偽距或相位的測量即可推算出接收機的三維位置。根據所接收到的經(jīng)緯度信息,與電子地圖數據進(jìn)行比較,可在地圖上顯示出車(chē)輛當前的位置和行駛方向。
GPS模塊是GPS15L/H。接口特性如下:RS 232輸出,可輸入RS 232或者具有RS 232極性的TTL電平??蛇x的波特率為:300 b/s,600 b/s,1 200 b/s,2 400 b/s,4 800 b/s,9 600 b/s,19 200 b/s。
串口輸出協(xié)議:輸出NEMA0183格式的ASCII碼語(yǔ)句,輸出:GPALM,GPGGA,GPGLL,GPGSA,GPGSV,GPRMC,GPVTG(NMEA標準語(yǔ)句);PGRM B,PGRME,PGRMF,PGRMM,PGRMT,PGRMV(GARMIN定義的語(yǔ)句)。還可將串口設置為輸出包括GPS載波相位數據的二進(jìn)制數據。輸入:初始位置、時(shí)間、秒脈沖狀態(tài)、差分模式、NMEA輸出間隔等設置信息。在缺省的狀態(tài)下,GPS模塊輸出數據的波特率為4 800 b/s,輸出信息包括:GPRMC,GPGGA,GPGSA,GPGSV,PGRME等,每秒鐘定時(shí)輸出。
2.5 GPRS模塊
考慮到監控車(chē)輛是移動(dòng)的,因此車(chē)載終端和監控中心之間的數據傳輸必須采用無(wú)線(xiàn)的方式。本系統采用西門(mén)子公司的GPRS模塊SIM300,該模塊適合工作在環(huán)境變化大,周?chē)h(huán)境較惡劣的場(chǎng)所。本模塊具有標準AT命令接口,可以提供GSM語(yǔ)音、短消息和GPRS上網(wǎng)等業(yè)務(wù)。根據系統的功能要求,本系統只要實(shí)現S3C2440與模塊之間的通信,并將GPS的經(jīng)緯信息發(fā)給服務(wù)中心,并進(jìn)行服務(wù)中心與客戶(hù)終端之間的話(huà)音信息傳送。
3 應用程序的設計
3.1 導航程序的設計思路
開(kāi)發(fā)終端導航應用軟件至少做以下幾個(gè)方面的工作:
(1)導航電子地圖一般都是分層的數字矢量地圖,具有一定的分層結構,比如道路層、興趣點(diǎn)層、文本層等。它提供最低層的地理位置經(jīng)緯度信息,還有對經(jīng)緯度信息以及每個(gè)數據字段進(jìn)行詮釋的相關(guān)文檔。
(2)平面、球面坐標的轉換程序,導航電子地圖的原始數據都是經(jīng)緯度的坐標信息,需要將這些經(jīng)緯度的坐標信息轉換為平面坐標的形式才能制作出電子地圖。在開(kāi)發(fā)過(guò)程中,實(shí)現某種功能還需要平面坐標和球面坐標的來(lái)回轉換。
(3)圖形用戶(hù)界面。本系統選用QT/Embeded來(lái)作為圖形用戶(hù)接口界面。QT Designer是一個(gè)跨平臺的符合C++規范的圖形用戶(hù)界面程序開(kāi)發(fā)工具。QT本身是一個(gè)類(lèi)庫,它遵循C++規范,同時(shí)對C++作了一些擴充。它主要用于Linux系統,是構造KDE桌面環(huán)境的基礎。
3.2 導航程序的開(kāi)發(fā)
導航電子地圖數據實(shí)際上是分層的矢量地圖形式,首先需要使用QT的圖形顯示函數將矢量地圖分層畫(huà)出,分為道路層、道路名層、交叉結點(diǎn)層、興趣點(diǎn)層等,然后在此基礎上開(kāi)發(fā)出相應的功能。整幅地圖可用一個(gè)對象來(lái)表示,每個(gè)矢量地圖層可看作是大對象內的一個(gè)小對象,它們之間是包含關(guān)系。以后的操作是根據不同的功能對不同的矢量層對象進(jìn)行操作。
3.3 服務(wù)中心的程序設計
服務(wù)中心的軟件,主要負責對車(chē)輛的位置進(jìn)行監控,并對運營(yíng)車(chē)輛進(jìn)行調控。設計本系統時(shí),為節省開(kāi)發(fā)時(shí)間,使用了第三方的地圖軟件,在開(kāi)發(fā)時(shí)主要做的就是在PC機端接上GPRS模塊,用于接收終端發(fā)送過(guò)來(lái)的位置信息,把接收到的信息進(jìn)行解析,并把取得的數據提供給地圖軟件。
評論