導(dǎo)航衛(wèi)星信號(hào)接收裝置嵌入式編程_第1頁(yè)
導(dǎo)航衛(wèi)星信號(hào)接收裝置嵌入式編程_第2頁(yè)
導(dǎo)航衛(wèi)星信號(hào)接收裝置嵌入式編程_第3頁(yè)
導(dǎo)航衛(wèi)星信號(hào)接收裝置嵌入式編程_第4頁(yè)
導(dǎo)航衛(wèi)星信號(hào)接收裝置嵌入式編程_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、本科畢業(yè)設(shè)計(jì)題目導(dǎo)航衛(wèi)星信號(hào)接收裝置的嵌入式編程學(xué)生姓名: 朱佳程 專 業(yè): 電子信息工程 指導(dǎo)教師: 袁紅林 完成日期: 2015年 5月29日 誠(chéng) 信 承 諾 書本人承諾:所呈交的畢業(yè)設(shè)計(jì)是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究成果。除了文中特別加以標(biāo)注和致謝的地方外,其中不包含其他人已發(fā)表或撰寫過的研究成果。參與同一工作的其他同志對(duì)本研究所做的任何貢獻(xiàn)均已在文中作了明確的說明并表示了謝意。 簽 名: 日 期: 本論文使用授權(quán)說明本人完全了解南通大學(xué)有關(guān)保留、使用學(xué)位論文的規(guī)定,即:學(xué)校有權(quán)保留論文及送交論文復(fù)印件,允許論文被查閱和借閱;學(xué)校可以公布論文的全部或部分內(nèi)容。(保密的論文在解密后應(yīng)遵守此規(guī)

2、定)學(xué)生簽名: 指導(dǎo)教師簽名: 日期: 南通大學(xué)畢業(yè)設(shè)計(jì)摘 要本課題主要研究我國(guó)的北斗衛(wèi)星導(dǎo)航系統(tǒng)和美國(guó)的GPS衛(wèi)星導(dǎo)航系統(tǒng)的信號(hào)接收裝置。北斗衛(wèi)星導(dǎo)航系統(tǒng)作為我國(guó)自主研發(fā)、獨(dú)立控制的衛(wèi)星導(dǎo)航系統(tǒng),在可靠性和安全性方面擁有其他衛(wèi)星導(dǎo)航系統(tǒng)所不能媲美的優(yōu)勢(shì)。而GPS作為目前應(yīng)用最廣泛的衛(wèi)星導(dǎo)航系統(tǒng),有著覆蓋面廣、精度高和實(shí)時(shí)性強(qiáng)等特點(diǎn)。二者各有優(yōu)點(diǎn)和適用場(chǎng)合,因此出現(xiàn)了一類能夠同時(shí)接收二者信號(hào)的接收模塊,TD3020T便屬于這類模塊。本課題中我們使用STM32F103RC芯片和TD3020T模塊來實(shí)現(xiàn)對(duì)導(dǎo)航衛(wèi)星信號(hào)的接收,而且還能響應(yīng)用戶的命令,發(fā)送用戶需要的數(shù)據(jù)。實(shí)驗(yàn)過程中我們運(yùn)用Keil軟件

3、來編寫程序代碼,實(shí)現(xiàn)目標(biāo)功能。實(shí)驗(yàn)結(jié)果表明,TD3020T模塊對(duì)北斗衛(wèi)星信號(hào)和GPS衛(wèi)星信號(hào)都有良好的接收能力,而STM32F103RC芯片對(duì)數(shù)據(jù)的處理能力也十分優(yōu)秀,同時(shí)在響應(yīng)用戶指令方面也表現(xiàn)良好。關(guān)鍵詞:TD3020T模塊;STM32F103RC芯片;導(dǎo)航衛(wèi)星;嵌入式編程ABSTRACTThis topic researches the signal receiving device of the Beidou satellite navigation system and GPS satellite navigation system. Beidou navigation satell

4、ite system is researched and controlled by China alone. In terms of reliability and security, this navigation system is better than other navigation systems. The use of GPS satellite navigation system is the most widely. GPS has many characteristics, such as wide coverage, high precision and strong

5、real-time. GPS and Beidou have different advantages and applicable occasions. Because of this, a sort of signal receiving module is invented. This module can receive the signal of both. TD3020T module is one of this kind module.In this subject, we write order to receive signal of satellite navigatio

6、n system by using STM32F103RC ship and TD3020T module. By the order, TD3020T module can response the commands of users and send data which meets the needs of users. We write these orders by using Keil4.The experimental results show that TD3020T module has good reception on the Beidou satellite navig

7、ation system and GPS. These results also show that STM32F103RC ship is good at data processing and command response.Keywords: TD3020T module, STM32103RC ship, Navigation satellite, Embedded pro-gramming目 錄摘 要3ABSTRACT4目 錄5第一章 緒 論61.1 GPS/北斗二代61.2 GPS的應(yīng)用61.3 北斗二代的應(yīng)用81.3.1 監(jiān)測(cè)道路和橋梁安全81.3.2 保障電力暢通91.3.3

8、 監(jiān)測(cè)大型災(zāi)害和協(xié)助救災(zāi)工作91.3.4 監(jiān)測(cè)水文數(shù)據(jù)101.3.5 監(jiān)測(cè)氣象狀況101.3.6 中國(guó)電信CDMA北斗授時(shí)應(yīng)用101.3.7 海洋漁業(yè)應(yīng)用11第二章 導(dǎo)航衛(wèi)星信號(hào)接收裝置122.1 TD3020T122.2 STM32F103RC132.3 仿真器14第三章 嵌入式編程153.1 Keil Vision4軟件153.2 Keil Vision4軟件開發(fā)流程153.3 軟件架構(gòu)163.4 部分程序代碼及功能17第四章 系統(tǒng)聯(lián)調(diào)234.1 系統(tǒng)結(jié)構(gòu)234.2 實(shí)驗(yàn)結(jié)果23參考文獻(xiàn)26致 謝27III第一章 緒 論1.1 GPS/北斗二代1958年,美國(guó)軍方開始了關(guān)于GPS的研究,于

9、1964年正式投入使用,到1994年全球覆蓋率高達(dá)98%的24顆GPS衛(wèi)星星座已布設(shè)完成。開發(fā)GPS的主要目的是為海陸空三大領(lǐng)域提供實(shí)時(shí)、全天候和全球性的導(dǎo)航服務(wù)。如今,GPS已經(jīng)成為當(dāng)今世界最實(shí)用,也是應(yīng)用最廣泛的全球精密導(dǎo)航、指揮和調(diào)度系統(tǒng)。GPS由三個(gè)主要部分組成,分別是:空間星座部分、地面監(jiān)控部分和用戶設(shè)備部分1星座部分由24顆衛(wèi)星組成(21顆工作衛(wèi)星;3顆備用衛(wèi)星),它們均勻分布在6個(gè)軌道面上,每12小時(shí)繞地球一周。地面監(jiān)控部分由監(jiān)測(cè)站、主控制站、地面天線所組成,它負(fù)責(zé)接收衛(wèi)星發(fā)送的信息,并進(jìn)行校驗(yàn)。以上這兩部分日常維護(hù)和檢測(cè)由美國(guó)軍方進(jìn)行。用戶設(shè)備部分即用戶終端,其主要功能是捕獲特

