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

?

基于μC/OS—II的絞車控制信號(hào)裝置人機(jī)交互系統(tǒng)設(shè)計(jì)

2014-04-20 01:09:52穆莉莉倪申翔薛程光
關(guān)鍵詞:人機(jī)交互

穆莉莉 倪申翔 薛程光

摘要:為提高煤礦井下斜巷提升絞車的安全運(yùn)行及信號(hào)自動(dòng)控制,設(shè)計(jì)了一種基于嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II的絞車控制信號(hào)裝置串口屏人機(jī)交互系統(tǒng)。系統(tǒng)基于Cortex-M3內(nèi)核微控制器STM32F101C8T6硬件平臺(tái),采用μC/OS-II實(shí)現(xiàn)絞車控制器與串口屏的數(shù)據(jù)通信,實(shí)現(xiàn)了絞車斜巷中各聲光信號(hào)器歷史數(shù)據(jù)記錄、當(dāng)前狀態(tài)顯示、打點(diǎn)、語(yǔ)音播報(bào)及絞車電機(jī)實(shí)時(shí)控制等。實(shí)驗(yàn)表明,采用μC/OS-II進(jìn)行人機(jī)交互及絞車控制等多任務(wù)管理,增強(qiáng)了系統(tǒng)的穩(wěn)定性,提高了系統(tǒng)控制的實(shí)時(shí)性。

關(guān)鍵詞:μC/OS-II;絞車控制;串口屏;人機(jī)交互

中圖分類號(hào):TD534.6文獻(xiàn)標(biāo)志碼:A文章編號(hào):1672-1098(2014)04-0068-05

目前國(guó)內(nèi)煤礦井下斜巷提升普遍采用聲光信號(hào)器和絞車控制信號(hào)裝置手動(dòng)發(fā)送打點(diǎn)和語(yǔ)音信號(hào)的方式來(lái)對(duì)絞車進(jìn)行控制[1]。在該方式下,信號(hào)把鉤工與絞車司機(jī)通過(guò)打點(diǎn)音和語(yǔ)音通話及時(shí)反饋斜巷狀況,相對(duì)早期的打點(diǎn)器和電鈴有很大的進(jìn)步[2],但對(duì)于布置多臺(tái)聲光信號(hào)器的長(zhǎng)距離運(yùn)輸斜巷,存在多臺(tái)聲光信號(hào)器同時(shí)發(fā)送控制信號(hào)的情況發(fā)生,絞車司機(jī)將無(wú)法準(zhǔn)確區(qū)分具體打點(diǎn)和語(yǔ)音位置,并且絞車控制信號(hào)裝置無(wú)打點(diǎn)、語(yǔ)音和絞車運(yùn)行記錄功能,不利于提高生產(chǎn)調(diào)度與管理。因此設(shè)計(jì)一種絞車控制信號(hào)裝置,通過(guò)人機(jī)交互系統(tǒng)實(shí)時(shí)顯示和記錄井下斜巷工作面狀況將成為提高煤礦產(chǎn)業(yè)信息化和安全性的一種發(fā)展趨勢(shì)[3]。

串口屏由于其簡(jiǎn)單的通訊接口和友好的多功能觸摸界面的集成化設(shè)計(jì),已廣泛運(yùn)用于人機(jī)界面中。在與串口屏通訊的過(guò)程中,以往的方式均采用前、后臺(tái)系統(tǒng),在處理多任務(wù)時(shí),系統(tǒng)的實(shí)時(shí)性無(wú)法得到保證[4]。因此,在所研制的一種絞車控制信號(hào)裝置上,對(duì)人機(jī)交互系統(tǒng)進(jìn)行了詳細(xì)設(shè)計(jì)。采用了基于Cortex-M3內(nèi)核微控制器(STM32F101C8T6)硬件平臺(tái),結(jié)合嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II對(duì)系統(tǒng)多機(jī)多任務(wù)進(jìn)行管理,以提高系統(tǒng)控制的實(shí)時(shí)性,最終實(shí)現(xiàn)了對(duì)絞車控制裝置網(wǎng)絡(luò)中不同任務(wù)的實(shí)時(shí)顯示和歷史記錄保存。

1系統(tǒng)硬件設(shè)計(jì)

