999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

實時操作系統(tǒng)uC/OS—II串口通信的設(shè)計與實現(xiàn)

2017-07-12 11:51:24夏鑫
價值工程 2017年19期

夏鑫

摘要: 隨著電子技術(shù)、信息技術(shù)和通訊技術(shù)的快速發(fā)展以及互聯(lián)網(wǎng)的廣泛應(yīng)用,計算機產(chǎn)品開始逐漸轉(zhuǎn)移到信息產(chǎn)品,而硬件技術(shù)的發(fā)展促進(jìn)了計算機往微型化和專業(yè)化的趨勢發(fā)展,人們對于信息產(chǎn)品的功能要求越來越高,嵌入式系統(tǒng)開始逐漸走入人們的視線,實時操作系統(tǒng)的移植也成為計算機這個行業(yè)的熱點。本文選用能夠管理多任務(wù)的嵌入式實時操作系統(tǒng)uC/OS-II,以及嵌入式網(wǎng)絡(luò)協(xié)議Lwip,該協(xié)議能夠?qū)崿F(xiàn)嵌入式設(shè)備與互聯(lián)網(wǎng)之間的連接,分析了以微處理器LPC2365、閃存FLASH、LED、蜂鳴器和PC為硬件平臺嵌入移植了uC/OS-II嵌入式實時操作系統(tǒng)的相關(guān)設(shè)計方法,以實現(xiàn)在此嵌入式系統(tǒng)上進(jìn)行主從結(jié)構(gòu)幀結(jié)構(gòu)傳輸?shù)拇谕ㄐ拧?/p>

Abstract: With the rapid development of electronic technology, information and communication technology, and the wide application of Internet, computer products gradually transferred to information products, with the development of hardware technology and requirements of people to the improvement of information product functional, embedded system has become hotspot in this field, at the same time in the field of computer itself, miniaturization and specialization is a new trend of development. This paper expounds on the ARM7 microprocessor LPC2365 transplant uC/OS-II main content and the realization of the related function of design method. Choose embedded real-time operating system uC/OS-II that manage multiple tasks, and used embedded network protocol called Lwip to implement the connection between embedded devices and the Internet. With microprocessor LPC2365, FLASH, LED, buzzer and PC as the hardware platform, transplant the embedded real-time operating system uC/OS-II, and on the embedded system realize the master-slave structure frame structure transmission and serial communication function.

關(guān)鍵詞: 嵌入式系統(tǒng);uC/OS-II實時操作系統(tǒng);Lwip協(xié)議;LPC2365

Key words: embedded system;uC/OS-II real-time operating system;Lwip protocol;LPC2365

中圖分類號:TP316.8 文獻(xiàn)標(biāo)識碼:A 文章編號:1006-4311(2017)19-0090-04

0 引言

近年來,隨著計算機技術(shù)中、網(wǎng)絡(luò)通信技術(shù)及微電子技術(shù)的快速發(fā)展,嵌入式技術(shù)這門新興學(xué)科開始進(jìn)入研究人員的視線并且在其相應(yīng)的技術(shù)支持下所衍生的信息產(chǎn)品逐漸向微型化和智能化發(fā)展。在人們的日常生活中隨處可見嵌入式設(shè)備,比如手機、MP3,單片機的提出對于用于交通、科技、生活、工業(yè)生產(chǎn)和通信等的各種各樣的產(chǎn)品通過內(nèi)嵌集成電路芯片來優(yōu)化其性能,基于此提出了嵌入式系統(tǒng)的概念,而這些內(nèi)置芯片的產(chǎn)品初步具備嵌入式的應(yīng)用特點。而“嵌入式系統(tǒng)“這個概念源于80年代初的微型機時代,主要適用于某些對應(yīng)用系統(tǒng)成本、功能、功耗和體積要求很苛刻的專業(yè)計算機系統(tǒng),基于計算機技術(shù)、圍繞應(yīng)用并且能夠?qū)崿F(xiàn)軟硬件裁剪而提出。憑借成本低廉、設(shè)備體積小、可靠性高等特點,嵌入式系統(tǒng)已經(jīng)滲透到我們生活中的各個領(lǐng)域。