10、定待測(cè)衛(wèi)星信號(hào),并跟蹤衛(wèi)星的運(yùn)行。對(duì)所接收到的GPS導(dǎo)航電文進(jìn)行編譯,即時(shí)計(jì)算出終端的三維位置,實(shí)現(xiàn)利用GPS進(jìn)行導(dǎo)航和定位的目的。北斗二代衛(wèi)星導(dǎo)航系統(tǒng)是中國(guó)獨(dú)立研究開發(fā)的全球衛(wèi)星導(dǎo)航系統(tǒng),旨在擺脫對(duì)美國(guó)GPS的依賴。北斗系統(tǒng)的開發(fā)成功標(biāo)志著中國(guó)成為繼俄、美之后世界上第三個(gè)擁有自主導(dǎo)航衛(wèi)星系統(tǒng)的國(guó)家。20世紀(jì)80年代初,中國(guó)開始研究適合本國(guó)國(guó)情的全球衛(wèi)星導(dǎo)航系統(tǒng)。2000年,初步建成了北斗衛(wèi)星導(dǎo)航試驗(yàn)系統(tǒng)(北斗一代)。2012年,中國(guó)已經(jīng)建成了由16顆衛(wèi)星構(gòu)成的北斗衛(wèi)星導(dǎo)航系統(tǒng),它覆蓋了亞太大部分地區(qū)2預(yù)計(jì)2020年左右,中國(guó)將建成由30顆衛(wèi)星組成的北斗衛(wèi)星導(dǎo)航系統(tǒng)(北斗二代)3。1.2 GP

11、S的應(yīng)用GPS的功能有導(dǎo)航、授時(shí)和測(cè)量4。導(dǎo)航功能主要是指為船舶,汽車和飛機(jī)等運(yùn)動(dòng)物體進(jìn)行定位導(dǎo)航。例如:船舶遠(yuǎn)洋導(dǎo)航和進(jìn)港引水,飛機(jī)航路引導(dǎo)和進(jìn)場(chǎng)降落,汽車自主導(dǎo)航,個(gè)人旅游及野外探險(xiǎn)等。授時(shí)功能主要體現(xiàn)時(shí)間同步上,例如:電力,郵電,通信等網(wǎng)絡(luò)的時(shí)間同步,準(zhǔn)確時(shí)間的授入,準(zhǔn)確頻率的授入等5。GPS的測(cè)量功能主要用于大規(guī)模測(cè)量上,例如:各等級(jí)的大地測(cè)量,控制測(cè)量,道路和各種線路放樣,水下地形的測(cè)量,地殼變形量的測(cè)量,大型建筑形變監(jiān)測(cè)等。以下詳細(xì)闡述GPS技術(shù)在道路工程,汽車導(dǎo)航與交通管理,在長(zhǎng)途客運(yùn)車輛管理中和在導(dǎo)航儀中的應(yīng)用:目前在道路工程中GPS技術(shù)主要是用于建立各種道路工程控制網(wǎng)及測(cè)定航

12、測(cè)外控點(diǎn)等工作中。隨著公路的等級(jí)不斷上升,對(duì)勘測(cè)技術(shù)提出了更高的要求,因?yàn)槁肪€變長(zhǎng),已知點(diǎn)相對(duì)變少,所以常規(guī)的測(cè)量手段不僅實(shí)施起來有較高難度,而且勘測(cè)精度也不能滿足工程要求?,F(xiàn)在,中國(guó)已經(jīng)逐步使用GPS技術(shù)建設(shè)線路首級(jí)高精度控制網(wǎng),然后用常規(guī)方法布設(shè)線路加密。實(shí)際測(cè)量結(jié)果表明,在幾十公里范圍內(nèi)的點(diǎn)位誤差僅有大約2厘米,達(dá)到了普通方法難以達(dá)到的精度,并且使用GPS技術(shù)測(cè)量也極大地提前了完工日期。GPS技術(shù)不僅應(yīng)用于高等級(jí)道路,也常常被用于特大型橋梁的控制測(cè)量。GPS技術(shù)用于測(cè)量時(shí),擁有無需通視,方便構(gòu)建較強(qiáng)的網(wǎng)形,點(diǎn)位精度高和有效檢測(cè)支點(diǎn)等優(yōu)勢(shì)。因此,GPS技術(shù)在隧道測(cè)量中也具有廣泛的應(yīng)用前景。

13、在汽車導(dǎo)航和交通管理中,GPS的首要功能是三維導(dǎo)航,即飛機(jī)、輪船、地面車輛以及步行者都可以利用GPS導(dǎo)航器進(jìn)行導(dǎo)航6。汽車導(dǎo)航系統(tǒng)是在全球定位系統(tǒng)GPS的基礎(chǔ)上發(fā)展出來的一門新興技術(shù)。車載導(dǎo)航系統(tǒng)是由GPS導(dǎo)航、自律導(dǎo)航、微處理機(jī)、車速傳感器、陀螺傳感器、CD-ROM驅(qū)動(dòng)器、LCD顯示器構(gòu)成7。GPS導(dǎo)航系統(tǒng)與電子地圖、無線電通信網(wǎng)絡(luò)、計(jì)算機(jī)車輛管理信息系統(tǒng)相結(jié)合,可以實(shí)現(xiàn)車輛跟蹤和交通管理等許多功能。以國(guó)內(nèi)首套專業(yè)的GPS長(zhǎng)途客運(yùn)車輛管理系統(tǒng)雅迅長(zhǎng)途客運(yùn)GPS智能管理系統(tǒng)為例子。這個(gè)系統(tǒng)就是綜合了衛(wèi)星定位技術(shù)、GPRS/CDMA通訊業(yè)務(wù)、GIS技術(shù)、圖像采集技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)等技術(shù)8,

14、在客運(yùn)公司中建立一個(gè)總控制機(jī)關(guān)(C/S機(jī)構(gòu)和B/S機(jī)構(gòu)相結(jié)合運(yùn)用建立),其他的都設(shè)為分控機(jī)關(guān)。公安部門和運(yùn)輸管理部門等相關(guān)部門建立專項(xiàng)的控制中心系統(tǒng),通過控制中心系統(tǒng)、無線通信平臺(tái)(GPRS/CDMA)、全球衛(wèi)星定位系統(tǒng)(GPS)、車載設(shè)備這四個(gè)部分構(gòu)成了一個(gè)用于駕駛員管理和車輛跟蹤的多功能平臺(tái)。系統(tǒng)可對(duì)在相關(guān)部門中注冊(cè)的車輛進(jìn)行實(shí)時(shí)動(dòng)態(tài)跟蹤、監(jiān)控、拍照、行車記錄、管理、數(shù)據(jù)分析等功能,被監(jiān)控車輛會(huì)在電子地圖上顯現(xiàn)出來,同時(shí)車輛的行駛路線會(huì)被保存在系統(tǒng)中。操控終端可以任意選擇服務(wù)器內(nèi)部局域網(wǎng)或互聯(lián)網(wǎng)對(duì)控制中心進(jìn)行訪問并且可通過瀏覽器提供網(wǎng)上綜合客車管理數(shù)據(jù)分析控制系統(tǒng)(B/S結(jié)構(gòu));且系統(tǒng)擁有

