国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于UCOSII的車載定位系統(tǒng)軟件設(shè)計(jì)

2017-11-20 12:06:21潘承毅李韋鵬
電腦知識與技術(shù) 2017年26期
關(guān)鍵詞:軟件設(shè)計(jì)定位

潘承毅+李韋鵬

摘要:該文基于UCOSII嵌入式操作系統(tǒng)基礎(chǔ)上,設(shè)計(jì)多線程進(jìn)行定位軟件架構(gòu)。軟件架構(gòu)包括MCU對GPS模塊信息的獲取,攝像頭數(shù)據(jù)的獲取以及通過4G模塊進(jìn)行數(shù)據(jù)傳輸、以及系統(tǒng)電源管理。系統(tǒng)測試表明,該文軟件設(shè)計(jì)能有效地將GPS定位數(shù)據(jù)、攝像頭數(shù)據(jù)以及其他監(jiān)控?cái)?shù)據(jù)有效的傳輸?shù)奖O(jiān)控中心,軟件的設(shè)計(jì)可靠,運(yùn)行穩(wěn)健。

關(guān)鍵詞:車載GPS; UCOSII; 定位; 軟件設(shè)計(jì)

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)26-0246-01

車載GPS系統(tǒng)對車輛的安全及監(jiān)控及其重要,一方面能及時監(jiān)控車輛的位置,一方面能提供交通事故發(fā)生前的信息。因此,當(dāng)前的車輛大多數(shù)都裝載有GPS監(jiān)控系統(tǒng)。GPS監(jiān)控系統(tǒng)一般收集車輛的位置信息、路況信息以及相關(guān)的環(huán)境信息等,然后通過無線網(wǎng)絡(luò)發(fā)送到指定的監(jiān)控中心。

由于車載GPS系統(tǒng)需要提供是信息和工作邏輯不是很復(fù)雜,從節(jié)約成本和化簡開發(fā)難度,采用UCOSII嵌入式操作系統(tǒng)作為軟件開發(fā)基礎(chǔ)已經(jīng)能滿足要求,此外UCOSII的內(nèi)核代碼量小,需要的內(nèi)存和flash程序存儲空間不大,同時還很方便移植,基于以上諸多優(yōu)點(diǎn),本文采用UCOSII作為操作系統(tǒng)進(jìn)行軟件設(shè)計(jì)。

1 硬件設(shè)計(jì)

系統(tǒng)的硬件基于STM32F103開發(fā)板進(jìn)行,STM32F103芯片內(nèi)集成3個串口,512KB的flash存儲空間,64KB的RAM,12位的ADC和DAC轉(zhuǎn)換模塊。本文將其中串口1用于讀取GPS模塊的信息,讀取的頻率為1Hz,串口2是用于對4G通訊模塊的控制和數(shù)據(jù)的發(fā)送。為了簡化代碼和電路圖,攝像頭模塊采用串口攝像頭PTC08,其像素30萬,提供的圖片格式為QVGA(320*240),通過串口3對PTC08進(jìn)行相關(guān)的攝像控制。系統(tǒng)的框架如下:

2 軟件設(shè)計(jì)

由于STM32F103的片上flash存儲器和RAM存儲器的容量相對一般的8位32位的單片機(jī)的存儲器大,比較方便嵌入式OS的移植。本文選用UCOSII作為應(yīng)用程序開發(fā)的基礎(chǔ),因?yàn)閁COSII的內(nèi)核小,功能相對完整,很適合作為GPS終端的操作系統(tǒng)。

基于UCOSII的軟件架構(gòu)分為三個層次,上層為應(yīng)用層,即用戶代碼,用于實(shí)現(xiàn)具體的特定的功能。中層的代碼分有三類,第一類為與處理器無關(guān)的代碼,其大多數(shù)是UCOSII的內(nèi)核代碼比如任務(wù)切換、隊(duì)列管理、內(nèi)存分配與釋放等,第二類為與應(yīng)該程序相關(guān)的配置文件,比如任務(wù)的優(yōu)先級配置,任務(wù)數(shù)量的配置以及內(nèi)存池的配置等。第三類代碼為與處理器有關(guān)的代碼,其中OS_CPU.H 包含與處理器相關(guān)的常量、宏及結(jié)構(gòu)體等的定義,OS_CPU_C.c 是多任務(wù)棧初始化等與處理器相關(guān)的代碼,OS_CPU_A.asm 是匯編語言編寫的啟動任務(wù)、任務(wù)切換等函數(shù)。下層即為硬件層,主要是設(shè)置訪問處理器寄存器、I/O、定時器等相關(guān)的代碼。

UCOSII的內(nèi)核提供事件控制塊、事件標(biāo)志組、內(nèi)存區(qū)域塊、任務(wù)控制塊以及內(nèi)存區(qū)域塊,任務(wù)優(yōu)先級為0到63,每個任務(wù)占用一個優(yōu)先級。最低優(yōu)先級的任務(wù)為系統(tǒng)自動創(chuàng)建的等待空閑任務(wù),該任務(wù)只是簡單的執(zhí)行一個變量自增操作。

任務(wù)一般是一個帶無線循環(huán)的函數(shù),沒有返回值。任務(wù)的創(chuàng)建是通過OSTaskCreat()或者OSTaskCreatExt()來實(shí)現(xiàn)。任務(wù)創(chuàng)建,內(nèi)核分配一個空閑的任務(wù)控制塊(TCB)給任務(wù),之后對TCB的各個域進(jìn)行賦值,對任務(wù)的堆棧進(jìn)行初始化,其中,任務(wù)的開始代碼地址被壓入堆棧,為該任務(wù)的運(yùn)行做充分準(zhǔn)備。就緒表和就緒組做了適當(dāng)?shù)奶幚?,根?jù)任務(wù)的優(yōu)先級進(jìn)行了設(shè)置。任務(wù)執(zhí)行完成后也可以通過調(diào)用OSTaskDel()進(jìn)行刪除。

