工業(yè)連接

基于單片機(jī)的運動導(dǎo)航系統(tǒng)研究及軟件設(shè)計

ainet.cn   2007年07月25日

  1 引  言

  隨著電子導(dǎo)航技術(shù)的不斷進(jìn)步,如何準(zhǔn)確而快速地獲取運動物體的行駛信息就成為導(dǎo)航產(chǎn)品設(shè)計和開發(fā)所關(guān)注的焦點問題。目前實現(xiàn)導(dǎo)航定位技術(shù)的主要途徑有全球定位系統(tǒng)[1](Global Positioning System,GPS)、航位推算技術(shù)[2](Dead Reckoning,DR)以及地圖匹配[3](Map Matching,MM)三大技術(shù)。

  航位推算技術(shù)是一種傳統(tǒng)的跟蹤導(dǎo)航算法,它采用里程傳感器和航向傳感器來推算運動目標(biāo)軌跡,誤差較大。地圖匹配算法復(fù)雜,耗費軟硬件資源且實時性難以保證。而GPS技術(shù)在智能交通運輸領(lǐng)域的應(yīng)用日趨廣泛,且十分成熟。

  筆者在工作中做了如下嘗試:以低成本、低功耗、高可靠性和較好的交互性為基本原則,用C8051F020作為核心處理器,設(shè)計了運動平臺控制器;開發(fā)符合Windows規(guī)范的監(jiān)控軟件,提供友好的人機(jī)界面;利用微功率無線數(shù)傳模塊完成上位機(jī)軟件與單片機(jī)之間的通信。自定義了通信協(xié)議,提高數(shù)據(jù)通信的準(zhǔn)確性和穩(wěn)定性。

  2 系統(tǒng)硬件結(jié)構(gòu)

  本系統(tǒng)硬件總體結(jié)構(gòu)如圖1所示。系統(tǒng)采用兩級微機(jī)控制結(jié)構(gòu),即上位機(jī)是PC機(jī),下位機(jī)是C8051F020單片機(jī)。單片機(jī)負(fù)責(zé)數(shù)據(jù)采集、轉(zhuǎn)換、處理和電機(jī)控制,同時把采集到的信息打包發(fā)送給PC機(jī)變換、處理和顯示。上位機(jī)與單片機(jī)之間的通信通過微功率數(shù)傳電臺模塊實現(xiàn)。

  C8051FXXX系列單片機(jī)是Cygnal公司推出的高性能的完全混合信號系統(tǒng)MCU芯片,其指令集與MCS-51系列單片機(jī)完全兼容[4]。本文使用C8051F020設(shè)計運動平臺控制器,該處理器采用基于流水線的CIP-51內(nèi)核,片內(nèi)集成VDD監(jiān)視器、看門狗定時器和時鐘振蕩器,支持在線編程和JTAG調(diào)試接口,具有體積小、功耗低、便于調(diào)試開發(fā)等優(yōu)點。

  C8051F020的兩個串口分別用來連接GPS和數(shù)傳電臺。定時器/計數(shù)器T2配合UART0產(chǎn)生9600bps波特率與數(shù)傳模塊連接,完成與PC機(jī)的通信;定時器/計數(shù)器T4配合UART1產(chǎn)生4800bps波特率接收GPS信號。用兩路可編程定時/計數(shù)器(PCA)產(chǎn)生16位的PWM分別驅(qū)動電機(jī)和舵機(jī)。

  運動平臺的初始坐標(biāo)和方位角由GPS獲得。iTrax 02[5]型接收機(jī)是一款超小體積、低功耗的GPS OEM板,其尺寸僅為26mm×26mm×4.7mm,休眠功耗僅為80uW,連續(xù)導(dǎo)航時也不超過110uW,并且從休眠到導(dǎo)航定位僅為8s,具有極快的信號獲取引擎。iTrax 02帶有2個UART接口,可接收NMEA0183格式的數(shù)據(jù)和二進(jìn)制的iTack格式數(shù)據(jù)。其端口2用來輸入差分修正信息和輸出衛(wèi)星的原始測量信息而端口1用來輸入設(shè)定語句和輸出定位語句。C8051F020單片機(jī)具有全雙工串行通信能力。兩者采用最簡單的零調(diào)制的三線制進(jìn)行串行通信,這是進(jìn)行全雙工所需要的最少數(shù)目的線路。因而只需將C8051F020的串行口經(jīng)TTL電平與EIA電平轉(zhuǎn)換后,再與iTrax 02板串行口1對應(yīng)連接。系統(tǒng)采用11.059 MHz晶振。

  無線通信模塊選擇ZT-TR43C型微功率無線電臺,該模塊適用于低成本、小型化場合的無線數(shù)據(jù)收發(fā)。

  3 系統(tǒng)軟件設(shè)計

  3.1自定義通信協(xié)議

  對于監(jiān)控軟件與單片機(jī)之間的通信,能夠?qū)崿F(xiàn)收發(fā)真實再現(xiàn)的關(guān)鍵在于PC機(jī)與單片機(jī)之間的通信協(xié)議是否滿足要求。經(jīng)過需求分析,制定了如圖2所示的單片機(jī)向PC機(jī)發(fā)送的通信協(xié)議。

  單片機(jī)向PC發(fā)送的數(shù)據(jù)包由15個字節(jié)組成。數(shù)據(jù)包開頭的兩個字節(jié),我們設(shè)定第0和第1字節(jié)分別為0xEB和0x90,定義為數(shù)據(jù)頭。當(dāng)有數(shù)據(jù)向PC機(jī)發(fā)送的時候,檢測數(shù)據(jù)頭是否與設(shè)定值一致,一致就繼續(xù)接收剩余的數(shù)據(jù),否則舍棄該數(shù)據(jù)包。第2~5字節(jié)留給加速度傳感器信息。第6~9字節(jié)為采集的GPS緯度數(shù)據(jù);第10~13字節(jié)表示采集來的GPS精度數(shù)據(jù);第14個字節(jié)為校驗字節(jié),該字節(jié)等于前14個字節(jié)的和,用來檢驗接收的數(shù)據(jù)包是否完整。圖3所示為PC機(jī)向單片機(jī)發(fā)送的數(shù)據(jù)包格式。

  PC機(jī)向單片機(jī)發(fā)送的命令占用一個字節(jié),低四位表示對電機(jī)控制的命令和數(shù)據(jù),高四位表示對舵機(jī)提供的命令和數(shù)據(jù)。第3位表示電機(jī)進(jìn)退位,“0”表示前進(jìn),“1”表示后退,第0~2位表示控制量;同理,第7位表示舵機(jī)轉(zhuǎn)向控制位,“0”表示右轉(zhuǎn),“1”表示左轉(zhuǎn),第4~6位表示控制量??刂泼钊绫?所示。

  3.2軟件實現(xiàn)

  本系統(tǒng)軟件分為兩個部分,一部分是單片機(jī)控制軟件,在Keil C51環(huán)境下開發(fā),采用模塊式結(jié)構(gòu)設(shè)計,包括控制模塊、采集模塊等,主要模塊流程圖如圖4所示。

  另一部分是PC機(jī)操作軟件,使用Microsoft Visual C++環(huán)境開發(fā),采用面向?qū)ο蠹夹g(shù)設(shè)計,基于對話框結(jié)構(gòu),其軟件結(jié)構(gòu)框圖如圖5所示。微軟提供的MScomm控件封裝了Windows提供的與串口操作相關(guān)的大多數(shù)API函數(shù),便于實現(xiàn)串口數(shù)據(jù)的收發(fā),且符合面向?qū)ο蟮木幊桃?guī)范。MScomm控件支持兩種訪問串口的方式:查詢方式和事件驅(qū)動方式。事件驅(qū)動通訊是處理串行端口交互作用的一種非常有效的方法。在許多情況下,在事件發(fā)生時需要得到通知,如在串口接收緩沖區(qū)中有字符,或者Carrier Detect(CD)或Request To Send(RTS)線上一個字符到達(dá)或一個變化發(fā)生時。在這些情況下??梢岳肕Scomm控件的OnComm事件捕獲并處理這些通訊事件。OnComm事件還可以檢查和處理通訊錯誤。查詢方式實質(zhì)上還是事件驅(qū)動,但在有些情況下,這種方式顯得更為便捷。在程序的每個關(guān)鍵功能之后,可以通過檢查CommEvent屬性的值來查詢事件和錯誤。如果應(yīng)用程序較小,并且是自保持的,這種方法非常有效。本文選擇兩者結(jié)合的方式完成串行通信程序設(shè)計。

  4 結(jié)束語

  采用C8051F020單片機(jī)作為核心處理器,具有體積小、功耗低、便于維護(hù)的特點。開發(fā)符合Windows風(fēng)格的監(jiān)控軟件具有人機(jī)界面友好,便于操作的優(yōu)點。由于選用無線數(shù)傳電臺作為通信手段,因此使用的場合較為廣泛。

  該系統(tǒng)還可用于其它串行通信或遠(yuǎn)程監(jiān)控場合。

  5 參考文獻(xiàn)

  [1] 魏 宏. 城市軌道車輛組合定位導(dǎo)航系統(tǒng)的研究與開發(fā)[D]. 吉林:吉林大學(xué), 2003

  [2] 李本亮. GPS車載導(dǎo)航系統(tǒng)中的航位推算技術(shù)[Z]. 北京:菱科電子技術(shù)(中國)有限公司研發(fā)中心, 2005

  [3] 王仁禮, 陳天澤, 王冬紅. 智能型地圖匹配綜合算法的研究[J]. 計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報. 2003.

  [4] 張迎新, 雷文, 姚靜波等. C8051F系SOC單片機(jī)原理及應(yīng)用[M]. 北京:國防工業(yè)出版, 2005.

  [5] 聞新, 劉寶忠, 林聞曉. MCS-51與GPS-OEM板串行通信技術(shù)及實現(xiàn)[J]. 無線電電子學(xué)與電信技術(shù).
2006.04.

 

(轉(zhuǎn)載)

標(biāo)簽:單片機(jī) 運動導(dǎo)航 我要反饋 
泰科電子ECK、ECP系列高壓直流接觸器白皮書下載
世強(qiáng)
優(yōu)傲機(jī)器人下載中心
億萬克
專題報道