15、的內(nèi)存容量可以隨時(shí)根據(jù)中心服務(wù)器和操作終端硬件條件進(jìn)行擴(kuò)展,最大為五十萬輛車。網(wǎng)絡(luò)監(jiān)控中的車輛不僅包括長(zhǎng)途客運(yùn)車輛,還包括旅游車等社會(huì)車輛。系統(tǒng)擁有分組管理功能,它將不同種類的車輛進(jìn)行分類,便于相關(guān)人員進(jìn)行管理操作。GPS技術(shù)在導(dǎo)航儀中得到了最完整最全面的體現(xiàn),同時(shí)導(dǎo)航儀也是GPS技術(shù)應(yīng)用的一個(gè)成功案例。下面以國(guó)際知名GPS導(dǎo)航儀品牌艾航達(dá)為例描述導(dǎo)航儀的重要功能:1. 地圖查詢l 能夠在控制端上搜尋你要到達(dá)的目標(biāo)地點(diǎn)。l 用戶常去的地點(diǎn)會(huì)被記錄并保存下來,這些信息也可以與其他用戶共享。l 可以模糊顯示某個(gè)區(qū)域內(nèi)的重要設(shè)施的位置,例如賓館、加油站、取款機(jī)等。2. 路線規(guī)劃l GPS導(dǎo)航儀會(huì)依據(jù)

16、你設(shè)定的起止地點(diǎn),自主選定一條路線。l 選擇路線時(shí)用戶可自由設(shè)定是否要經(jīng)過某些地點(diǎn)。l 選定路線時(shí)用戶可自由選擇是否要上高速公路等。3. 自主導(dǎo)航l 語(yǔ)音導(dǎo)航:導(dǎo)航儀會(huì)用真人語(yǔ)音提前通知駕駛者有關(guān)路口轉(zhuǎn)向和導(dǎo)航儀狀況等行車信息。導(dǎo)航儀中最重要的一個(gè)能力就是駕駛員無需注意導(dǎo)航儀顯示屏,僅憑導(dǎo)航儀的語(yǔ)音提示就能到達(dá)目的地,大大提高了駕駛車輛的安全性。l 畫面導(dǎo)航:在導(dǎo)航儀的顯示屏上會(huì)顯示地圖、車輛當(dāng)前所在的位置、行車速度、距目標(biāo)地點(diǎn)的距離、規(guī)范的路線提示、路口轉(zhuǎn)向提示等行車信息。l 重新規(guī)劃路線:在行駛過程中,當(dāng)你沒有按照規(guī)劃好的路線行駛時(shí),導(dǎo)航儀會(huì)語(yǔ)音報(bào)錯(cuò),并根據(jù)車輛當(dāng)前所在位置重新規(guī)劃出一條到

17、達(dá)目標(biāo)地點(diǎn)的新路線。1.3 北斗二代的應(yīng)用北斗二代衛(wèi)星導(dǎo)航系統(tǒng)有三大主要功能:快速定位,提供全天候、實(shí)時(shí)的定位服務(wù);短報(bào)文通信,一次最多傳送120個(gè)漢字;精密授時(shí),精度達(dá)20納秒9。作為我國(guó)自主研發(fā)的導(dǎo)航衛(wèi)星系統(tǒng),北斗二代衛(wèi)星導(dǎo)航系統(tǒng)在應(yīng)用上要比GPS靈活很多,應(yīng)用面也更廣。以下便是北斗二代衛(wèi)星導(dǎo)航系統(tǒng)的幾個(gè)主要作用:1.3.1監(jiān)測(cè)氣象狀況我國(guó)每年因?yàn)闅庀笤斐傻膿p失日益加劇,所以加強(qiáng)預(yù)警能力迫在眉睫。而自動(dòng)氣象監(jiān)測(cè)站作為氣象信息的重要來源,更是成為首要的建設(shè)目標(biāo)。但是由于監(jiān)測(cè)站分布范圍廣、所處地點(diǎn)偏僻,這些因素大大增加了運(yùn)行成本。憑借多年的報(bào)文傳輸實(shí)驗(yàn)的經(jīng)驗(yàn),中國(guó)研發(fā)了與北斗衛(wèi)星導(dǎo)航系統(tǒng)相匹配

18、的北斗終端設(shè)備,并設(shè)計(jì)出了切實(shí)可行的解決方案,解決了我國(guó)氣象站數(shù)字報(bào)文自動(dòng)傳輸匯集和氣象站地圖分布可視化顯示功能等問題。在高空氣象探測(cè)中,北斗衛(wèi)星導(dǎo)航系統(tǒng)也有十分出色的表現(xiàn)。高空探測(cè)儀在上升過程中會(huì)不停獲取路徑上的風(fēng)向、風(fēng)速、溫度、濕度、氣壓、時(shí)間等數(shù)據(jù)10,并將這些數(shù)據(jù)實(shí)時(shí)傳送回地面。北斗衛(wèi)星導(dǎo)航系統(tǒng)的出現(xiàn)取代的GPS的主導(dǎo)地位,而與之相匹配的北斗探空儀也在2010年研發(fā)成功。該探空儀具有體積小、重量輕、功耗低、惡劣條件下性能穩(wěn)定等優(yōu)點(diǎn)。在總體性能上,北斗探空儀與GPS探空儀基本一致。但從數(shù)據(jù)連續(xù)性、低空測(cè)高精度、多普勒瞬時(shí)測(cè)風(fēng)、抗惡劣環(huán)境等方面來說,北斗探空儀要優(yōu)于GPS探空儀。1.3.2

19、監(jiān)測(cè)道路和橋梁安全隨著我國(guó)交通道路建設(shè)日益加快,道路邊坡綜合防護(hù)系統(tǒng)研究越來越受到相關(guān)部門的重視。成功的邊坡綜合防護(hù)系統(tǒng)對(duì)于加固路基、提高道路使用壽命、減少日常維護(hù)費(fèi)用都是非常有效的。在測(cè)量大型橋梁時(shí),使用北斗二代衛(wèi)星導(dǎo)航系統(tǒng)進(jìn)行測(cè)量可以突破原始測(cè)量方法的限制?;诒倍范l(wèi)星導(dǎo)航系統(tǒng)的大型橋梁安全監(jiān)測(cè)系統(tǒng)可以監(jiān)測(cè)橋梁結(jié)構(gòu)中的各種狀態(tài)值,例如橋梁錨錠出沉降、橋塔處變位偏移、橋身相對(duì)變形等。當(dāng)發(fā)生地震、臺(tái)風(fēng)、船只撞擊等特殊情況時(shí),北斗二代導(dǎo)航衛(wèi)星系統(tǒng)可以監(jiān)測(cè)橋梁的實(shí)時(shí)狀態(tài)數(shù)據(jù),通過這些狀態(tài)數(shù)據(jù)對(duì)橋梁的安全狀態(tài)進(jìn)行評(píng)估,并在存在安全隱患時(shí)進(jìn)行報(bào)警11。北斗二代衛(wèi)星導(dǎo)航系統(tǒng)在用于邊坡防護(hù)和大型橋梁時(shí)