11串口屏介紹

串口屏由于內(nèi)部嵌入32位處理器,集成化程度高,本身就是一個(gè)獨(dú)立的系統(tǒng),用戶只需利用單片機(jī)串口發(fā)送相應(yīng)的指令,就可以實(shí)現(xiàn)圖片、文本和曲線的顯示,給用戶設(shè)計(jì)帶來(lái)極大的方便。

選用廣州大彩公司的工業(yè)串口屏DC48270S043-01,串口屏內(nèi)部結(jié)構(gòu)如圖1所示,其內(nèi)部采用Cortex-M3+FPGA雙核設(shè)計(jì),功能強(qiáng)大,可以提供USB口工程下載、發(fā)送和接收串口指令緩存區(qū)數(shù)據(jù)、控制矩陣鍵盤和RTC實(shí)時(shí)時(shí)鐘等外設(shè)。FPGA主要實(shí)現(xiàn)NandFlash讀取和TFT-LCD控制顯示。

圖1串口屏內(nèi)部結(jié)構(gòu)12系統(tǒng)電路設(shè)計(jì)

為實(shí)現(xiàn)主機(jī)與串口屏間始終處于實(shí)時(shí)高效和準(zhǔn)確無(wú)誤的通訊狀態(tài),采用了如圖2所示的系統(tǒng)構(gòu)架。其中,主機(jī)與串口屏分別采用33 VDC和12 VDC供電。主機(jī)微控制器選用ARM公司生產(chǎn)的基于Cortex-M3內(nèi)核的STM32F101C8T6,該微控制器性價(jià)比較高,工作頻率最高達(dá)36 MHz,具有64kFlash,10kSRAM, 2個(gè)通用定時(shí)器,3個(gè)串口,57個(gè)IO口等,豐富的外設(shè)滿足了系統(tǒng)設(shè)計(jì)要求。

系統(tǒng)主時(shí)鐘源選用8 MHz頻率高速外部振蕩器。實(shí)時(shí)時(shí)鐘源選用32768 kHz頻率低速外部振蕩器,它們?yōu)橄到y(tǒng)提供了準(zhǔn)確的時(shí)鐘頻率;利用JTAG接口在線調(diào)試及代碼下載與調(diào)試節(jié)省了大量的調(diào)試時(shí)間;串口屏的DIN和DOUT口選用TTL串口通信方式直接與主控制器的USART1的PA9、PA10接口連接進(jìn)行數(shù)據(jù)通訊,節(jié)省了RS232電平轉(zhuǎn)TTL電平電路的設(shè)計(jì)。

圖2人機(jī)交互系統(tǒng)電路示意圖2系統(tǒng)軟件設(shè)計(jì)

21系統(tǒng)功能介紹

結(jié)合斜巷中絞車控制信號(hào)裝置(主機(jī))和多聲光信號(hào)器(分機(jī))相互傳送打點(diǎn)、語(yǔ)音信號(hào)的方式,對(duì)人機(jī)交互系統(tǒng)的功能做了規(guī)劃(見(jiàn)圖3)。主機(jī)接收各臺(tái)分機(jī)發(fā)送的打點(diǎn)、講話等觸發(fā)事件信號(hào)的同時(shí),串口屏使用圖標(biāo)控件實(shí)時(shí)顯示各分機(jī)的通訊狀態(tài),并利用串口屏內(nèi)部128KFlash對(duì)分機(jī)事件進(jìn)行記錄。串口屏矩陣鍵盤和按鈕等控件主要是上傳更新通知至主機(jī),控制絞車運(yùn)行及主機(jī)打點(diǎn)、講話等事件地觸發(fā)、顯示與記錄。

圖3系統(tǒng)功能圖22串口屏指令集

DC48270S043-01串口屏的指令集包括組態(tài)控件指令集和基本指令集,指令幀如表1所示,由幀頭(EE)、指令、指令參數(shù)、幀尾(FF FC FF FF)組成,其中指令數(shù)值為十六進(jìn)制。若指令參數(shù)大于一個(gè)字節(jié),采用高字節(jié)在前,低字節(jié)在后的方式發(fā)送。組態(tài)控件指令包括:按鈕控件ID值上傳、更新文本控件、動(dòng)畫(huà)控件顯示和圖標(biāo)控件等;基本指令包括:矩陣鍵盤控制、Flash讀寫和讀取RTC時(shí)鐘等。

