劉 超,李玉惠,李 勃,鄭占領
(昆明理工大學信息工程與自動化學院,云南 昆明 650500)
GPS定位系統(tǒng)在全球已得到廣泛的應用,市場上與GPS相關的產品多不勝數(shù),但功能單一的GPS定位已經(jīng)不能滿足人們的要求,關于目標定位的產品也朝著多信息的方向發(fā)展,即不僅能夠得到GPS坐標,還能得到方向、距離和速度等信息[1-3]。在該背景下,如果將GPS模塊作為定位基本模塊,并融合電子羅盤模塊和加速度傳感器模塊,能測出物體的坐標位置、方位和速度,即可豐富目標定位的信息。筆者研究的系統(tǒng)預留了多個串口,便于系統(tǒng)功能的擴展。
該系統(tǒng)主體為一套基于C8051F120單片機的實驗平臺,通過預留的接口接入GPS模塊、電子羅盤模塊和加速度傳感器模塊。GPS接收模塊用來接收目標的地理坐標,電子羅盤提供物體運動方位角,加速度傳感器模塊提供物體的速度,三者的數(shù)據(jù)分別經(jīng)過C8051F120單片機串口、I2C控制以及模數(shù)轉換處理等一系列過程便能得到物體的相關位置狀態(tài)信息。
C8051F12x系列器件是完全集成的混合信號片上系統(tǒng)型MCU芯片,具有64個數(shù)字I/O引腳(100腳TQFP封裝)。其具有高速、流水線結構的8051兼容的CIP-51內核(100 MI/s或50 MI/s)且有全速、非侵入式的在系統(tǒng)調試接口(片內)和真正12位或10位、100 kS/s的 ADC,帶PGA和8通道模擬多路開關,內部資源多,存儲量大[4]。
具有片內VDD監(jiān)視器、看門狗定時器和時鐘振蕩器的C8051F12x和C8051F13x器件是真正能獨立工作的片上系統(tǒng)。所有模擬和數(shù)字外設均可由用戶固件使能/禁止和配置。Flash存儲器還具有在線重新編程能力,可用于非易失性數(shù)據(jù)存儲,并允許現(xiàn)場更新8051固件。
片內JTAG調試電路允許使用安裝在最終應用系統(tǒng)上的產品MCU進行非侵入式(不占用片內資源)、全速和在線調試。該調試系統(tǒng)支持觀察和修改存儲器和寄存器,支持斷點、觀察點、單步及運行和停機命令。在使用JTAG調試時,所有的模擬和數(shù)字外設都可全功能運行。
該系統(tǒng)使用該單片機的串口、I2C接口以及模數(shù)轉換通道。
該系統(tǒng)采用了IT500模塊作為GPS信號采集模塊。該模塊能輸出符合 NEMA0183標準的ASCII碼形式的數(shù)據(jù)信息,因此通過C8051F120單片機的串口即可與該模塊通信。默認狀態(tài)下該模塊輸出 GPGGA、GPGSA、GPGSV、GPRMC 格式的信息。用戶可以通過發(fā)送命令控制該模塊的輸出。在實際應用中一般采用最簡格式輸出,即GPRMC格式輸出。
電子羅盤可以提供目標物的運動方向,該系統(tǒng)選用SCH9003模塊進行電子羅盤數(shù)據(jù)的采集。該模塊支持I2C通信協(xié)議,在單片機內部可以將端口配置為I2C接口,經(jīng)過簡單的操作即可與該模塊進行通信[5-6]。需要注意的是電子羅盤是測水平方向運動的,因此測試時應水平放置。
通過加速度傳感器可以采集到目標的加速度,該系統(tǒng)采用ADXL213模塊采集加速度數(shù)據(jù)。通過分析動態(tài)加速度,可以分析出設備移動的方式。該模塊兩個輸出分別為X軸和Y軸的加速度信息。將其輸出接入到單片機模數(shù)轉換通道,在單片機內即可得到加速度的數(shù)字量。
系統(tǒng)加入可擴展模塊主要是為了能根據(jù)用戶的要求加入其他的傳感器。一般情況下,很多傳感器是支持串口的,因此該系統(tǒng)采用SP3539芯片將1個串口擴展成了5個串口[7-8],其中1個用于GPS模塊,其他4個可以連接其他的傳感器,進一步豐富定位信息[9]。
用戶界面用于用戶對系統(tǒng)的操作,它由液晶顯示屏和按鍵模塊組成。按鍵有向上、向下、確認和取消4種功能鍵,液晶顯示屏初始顯示的是菜單界面,菜單界面有多個選項供選擇,通過向上、向下按鍵來選擇查看或修改GPS模塊、電子羅盤模塊和加速度傳感器模塊信息,按確認鍵即進入該選中模塊信息界面,在該界面中可以看到該模塊傳回的數(shù)據(jù),也可對該模塊進行參數(shù)設置。
通過按鍵和液晶屏實現(xiàn)菜單操作的關鍵是對狀態(tài)進行控制。通過按鍵實現(xiàn)畫面之間的切換。每次鍵按下,系統(tǒng)內部會進行一次按鍵處理,得到鍵值,再結合當前的顯示狀態(tài),判斷得出下一狀態(tài),通過更新狀態(tài)從而實現(xiàn)畫面的切換。
系統(tǒng)中C8051F120單片機有8個I/O口和1個12位的8通道模數(shù)轉換通道。其中端口0~4可以進行交叉開關配置,即可通過端口配置將普通I/O口配置成UART接口和I2C接口等其他數(shù)字接口。如圖1所示,該系統(tǒng)選擇端口0~4為電子羅盤模塊配置I2C接口,為串口擴展模塊以及液晶屏配置UART接口,并選擇模數(shù)轉換的2個通道接到加速度傳感器上。
圖1 系統(tǒng)硬件框圖
軟件系統(tǒng)的設計對于整個系統(tǒng)來說至關重要。在設計的各個環(huán)節(jié)既要保證系統(tǒng)能快速響應,又要保證數(shù)據(jù)能正確無誤地處理。分模塊進行設計比較能夠容易查找軟件中存在的問題。首先,對系統(tǒng)進行初始化,主要是完成一些基本的設置,包括系統(tǒng)時鐘的設定,端口的配置,串口波特率的設定,定時器的設定以及中斷的設定。然后系統(tǒng)進入大循環(huán),在循環(huán)里先讀取并處理各傳感器模塊的數(shù)據(jù),接著是按鍵的處理,若有按鍵按下則顯示狀態(tài)改變,接著便顯示由按鍵處理后設定的狀態(tài),顯示的狀態(tài)包含了用戶所需的不同信息。系統(tǒng)的軟件流程圖如圖2所示。
圖2 系統(tǒng)軟件流程圖
C8051F120單片機是支持在線調試的,通過Silicon IDE集成開發(fā)環(huán)境,將程序下載到系統(tǒng)中。在室內,由于GPS信號較弱,系統(tǒng)會提示接收不到GPS信號,其他信息接收正常。在戶外,GPS信號接收正常,系統(tǒng)運行良好,通過按鍵的控制可以在液晶屏上顯示出目標的經(jīng)度、緯度、加速度,以及運動方向,而且數(shù)據(jù)可以跟著目標的運動更新改變[10]。
該系統(tǒng)采用C8051F120單片機控制GPS模塊、電子羅盤模塊和加速度傳感器模塊,并采集這3個模塊的數(shù)據(jù),將采集的數(shù)據(jù)處理成用戶可讀的信息顯示出來。該系統(tǒng)提供目標的經(jīng)度、緯度、加速度以及運動方向,豐富了單個GPS定位信息。通過測試,在室內,該系統(tǒng)能正常顯示目標運動方向和目標加速度,GPS坐標則由于GPS信號弱而不能正常顯示。在戶外,GPS信號接收正常,系統(tǒng)運行良好,通過按鍵的控制可以在液晶屏上顯示出目標的經(jīng)度、緯度、加速度,以及運動方向,并能對數(shù)據(jù)進行實時更新,顯示了良好的特性。系統(tǒng)中擴展了多個串口,只需對軟件稍作更改便可增加其他的傳感器,進一步滿足用戶要求。該系統(tǒng)功能可用于交通監(jiān)控、車載應急指揮系統(tǒng)等場合。
[1]張勤.INS/GPS/電子羅盤組合導航系統(tǒng)研究[J].計算機測量與控制,2010,18(5):225-227.
[2]林明春,夏桂鎖,林玉池,等.電子羅盤在全自動智能陀螺尋北儀中的應用[J].光學精密工程,2007,15(5):719-723.
[3]楊國勝,竇麗華,陳杰,等.多傳感器多目標定位與跟蹤技術研究[J].火力與指揮控制,2002,27(1):29-32.
[4]束華明,高明煜,王園園.基于單片機控制的汽車前照燈自適應系統(tǒng)[J].電子測量與儀器學報,2008,22(1):318-321.
[5]盧海峰,江朝元,陽小光.基于串口通信的在線監(jiān)測系統(tǒng)關鍵技術研究[J].儀器儀表學報,2006,27(3):2043-2044.
[6]鐘文,王益.串行端口底層通信機理研究及相應實現(xiàn)[J].計算機工程,2005,31(19):225-227.
[7]楊亦紅.采用串口通信的光譜相應測試儀中數(shù)據(jù)幀的設計[J].光學儀器,2003,25(4):59-63.
[8]汪濤,羅洪平,陶純匡.RS232串口通信在CCD在線測量中的應用[J].系統(tǒng)工程與電子技術,2005,27(10):1814-1816.
[9]陳正平,劉堯光.C3I系統(tǒng)多傳感器的信息融合[J].火力與指揮控制,1998,23(3):47-50.
[10]楊國勝,竇麗華,陳杰,等.炮兵系統(tǒng)多目標定位與跟蹤建模[J].北京理工大學學報,2002,11(1):14-17.