20、,由于不存在視線干擾問題,因此選擇測(cè)量點(diǎn)的時(shí)候更加靈活,且所選的測(cè)量點(diǎn)可根據(jù)工程要求設(shè)定在對(duì)變形體的形變比較敏感的特征點(diǎn)上,同時(shí)北斗二代衛(wèi)星導(dǎo)航系統(tǒng)的靜態(tài)相對(duì)定位具有非常高的定位精度和較高的自主工作能力。這些優(yōu)勢(shì)使得北斗二代衛(wèi)星定位系統(tǒng)在道路和橋梁監(jiān)測(cè)中得到了廣泛應(yīng)用。1.3.3保障電力暢通電網(wǎng)作為一個(gè)龐大的工程,要確保整個(gè)工程正常運(yùn)作,就必須保證相關(guān)設(shè)備同步運(yùn)轉(zhuǎn),而實(shí)現(xiàn)這個(gè)目的的第一步就是確保所有設(shè)備內(nèi)部時(shí)鐘的一致性。此前為了確保內(nèi)部時(shí)鐘一致,我國(guó)電網(wǎng)不得不使用GPS作為主要的授時(shí)手段,通過GPS的民用頻道向電力系統(tǒng)自動(dòng)化設(shè)備、微機(jī)監(jiān)控系統(tǒng)等智能設(shè)備提供授時(shí)信號(hào),以保證電網(wǎng)的正常運(yùn)行。電力產(chǎn)

21、業(yè)作為一個(gè)關(guān)系國(guó)家安全和經(jīng)濟(jì)命脈的支柱性產(chǎn)業(yè),使用他國(guó)的衛(wèi)星系統(tǒng)進(jìn)行時(shí)間同步存在著巨大的安全隱患。目前,中國(guó)每年都會(huì)因?yàn)镚PS授時(shí)出錯(cuò)造成巨大的經(jīng)濟(jì)損失12。隨著基于北斗二代導(dǎo)航衛(wèi)星系統(tǒng)的“北斗電力全網(wǎng)時(shí)間同步管理系統(tǒng)”的研制和使用,中國(guó)結(jié)束了依賴他國(guó)衛(wèi)星導(dǎo)航系統(tǒng)的歷史,解決了電網(wǎng)時(shí)間同步應(yīng)用中的三大難題:穩(wěn)定的時(shí)鐘源、全網(wǎng)時(shí)間同步管理和遠(yuǎn)程集中實(shí)時(shí)監(jiān)測(cè)維護(hù),有效地保障了本國(guó)電力安全?!氨倍冯娏θW(wǎng)時(shí)間同步管理系統(tǒng)”的單向授時(shí)精度為100納秒,雙向授時(shí)精度達(dá)到20納秒,性能上優(yōu)于國(guó)外同類產(chǎn)品。目前,華東地區(qū)有數(shù)個(gè)發(fā)電站正在使用這套系統(tǒng)。在使用的一年多時(shí)間里,這套系統(tǒng)表現(xiàn)出優(yōu)秀的穩(wěn)定性、安全性和

22、可靠性。1.3.4監(jiān)測(cè)大型災(zāi)害和協(xié)助救災(zāi)工作在近年的幾次大型災(zāi)害和災(zāi)后救援工作中,例如2008年的汶川地震,北斗衛(wèi)星導(dǎo)航系統(tǒng)都變現(xiàn)出了巨大的作用。汶川地震后,配備有北斗衛(wèi)星終端機(jī)的前線部隊(duì)不但可以接收北斗衛(wèi)星的導(dǎo)航信息,還能通過短報(bào)文的方式與指揮中心進(jìn)行聯(lián)系。另外,救援部隊(duì)可以通過北斗衛(wèi)星終端機(jī)了解自己的位置和目標(biāo)地點(diǎn)的位置,并規(guī)劃出最佳線路。這樣救災(zāi)工作才能夠更加迅速地展開。在前進(jìn)過程中遭遇突發(fā)狀況,如地面塌陷、道途堵塞等,救援部隊(duì)可以及時(shí)反饋給指揮中心。指揮人員可以通過指揮中心的監(jiān)控了解各救援部隊(duì)的位置,接收并整合各救援部隊(duì)發(fā)出的信息,同時(shí)通過北斗衛(wèi)星對(duì)大量相關(guān)物體進(jìn)行定位普查,這些信息能

23、幫助指揮人員做出合理有效的決策并為災(zāi)后重建工作提供依據(jù),而所有的行動(dòng)命令都會(huì)通過短報(bào)文的形式發(fā)送到各救援部隊(duì)的終端機(jī)上13。 森林火災(zāi)作為一種高突發(fā)性高危害性的自然災(zāi)害,人工監(jiān)控難以實(shí)現(xiàn),因此建立信息化的森林防火工程勢(shì)在必行。北斗二代衛(wèi)星導(dǎo)航系統(tǒng)可以進(jìn)行實(shí)時(shí)全國(guó)性全天候的監(jiān)控,并在發(fā)現(xiàn)情況后及時(shí)報(bào)警,有效地解決了火場(chǎng)定位、偵察、引導(dǎo)、撲救、后勤保障、損失評(píng)估等問題。目前,與北斗二代衛(wèi)星導(dǎo)航系統(tǒng)相配套的防火系統(tǒng)已經(jīng)被廣泛應(yīng)用于全國(guó)各地的森林。1.3.5監(jiān)測(cè)水文數(shù)據(jù)我國(guó)根據(jù)北斗二代衛(wèi)星開發(fā)了北斗水情自動(dòng)測(cè)報(bào)系統(tǒng),這套系統(tǒng)可以實(shí)現(xiàn)水文數(shù)據(jù)的自動(dòng)采集與傳輸,主動(dòng)數(shù)據(jù)查詢,遠(yuǎn)端測(cè)站遙控/狀態(tài)查詢等功能。

24、因其體積小,性能高,目前這套系統(tǒng)已在我國(guó)各處的水文站投入使用。通過北斗水情自動(dòng)測(cè)報(bào)系統(tǒng),數(shù)控中心不僅可以發(fā)出相關(guān)命令來激活或關(guān)閉端測(cè)站的某些功能,還可以隨時(shí)獲取端測(cè)站的工作狀態(tài)。除此之外,由于北斗二代衛(wèi)星是我國(guó)自主研發(fā)的,所測(cè)得的數(shù)據(jù)也免去了泄漏的危險(xiǎn)。1.3.6 中國(guó)電信CDMA北斗授時(shí)應(yīng)用北斗衛(wèi)星導(dǎo)航系統(tǒng)出現(xiàn)之前,中國(guó)只能依靠GPS系統(tǒng)控制中國(guó)CDMA網(wǎng)絡(luò)14。北斗衛(wèi)星導(dǎo)航系統(tǒng)的出現(xiàn),為中國(guó)擺脫對(duì)GPS系統(tǒng)的依賴提供了有力的基礎(chǔ)。與此同時(shí),多家單位也積極研制和開發(fā)了北斗/GPS雙模站間時(shí)間同步設(shè)備和嵌入式北斗/GPS雙模授時(shí)模塊。從2006年開始,中國(guó)電信就開展了一系列的CDMA網(wǎng)絡(luò)北斗授

