UCOS-II在基于C8051f060的壓裝監(jiān)測(cè)設(shè)備數(shù)據(jù)采集系統(tǒng)應(yīng)用
所以本數(shù)據(jù)采集系統(tǒng)采用能實(shí)現(xiàn)多任務(wù)同時(shí)運(yùn)行的UCOS-II實(shí)時(shí)操作系統(tǒng)[11]。UCOS-II是有Micrium公司提供的一款可移植、可裁剪的小型多任務(wù)實(shí)時(shí)操作系統(tǒng),它具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性?xún)?yōu)良和擴(kuò)展性良好的特點(diǎn)。雖然體積小但它包含了任務(wù)調(diào)度、任務(wù)管理、時(shí)間管理、內(nèi)存管理和任務(wù)間的通信和同步等功能。UCOS-II中最大可支持64個(gè)任務(wù),分別對(duì)應(yīng)優(yōu)先級(jí)為0—63,高優(yōu)先級(jí)任務(wù)可以搶占低優(yōu)先級(jí)CPU資源。多任務(wù)操作系統(tǒng)是把CPU的執(zhí)行分為多個(gè)很多個(gè)時(shí)間塊,任務(wù)A執(zhí)行完后它會(huì)把CPU的使用權(quán)交給任務(wù)B,而且高優(yōu)先級(jí)的任務(wù)每執(zhí)行會(huì)主動(dòng)放棄一段CPU的使用時(shí)間,把使用權(quán)交給其它的任務(wù),這樣多個(gè)任務(wù)依次輪轉(zhuǎn)運(yùn)行,由于時(shí)間塊很短,這些任務(wù)就好像是在同步并行運(yùn)行了[12]。
本文引用地址:http://www.ex-cimer.com/article/266053.htm 本數(shù)據(jù)采集系統(tǒng)如圖3所示將其功能模塊劃分為四個(gè)任務(wù):數(shù)據(jù)采集任務(wù)、數(shù)據(jù)發(fā)送任務(wù)、PLC通信任務(wù)、串口讀寫(xiě)任務(wù)。
(1)數(shù)據(jù)采集任務(wù):數(shù)據(jù)采集任務(wù)就是每次壓裝開(kāi)始時(shí),通過(guò)C8051f060單片機(jī)片內(nèi)的AD轉(zhuǎn)換器進(jìn)行雙通道的數(shù)據(jù)采集,采集的速度為5kHz。并同時(shí)將采集到的數(shù)據(jù)通過(guò)DMA方式保存到片外RAM中去。壓裝停止時(shí),停止采集。
(2)數(shù)據(jù)發(fā)送任務(wù):數(shù)據(jù)發(fā)送任務(wù)是將放在片外RAM中所采集的壓力和位移數(shù)據(jù),通過(guò)SPI協(xié)議傳輸給ARM處理器,ARM再對(duì)這些數(shù)據(jù)進(jìn)行曲線(xiàn)圖繪制和壓裝結(jié)果的判斷等操作。在片外RAM沒(méi)有采集數(shù)據(jù)時(shí),該任務(wù)會(huì)處于休眠等待狀態(tài)。
(3)PLC通信任務(wù):該系統(tǒng)通過(guò)在C8051f060上設(shè)置了14個(gè)I/O口與PLC通信,7個(gè)輸入和7個(gè)輸出。該任務(wù)是一方面監(jiān)測(cè)ARM傳送過(guò)來(lái)的指令,然后對(duì)7個(gè)輸出口進(jìn)行操作,另一方面不斷監(jiān)測(cè)7個(gè)輸入I/O口,觀(guān)察PLC有沒(méi)有發(fā)送指令給ARM。
(4)串口讀寫(xiě)任務(wù):串口讀寫(xiě)任務(wù)簡(jiǎn)單來(lái)講就是接收并讀取來(lái)自ARM經(jīng)過(guò)RS232發(fā)送過(guò)來(lái)的指令,然后發(fā)送PLC給ARM的一些信號(hào)。
其中最關(guān)鍵的核心任務(wù)是數(shù)據(jù)發(fā)送和數(shù)據(jù)采集這兩個(gè)任務(wù)。因?yàn)橹挥械冗\(yùn)行采集任務(wù),在片外RAM中保存了數(shù)據(jù)之后,數(shù)據(jù)發(fā)送任務(wù)才能發(fā)送。所以在任務(wù)的調(diào)度上為了協(xié)調(diào)好兩者的關(guān)系,于是在這兩個(gè)任務(wù)之中加入了一個(gè)任務(wù)之間通信的信號(hào)量。開(kāi)始時(shí)信號(hào)量為0表示RAM中沒(méi)有采集的數(shù)據(jù),即數(shù)據(jù)發(fā)送任務(wù)不能進(jìn)行,當(dāng)RAM中保存了一個(gè)數(shù)據(jù)之后,信號(hào)量置1,數(shù)據(jù)發(fā)送任務(wù)就可以運(yùn)行了,當(dāng)數(shù)據(jù)發(fā)送速度大于數(shù)據(jù)的采集速度時(shí),即RAM中的數(shù)據(jù)為零時(shí),這時(shí)候信號(hào)量又置0,使得數(shù)據(jù)發(fā)送任務(wù)等待數(shù)據(jù)采集任務(wù)。所以加入信號(hào)量之后就能保證任務(wù)之間能正常有秩序的運(yùn)行。
3 總結(jié)
UCOS-II是一款實(shí)用性很強(qiáng)的小型嵌入式實(shí)時(shí)操作系統(tǒng)[13],隨著整個(gè)嵌入式行業(yè)的發(fā)展,它的應(yīng)用也越來(lái)越廣泛,優(yōu)越性也愈加明顯。在此壓裝監(jiān)測(cè)設(shè)備上,筆者把它移植到了功能強(qiáng)大的C8051f060單片機(jī)上,通過(guò)多任務(wù)并行執(zhí)行調(diào)度方式,實(shí)現(xiàn)了壓裝監(jiān)測(cè)設(shè)備的一個(gè)核心單元,即實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)。UCOS-II與C8051f060的結(jié)合,使得該數(shù)據(jù)采集系統(tǒng)能實(shí)時(shí)準(zhǔn)確地采集到壓力和位移數(shù)據(jù),并快速的發(fā)送給上層處理單元,使得整個(gè)壓裝監(jiān)測(cè)設(shè)備能正常穩(wěn)定地運(yùn)行,并取得預(yù)期效果。
參考文獻(xiàn):
[1]尹珊波.滾動(dòng)軸承壓裝力與壓裝曲線(xiàn)的研究[D].長(zhǎng)沙:中南大學(xué),2005.
[2]韓建斌.輪對(duì)壓裝曲線(xiàn)記錄及其自動(dòng)判斷系統(tǒng)的研究[D].武漢:武漢理工大學(xué),2012.
[3]宋威巖,劉儉.新型位移一一壓力曲線(xiàn)軸承IE裝機(jī)的原理[J].哈爾濱鐵道科技,2000 (4):23-25.
[4]李明貴.面向壓裝設(shè)備的實(shí)時(shí)檢測(cè)系統(tǒng)的軟件功能設(shè)計(jì)[D].廣州:廣東工業(yè)大學(xué),2013.
[5]許偉,林彩娥.Linux基礎(chǔ)學(xué)習(xí)篇(第二版)[M].人民郵電出版社,2009.
[6]盧華偉,秦品健,鄭銳.基于Qt/Qwt的操作監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息.2010,26(1-1):72-75.
[7]韓小濤,張智杰.高精度模數(shù)轉(zhuǎn)換器AD676的原理及應(yīng)用[J].電測(cè)與儀表,2001,38(7):48-50.
[8]Silicon Lab Datasheet of C8051F Microcontroller C8051F060[M]. Silicon Lab oratories , 2001.
[9]鮑可進(jìn).C8051F單片機(jī)原來(lái)及應(yīng)用[M].北京:中國(guó)電力出版社,2006.
[10]鄧福偉,劉振興,周恒.多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].微訃算機(jī)信息. 2008.24(9-1):148-150.
[11]任哲.嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-II 原理及應(yīng)用(第二版)[M].北京:北京航空航天大學(xué)出版社,2009.
[12]Jean J . Labrosse ,邵貝貝譯.uC/OS-II-源碼公開(kāi)的實(shí)時(shí)嵌入式操作系統(tǒng)(第二版 ) [M].北京:北京航空航天大學(xué)出版社,2003.
[13]桑楠.嵌入式系統(tǒng)原理及應(yīng)用開(kāi)發(fā)技術(shù)[M].北京:北京航空航天大學(xué)出版社,2002.
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
評(píng)論