表1串口屏指令幀

指令集指令指令參數(shù) 矩陣鍵盤12/13K1 Flash讀寫88/87Adr4 L2/Adr4 Dn 讀RTC82\ 文本B1 11Sid2 Cid2 11 Sn 圖標(biāo)B1 26Sid2 Cid2 00/01 Id1 動(dòng)畫(huà)B1 20Sid2 Cid2 23指令幀的發(fā)送與接收

串口屏指令幀的接收與發(fā)送采用主微控制器串口1外設(shè)中斷方式,指令幀的接收是先將指令緩入緩存區(qū)rdata[QUEUE-MAX-SIZE],然后通過(guò)判斷幀頭、幀尾定時(shí)循環(huán)地從指令緩入緩存區(qū)中提取串口屏發(fā)送至主機(jī)的每條指令幀,相關(guān)代碼如下:

u8 data=USART1->DR;

/*串口1接受一個(gè)字節(jié)數(shù)據(jù)*/

queue-push(data);/*緩入rdata緩存區(qū)*/

if(queue-find-cmd(buf,len)> 0);/*指令幀幀頭和幀尾判斷,為真時(shí)進(jìn)行指令類型判斷,buf:緩沖區(qū)指針,len:指令幀長(zhǎng)度*/

由于串口屏每條指令幀包含字節(jié)數(shù)量較大,當(dāng)各分機(jī)與主機(jī)間通訊頻繁時(shí),若采用主微控制器串口直接發(fā)送每個(gè)字節(jié),則占用了系統(tǒng)大量時(shí)間,因此系統(tǒng)的實(shí)時(shí)性無(wú)法得到保證。本設(shè)計(jì)中主機(jī)根據(jù)各分機(jī)發(fā)送的通訊信號(hào),先將待發(fā)送的指令幀先依次寫入發(fā)送環(huán)形緩沖區(qū)cmd-buffer[CMD-MAX-BUFFER],系統(tǒng)定時(shí)循環(huán)檢測(cè)緩沖區(qū)不空,并在串口發(fā)送中斷服務(wù)函數(shù)中采用先入先出的方式,逐個(gè)發(fā)送緩沖區(qū)內(nèi)的每個(gè)指令字節(jié)至串口屏,相關(guān)代碼如下:

sendToBuf(p,num);

/*寫入環(huán)形緩沖區(qū),p為指令幀指針,num為指令幀字節(jié)數(shù)*/

readFromBuf(void);

/*依次從環(huán)形緩沖區(qū)讀取一個(gè)字節(jié)數(shù)據(jù),發(fā)送至串口屏*/

24系統(tǒng)程序設(shè)計(jì)

采用實(shí)時(shí)操作系統(tǒng)μC/OS-II作為STM32F101C8T6的片上操作系統(tǒng)(見(jiàn)圖4),相對(duì)前、后臺(tái)系統(tǒng),系統(tǒng)實(shí)時(shí)性和多任務(wù)管理能力得到了很大的提高。

圖4程序流程圖

系統(tǒng)首先對(duì)硬件和操作系統(tǒng)進(jìn)行初始化,包括初始化主微控制器時(shí)鐘和systick定時(shí)器,初始化串口,初始化操作系統(tǒng)初始變量等。初始化函數(shù)如下:

Stm32-Clock-Init(9);//時(shí)鐘初始化

SysTick-Init(72);//systick定時(shí)器初始化

uart-init(72,9600);//串口初始化

OSInit (void);//操作系統(tǒng)初始化變量初始化

其次創(chuàng)建系統(tǒng)任務(wù)和事件,并掛起部分任務(wù),系統(tǒng)按優(yōu)先級(jí)先后順序依次對(duì)串口屏通訊、矩陣鍵盤、按鈕控件處理、讀RTC時(shí)鐘、Flash讀寫和分機(jī)信號(hào)處理等任務(wù)進(jìn)行調(diào)度。任務(wù)之間的通信事件采用信號(hào)量、郵箱和消息隊(duì)列機(jī)制,部分函數(shù)如下:

OSTaskCreate(lcd-task,(void*)0,(OS-STK*)&LCD-TASK-STK[LCD-STK-SIZE-1],LCD-TASK-PRIO);

/*創(chuàng)建串口屏指令幀接收與發(fā)送任務(wù)*/

OSTaskSuspend(KEY-TASK-PRIO);

/*掛起矩陣鍵盤任務(wù)*/

F-Semp=OSSemCreate(1);

/*創(chuàng)建信號(hào)量*/

WF-Box=OSMboxCreate((void *)0);

/*創(chuàng)建寫flash郵箱*/

S-Q=OSQCreate(&MsgGrp[0],N-MESSAGES);

/*創(chuàng)建分機(jī)事件信號(hào)消息隊(duì)列*/

最后系統(tǒng)對(duì)不同優(yōu)先級(jí)任務(wù)進(jìn)行調(diào)度,各任務(wù)按優(yōu)先級(jí)順序內(nèi)容如下:

Lcd-task:20ms循環(huán)執(zhí)行,接收到串口屏指令幀后,使用findcmd函數(shù)解讀后恢復(fù)key-task、button-task、RF-task任務(wù);

Rtc-task:100ms循環(huán)執(zhí)行,對(duì)串口屏內(nèi)部時(shí)鐘數(shù)據(jù)的進(jìn)行讀取后,發(fā)送至T-Box郵箱,用于記錄主分機(jī)的通訊時(shí)間;

key-task:Lcd-task恢復(fù)后執(zhí)行,判斷主機(jī)打點(diǎn)、講話信號(hào),絞車開(kāi)停,觸發(fā)相應(yīng)事件動(dòng)作后向各分機(jī)發(fā)送事件信號(hào),并發(fā)送對(duì)應(yīng)的圖標(biāo)控件指令幀至發(fā)送環(huán)形緩沖區(qū),執(zhí)行完成后掛起該任務(wù);

button-task:Lcd-task恢復(fù)后執(zhí)行,判斷串口屏記錄查詢按鈕控件ID值為真后請(qǐng)求RF-Box郵箱和信號(hào)量F-Semp,獲得權(quán)限后發(fā)送更新文本控件指令幀發(fā)送環(huán)形緩沖區(qū),執(zhí)行完成后掛起該任務(wù);

RF-task:Lcd-task恢復(fù)后執(zhí)行,讀取串口屏內(nèi)部Flash數(shù)據(jù)并發(fā)送至RF-Box郵箱成功后,釋放信號(hào)量F-Semp,執(zhí)行完成后掛起該任務(wù);

Ext-task: 100ms循環(huán)執(zhí)行,從消息隊(duì)列S-Q中提取分機(jī)信號(hào)后,發(fā)送至WF-Box郵箱并恢復(fù)WF-task任務(wù);

WF-task:Ext-task恢復(fù)后執(zhí)行,同時(shí)請(qǐng)求WF-Box郵箱和T-Box郵箱后,發(fā)送寫記錄到Flash的指令幀至發(fā)送環(huán)形緩沖區(qū),執(zhí)行完成后掛起該任務(wù);

其中,串口1發(fā)送接收完成中斷服務(wù)函數(shù)USART1-IRQHandler可隨時(shí)打斷上述任務(wù)的執(zhí)行,按字節(jié)接收串口屏指令幀并發(fā)送至接收指令緩存區(qū),使用readFromBuf函數(shù)將發(fā)送環(huán)形緩沖區(qū)內(nèi)數(shù)據(jù)發(fā)送至串口顯示或記錄。

3人機(jī)交互界面

絞車控制信號(hào)裝置人機(jī)交互界面主要分為主分機(jī)與絞車運(yùn)行界面(見(jiàn)圖5)和歷史記錄查詢界面(見(jiàn)圖6)。

圖5主分機(jī)與絞車運(yùn)行界面

圖6歷史記錄查詢界面