25、時(shí)試驗(yàn),獲得了大量成功的案例和豐富的經(jīng)驗(yàn),這些為中國(guó)電信大規(guī)模推廣應(yīng)用奠定了堅(jiān)實(shí)的基礎(chǔ)。為了確保通信的安全,為了緩解過分依賴單一衛(wèi)星導(dǎo)航系統(tǒng)進(jìn)行授時(shí)的狀況,中國(guó)移動(dòng)進(jìn)行了北斗/GPS雙模授時(shí)研究工作。終于在解決了一系列的技術(shù)難題后,成功開發(fā)出了一體化衛(wèi)星授時(shí)系統(tǒng)。自投入使用以來,該系統(tǒng)一直具有良好的表現(xiàn)。1.3.7 海洋漁業(yè)應(yīng)用中國(guó)作為一個(gè)漁業(yè)大國(guó),擁有廣闊的海洋面積,眾多的漁業(yè)人員和漁船,此外還有很多因素,例如漁民生命安全、國(guó)家海洋經(jīng)濟(jì)安全、海洋資源保護(hù)、海上主權(quán)維護(hù)和國(guó)家安全等?;谝陨显?,建立了一個(gè)以北斗衛(wèi)星導(dǎo)航系統(tǒng)為基礎(chǔ)的海洋漁業(yè)綜合信息服務(wù)網(wǎng)絡(luò)。通過這個(gè)網(wǎng)絡(luò),監(jiān)控中心可以對(duì)船只提供

26、船位監(jiān)控、緊急救助、通知發(fā)布、出入港管理等服務(wù)15,還可以實(shí)現(xiàn)船與船、船與岸上的信息交流。目前,北斗衛(wèi)星海洋漁業(yè)綜合信息服務(wù)已廣泛應(yīng)用于海上用戶,且擁有優(yōu)秀的表現(xiàn)。自2007年以來,通過北斗衛(wèi)星導(dǎo)航系統(tǒng),接收到海上警報(bào)500多起。在多次重大海上自然災(zāi)害和多次漁船被他國(guó)扣留事件中,北斗衛(wèi)星導(dǎo)航系統(tǒng)都起到了重要作用。在漁業(yè)管理工作中,北斗系統(tǒng)提高了漁船安全生產(chǎn)保障水平和漁民收入,減少了外事爭(zhēng)端,維護(hù)了我國(guó)海洋權(quán)益。第二章 導(dǎo)航衛(wèi)星信號(hào)接收裝置 信號(hào)接收裝置主要由天線和電路板兩部分組成。裝置的難點(diǎn)就在電路板上,上面焊接了大量的元器件,最主要的兩部分是TD3020T模塊和ARM芯片STM32F103R

27、C,其余的還有若干電容、電阻和電源。當(dāng)裝置正常工作時(shí),天線負(fù)責(zé)接收空中的電磁波并把它轉(zhuǎn)化成在電線中傳輸?shù)膶?dǎo)行波,而集成電路板則通過元器件間的相互合作來處理這些信號(hào)。圖1 實(shí)驗(yàn)板實(shí)物圖2.1 TD3020TTD3020T是雙模授時(shí)模塊。它由泰斗微電子公司研發(fā),旨在為北斗二代系統(tǒng)的推廣提供硬件條件。該模塊不僅能單獨(dú)接收北斗導(dǎo)航衛(wèi)星信號(hào),還能單獨(dú)接收GPS導(dǎo)航衛(wèi)星信號(hào),同時(shí)該模塊還支持雙模工作。TD3020T共有28個(gè)管腳,其中包括3個(gè)電源輸入管腳,分別為6號(hào)(VCC)、11號(hào)(V_BACK)和19號(hào)(V_ANT),兩個(gè)電源輸出管腳,分別是8號(hào)(VCC_OUT)和18號(hào)(VCC_RF)。天線接口為1

28、6號(hào)管腳(RF_IN)。復(fù)位接口為10號(hào)管腳(nRESET)。5號(hào)管腳(PWR-DWN)為休眠模式控制接口。秒脈沖信號(hào)輸出的管腳為28號(hào)管腳(1PPS)。第1腳第4腳是兩對(duì)UART串口。第9腳、第21腳和第27腳都是GPIO接口。TD3020T擁有眾多的語(yǔ)句標(biāo)識(shí)符和語(yǔ)句格式符,使用這些符號(hào)可以十分清晰的對(duì)芯片接收到的信息進(jìn)行命名和定義。本實(shí)驗(yàn)中我們用到的語(yǔ)句標(biāo)識(shí)符有BD、GP和GN,它們分別代表了北斗二代衛(wèi)星系統(tǒng)、全球定位系統(tǒng)(GPS-global positioning system)和全球?qū)Ш叫l(wèi)星系統(tǒng)(GNSS-global navigation satellite system)。用到的

29、輸出語(yǔ)句格式符有GGA(位置信息)、GLL(大地坐標(biāo)位置信息)、GSA(精度因子和有效衛(wèi)星號(hào))、GSV(可視的衛(wèi)星狀態(tài))、RMC(最簡(jiǎn)導(dǎo)航傳輸數(shù)據(jù))和TXT(短文本信息的傳送,用于輸出一些控制命令的響應(yīng))。圖2 TD3020T的實(shí)物圖2.2 STM32F103RCSTM32F103RC是意法半導(dǎo)體公司推出的大容量增強(qiáng)型微控制器,適用于多種不同的場(chǎng)合。這是一個(gè)32位基于ARM核心的帶512K字節(jié)閃存的微控制器。目前正廣泛應(yīng)用于生產(chǎn)和生活。該微控制器中集成了8個(gè)定時(shí)器,13個(gè)通信接口,51個(gè)GPIO端口,3個(gè)12位ADC模塊和2個(gè)DAC轉(zhuǎn)換器。以LQFP(Low-profile Quad Flat

30、 Package)形式進(jìn)行封裝,這使該控制器的性能得到了進(jìn)一步的提升。本次實(shí)驗(yàn)中我們用到了64個(gè)腳中的25個(gè)腳,分別是5號(hào)腳(OSC_IN),6號(hào)腳(OSC_OUT),7號(hào)腳(NRST),8號(hào)腳(PC0),9號(hào)腳(PC1),10號(hào)腳(PC2),11號(hào)腳(PC3),12號(hào)腳,13號(hào)腳,16號(hào)腳(PA2),17號(hào)腳(PA3),18號(hào)腳,19號(hào)腳,28號(hào)腳(PB2),31號(hào)腳,32號(hào)腳,42號(hào)腳(PA9),43號(hào)腳(PA10),46號(hào)腳(PA13),47號(hào)腳,48號(hào)腳,49號(hào)腳(PA14),60號(hào)腳(BOOT0),63號(hào)腳和64號(hào)腳。作為該系列的新一代作品,較之前作,它適用于低成本的平臺(tái)、減少了引腳

