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