交互界面中用到的按鈕、圖標(biāo)和文本等控件的數(shù)量近30個(gè),不同的控件類型,需發(fā)送的指令幀格式不同;不同分機(jī)號(hào),需發(fā)送的指令幀內(nèi)容不同,因此系統(tǒng)通過(guò)串口與顯示屏交互時(shí),易發(fā)生通信堵塞,處理事件繁索等問(wèn)題。由于μC/OS-II操作系統(tǒng)在任務(wù)調(diào)度和時(shí)間管理方面的優(yōu)異性能,外加串口屏內(nèi)部設(shè)有4 kB的指令緩沖區(qū),有效的避免了此類狀況的發(fā)生,用戶在使用該人機(jī)交互界面時(shí),實(shí)時(shí)狀態(tài)顯示及時(shí),觸摸響應(yīng)靈敏,不會(huì)產(chǎn)生死機(jī)現(xiàn)象,基本上滿足了煤礦井下設(shè)備的安全使用要求。

4結(jié)論

本系統(tǒng)在采用精簡(jiǎn)內(nèi)核的嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II對(duì)系統(tǒng)多任務(wù)進(jìn)行調(diào)度,在減少系統(tǒng)代碼量和提高系統(tǒng)實(shí)時(shí)性的同時(shí),增強(qiáng)了系統(tǒng)的模塊化設(shè)計(jì),系統(tǒng)調(diào)試通過(guò),現(xiàn)已穩(wěn)定運(yùn)行于現(xiàn)場(chǎng)。

所設(shè)計(jì)的μC/OS-II的串口屏人機(jī)交互系統(tǒng)通用性高,還可廣泛應(yīng)用于其他中小型礦用電器設(shè)備控制系統(tǒng)中,比如礦用蓄電池監(jiān)控設(shè)備、礦用充電機(jī)及礦用通風(fēng)監(jiān)控系統(tǒng)等。

參考文獻(xiàn):

[1]常宏奎,劉戰(zhàn)軍.斜巷提升語(yǔ)音聲光組合信號(hào)系統(tǒng)的開(kāi)發(fā)與應(yīng)用[J].中州煤炭,2010(2):16-17.

[2]周廣興,姜永春,張廣蘭,等.單片機(jī)在礦井提升機(jī)打點(diǎn)器中的應(yīng)用[J].煤礦機(jī)械,2004(7):87-88.

[3]倪樹(shù)標(biāo),張冠文,劉日威,等.淺談串口屏在儀器人機(jī)界面設(shè)計(jì)中的應(yīng)用[J]. 廣東科技,2012(21):176-177.

[4]任哲.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2009:116-118.

[5]公茂法,劉建平,徐新源,等.基于串口屏的井下多回路電網(wǎng)監(jiān)測(cè)儀的設(shè)計(jì)[J].煤礦機(jī)械,2013,34(1):263-264.

(責(zé)任編輯:何學(xué)華,吳曉紅)

猜你喜歡
人機(jī)交互
某型柴油機(jī)虛擬維修系統(tǒng)研究
基于虛擬現(xiàn)實(shí)技術(shù)的九江城市交通事故模擬系統(tǒng)設(shè)計(jì)
人機(jī)交互課程創(chuàng)新實(shí)驗(yàn)
人形交互式服務(wù)機(jī)器人研究現(xiàn)狀及發(fā)展趨勢(shì)
基于任務(wù)規(guī)劃的家庭仿真服務(wù)機(jī)器人的研究
多點(diǎn)噪聲遠(yuǎn)程自動(dòng)采集系統(tǒng)設(shè)計(jì)
基于智能手機(jī)的盲人語(yǔ)言應(yīng)用軟件的設(shè)計(jì)與開(kāi)發(fā)
基于Intel Realsense技術(shù)的感知展示系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)
一種靜態(tài)手勢(shì)數(shù)字識(shí)別的實(shí)現(xiàn)及應(yīng)用
圖像處理耦合模板定位的答題卡識(shí)別研究與應(yīng)用
渭源县| 山东| 贵南县| 山东省| 漯河市| 哈巴河县| 孟州市| 彭水| 临清市| 曲松县| 平度市| 全州县| 甘德县| 合阳县| 崇礼县| 芦溪县| 平度市| 永泰县| 法库县| 吉木乃县| 辽宁省| 辽源市| 西乌珠穆沁旗| 绥宁县| 洞口县| 沛县| 永寿县| 太康县| 东城区| 海丰县| 陵川县| 赫章县| 新建县| 罗平县| 保德县| 宿州市| 广饶县| 武宁县| 商城县| 恩施市| 永德县|