DSP課程設(shè)計(jì)-基于DSP的GPGGA提取_第1頁
DSP課程設(shè)計(jì)-基于DSP的GPGGA提取_第2頁
DSP課程設(shè)計(jì)-基于DSP的GPGGA提取_第3頁
DSP課程設(shè)計(jì)-基于DSP的GPGGA提取_第4頁
DSP課程設(shè)計(jì)-基于DSP的GPGGA提取_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

GPS定位的數(shù)據(jù)格式NMER一0183標(biāo)準(zhǔn)應(yīng)用于GPS方面時(shí),數(shù)據(jù)串以“$GP”開頭,主要有GGA、GL、ZDA、GSV、GSA、ALM等格式。這次設(shè)計(jì)主要是基于DSP的GPGGA定位信息的提取,在實(shí)驗(yàn)箱上實(shí)現(xiàn)GPGGA定位數(shù)據(jù)的提取。第一部分為GPS原理的介紹,GPS定位的一些原理,再詳細(xì)闡述GPGGA信息的接收和提取。第二部分為NEMA—0183數(shù)據(jù)標(biāo)準(zhǔn)在GPS中的應(yīng)用。第三部分為系統(tǒng)整體設(shè)計(jì),硬件的配置,以及整個(gè)系統(tǒng)的設(shè)計(jì)原理圖。第四部分為系統(tǒng)程序設(shè)計(jì)思路以及程序的實(shí)現(xiàn)。第五部分為調(diào)試結(jié)果與分析。第一章GPS原理介紹GPS是英文GlobalPositioningSystem(全球定位系統(tǒng))的簡(jiǎn)稱,而其中文簡(jiǎn)稱為“球位系”。GPS是20世紀(jì)空間衛(wèi)星導(dǎo)航定位系統(tǒng)。其主要目的是為陸、海、空三大領(lǐng)域提供實(shí)時(shí)、全天候和全球性的導(dǎo)航服務(wù),并用于情報(bào)收集、核爆監(jiān)測(cè)和應(yīng)急通訊等一些軍事目的,簡(jiǎn)單地說,這是一個(gè)由覆蓋全球的24顆衛(wèi)星組成的衛(wèi)星系統(tǒng)。這個(gè)系統(tǒng)可以保證在任意時(shí)刻,地球上任意一點(diǎn)都可以同時(shí)觀測(cè)到4顆衛(wèi)星,以保證衛(wèi)星可以采集到該觀測(cè)點(diǎn)的經(jīng)緯度和高度,以便實(shí)現(xiàn)導(dǎo)航、定位、授時(shí)等功能。這項(xiàng)技術(shù)可以用來引導(dǎo)飛機(jī)、船舶、車輛以及個(gè)人,安全、準(zhǔn)確地沿著選定的路線,準(zhǔn)時(shí)到達(dá)目的地。GPS主要由空間部分、地面控制系統(tǒng)、用戶設(shè)備等部分組成,GPS的空間部分是由24顆衛(wèi)星組成(21顆工作衛(wèi)星,3顆備用衛(wèi)星它位于距地表20200km的分布使得在全球任何地方、任何時(shí)間都可觀測(cè)到4顆以上的衛(wèi)星,并能在衛(wèi)星中預(yù)存的導(dǎo)航信息。GPS的衛(wèi)星因?yàn)榇髿饽Σ恋葐栴},隨著時(shí)間的推移,導(dǎo)航精度會(huì)逐漸降低;地面控制系統(tǒng)由監(jiān)測(cè)站(MonitorStation)、主控制站(MasterMonitorStation)、地面天線(GroundAntenna)所組成,主控制站位于美國(guó)科羅拉多州春田市(ColoradoSpring)。地面控制站負(fù)責(zé)收集由衛(wèi)星傳回之訊息,并計(jì)算衛(wèi)星星歷、相對(duì)距離,大氣校正等數(shù)據(jù);用戶設(shè)備部分即GPS信號(hào)接收機(jī)。其主要功能是能夠捕獲到按一定衛(wèi)星截止角所選擇的待測(cè)衛(wèi)星,并跟蹤這些衛(wèi)星的運(yùn)行。當(dāng)接收機(jī)捕獲到跟蹤的衛(wèi)星信號(hào)后,就可測(cè)量出接收天線至衛(wèi)星的偽距離和距離的變化率,解調(diào)出衛(wèi)星軌道參數(shù)等數(shù)據(jù)。根據(jù)這些數(shù)據(jù),接收機(jī)中的微處理計(jì)算機(jī)就可按定位解算方法進(jìn)行定位計(jì)算,計(jì)算出用戶所在地理位置的經(jīng)緯度、高度、速度、時(shí)間等信息。接收機(jī)硬件和機(jī)內(nèi)軟件以及GPS數(shù)據(jù)的后處理軟件包構(gòu)成完整的GPS用戶設(shè)備。GPS接收機(jī)的結(jié)構(gòu)分為天線單元和接收單元兩部分。GPS定位的基本原理是根據(jù)高速運(yùn)動(dòng)的衛(wèi)星瞬間位置作為已知的起算數(shù)據(jù),采用空間距離后方交會(huì)的方法,確定待測(cè)點(diǎn)的位置。如圖所示,假設(shè)t時(shí)刻在地面待測(cè)點(diǎn)上安置GPS接收機(jī),可以測(cè)定GPS信號(hào)到達(dá)接收機(jī)的時(shí)間△t,再加上接收機(jī)所接收到的衛(wèi)星星歷等其它數(shù)據(jù)可以確定以下四個(gè)方程式:上述四個(gè)方程式中待測(cè)點(diǎn)坐標(biāo)x、y、z和Vto為未知參數(shù),其中di=c△ti接收機(jī)之間的距離,△ti(i=1、2、3、4)分別為衛(wèi)星1、衛(wèi)星2、衛(wèi)星3程式中各個(gè)參數(shù)意義如下:x、y、z為待測(cè)點(diǎn)坐標(biāo)的空間直角坐標(biāo)。xi、yi、衛(wèi)星3、衛(wèi)星4的衛(wèi)星鐘的鐘差,由衛(wèi)星星歷提供。Vto為接收機(jī)的鐘差。由以上四個(gè)方程即可解算出待測(cè)點(diǎn)的坐標(biāo)x、y、z和接收機(jī)的鐘差Vto.GPS定位的方法是多種多樣的,用戶可以根據(jù)不同的用途采用不同的定位方法。GPS定位方法可依據(jù)不同的分類標(biāo)準(zhǔn),可分為1)根據(jù)定位所采用的觀測(cè)值:1.偽距定位:偽距定位所采用的觀測(cè)值為GPS偽距觀測(cè)值,所采用的偽距觀測(cè)值既可以是C/A碼偽距,也可以是P碼偽距。偽距定位的優(yōu)點(diǎn)是數(shù)據(jù)處理簡(jiǎn)單,對(duì)定位條件的要求低,不存在整周模糊度的問題,可以非常容易地實(shí)現(xiàn)實(shí)時(shí)定位;其缺點(diǎn)是觀測(cè)值精度低,C/A碼偽距觀測(cè)值的精度一般為3米,而P碼偽距觀測(cè)值的精度一般也在30個(gè)厘米左右,從而導(dǎo)致定位成果精度低,另外,若采用精度較高的P碼偽距觀測(cè)值,還存在AS的問題,2載波相位定位:載波相位定位所采用的觀測(cè)值為GPS的載波相位觀測(cè)值,即L1、L2或它們的某種線性組合。載波相位定位的優(yōu)點(diǎn)是觀測(cè)值的精度高,一般優(yōu)于2個(gè)毫米;其缺點(diǎn)是數(shù)據(jù)處理過程復(fù)雜,存在整周模糊度的問題。根據(jù)定位的模式:1.絕對(duì)定位:絕對(duì)定位又稱為單點(diǎn)定位,這是一種采用一臺(tái)接收機(jī)進(jìn)行定位的模式,它所確定的是接收機(jī)天線的絕對(duì)坐標(biāo)。這種定位模式的特點(diǎn)是作業(yè)方式簡(jiǎn)單,可以單機(jī)作業(yè)。絕對(duì)定位一般用于導(dǎo)航和精度要求不高的應(yīng)用中;2相對(duì)定位:相對(duì)定位又稱為差分定位,這種定位模式采用兩臺(tái)以上的接收機(jī),同時(shí)對(duì)一組相同的衛(wèi)星進(jìn)行觀測(cè),以確定接收機(jī)天線間的相互位置關(guān)系;根據(jù)獲取定位結(jié)果的時(shí)間:1、實(shí)時(shí)定位::據(jù)接收機(jī)觀測(cè)到的數(shù)據(jù),實(shí)時(shí)地解算出接收機(jī)天線所在的位置.。2、非實(shí)時(shí)定位:又稱后處理定位,它是通過對(duì)接收機(jī)接收到的數(shù)據(jù)進(jìn)行后處理以進(jìn)行定位得方法。根據(jù)定位時(shí)接收機(jī)的運(yùn)動(dòng)狀態(tài):1、動(dòng)態(tài)定位:就是在進(jìn)行GPS定位時(shí),認(rèn)為接收機(jī)的天線在整個(gè)觀測(cè)過程中的位置是變化的。也就是說,在數(shù)據(jù)處理時(shí),將接收機(jī)天線的位置作為一個(gè)隨時(shí)間的改變而改變的量。動(dòng)態(tài)定位又分為Kinematic和Dynamic兩類。3靜態(tài)定位:在進(jìn)行GPS定位時(shí),認(rèn)為接收機(jī)的天線在整個(gè)觀測(cè)過程中的位置是保持不變的。也就是說,在數(shù)據(jù)處理時(shí),將接收機(jī)天線的位置作為一個(gè)不隨時(shí)間的改變而改變的量。在測(cè)量中,靜態(tài)定位一般用于高精度的測(cè)量定位,其具體觀測(cè)模式多臺(tái)接收機(jī)在不同的測(cè)站上進(jìn)行靜止同步觀測(cè),時(shí)間由幾分鐘、幾小時(shí)甚至數(shù)十小時(shí)不等。全球定位系統(tǒng)的主要特點(diǎn):(1)全球、全天候工作(2)定位精度高應(yīng)用實(shí)踐已經(jīng)證明,GPS相對(duì)定位精度在50KM以內(nèi)可達(dá)10-6,100-500KM可達(dá)10-7m,1000KM可達(dá)10-9m。在300-1500M工程精密定位中,1小時(shí)以上觀測(cè)的解其平面其平面位置誤差小于1mm,與ME-5000電磁波測(cè)距儀測(cè)定得邊長(zhǎng)比較,其邊長(zhǎng)較善,軟件的不斷更新,目前,20KM以內(nèi)相對(duì)靜態(tài)定位,僅需15-20分鐘;快速靜態(tài)相對(duì)定位測(cè)量時(shí),當(dāng)每個(gè)流動(dòng)站與基準(zhǔn)站相距在15KM以內(nèi)時(shí),流動(dòng)站觀測(cè)時(shí)間只需1-2分鐘,然后可隨時(shí)定位,每站觀測(cè)只需幾秒鐘。第二章數(shù)據(jù)的格式與提取NMEA系列標(biāo)準(zhǔn)是其制定的關(guān)于海洋電子設(shè)備之間通信接口和協(xié)議的標(biāo)準(zhǔn),1983年制定了NMEA一0183標(biāo)準(zhǔn)。這一標(biāo)準(zhǔn)在兼容NMEA一0180和NMEA一0182標(biāo)準(zhǔn)的基礎(chǔ)上,增加了GPS、測(cè)深儀、羅經(jīng)方位系統(tǒng)等多種設(shè)備的接口和通信協(xié)議定義,同時(shí),標(biāo)準(zhǔn)還允許一些特定設(shè)備制造商對(duì)其設(shè)備(如GarminGPS一38、TfimbleEnsignXL)通信自行定義協(xié)議。由于NMEA一0183標(biāo)準(zhǔn)的通用性和靈活性,因而在全世界被廣泛使用。NMEA一0183格式定義:其后是數(shù)據(jù)體,數(shù)據(jù)字段以逗號(hào)分隔,語句末尾為checksum(可選),以回車換行結(jié)束。每行語句最多包含82個(gè)字符(包括回車換行和“$”符號(hào))。數(shù)據(jù)串以逗號(hào)分隔符識(shí)別,空字段保留逗號(hào)。語句結(jié)束的checksum由一個(gè)“*”和兩個(gè)數(shù)據(jù)位的十六進(jìn)制數(shù)組成。NI、伍A一0183標(biāo)準(zhǔn)允許個(gè)別廠商自己定義語句格式,這些語句以“$P”開頭,其后是3個(gè)字符的廠家ID識(shí)別號(hào),后接自定義數(shù)據(jù)體。NMEA一0183標(biāo)準(zhǔn)應(yīng)用于GPS方面時(shí),數(shù)據(jù)串以“$ZDA、GSV、GSA、ALM等格式,這些格式的作用分別是:$GP0GA:輸出GPS的定位信息;$GPGLL:輸出大地坐標(biāo)信息;$GPZDA:輸出UTC時(shí)間信息;$GPGSV::輸出可見的衛(wèi)星信息;$GPGST:輸出定位標(biāo)準(zhǔn)差信息;$GPGSA:輸出衛(wèi)星DOP值信息;$GPALM:輸出衛(wèi)星星歷信息。(2)通信協(xié)議定義:NMEA一0183格式通信采用RS232通信標(biāo)準(zhǔn),RS232標(biāo)準(zhǔn)用于DTE和DCE。GPS和微機(jī)之間的通信屬于DTE。標(biāo)準(zhǔn)的RS232通信連接采用25針串口(DB一25),也可用于現(xiàn)在多數(shù)微機(jī)流行的9針串口(DE一9)。在試驗(yàn)中,不需要了解NMEA0183通信協(xié)議的全部信息,僅需要從中挑選出需要的那部分定位數(shù)據(jù),其余的信息忽略掉。GPS與掌上電腦通信時(shí),通過串口每秒鐘發(fā)送10條數(shù)據(jù)。實(shí)際導(dǎo)航應(yīng)用讀取GPS的空間定位數(shù)據(jù)時(shí),可以根據(jù)需要每隔幾秒鐘更新一次經(jīng)緯度和時(shí)問數(shù)據(jù),不必頻繁地更新數(shù)據(jù),否則,會(huì)浪費(fèi)掌上設(shè)備有限的電能。如果和衛(wèi)星通信正常,可以接收到的數(shù)據(jù)格式如下:$GPGGA,<l>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,一個(gè)完整的NEMA0183語句是從起始符“$GPGGA”到終止符“<CR><LF>”為止的一段字符串。需要掌握的信息是經(jīng)緯度、經(jīng)緯度方向、GPS定位狀態(tài)和接收信號(hào)的時(shí)間。所以當(dāng)接收到這樣一個(gè)完整的NEMA0183語句時(shí),提取有用信息的方法是:先判定起始符$GPGGA的位置,從起始符開始讀人數(shù)據(jù),再通過異或校驗(yàn)的數(shù)據(jù),并以回車符為一個(gè)CPS語句的終止符,得到一個(gè)完整的GPS信號(hào)。在提取出的GPS語句中,找尋經(jīng)緯度所在的逗號(hào)位置,讀出經(jīng)緯度坐標(biāo),再將經(jīng)緯度坐標(biāo)進(jìn)行度數(shù)的轉(zhuǎn)換。因?yàn)榈貓D的坐標(biāo)是以度數(shù)為標(biāo)準(zhǔn)的。”2.2提取GPGGA定位數(shù)據(jù)GPS接收機(jī)只要處于工作狀態(tài)就會(huì)源源不斷地把接收并計(jì)算出的GPS導(dǎo)航定位信息通過串口傳送到計(jì)算機(jī)中。前面的代碼只負(fù)責(zé)從串口接收數(shù)據(jù)并將其放置于緩存,在沒有進(jìn)一步處理之前緩存中是一長(zhǎng)串字節(jié)流,這些信息在沒有經(jīng)過分類提取之前是無法加以利用的。因此,必須通過程序?qū)⒏鱾€(gè)字段的信息從緩存字節(jié)流中提取出來,將其轉(zhuǎn)化成有實(shí)際意義的,可供高層決策使用的定位信息數(shù)據(jù)。同其他通訊協(xié)議類似,對(duì)GPS進(jìn)行信息提取必須首先明確其幀結(jié)構(gòu),然后才能根據(jù)其結(jié)構(gòu)完成對(duì)各定位信息的提取數(shù)據(jù)主要由幀頭、幀尾和幀內(nèi)數(shù)據(jù)組成,根據(jù)數(shù)據(jù)幀的不同,幀頭也不相同,主要有"$GPGGA"、"$GPGSA"、"$GPGSV"以及"$GPRMC"等。這些幀頭標(biāo)識(shí)了后續(xù)幀內(nèi)數(shù)據(jù)的組成結(jié)構(gòu),各幀均以回車符和換行符作為幀尾標(biāo)識(shí)一幀的結(jié)束。由于幀內(nèi)各數(shù)據(jù)段由逗號(hào)分割,因此在處理緩存數(shù)據(jù)時(shí)一般是通過搜尋碼"$"來判斷是否是幀頭,在對(duì)幀頭的類別進(jìn)行識(shí)別后再通過對(duì)所經(jīng)歷逗號(hào)個(gè)數(shù)的計(jì)數(shù)來判斷出當(dāng)前正在處理的是哪一種定位導(dǎo)航參數(shù),并作出相應(yīng)的處理。在本次設(shè)計(jì)中定位數(shù)據(jù)如經(jīng)緯度、速度、時(shí)間等均可以從"$GPGGA"幀中獲取得到,$GPGGA語句包括17個(gè)字段:語句標(biāo)識(shí)頭,世界時(shí)間,緯度,緯度半球,經(jīng)度,經(jīng)度半球,定位質(zhì)量指示,使用衛(wèi)星數(shù)量,水平精確度,海拔高度,高度單位,大地水準(zhǔn)面高度,高度單位,差分GPS數(shù)據(jù)期限,差分參考基站標(biāo)號(hào),校驗(yàn)和結(jié)束標(biāo)記(用回車符<CR>和換行符<LF>),分別用14個(gè)逗號(hào)進(jìn)行分隔。該數(shù)據(jù)幀的結(jié)構(gòu)及各字段釋義如下:LF>$GPGGA:起始引導(dǎo)符及語句格式說明(本句為GPS定位數(shù)據(jù));<1>UTC時(shí)間,格式為hhmmss.sss;<2>緯度,格式為ddmm.mmmm(第一位是零也將傳送);<3>緯度半球,N或S(北緯或南緯);<4>經(jīng)度,格式為dddmm.mmmm(第一位零也將傳送);<5>經(jīng)度半球,E或W(東經(jīng)或西經(jīng));<6>GPS狀態(tài),0未定位,1非差分定位,2差分定位,3無效PPS,6正在估算;<7>使用衛(wèi)星數(shù)量,從00到12(第一個(gè)零也將傳送);M指單位米M指單位米<11>差分GPS數(shù)據(jù)期限(RTCMSC-104),最后設(shè)立RTCM傳送的秒數(shù)量,如不是差分定位則為空;<12>差分參考基站標(biāo)號(hào),從0000到1023(首位0也將傳送);*語句結(jié)束標(biāo)志符xx從$開始到*之間的所有ASCII碼的異或校驗(yàn)和<CR>回車<LF>換行第三章系統(tǒng)總體設(shè)計(jì)DSP是DigitalSignalProcessing的縮寫,表示數(shù)字信號(hào)處理器,信息化的基礎(chǔ)是數(shù)字化,數(shù)字化的核心技術(shù)之一是數(shù)字信號(hào)處理,數(shù)字信號(hào)處理的任務(wù)在很大程度上需要由DSP器件來完成,DSP技術(shù)已成為人們?nèi)找骊P(guān)注的并得到迅速發(fā)展的前沿技術(shù)。數(shù)字信號(hào)處理是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)字形式對(duì)信號(hào)進(jìn)行采集、變換、濾波、估值、增強(qiáng)、壓縮、識(shí)別等處理,以得到符合人們需要的信號(hào)形式。DSP技術(shù)的應(yīng)用語音處理:語音編碼、語音合成、語音識(shí)別、語音增強(qiáng)、語音郵件、語音儲(chǔ)存等。圖像/圖形:二維和三維圖形處理、圖像壓縮與傳輸、圖像識(shí)別、動(dòng)畫、機(jī)器人視覺、多媒體、電子地圖、圖像增強(qiáng)等。由于DSP可以實(shí)現(xiàn)數(shù)字信號(hào)的處理和計(jì)算。從理論上講,只要有了算法,任何具有計(jì)算能力的設(shè)備都可以用來實(shí)現(xiàn)數(shù)字信號(hào)處理。所以在各模塊功能確定的情況下,用DSP軟件開發(fā)平臺(tái)CODEComposerStudio(簡(jiǎn)稱CCS)進(jìn)行借條函數(shù)的設(shè)計(jì),便可以達(dá)到預(yù)想中的功能。下圖所示為DSP實(shí)現(xiàn)解調(diào)功能的模塊組成:通用數(shù)字信號(hào)處理器(DSP)以其很強(qiáng)的數(shù)據(jù)處理能力使其在高速數(shù)字信號(hào)處理方面得到廣泛的應(yīng)用,但是它的通信接口控制能力比較弱,由于DSP的工作頻率很高,如TMS320C6201時(shí)鐘頻率為200MHz,ADSP21060時(shí)鐘頻率為40MHZ,故其數(shù)據(jù)讀寫周期很短,然而PC機(jī)串口讀寫速度較低,最大數(shù)據(jù)吞吐量約為115kbps,盡管DSp在與這些慢速外進(jìn)行數(shù)據(jù)交換時(shí)可以加入額外的等待周期,但是在實(shí)時(shí)性要求苛刻,算法復(fù)雜的場(chǎng)合,將DSP從這些冗長(zhǎng)的等待周期中解放出來,將其時(shí)間重點(diǎn)放在處理關(guān)鍵的實(shí)時(shí)任務(wù)中去,有著重要的實(shí)際意義。故DSP與PC機(jī)之間串口通信的速度匹配是保證快速、準(zhǔn)確通信的關(guān)鍵。PC機(jī)一般帶有一個(gè)或兩個(gè)內(nèi)置串口,每個(gè)端口的機(jī)箱背后有一個(gè)9針或25針的公插口。串口是以bit來傳輸數(shù)據(jù)的,傳輸數(shù)率取決于UART芯片,該芯片將PC總線上的并行數(shù)據(jù)(單字節(jié)或多字節(jié))分割成以比特為單位的串行數(shù)據(jù)流,從而實(shí)現(xiàn)在串口線纜中的數(shù)據(jù)傳輸。在本次課設(shè)中用到了TL16C550B來實(shí)現(xiàn)并行數(shù)據(jù)和串行數(shù)據(jù)的格式轉(zhuǎn)換,它的最大數(shù)據(jù)吞吐量為115kbps,這已經(jīng)能夠滿足大多數(shù)串行設(shè)備的需要了。TL16C550B是通用異步接收/發(fā)送器(UART)芯片,它不僅能夠把從CPU接收的數(shù)據(jù)進(jìn)行并-串轉(zhuǎn)換,還能夠把從外圍設(shè)備或MODEM接收到的數(shù)據(jù)進(jìn)行串-并轉(zhuǎn)換。該UART包括一個(gè)可編程的波特率產(chǎn)生器。可將輸入的時(shí)鐘信號(hào)進(jìn)行分頻,并可產(chǎn)生16倍的時(shí)鐘來驅(qū)動(dòng)內(nèi)部的傳輸邏輯單元。TL16C550還具有MODEMN控制能力。包含一個(gè)處理器中斷系統(tǒng),根據(jù)用戶的專用需要而設(shè)計(jì),在處理通訊連接時(shí),計(jì)算量是最小的。并且,TL16C550B管腳與TL16C750兼容,采用44引腳PLCC封裝。它的最高可達(dá)1M的波特率,且波特率發(fā)生器可編程設(shè)定,可以由軟件設(shè)定的FIFO來減少CPU中斷,并有可編程的串行數(shù)據(jù)發(fā)送格式:數(shù)據(jù)位長(zhǎng)度為5、6、7、8。還有奇、偶校驗(yàn)或無校驗(yàn)?zāi)J?,它的停止位長(zhǎng)度為1、同時(shí)它內(nèi)部集成了中斷邏輯,另外通過對(duì)其內(nèi)部的寄存器的設(shè)置可以完成相應(yīng)功能,這些寄存器主要有:線路控制寄存器、FIFO控制寄存器、中斷使能寄存器MODEMN控制寄存器、線路狀態(tài)寄存器等11個(gè)寄存器。這些寄存器分別用于實(shí)現(xiàn)通信參數(shù)的設(shè)置、對(duì)線路及MODEMN的狀態(tài)訪問、數(shù)據(jù)的發(fā)送和接收及中斷管理功能。因而它可以與大多數(shù)的CPU實(shí)現(xiàn)無縫接口、使用很方便。圖3.2C5402與PC機(jī)串行通信的硬件電路圖圖中TL16C550B的CS0和CS1都接高電平,CS2接C5402的外部I/O空間,選擇線IS。當(dāng)XIN、XOUT端外接1.8342MHZ晶振時(shí),C5402以4800的波特率與PC機(jī)通信,所以,波特率因子寄存器的低位設(shè)為30HZ,高位設(shè)為00hz。TL16C550B的數(shù)據(jù)線D0-D7數(shù)據(jù)線相連,TL16C550的片內(nèi)寄存器以下為系統(tǒng)硬件部分PC機(jī)的連接與異步串口通信在實(shí)驗(yàn)箱上實(shí)現(xiàn)的原理圖:第四章系統(tǒng)程序設(shè)計(jì)DevelopmentEnvironment)。CCS是一種針對(duì)標(biāo)準(zhǔn)TMS320調(diào)試器接口的交互CC2000(針對(duì)C2XX)CCS5000(針對(duì)C54XX)CCS6000(針對(duì)C6X)等三個(gè)不同的型號(hào)。我們所使用的是CCS5000、1.2的版本。這里所說明的CCS的一切問題都是基于CCS5000所討論,對(duì)其他版本的使用其差別不是很大,請(qǐng)參考其他有關(guān)資料。CCS5000具有以下特性:CCS5000目標(biāo)管理系統(tǒng),內(nèi)建編輯器,所有的調(diào)試和分析能力集成在一個(gè)Windows環(huán)境中。(2)對(duì)C和DSP匯編文件的目標(biāo)管理目標(biāo)編輯器保持對(duì)所有文件及相關(guān)內(nèi)容的跟蹤。它只對(duì)最近一次編譯中改變過的文件重新編譯,以節(jié)省編譯時(shí)間。(3)高集成的編輯器調(diào)整C和DSP匯編代碼CCS5000的內(nèi)建編輯器支持C和匯編文件的動(dòng)態(tài)語法加亮顯示,使用戶能很容易地閱讀代碼和當(dāng)場(chǎng)發(fā)現(xiàn)語法錯(cuò)誤。(4)編輯和調(diào)試時(shí)的后臺(tái)編輯用戶在使用編譯器和匯編器時(shí)沒有必要退出系統(tǒng)到DOS環(huán)境中,因?yàn)镃CS5000會(huì)自動(dòng)將這些工具裝載在它的環(huán)境中。在其窗口中,錯(cuò)誤會(huì)加亮顯示,只要雙擊錯(cuò)誤就可以直接到達(dá)出錯(cuò)處。(5)在含有浮點(diǎn)并行調(diào)試管理器(PDM)的原有的MS窗口下支持多處理器,CCS5000在Windows95和Windows-me中支持多處理器。PDM允許將命令傳播給所有的或所選擇的處理器。(6)任何算法點(diǎn)觀察信號(hào)的圖形窗口探針圖形顯示窗口使用戶能夠觀察時(shí)域或者頻域的信號(hào)。對(duì)于頻域圖,F(xiàn)FT在主機(jī)內(nèi)執(zhí)行,這樣就可以觀察所感興趣的部分而無須改變它的DSP代碼。圖形顯示也可以同探針連接,當(dāng)前顯示窗口被更新時(shí),探針被指定,這樣當(dāng)代碼執(zhí)行到達(dá)該點(diǎn)時(shí),就可以迅速地觀察到信號(hào)。(7)文件探針在算法處通過文件提取或加入信號(hào)或數(shù)據(jù)CCS5000允許用戶從PC機(jī)讀或?qū)懶盘?hào)流。而不是實(shí)時(shí)的讀信號(hào),這就可以用已知的例子來仿真算法。CCS5000的圖形分析能力在其環(huán)境中是集成的。(9)在后臺(tái)(系統(tǒng)命令)執(zhí)行用戶的DOS程序用戶可以執(zhí)行CCS5000中的DOS程序,并將其輸出以流水方式送到CCS5000的輸出窗口。且允許用戶將應(yīng)用集成到CCS5000。GPS模塊以9600波特的速率串行輸出數(shù)據(jù)。有用的時(shí)間、經(jīng)緯度及海拔高度信息就包含在其中。實(shí)驗(yàn)的任務(wù)就是從選出有用的信息并送液晶顯示器顯示。實(shí)驗(yàn)的導(dǎo)航電文由串口調(diào)試助手導(dǎo)入,導(dǎo)航電文里頭的GGA格式的數(shù)據(jù)就是我們這次實(shí)驗(yàn)要接收的,找到該組的有用信息。在字符串找到指定的字符串,并返回它的位置。在這里就找“$GPGGA”和“,”找到后,把這個(gè)位置以后的字符串重新賦給一個(gè)以前的字符串,一直循環(huán),就可以找到所有的信息了。具體步驟如下: 系統(tǒng)進(jìn)行初始化,主要是對(duì)DSP芯片的ASP(異步串口)進(jìn)行初始化,將DSP異步通信口得數(shù)據(jù)傳送率設(shè)為9600bit/s,通信數(shù)據(jù)格式的設(shè)置為1個(gè)起始位,8位數(shù)據(jù)位,一個(gè)停止位,并設(shè)置接受數(shù)據(jù)緩沖區(qū)。對(duì)于波特率的設(shè)置可在串口驅(qū)動(dòng)程序中設(shè)置。使程序指向接受數(shù)據(jù)緩沖區(qū)首地址,系統(tǒng)處于讀接受狀態(tài)。采用查詢方式、進(jìn)行GPS數(shù)據(jù)流的數(shù)據(jù)起始位置時(shí),開始數(shù)據(jù)接收,否則就放棄,重新開始查詢過程。判斷是否再次查找到'$'f符號(hào),若是,則跳回第二步,重新進(jìn)行數(shù)據(jù)接收。接收數(shù)據(jù)并查找所需的數(shù)據(jù)前面的逗號(hào)的位置。將查找到的逗號(hào)后的數(shù)據(jù)保存到中間數(shù)組變量中。數(shù)據(jù)處理,篩選出時(shí)間、經(jīng)度、緯度等基本數(shù)據(jù)進(jìn)行傳輸并調(diào)整格式在LCD上顯示。DSP串口初始化數(shù)據(jù)接收是是查找到所需數(shù)據(jù)前面逗號(hào)的位置將數(shù)據(jù)賦給輸出的中間變量發(fā)送數(shù)據(jù)到PC機(jī)上調(diào)整數(shù)據(jù)格式在調(diào)整數(shù)據(jù)格式在LCD上顯示cur_row=2;cur_col=20;/*列*/cur_row=3;cur_col=1;LCD_pr_chars("------------------本課設(shè)中利用鍵盤來控制顯示,設(shè)置鍵盤值1鍵來設(shè)置控制,下載成功后,按1鍵即開始進(jìn)行接收顯示。{flag=0xffff;{{}switch(key_val)/*由鍵值來控制*/{break;break;voidinit_exint1_inte{IFR=0Xffff;}{{}//flag=~flag;flag=0;cur_row=7;cur_col=15;}定位信息通過串口來實(shí)現(xiàn)傳輸。本程序的關(guān)鍵在于串口數(shù)據(jù)的提取及相關(guān)處理操作。前面的代碼負(fù)責(zé)從串口接收數(shù)據(jù)并將其放置于緩存。在沒有進(jìn)一步處理之前緩存是一長(zhǎng)串字節(jié)流,這些信息在沒有經(jīng)過分類提取之前是無法加以利用的。因此,必須通過程序?qū)⒏鱾€(gè)字段的信息從緩存字節(jié)流中提取出來,將其轉(zhuǎn)化成有實(shí)際意義的,可供高層決策使用的定位信息數(shù)據(jù)。同期他通訊協(xié)議類似。對(duì)該實(shí)驗(yàn)采用NMEA_0183xieyi協(xié)議的GPS固定數(shù)據(jù)輸出語句($GPGGA)數(shù)據(jù)結(jié)構(gòu)。先定義305個(gè)數(shù)據(jù)的數(shù)組來存放導(dǎo)航電文的串行數(shù)據(jù),逗號(hào)、時(shí)間、緯度、及經(jīng)度的中間接收數(shù)組,以及輸出的字符數(shù)組。{unsignedintunsignedintlocate=0;示值*/由于串口數(shù)據(jù)的讀取速度和對(duì)數(shù)據(jù)中參數(shù)的提取操作速度需要匹配,所以難免會(huì)有數(shù)據(jù)的丟失,為了保證參數(shù)的正確提取,程序的開始就需要對(duì)語句的正確性進(jìn)行控制。處理時(shí)一般先通過對(duì)幀頭的判斷,即對(duì)“$GPGGA”幀進(jìn)行判斷。由于幀內(nèi)個(gè)數(shù)據(jù)段由逗號(hào)分割,因此在處理緩存數(shù)據(jù)時(shí)一般是通過搜尋ASCII碼‘$’來判斷是否是幀頭,在對(duì)幀頭的類別進(jìn)行識(shí)別后再通過所經(jīng)歷逗號(hào)個(gè)數(shù)的計(jì)數(shù)來判斷出當(dāng)前處理地是那一種定位導(dǎo)航參數(shù),并作出相應(yīng)的處理。判斷數(shù)據(jù)格式的程序如下:{jj=Uart_rx();/*串行數(shù)據(jù)輸出的調(diào)用函{break;}if(locate<300)//是發(fā)送數(shù)據(jù)存放在數(shù)組中的位置{Uart_tx(jj);}{while(ii<300)//接收并識(shí)別GGA數(shù)據(jù)的幀頭{break;}/*識(shí)別GPGGA幀*/一個(gè)完整的NMEA-0183語句是從信息起始標(biāo)志“$”、數(shù)據(jù)分隔符“,”和信息結(jié)束標(biāo)志符“”為止的一段字符串,需要掌握的信息是時(shí)間、經(jīng)度及緯度。所以當(dāng)接收到這樣一個(gè)完整的語句時(shí),提取有用信息的方法首先是判斷起始符的位置,從起始符開始讀入數(shù)據(jù)、再通過異或校驗(yàn)后的語句中尋找自負(fù)'‘,’,然后截取前兩個(gè)‘,’之間的字符串獲取所關(guān)心的數(shù)據(jù),并以回車符為一個(gè)GPS語句的終止符,得到一個(gè)完整的GPS信號(hào)。for(;ii<400;ii++){//$GPGGA,061820,2844.3546,N,11551.8844,E,1,10,0.8,57.9,M,-5.6,M,,*6Cif(data[ii]==36)break;if(mc==1){tm[ni]=data[ii];ni++;}/*提取時(shí)間*/elseif(mc==2){weidu[ni]=data[ii];ni++;}/*提取緯度*/elseif(mc==4){jingdu[ni]=data[ii];ni++;}/*提取經(jīng)度*/elseif(mc==7){geshu[ni]=data[ii];ni++;}/*提取衛(wèi)星數(shù)據(jù)*/elseif(mc==9){deep[ni]=data[ii];ni++;}/*提取海拔高度*/if(data[ii]==44){mc++;ni=0;}/*逗號(hào)計(jì)數(shù)*/}篩選出時(shí)間、經(jīng)度、緯度等基本數(shù)據(jù)進(jìn)行傳輸并調(diào)整在LCD上顯示,以下是顯示時(shí)間的一個(gè)處理過程LCD_pr_chars("MD:",5);for(ii=0;ii<6;ii++){LCD_nextchar(chartable[tm[ii]-48]);/*化ASCII值為數(shù)值*/}/*顯示時(shí)間*/第五章系統(tǒng)調(diào)試一個(gè)很好而小巧的串口調(diào)試工具,支持常用的150-115200bps波特率,能設(shè)置校驗(yàn)、數(shù)據(jù)位和停止位,能以ASCII碼或十六進(jìn)制接收或發(fā)送任何數(shù)據(jù)或字符(包括中文可以任意設(shè)定自動(dòng)發(fā)送周期,并能將接收數(shù)據(jù)保存成文本文件,能發(fā)送任意大小的文本文件。支持串口號(hào)高于9的串口(例如COM10、com255等)如圖為課設(shè)中用到的串口調(diào)試器連接好電源線和仿真器,在打開實(shí)驗(yàn)箱電源前,先用交叉串口線連接實(shí)驗(yàn)箱串口和PC機(jī)串口1。編譯并運(yùn)行程序后,打開串口調(diào)試器,設(shè)置串口為COM1,波特率為9600,并打開串口。在發(fā)送窗口輸入字符或數(shù)字,選擇自動(dòng)發(fā)送或手在CCS軟件中完成程序并通過編譯生成.out文件,再加載.out文件運(yùn)行,打開串口調(diào)試器,把要發(fā)送的數(shù)據(jù)粘貼在發(fā)送端窗口,如圖發(fā)送數(shù)據(jù):時(shí),串口接收到的數(shù)據(jù)在實(shí)驗(yàn)箱上按鍵1開始LCD上顯示GPGGA,接著顯示UARTstartreceive最后開始顯示提取后的數(shù)據(jù):結(jié)束語這次設(shè)計(jì)是基于DSP的GPGGA定位信息的提取,首先論述了GPS定位的原理以及方法,介紹了NEMA-0183數(shù)據(jù)格式定義,以及GPGGA提取的定位數(shù)據(jù)的特點(diǎn)以及相應(yīng)的格式,接著又介紹了系統(tǒng)總體總體設(shè)計(jì)的原理圖,異步傳輸?shù)姆绞?,硬件部分的一些?jiǎn)單介紹,再接著介紹了系統(tǒng)的程序設(shè)計(jì),詳細(xì)的闡述了每個(gè)模塊的實(shí)現(xiàn)過程,最后再論述了系統(tǒng)調(diào)試的過程,對(duì)結(jié)過的分析。通過這一周的課設(shè),對(duì)整個(gè)基于DSPGPGGA定位數(shù)據(jù)的提取過程有了一個(gè)全面的了解,深入理解了異步串口通信的實(shí)現(xiàn)方法,通過實(shí)踐提高了自身的分析解決問題的能了,以及團(tuán)隊(duì)合作解決問題的能了。參考文獻(xiàn)[1]李莉編著,《DSP原理與應(yīng)用》北京:[2]GPS定位的數(shù)據(jù)格式,NMEA-0183數(shù)據(jù)格式[3]張雄偉陳亮徐光輝編著,《DSP芯片的原理與開發(fā)應(yīng)用》北京:電子工業(yè)出版社,2006致謝在整個(gè)課程設(shè)計(jì)的過程中,指導(dǎo)老師胡輝老師給予我細(xì)心的指導(dǎo)和幫助,讓我在這次課設(shè)的課題中學(xué)會(huì)了團(tuán)隊(duì)合作完成課題,加強(qiáng)了對(duì)DSP的了解,在課設(shè)中鍛

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論