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

實時操作系統uC/OS—II串口通信的設計與實現

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

夏鑫

摘要: 隨著電子技術、信息技術和通訊技術的快速發展以及互聯網的廣泛應用,計算機產品開始逐漸轉移到信息產品,而硬件技術的發展促進了計算機往微型化和專業化的趨勢發展,人們對于信息產品的功能要求越來越高,嵌入式系統開始逐漸走入人們的視線,實時操作系統的移植也成為計算機這個行業的熱點。本文選用能夠管理多任務的嵌入式實時操作系統uC/OS-II,以及嵌入式網絡協議Lwip,該協議能夠實現嵌入式設備與互聯網之間的連接,分析了以微處理器LPC2365、閃存FLASH、LED、蜂鳴器和PC為硬件平臺嵌入移植了uC/OS-II嵌入式實時操作系統的相關設計方法,以實現在此嵌入式系統上進行主從結構幀結構傳輸的串口通信。

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.

關鍵詞: 嵌入式系統;uC/OS-II實時操作系統;Lwip協議;LPC2365

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

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

0 引言

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

隨著人們日益增長的物質文化需要,對嵌入式系統功能的要求也越來越高。這就意味著嵌入式操作系統單一任務傳統模式己經遠遠不能滿足需求,嵌入式必然的發展趨勢是對操作系統的引入。移植了實時操作系統的嵌入式系統具有的實時任務管理、合理的內存分配、操作系統內核的時鐘管理和完善的任務進程間的任務同步通信機制等優點推動其進一步發展。計算機網絡的快速發展使得網絡技術在各個領域都有所應用,包括航空、工業、農業、教育、醫學等。在這些領域中網絡成為重要的主導因素,全球網絡化時代是必然趨勢,嵌入式系統也逐步朝著網絡化方向發展。

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

1 設計的基本原理

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

針對串口接收任務、串口發送任務、組幀任務等不同功能創建不同的任務,這里應用程序是基于嵌入式實時操作系統uC/OS-II編寫完成的。

2 設計完成的工作

2.1 數據以幀結構傳輸

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

2.2 uC/OS-II的串口通信

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

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

2.3 主從結構

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

在主從式結構中,主機完成所有的處理任務,連接主機的終端各個用戶共享數據資源,并發地存取數據,這得益于主機上存放的數據庫系統,該系統主要包括數據、應用程序和DBMS。

3 硬件設計

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

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

EL806數傳模塊擁有先進的調頻擴頻技術,這款由美國GE MDS公司生產的數傳模塊在無線數據通信上具有較好的可靠性、完整性和較強的糾錯能力,硬件系統框圖如圖2所示。

4 軟件設計

4.1 實時操作系統 uC/OS-II的移植

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

為了將該操作系統移植到相應CPU體系結構中以確保該系統能在原先準備的硬件環境中運行,進行源代碼的編寫和修改,按照相應的移植步驟就可以得到移植的操作系統[7]。

4.2 應用程序的編寫

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

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

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

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

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

針對接收的關鍵指令或低優先級任務進行響應,在主函數main()中建立串口3接收并優先執行的數據任務。在其它任務被創建的過程中,系統會始終等待串口3接收數據,判斷接收到的數據并執行指令。以下是該部分的程序代碼[9]:

5 總結

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

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

參考文獻:

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

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

[3]洪偉.基于ARM的GPS接收機導航解算模塊設計[D].哈爾濱工程大學,2010.

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

[5]周立功.ARM嵌入式系統基礎教程[M].北京:北京航天航空大學出版社,2006.

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

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

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

[9]周航慈.基于嵌入式實時操作系統的程序設計技術[M].二版.北京:北京航天航空大學出版社,2011.

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

[11]莊嚴,王曉,湯建敏.嵌入式C/C++系統工程師實訓教程 [M].北京:清華大學出版社,2011.

[12]周立功.ARM微控制器基礎與實戰[M].二版.北京:北京航天航空大學出版社,2005.

主站蜘蛛池模板: 亚洲精品777| 人妻中文久热无码丝袜| 黄片一区二区三区| 国产视频资源在线观看| 凹凸精品免费精品视频| 国产麻豆va精品视频| 国产精品香蕉在线| 成人va亚洲va欧美天堂| 爆乳熟妇一区二区三区| 国产日韩欧美中文| 男女性色大片免费网站| 99久久精品视香蕉蕉| 免费看黄片一区二区三区| 囯产av无码片毛片一级| 青青青国产视频手机| 国产精品私拍在线爆乳| 久久精品一品道久久精品| 四虎永久免费在线| 亚洲a免费| 国内精品视频区在线2021| 国产精品99久久久久久董美香| 国产精品网址在线观看你懂的| 亚欧美国产综合| 特级毛片免费视频| 第一页亚洲| 亚欧成人无码AV在线播放| 国产成人亚洲无吗淙合青草| 美女扒开下面流白浆在线试听 | 一区二区影院| 久久中文无码精品| 中文字幕在线不卡视频| 欧美 亚洲 日韩 国产| 中文字幕欧美日韩| 九九免费观看全部免费视频| 亚洲综合狠狠| 国产激爽爽爽大片在线观看| 福利一区三区| 综合网天天| 亚洲免费成人网| 国产成人亚洲无码淙合青草| 国产日本一线在线观看免费| 国产美女免费| A级毛片无码久久精品免费| 国产精品偷伦在线观看| 久久久黄色片| 国产噜噜在线视频观看| 亚洲乱码视频| 亚洲精品在线观看91| 国产情精品嫩草影院88av| 亚洲第一成年网| 久久人妻xunleige无码| 国模视频一区二区| 亚洲国产中文在线二区三区免| 免费在线色| 国产精品人莉莉成在线播放| 久久大香伊蕉在人线观看热2 | 欧洲av毛片| 999国内精品久久免费视频| 亚洲精品国偷自产在线91正片| 亚洲男人的天堂视频| 高清国产在线| 永久免费av网站可以直接看的| 99re66精品视频在线观看| 99999久久久久久亚洲| 少妇精品网站| 免费一级成人毛片| 一本久道久久综合多人| 久久特级毛片| 婷婷丁香在线观看| 免费观看成人久久网免费观看| 青青操视频在线| 91国语视频| 久久鸭综合久久国产| 美女无遮挡被啪啪到高潮免费| 2020精品极品国产色在线观看| 亚洲精品天堂自在久久77| 一级毛片免费的| 免费国产在线精品一区| 国产AV无码专区亚洲A∨毛片| 四虎影视永久在线精品| 国产香蕉一区二区在线网站| 欧美国产综合色视频|