31、數(shù)、降低了功耗,同時(shí)它提供了更加優(yōu)秀的計(jì)算能力和先進(jìn)的中斷系統(tǒng)響應(yīng)。ARM核心中整合有一個(gè)32位的RISC處理器,它為芯片提供了額外的代碼效率。而STM32F103RC內(nèi)含ARM核心,因此使得STM32F103RC芯片與所有的ARM工具和軟件均兼容。這為我們提供了廣闊的選擇空間,讓我們能挑選最合適的工具來完成這個(gè)課題,大大地提高了工作效率,優(yōu)化了實(shí)驗(yàn)結(jié)果。圖3 STM32F103芯片的實(shí)物圖STM32F103RC芯片具有優(yōu)秀的中斷響應(yīng)處理能力。它內(nèi)置嵌套的向量式中斷控制器(NVIC),能夠處理多達(dá)60個(gè)可屏蔽中斷通道和16個(gè)優(yōu)先級(jí)。強(qiáng)大的功能確保了STM32F103RC芯片能夠以最小的中斷延遲

32、提供靈活的中斷管理功能。此外,芯片中還內(nèi)置了外部中斷/事件控制器(EXTI),該控制器擁有19個(gè)邊沿檢測(cè)器,能夠產(chǎn)生中斷/事件請(qǐng)求。對(duì)每個(gè)中斷線都可以獨(dú)立定義它的觸發(fā)條件,產(chǎn)生的所有中斷都會(huì)保存在一個(gè)中斷寄存器中。當(dāng)芯片發(fā)生使能中斷,軟件也會(huì)收到響應(yīng)的中斷,并對(duì)中斷做出應(yīng)答。STM32F103RC芯片有三種電壓模式,分別為主模式(MR)、低功耗模式(LPR)和關(guān)斷模式。主模式為芯片正常工作模式,關(guān)斷模式為CPU待機(jī)模式,低功耗模式為CPU的停機(jī)模式。其中低功耗模式又分為3種類型,分別是睡眠模式、停機(jī)模式和待機(jī)模式,這使芯片在要求低功耗和多種喚醒事件之間達(dá)到最佳的平衡。2.3 仿真器仿真器是實(shí)現(xiàn)

33、硬件仿真的器材,主要用于模擬系統(tǒng)的外在表現(xiàn)和行為。J-link是SEGGER公司為支持仿真ARM內(nèi)核芯片推出的JTAG仿真器。它與Keil等多個(gè)集成開發(fā)環(huán)境相匹配并支持各種ARM內(nèi)核芯片的仿真。它簡(jiǎn)單易用,不僅操作起來方便,連接也十分容易,初學(xué)者經(jīng)過一些講解,便能很快地學(xué)會(huì)使用方法。圖4 J-link仿真器的實(shí)物圖第三章 嵌入式編程3.1 Keil Vision4軟件Keil是美國(guó)Keil Software公司出品的兼容單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng)。Keil擁有方便易用的集成環(huán)境和強(qiáng)大的軟件仿真調(diào)試工具并且能兼容各種操作系統(tǒng)。它提供了包含C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等

34、在內(nèi)的完整的開發(fā)方案。在2005年,ARM公司收購(gòu)了Keil公司,因此兩者已不分彼此。這也為使用Keil軟件來開發(fā)ARM核心提供了良好的外部條件。在眾多的Keil開發(fā)軟件中,Keil Vision4是目前與ARM器件最匹配的開發(fā)軟件。另外Vision4還有許多其他的優(yōu)點(diǎn),比如Vision4支持同時(shí)打開多個(gè)窗口,管理起來十分靈活,簡(jiǎn)化了工作區(qū)等。這些優(yōu)點(diǎn)使得開發(fā)得以更加有效地進(jìn)行。3.2 Keil Vision4軟件開發(fā)流程以下以控制燈的亮滅為例簡(jiǎn)單介紹一下Keil Vision4軟件開發(fā)流程:首先需要?jiǎng)?chuàng)建一個(gè)新的工程,并在工程下創(chuàng)建3個(gè)文件夾,分別是library、rvmdk和user,然后給

35、工程設(shè)置環(huán)境,之后就可以編寫符合實(shí)驗(yàn)要求的程序代碼了。在一個(gè)完整的工程建立好后,工程中的User文件中至少包含3個(gè)文件,分別為;main.c,stm32f10x_it.c,xxx.c。xxx.c是由用戶編寫的文件,xxx為應(yīng)用程序的名字,用戶可自由命名。在控制燈亮滅的實(shí)驗(yàn)中,我們把這個(gè)文件命名為led.c,程序如下: GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

36、 GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_SetBits (GPIOB, GPIO_Pin_7);該段代碼初始化了第7號(hào)端口的設(shè)置參數(shù),并重新設(shè)置了該端口的模式和發(fā)送速度,“GPIO_Mode_Out_PP”表明該端口的輸出模式為推挽輸出模式,下一句發(fā)送速度為50MHz。可以通過重復(fù)書寫上述代碼段來設(shè)置兩個(gè)或多個(gè)端口。GPIO_SetBits(GPIOB,GPIO_Pin_6);GPIO_SetBits(GPIOB,GPIO_Pin_7);GPIO_SetBits(GPIOB,GPIO_Pin_5);GPIO_SetBits(GPIOD,

37、GPIO_Pin_2);delay_ms(1000);這段代碼使上述4個(gè)端口全部置1,通過4個(gè)燈亮來表示。1000ms為延時(shí),受硬件限制,該值存在上限,約為1600ms。將上述代碼中的SetBits改為ResetBits,可以使這4個(gè)端口置0,使4盞等熄滅。通過對(duì)上述代碼進(jìn)行少量修改,使4個(gè)端口交替置0、置1,還能達(dá)到走馬燈的效果。圖5 燈亮滅實(shí)驗(yàn)效果圖3.3 軟件架構(gòu)圖6 軟件架構(gòu)圖當(dāng)系統(tǒng)工作時(shí),通過秒脈沖啟動(dòng)TD3020T模塊,工作中的TD3020T模塊接收從導(dǎo)航衛(wèi)星發(fā)來的各種幀信息,之后,TD3020T模塊會(huì)把接收到的幀信息通過串口1發(fā)送給STM32F103RC芯片,發(fā)送的時(shí)間間隔約為5

38、5ms,STM32F103RC芯片根據(jù)事先下載在芯片中的程序代碼對(duì)TD3020T模塊發(fā)來的幀信息進(jìn)行篩選并把符合代碼要求的幀信息發(fā)送給上位機(jī),由上位機(jī)進(jìn)行保存。對(duì)于TD3020T模塊接收到的每個(gè)幀信息,上述操作都會(huì)進(jìn)行一遍,這就完成了本課題的第一部分要求。當(dāng)然本課題還有第二部分要求,就是當(dāng)用戶通過串口2輸入隨機(jī)命令,即對(duì)STM32F103RC芯片產(chǎn)生一個(gè)中斷,STM32F103RC芯片能響應(yīng)這個(gè)中斷,對(duì)該中斷時(shí)間點(diǎn)后接收到的TD3020T幀信息進(jìn)行新一輪的篩選,本次篩選就是以用戶的命令作為依據(jù),最后篩選出符合用戶命令的幀信息并把它們轉(zhuǎn)發(fā)給用戶。對(duì)于事件的處理方式有兩種,分別是中斷和查詢。查詢是