任務(wù)創(chuàng)建之前先要調(diào)用OSInit()初始化內(nèi)核,任務(wù)創(chuàng)建好后,調(diào)用OSStart()開始啟動多任務(wù)。在ucosii中任務(wù)狀態(tài)分為睡眠、就緒、等待、運(yùn)行、中斷五個狀態(tài)。

本系統(tǒng)創(chuàng)建了4個任務(wù),第一個任務(wù)是基本的初始化,即對溫度傳感器,加速度傳感器以及CPU相應(yīng)的寄存器進(jìn)行設(shè)置。初始化設(shè)置結(jié)束后,定時采集溫度數(shù)據(jù)和加速度的數(shù)據(jù),然后上傳到監(jiān)控中心。

第二個任務(wù)是GPS模塊控制任務(wù),任務(wù)的初始對GPS進(jìn)行加電及其初始化設(shè)置。設(shè)置結(jié)束后,對GPS數(shù)據(jù)進(jìn)行定時的接收,丟棄其他的格式的數(shù)據(jù),只保留GPS 的NMEA-0183協(xié)議中的RMC格式。然后將數(shù)據(jù)已文本的方式保存到發(fā)送緩存區(qū)。

第三個任務(wù)為無線4G模塊控制任務(wù),任務(wù)的開始對4G模塊進(jìn)行初始化設(shè)置,等待4G模塊啟動正常后,對4G模塊進(jìn)行無線連網(wǎng)設(shè)置,之后進(jìn)入無限循環(huán),在無限循環(huán)中定時對數(shù)據(jù)發(fā)送緩存區(qū)進(jìn)行數(shù)據(jù)發(fā)送到監(jiān)控中心。

第四個任務(wù)是攝像頭控制任務(wù),任務(wù)開始對攝像頭進(jìn)行初始化,之后的無限循環(huán)代碼中,根據(jù)監(jiān)控中心的需要對攝像頭進(jìn)行拍照操作或錄像操作,然后讀取攝像頭的拍照數(shù)據(jù)或錄像數(shù)據(jù),并將數(shù)據(jù)放到發(fā)送緩存中,然后發(fā)送消息通知4G模塊控制任務(wù)對發(fā)送緩存中的數(shù)據(jù)進(jìn)行發(fā)送。

3 測試驗(yàn)證

本系統(tǒng)的測試主要是通過監(jiān)控中心的數(shù)據(jù)接收與終端上傳的信息是否相符合,測試表明本終端系統(tǒng)工作的穩(wěn)定,數(shù)據(jù)傳輸準(zhǔn)確,及時地將GPS信息上傳到監(jiān)控中心。下面是監(jiān)控中心收到終端發(fā)回來的GPS信息的RMC格式:

4 結(jié)論

本文基于嵌入式操作系統(tǒng)ucosII進(jìn)行車載定位系統(tǒng)的軟件架構(gòu)進(jìn)行設(shè)計(jì),性能可靠,能很好地滿足車載GPS終端的各種功能要求。當(dāng)然本文的設(shè)計(jì)還有一些不足,由于ucosII是開放源代碼,為系統(tǒng)將來進(jìn)一步提升和代碼優(yōu)化提供了便利。

參考文獻(xiàn):

[1] Jean J.Labrosse. uC/OS-II源碼公開的實(shí)時嵌入式操作系統(tǒng)[M], 邵貝貝,譯. 中國電力出版社,2001.

[2] 劉承廣, 常宇鍵, 楊衛(wèi)東,等. uC/OS-II在車載GPS移動終端中的應(yīng)用.微計(jì)算機(jī)信息[J], 2005(2):103-104.endprint

猜你喜歡
軟件設(shè)計(jì)定位
定位的奧秘
《導(dǎo)航定位與授時》征稿簡則
Smartrail4.0定位和控制
找準(zhǔn)定位 砥礪前行
CAN總線通信技術(shù)在電梯監(jiān)控系統(tǒng)中的應(yīng)用
基于單片機(jī)SPCE061A的字幕機(jī)點(diǎn)陣式字母電子顯示屏的設(shè)計(jì)制作
商情(2016年42期)2016-12-23 16:56:26
基于STC單片機(jī)的廚房智能安全管控系統(tǒng)的設(shè)計(jì)
基于STM8S903K3的序列打螺絲夾具的軟件設(shè)計(jì)
JCI標(biāo)準(zhǔn)下發(fā)送調(diào)配部軟件設(shè)計(jì)及應(yīng)用
一種VHDL語言代碼重用的方法
科技視界(2016年20期)2016-09-29 13:33:02
松溪县| 张家港市| 防城港市| 耿马| 铅山县| 谷城县| 偃师市| 芮城县| 司法| 安康市| 修文县| 枣强县| 文登市| 加查县| 平乡县| 常州市| 内黄县| 含山县| 卓资县| 石城县| 新蔡县| 闽侯县| 呼伦贝尔市| 米脂县| 双流县| 韩城市| 德令哈市| 射洪县| 贵溪市| 安国市| 汉川市| 库尔勒市| 陆川县| 耿马| 兰溪市| 雅安市| 右玉县| 古蔺县| 陕西省| 白朗县| 新源县|