隨著人們?nèi)找嬖鲩L的物質(zhì)文化需要,對嵌入式系統(tǒng)功能的要求也越來越高。這就意味著嵌入式操作系統(tǒng)單一任務(wù)傳統(tǒng)模式己經(jīng)遠(yuǎn)遠(yuǎn)不能滿足需求,嵌入式必然的發(fā)展趨勢是對操作系統(tǒng)的引入。移植了實時操作系統(tǒng)的嵌入式系統(tǒng)具有的實時任務(wù)管理、合理的內(nèi)存分配、操作系統(tǒng)內(nèi)核的時鐘管理和完善的任務(wù)進(jìn)程間的任務(wù)同步通信機制等優(yōu)點推動其進(jìn)一步發(fā)展。計算機網(wǎng)絡(luò)的快速發(fā)展使得網(wǎng)絡(luò)技術(shù)在各個領(lǐng)域都有所應(yīng)用,包括航空、工業(yè)、農(nóng)業(yè)、教育、醫(yī)學(xué)等。在這些領(lǐng)域中網(wǎng)絡(luò)成為重要的主導(dǎo)因素,全球網(wǎng)絡(luò)化時代是必然趨勢,嵌入式系統(tǒng)也逐步朝著網(wǎng)絡(luò)化方向發(fā)展。

實時操作系統(tǒng)uC/OS-II作為一個微內(nèi)核,具有代碼量小、實時性強、支持的處理器多等優(yōu)點,使得其在國內(nèi)外嵌入式領(lǐng)域得到了廣泛的應(yīng)用[1]。在嵌入式系統(tǒng)資源受限的前提下,開發(fā)的輕量級的網(wǎng)絡(luò)協(xié)議Lwip能夠很好地適用于該系統(tǒng),能夠很好地減少系統(tǒng)的RAM運行、支持TCP/IP協(xié)議、操作系統(tǒng)模擬層、網(wǎng)絡(luò)接口和API接口等。

1 設(shè)計的基本原理

ARM7處理器LPC2365芯片具有多個串口資源,這些串口資源用于實時接收數(shù)據(jù),這些數(shù)據(jù)包括數(shù)據(jù)采集板數(shù)據(jù)、普通性能GPS接收機數(shù)據(jù)和高性能GPS接收機數(shù)據(jù),按要求對采集板數(shù)據(jù)與普通性能GPS數(shù)據(jù)進(jìn)行組幀,根據(jù)所收到的互斥型信號量,存入發(fā)送數(shù)據(jù)隊列中,這個隊列屬于FIFO類型;接收的高性能GPS接收機數(shù)據(jù)存入同一隊列;當(dāng)已經(jīng)有數(shù)據(jù)存入該發(fā)送數(shù)據(jù)隊列時,為進(jìn)行數(shù)據(jù)的發(fā)送,需要通過一個二值信號量來啟動串口發(fā)送任務(wù),在發(fā)送完一幀數(shù)據(jù)后結(jié)束發(fā)送過程[2],如圖1所示為數(shù)據(jù)流向示意圖。

針對串口接收任務(wù)、串口發(fā)送任務(wù)、組幀任務(wù)等不同功能創(chuàng)建不同的任務(wù),這里應(yīng)用程序是基于嵌入式實時操作系統(tǒng)uC/OS-II編寫完成的。

2 設(shè)計完成的工作

2.1 數(shù)據(jù)以幀結(jié)構(gòu)傳輸

對于固定長度的短字節(jié)幀數(shù)據(jù),通過設(shè)置合適的字節(jié)觸發(fā)深度,一次中斷完成數(shù)據(jù)接收任務(wù);對于變長的長字節(jié)幀數(shù)據(jù),則通過多次中斷和等待延時的方法判斷數(shù)據(jù)穩(wěn)定并完成幀數(shù)據(jù)的接收;對于大量數(shù)據(jù)的接收和發(fā)送采用建立FIFO數(shù)據(jù)隊列的方法。通過這些措施較好地完成了多串口較大數(shù)據(jù)量的通信任務(wù)。

2.2 uC/OS-II的串口通信

通過數(shù)據(jù)信號線、控制線和地線等在計算機和外設(shè)間進(jìn)行按位傳輸數(shù)據(jù)的通信方式稱為串口通信,這種通信方式具有使用數(shù)據(jù)線少節(jié)約成本的優(yōu)點,但相對于并行傳輸其傳輸速度低[3]。