39、一種CPU處理事件的方式,又稱“程控輸出入”。查詢的含義是由CPU定時(shí)發(fā)出詢問,依序詢問每個(gè)周邊設(shè)備是否需要服務(wù),有需要的就給予服務(wù),服務(wù)結(jié)束后再詢問下個(gè)設(shè)備,如此循環(huán),周而復(fù)始。按這種方式雖然操作簡(jiǎn)單,但是效率低下。查詢是基于終端的,帶寬的請(qǐng)求總是基于CID,而分配則是基于終端的。對(duì)比于查詢,中斷是一種更加有效率的處理方式。中斷是對(duì)系統(tǒng)發(fā)生的某一事件做出的一種反應(yīng)和處理。引起中斷的起因稱為中斷源。中斷源提出處理的請(qǐng)求就是中斷請(qǐng)求。發(fā)生中斷時(shí)被打斷程序的暫停點(diǎn)叫做斷點(diǎn)。暫?,F(xiàn)行程序并轉(zhuǎn)為響應(yīng)中斷請(qǐng)求的過程叫做中斷響應(yīng)。中斷的執(zhí)行大致上分為7個(gè)步驟:1. 接收中斷請(qǐng)求;2. 查看本級(jí)中斷屏蔽位,

40、若該為是1,那么本級(jí)中斷源參加優(yōu)先權(quán)排隊(duì);3. 中斷優(yōu)先權(quán)選擇;4. 處理完一條指令或無法繼續(xù)執(zhí)行這條指令時(shí),立刻中止現(xiàn)行程序。然后,中斷部件根據(jù)中斷級(jí)去指定響應(yīng)的主存單元,并將主要信息和指令地址存放在這個(gè)單元中;5. 中斷部件根據(jù)中斷級(jí)指定另外的主存單元,從這些單元中取出新的狀態(tài)信息和中斷控制程序的起始地址;6. 執(zhí)行中斷控制程序和相應(yīng)的中斷服務(wù)程序;7. 執(zhí)行完中斷服務(wù)程序后,利用專用指令使處理機(jī)返回被中斷的程序或轉(zhuǎn)向其他程序。3.4 部分程序代碼及功能下面對(duì)于程序中的部分代碼進(jìn)行解釋說明。RCC_DeInit();RCC_HSICmd(DISABLE);RCC_HSEConfig(RCC

41、_HSE_ON);HSEStartUpStatus = RCC_WaitForHSEStartUp();If(HSEStartUpStatus = SUCCESS) SysTickInit(); IWDG_Init(); NVIC_Configuration(); IO_Init(); USART1_Init(); USART2_Init(); TD_Init();該段代碼的作用是對(duì)STM32F103RC芯片的各項(xiàng)參數(shù)進(jìn)行初始化設(shè)置,RCC為復(fù)位和時(shí)鐘設(shè)置,它具有時(shí)鐘設(shè)置,外設(shè)復(fù)位和時(shí)鐘管理等功能。前4行意義分別為將外設(shè)RCC寄存器重設(shè)為缺省值,失能內(nèi)部高速晶振,設(shè)置外部高速晶振的狀態(tài)為外部高

42、速晶振ON,外部高速晶振的啟動(dòng)狀態(tài)為等待外部高速晶振啟動(dòng),該狀態(tài)直到外部高速晶振啟動(dòng)或超時(shí)結(jié)束。第5行為外部高速晶振啟動(dòng)成功,然后開始執(zhí)行花括號(hào)中的程序。花括號(hào)中的程序功能依次為初始化Cortex系統(tǒng)定時(shí)器(Systick),初始化獨(dú)立看門狗(IWDG),重設(shè)嵌套向量中斷控制器(NVIC)的參數(shù),根據(jù)InitStruct中指定的參數(shù)初始化輸入/輸出端口(IO),重設(shè)了1號(hào)通用同步異步收發(fā)器和2號(hào)通用同步異步收發(fā)器的參數(shù),初始化TD3020T模塊。 if(SIR_REQUEST=1) Reset_All_flag(); USART_SendString(USART2,BD2_ColdStart)

43、; SoftDelay1ms(T); if(SIR_REQUEST=2) Reset_All_flag(); USART_SendString(USART2,GPS_ColdStart); SoftDelay1ms(T); if(SIR_REQUEST=3) Reset_All_flag(); USART_SendString(USART2,GN_ColdStart); SoftDelay1ms(T);由于TD3020T模塊具有3種不同的工作模式,分別為BD2模式,GPS模式,GN(雙模)模式,在編寫程序時(shí)分別用1,2,3來代替。上述代碼的功能就是根據(jù)TD模塊發(fā)來的幀信息選擇相應(yīng)的工作模式,然

44、后重置所有的數(shù)據(jù),之后使該工作模式冷啟動(dòng)。if(timer1 >= 1000*60*15)/15分鐘 timer1=0; GPIO_ResetBits(GPIOC,GPIO_Pin_3); SoftDelay1ms(200); GPIO_SetBits(GPIOC,GPIO_Pin_3); TD_Init(); USART_SendString(USART1,Alarm); 該段代碼體現(xiàn)了系統(tǒng)擁有自檢能力。當(dāng)1號(hào)定時(shí)器測(cè)得持續(xù)輸出低電平的時(shí)間超過15分鐘時(shí),表明系統(tǒng)出現(xiàn)故障。此時(shí)會(huì)產(chǎn)生一個(gè)由高電平到低電平的窄脈沖,進(jìn)行系統(tǒng)復(fù)位,然后恢復(fù)到高電平。具體的執(zhí)行步驟為花括號(hào)中的內(nèi)容:將0賦值給

45、1號(hào)定時(shí)器,把3號(hào)端口置0,200ms后把3號(hào)端口置1并初始化TD3020T,同時(shí)鬧鐘函數(shù)(Alarm)會(huì)通過串口1發(fā)送SIGALRM信號(hào)進(jìn)行報(bào)警。 if(ZDA_FLAG=1) ZDA_FLAG=0; USART_SendString(USART1,IDZDA); SoftDelay1ms(10); 這是STM32F103RC芯片正常工作時(shí)處理ZDA信息的過程。ZDA為中國(guó)的UTC信息,ZDA_FLAG為ZDA的標(biāo)志位,當(dāng)它為1時(shí)表明STM32F103RC芯片成功收到了秒脈沖和串口數(shù)據(jù),之后將ZDA的數(shù)據(jù)打包,然后將標(biāo)志位置0,最后將打包好的ZDA信息通過1號(hào)通用同步異步收發(fā)器進(jìn)行發(fā)送。除了

46、ZDA信息外,STM32F103RC芯片還要收發(fā)一些狀態(tài)數(shù)據(jù)數(shù)組,比如IDLPS和IDSTA,它們分別用于輸出控制命令的響應(yīng)和輸出異常狀態(tài)幀。另外版本數(shù)據(jù)的收發(fā)也需要STM32F103RC芯片來完成,這些數(shù)據(jù)被寫在IDVER中。以上幾段代碼描述了STM32F103RC芯片對(duì)來自TD3020T模塊的幀信息進(jìn)行篩選分類的過程,這些行為都是STM32F103RC芯片根據(jù)事先編寫的程序自發(fā)進(jìn)行的,在接收到結(jié)束命令前,芯片都在不停工作。這樣本課題所要求的第一部分功能得以實(shí)現(xiàn)。下面將闡述一下與上位機(jī)(即用戶)的交互過程。 if(data0='$' && data2='

47、;S' && data3='I' && data4='R') if(SUM_ASCII_Check(char *)data,1,7,9) if (data6='B' && data7='D') SIR_REQUEST=1; else if (data6='G' && data7='P') SIR_REQUEST=2; else if (data6 ='G' && data7='N'

48、) SIR_REQUEST=3; 我們使用TD3020T模塊時(shí)可能并不需要同時(shí)用到3種模式,那么我們可以根據(jù)需要選擇合適的模式進(jìn)行針對(duì)性的觀察,來達(dá)到我們的目標(biāo)期望。而這段程序代碼便起到了由用戶來選擇模式的功能。我們通過$PSIR,xx*A來定義三種工作模式,其中xx為工作模式的名稱,可以是BD,GP,GN,即上述代碼中所說的第6位和第7位,第9位用來存放從$到*間數(shù)據(jù)的異或值,起到校驗(yàn)的作用。除了選擇模式,用戶還可以控制程序的啟動(dòng)與關(guān)閉和對(duì)程序的版本進(jìn)行選擇,這些都是在正式開始前,需要做的準(zhǔn)備工作。準(zhǔn)備工作完成后,STM32103RC芯片正式開始工作,接收TD3020T模塊的各種數(shù)據(jù),其中主

49、要為時(shí)間數(shù)據(jù),其次還有一些狀態(tài)數(shù)據(jù)。if(data0='$' && data3='Z' && data4='D' && data5='A') ID0 = data1; ID1 = data2; ZDA_FLAG=1; if(SUM_ASCII_Check(char *)data,1,30,32) strncpy(IDZDA+1,(char *)(data+1),26); UTC2BJ(IDZDA); IDZDA31 = data30; sum = SUM_ASCII(IDZDA,1,

50、31); IDZDA33 = HexTBsum>>4; IDZDA34 = HexTBsum&0x0F; IDZDA35 = 0x0D; IDZDA36 = 0x0A; 這就是用于接收TD3020T模塊的時(shí)間數(shù)據(jù)的代碼。在編寫程序時(shí)我們用ZDA來代稱時(shí)間數(shù)據(jù)。當(dāng)用戶需要ZDA數(shù)據(jù)時(shí),將ZDA的標(biāo)志置1,信號(hào)接收裝置開始接收Z(yǔ)DA數(shù)據(jù),并對(duì)接收到的ZDA數(shù)據(jù)進(jìn)行校驗(yàn)。將數(shù)據(jù)中第1位到第30位的值進(jìn)行異或,所得的異或值存儲(chǔ)在第32位中。當(dāng)校驗(yàn)結(jié)果符合要求時(shí),將數(shù)據(jù)復(fù)制到IDZDA字符串中。當(dāng)ZDA數(shù)據(jù)的第30位顯示為“A”時(shí),1號(hào)計(jì)時(shí)器將清零。EXTI_ClearITPendi

51、ngBit(EXTI_Line0);GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource0); EXTI_InitStructure.EXTI_Line = EXTI_Line0;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);

52、EXTI為外部時(shí)間/事件中斷控制器。首行代碼清除了EXTI0號(hào)線路的掛起位。第二行代碼表示選擇PortSourceGPIOC管腳和PinSource0管腳作為外部中斷線路。最后一行的代碼的意義在于用EXTI_InitStructure中指定的參數(shù)對(duì)EXTI寄存器進(jìn)行初始化,而第三行到第五行則是具體說明了EXTI_InitStructure內(nèi)所指定的參數(shù),分別是選擇外部中斷線0為實(shí)驗(yàn)用線路 ,設(shè)置EXTI的工作模式為中斷請(qǐng)求模式,設(shè)置中斷請(qǐng)求標(biāo)志為輸入線路的上升沿,定義外部中斷線0的新狀態(tài)為ENABLE。第四章 系統(tǒng)聯(lián)調(diào)上面兩章分別從軟件和硬件兩個(gè)方面進(jìn)行了介紹,這章將從軟硬件的協(xié)同作用方面來介

53、紹下位機(jī)的整個(gè)結(jié)構(gòu)與功能。4.1 系統(tǒng)結(jié)構(gòu)圖7 系統(tǒng)結(jié)構(gòu)圖本課題主要處理下位機(jī)部分所執(zhí)行的功能,即接收導(dǎo)航衛(wèi)星的信息和響應(yīng)上位機(jī)的中斷請(qǐng)求。下位機(jī)的功能是通過軟件和硬件相互配合來實(shí)現(xiàn)的。軟件主要就是Keil軟件,所有的功能所對(duì)應(yīng)的程序代碼都是通過它來編寫的,它還能對(duì)代碼進(jìn)行編譯,把源代碼轉(zhuǎn)化成機(jī)器語(yǔ)言代碼。生成的機(jī)器語(yǔ)言代碼通過J-link下載到實(shí)驗(yàn)板上的ARM芯片中,實(shí)驗(yàn)板是下位機(jī)的核心部分,它承擔(dān)了幾乎所有的任務(wù)并實(shí)現(xiàn)下位機(jī)的各種功能。至此,下位機(jī)構(gòu)建完成。但是,單獨(dú)一個(gè)下位機(jī)是無法表現(xiàn)它的功能的,下位機(jī)的功能還是要通過與上位機(jī)進(jìn)行通信來體現(xiàn),而下位機(jī)的性能也要通過上位機(jī)的數(shù)據(jù)來反應(yīng)。4.

54、2 實(shí)驗(yàn)結(jié)果以下便是從上位機(jī)中采集來的部分?jǐn)?shù)據(jù):$GNGGA,083911.0,3158.532485,N,12054.304058 ,E,1,10,1.9,81.7,M,7.1,M,1.5*7D$GPGSA,A,3,02,24,29,05, 1.9,1.5,1.6*37$BDGSA,A,3,10,07,04,08,03,01,2.4,1.9,1.5,1.6*24$GPGSV,1,1,4,02,03,149,45,24,40,176,36,29,17,226,33,05,30,090,18*4B$BDGSV,2,1,6,10,19,192,38,07,37,176,37,04,33,123,3

55、5,08,10,195,25*53$BDGSV,2,2,6,03,49,198,35,01,46,147,30*54$GNZDA,083912.00,20,11,2014,3,A*0E$GNTXT,02,01,03,A,16,V,2,7*44$GNTXT,02,02,04,463,376754.000,1819,376768.000*46$GNRMC,083912.00,A,3158.532476,N,12054.304069,E,1.0,161.1,201114,A*44所得數(shù)據(jù)中GGA為位置信息,GSA為精度因子和有效衛(wèi)星號(hào),GSV為可視的衛(wèi)星狀態(tài),ZDA為中國(guó)UTC信息,TXT是一些短文本信息形式的傳送,用于輸出一些控制命令的響應(yīng)。RMC幀信息基本包含了導(dǎo)航衛(wèi)星應(yīng)用程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論