串口是計算機上一種非常通用的設(shè)備通信協(xié)議同時也是儀器儀表設(shè)備通用的通信協(xié)議,除了筆記本電腦以外,大多數(shù)計算機以及很多GPIB兼容的設(shè)備包含基于RS-232的串口,同時,在獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)方面,串口通信協(xié)議也起到非常重要的作用。

2.3 主從結(jié)構(gòu)

主從式結(jié)構(gòu)是一種多用戶結(jié)構(gòu),其特點是單主機帶有多終端、數(shù)據(jù)易于管理與維護(hù),但是當(dāng)終端用戶數(shù)目增加到一定程度后,主機會因為任務(wù)過分繁重使系統(tǒng)性能大幅度下降[4],而且當(dāng)主機出現(xiàn)故障時,整個系統(tǒng)都會處于癱瘓狀態(tài),所以系統(tǒng)的可靠性不高。

在主從式結(jié)構(gòu)中,主機完成所有的處理任務(wù),連接主機的終端各個用戶共享數(shù)據(jù)資源,并發(fā)地存取數(shù)據(jù),這得益于主機上存放的數(shù)據(jù)庫系統(tǒng),該系統(tǒng)主要包括數(shù)據(jù)、應(yīng)用程序和DBMS。

3 硬件設(shè)計

主控CPU是ARM7處理器LPC2365,在嵌入式實時操作系統(tǒng)uC/OS-II中F1ash存儲器和SRAM用于運行和存儲相關(guān)的應(yīng)用程序,全雙工UART串口用于與數(shù)據(jù)采集板、GPS接收機等進(jìn)行通信[5]。

高性能GPS接收機的數(shù)據(jù)量占空比高達(dá)85%,輸出數(shù)據(jù)時其數(shù)據(jù)量為305字節(jié)/幀、比特率為57600 bps、速率為20Hz,為完成數(shù)據(jù)的傳輸任務(wù),考慮到還需要下傳其他參數(shù)信息,應(yīng)選用波特率更高的數(shù)傳模塊。

EL806數(shù)傳模塊擁有先進(jìn)的調(diào)頻擴(kuò)頻技術(shù),這款由美國GE MDS公司生產(chǎn)的數(shù)傳模塊在無線數(shù)據(jù)通信上具有較好的可靠性、完整性和較強的糾錯能力,硬件系統(tǒng)框圖如圖2所示。

4 軟件設(shè)計

4.1 實時操作系統(tǒng) uC/OS-II的移植

uC/OS-II作為一種完整的占先式實時多任務(wù)內(nèi)核,具有可移植、可固化、可裁剪和源代碼公開等特點,它可移植到包括8位、16位、32位單片機、DSP以及64位的微處理器等多種不同架構(gòu)的微處理器上[6]。

為了將該操作系統(tǒng)移植到相應(yīng)CPU體系結(jié)構(gòu)中以確保該系統(tǒng)能在原先準(zhǔn)備的硬件環(huán)境中運行,進(jìn)行源代碼的編寫和修改,按照相應(yīng)的移植步驟就可以得到移植的操作系統(tǒng)[7]。

4.2 應(yīng)用程序的編寫

編寫應(yīng)用程序時嚴(yán)格遵守其編程規(guī)范才能成功使用uC/OS-II嵌入式實時操作系統(tǒng),任務(wù)間的數(shù)據(jù)交換主要使用二值信號量和互斥型信號量,重點在于編寫串口中斷服務(wù)程序和數(shù)據(jù)收發(fā)任務(wù)。

通信幀數(shù)據(jù)是否為固定長度是在編寫串口中斷服務(wù)程序需要關(guān)注的問題。本應(yīng)用程序的中斷服務(wù)程序以及任務(wù)編程所需的數(shù)據(jù)全部通過串口1進(jìn)行傳輸。該串口的接收和發(fā)送的數(shù)據(jù)幀長度固定且較短,傳輸過程比較簡單;而串口0和2接收到的數(shù)據(jù)幀需要考慮是否為觸發(fā)深度的整數(shù)倍,故其長度較長且不固定。

當(dāng)通信幀的長度正好為中斷觸發(fā)深度的整數(shù)倍時,數(shù)據(jù)傳輸時數(shù)據(jù)幀全部發(fā)送完畢后,這個時候只能觸發(fā)正常的接收中斷。由于通信幀的長度不定,此時可在等待信號量函數(shù)設(shè)置超時參數(shù),當(dāng)數(shù)據(jù)接收完畢時,所接收的數(shù)據(jù)是穩(wěn)定不變的狀態(tài)。具體可通過以下代碼來識別中斷服務(wù)程序和接收數(shù)據(jù)任務(wù)程序片段[8]:

在一個全局?jǐn)?shù)組中存放串口0和串口1接收到的數(shù)據(jù),結(jié)合硬件系統(tǒng)框圖和所要完成的任務(wù)分別創(chuàng)建串口0和串口1接收任務(wù),在全局?jǐn)?shù)組的相應(yīng)位置上放置兩個接收任務(wù)接收到的數(shù)據(jù)。這兩個串口接收到的數(shù)據(jù)組幀發(fā)送出去的速率是每秒一幀,而普通性能GPS接收機與串口0相連且每秒發(fā)送一幀數(shù)據(jù)(即串口0的接收速率是每秒一幀),則可以由串口0接收任務(wù)中的信號量來控制啟動發(fā)送幀數(shù)據(jù)的組裝和寫入隊列任務(wù),這樣下傳的GPS幀數(shù)據(jù)因計時誤差而產(chǎn)生的跳變或重復(fù)就可以避免。

前面我們提到在同一發(fā)送數(shù)據(jù)隊列中需要存入串口0及串口1接收到的數(shù)據(jù)組幀和串口2接收到的高性能GPS接收機數(shù)據(jù),這里涉及到發(fā)送隊列的共享資源分配問題。通過互斥信號量存入發(fā)送數(shù)據(jù)隊列中,這里主要利用了互斥信號量能夠處理優(yōu)先級反轉(zhuǎn),實現(xiàn)互斥訪問發(fā)送隊列的共享資源,此時所有需要訪問這個共享資源的任務(wù)的優(yōu)先級低于互斥訪問發(fā)送隊列的優(yōu)先級繼承值,從而完成數(shù)據(jù)的存入。當(dāng)這兩個串口任務(wù)將接收到的數(shù)據(jù)寫入數(shù)據(jù)隊列時,需要獲取互斥型信號量以完成對數(shù)據(jù)隊列進(jìn)行互斥訪問,為了不影響其他任務(wù)對該隊列的共享資源的使用,在串口寫完數(shù)據(jù)后應(yīng)立即釋放信號量。

針對接收的關(guān)鍵指令或低優(yōu)先級任務(wù)進(jìn)行響應(yīng),在主函數(shù)main()中建立串口3接收并優(yōu)先執(zhí)行的數(shù)據(jù)任務(wù)。在其它任務(wù)被創(chuàng)建的過程中,系統(tǒng)會始終等待串口3接收數(shù)據(jù),判斷接收到的數(shù)據(jù)并執(zhí)行指令。以下是該部分的程序代碼[9]:

5 總結(jié)

因為筆者對于嵌入式非常感興趣,研一時候主要學(xué)習(xí)ARM和STM32,為了對自己的研究方向有所幫助,所以筆者選擇了這門實時操作系統(tǒng)課程,在這門課程上學(xué)習(xí)到很多有意思的知識,不同于本科學(xué)的單片機或者DSP那么簡單易懂,比如消息郵箱和消息隊列的知識,然后就是實時操作系統(tǒng)強調(diào)實時控制需要定時,重難點主要是對于優(yōu)先級的理解然后調(diào)度算法和調(diào)度方式,總的來說,學(xué)習(xí)實時操作系統(tǒng)這門課程給予筆者今后的研究很大的啟發(fā)。

最后實驗結(jié)果顯示,在ARM7處理器LPC2365芯片移植實時操作系統(tǒng)uC/OS-II后再進(jìn)行多串口通信可以減化硬件設(shè)計,通過在該嵌入式系統(tǒng)中編寫相應(yīng)的多串口通信應(yīng)用程序,提高系統(tǒng)的實時性要求并且運行穩(wěn)定可靠。

參考文獻(xiàn):

[1]陶德桂,王成軍,劉關(guān)心.LPC2365的μC/OS-Ⅱ下多串口通信編程[J].單片機與嵌入式系統(tǒng)應(yīng)用,2012(08):26-29.

[2]余曉光.基于實時操作系統(tǒng)FreeRTOS的Lwip協(xié)議的移植研究[D].昆明理工大學(xué),2013.

[3]洪偉.基于ARM的GPS接收機導(dǎo)航解算模塊設(shè)計[D].哈爾濱工程大學(xué),2010.

[4]Jean J Labrosse. 嵌入式實時操作系統(tǒng)uC/OS-II[M].邵貝貝等譯.二版.北京:北京航天航空大學(xué)出版社,2006.

[5]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航天航空大學(xué)出版社,2006.

[6]周立功.ARM嵌入式系統(tǒng)實驗教程(一)[M].北京:北京航天航空大學(xué)出版社,2005.

[7]趙娟,曾強,李改利,等.基于ARM的遠(yuǎn)距離便攜式無線傳輸系統(tǒng)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2011,11(8):25-27.

[8]胡宏燦,喻濤.uC/OS-II下的ARM7中斷過程分析及優(yōu)化方法[J].單片機與嵌入式系統(tǒng)應(yīng)用,2010,10(9):77-78.

[9]周航慈.基于嵌入式實時操作系統(tǒng)的程序設(shè)計技術(shù)[M].二版.北京:北京航天航空大學(xué)出版社,2011.

[10]李寧.ARM開發(fā)工具Realview MDK使用入門[M]. 北京:北京航天航空大學(xué)出版社,2008.

[11]莊嚴(yán),王曉,湯建敏.嵌入式C/C++系統(tǒng)工程師實訓(xùn)教程 [M].北京:清華大學(xué)出版社,2011.

[12]周立功.ARM微控制器基礎(chǔ)與實戰(zhàn)[M].二版.北京:北京航天航空大學(xué)出版社,2005.

主站蜘蛛池模板: 国内毛片视频| 久久夜夜视频| 国产丰满大乳无码免费播放| Aⅴ无码专区在线观看| 国模极品一区二区三区| 国产美女叼嘿视频免费看| 精品久久国产综合精麻豆| 一区二区欧美日韩高清免费| 国产精品男人的天堂| 成年人免费国产视频| 福利在线不卡一区| 国产成人精品优优av| 综合色区亚洲熟妇在线| 欧美亚洲激情| 亚洲区视频在线观看| 久久久久人妻一区精品色奶水| 久久久受www免费人成| 91蝌蚪视频在线观看| 亚洲狼网站狼狼鲁亚洲下载| 欧美一区二区三区不卡免费| 一本大道视频精品人妻| 日韩欧美成人高清在线观看| 日本国产精品| 黄色国产在线| 欧美一区二区福利视频| 亚洲成人一区二区| 国产日韩欧美中文| 国产第一页屁屁影院| 国产精品综合色区在线观看| 国产精品天干天干在线观看| 中文字幕在线不卡视频| 成年人国产网站| 91视频日本| 亚洲一区二区三区在线视频| 国产日韩欧美精品区性色| 在线观看国产小视频| 亚洲一区二区三区麻豆| 日韩精品无码免费专网站| 亚洲成人网在线观看| 欧美午夜一区| 国产精品成人一区二区| 国产高清在线精品一区二区三区| 亚洲无码熟妇人妻AV在线| 亚洲欧美综合在线观看| 亚洲经典在线中文字幕| 91精品国产一区自在线拍| 国产精品视频系列专区| 在线观看无码av五月花| 国产成人a在线观看视频| 911亚洲精品| 国产三级视频网站| 四虎成人精品| 亚洲视屏在线观看| 女人一级毛片| 亚洲AV色香蕉一区二区| 网友自拍视频精品区| 特级做a爰片毛片免费69| 精品国产自在在线在线观看| 欧美国产日韩一区二区三区精品影视| 国产黄在线免费观看| 国产毛片高清一级国语| 欧美国产视频| 国产农村妇女精品一二区| 国产午夜精品一区二区三| 2022国产91精品久久久久久| JIZZ亚洲国产| 国产永久无码观看在线| 91精选国产大片| 国产一级片网址| 亚洲精品视频在线观看视频| 国产精品欧美激情| 欧美 国产 人人视频| 性色生活片在线观看| 欧美性猛交一区二区三区| 国产精品永久免费嫩草研究院 | 国产永久在线观看| 97无码免费人妻超级碰碰碰| 亚洲视频影院| 亚洲全网成人资源在线观看| 色综合久久无码网| 久草视频精品| 国产激情无码一区二区三区免费|