<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于S3C44B0的數據監測模塊實(shí)時(shí)性分析與設計

基于S3C44B0的數據監測模塊實(shí)時(shí)性分析與設計

作者: 時(shí)間:2013-04-06 來(lái)源:網(wǎng)絡(luò ) 收藏

(2) A/D采集時(shí)間

  系統A/D采集轉換需要采用高速動(dòng)態(tài)的波形采集方式,每秒最高可采50 000個(gè)數據,那么采集一個(gè)數據源的時(shí)間為 2 μs。完成對32個(gè)測點(diǎn)64個(gè)數據源的采集時(shí)間僅為2 μs×64=128 μs。

  采集數據的頻率最低可以為每秒鐘采集2500個(gè)數據,那么采集一個(gè)數據的時(shí)間最大值為0.5 ms。

(3) 顯示時(shí)間

  嵌入式觸摸屏裝置是一種人機交互設備,將觸摸屏安裝在液晶屏上,配以相應的控制電路對觸摸屏和進(jìn)行控制。用戶(hù)通過(guò)觸摸操作,就可以對相應的設備進(jìn)行交互。觸摸屏由觸摸檢測部件和觸摸屏控制器組成。

  采集到的數據送回到觸摸屏控制器的X與Y值僅是對當前觸摸點(diǎn)的電壓值的A/D轉換值,它不具有實(shí)用價(jià)值。這個(gè)值的大小不但與觸摸屏的分辨率有關(guān),也與觸摸屏與的貼合情況有關(guān)。因此,要想得到比較精確的體現LCD坐標的觸摸屏位置,還需要在程序中進(jìn)行轉換。假設LCD的分辨率是320×240,坐標原點(diǎn)在左上角;觸摸屏分辨率是900×900,坐標原點(diǎn)在左上角,則轉換公式如下:

按此在新窗口瀏覽圖片

  式中:X、Y是對當前觸摸點(diǎn)電壓值的A/D轉換值;X1、X2、Y1、Y2分別是觸摸屏坐標的最大值和最小值。

  LCD顯示時(shí)將采集到的坐標經(jīng)過(guò)具體的轉換程序進(jìn)行轉換。轉換需要有一定的時(shí)間,所以L(fǎng)CD的顯示時(shí)間t包括取得當前觸摸點(diǎn)的電壓值的時(shí)間以及由程序轉換得到當前A/D轉換值的時(shí)間。觸摸屏采用中斷方式對數據進(jìn)行采樣,可以利用定時(shí)器對觸摸屏的采樣基準時(shí)間進(jìn)行設定,一般設定觸摸屏的采樣基準時(shí)間為10 ms。觸摸屏每隔10 ms對數據進(jìn)行一次采樣,即每隔10 ms對每個(gè)通道的數據進(jìn)行一次采樣,并將其顯示在LCD上。

  根據以上所述,系統對每個(gè)通道數據源的測量時(shí)間tchannel =通信時(shí)間tc +采集時(shí)間ts+顯示時(shí)間tl=10 ms + 0.5 ms +10 ms = 20.5 ms。此時(shí)系統中最多64個(gè)通道,那么系統完成64個(gè)通道的測量周期為T(mén)=64×tchannel=64×20.5 s≈1 s,實(shí)時(shí)模塊的設計必須滿(mǎn)足上述要求才能很好地滿(mǎn)足系統的實(shí)時(shí)性。

2 系統設計

  根據上述對實(shí)時(shí)模塊實(shí)時(shí)性的需求分析,將整個(gè)系統的體系結構分為3個(gè)模塊: 第1個(gè)模塊是LCD顯示模塊,第2個(gè)模塊是采集和通信模塊,第3個(gè)模塊是監測點(diǎn)模塊。如圖2所示,LCD顯示模塊用于顯示采集數據和以按鍵方式發(fā)送命令。通信模塊中LCD通過(guò)按鍵操作的方式通過(guò)MODBUS_RTU通信協(xié)議與各個(gè)監測點(diǎn)之間的通信連接,通信采用RS232/RS485無(wú)源轉接器連接。該實(shí)時(shí)模塊通過(guò)RS232/RS485對各個(gè)監測點(diǎn)的數據進(jìn)行采集,并將采集到的數據送入各個(gè)監測點(diǎn)的數據緩沖區(數據緩沖區包括保持寄存器、控制寄存器和狀態(tài)寄存器)。系統的數據鏈路層采用MODBUS_RTU通信協(xié)議。

按此在新窗口瀏覽圖片
圖2 模塊結構

3 軟件設計

  通過(guò)對各嵌入式操作系統的特點(diǎn)、性能進(jìn)行可行性分析及比較,本模塊采用了μC/OS-II作為該模塊需要移植的操作系統。

3.1 任務(wù)劃分

  μC/OS-II是一種占先式多任務(wù)內核,其實(shí)現的任務(wù)調度是基于優(yōu)先級的,即優(yōu)先級最高的任務(wù)一旦準備就緒,就取得CPU的所有權開(kāi)始投入運行。目前,μC/OS-II管理多達64個(gè)任務(wù),其中8個(gè)保留給系統,應用程序最多有56個(gè)任務(wù),能滿(mǎn)足一般嵌入式系統的需要。在μC/OS-II中,每個(gè)任務(wù)的優(yōu)先級要求不一樣且是唯一的,所以任務(wù)調度工作非常簡(jiǎn)單,即查找準備就緒的最高優(yōu)先級任務(wù),然后進(jìn)行上下文切換。μC/OS-II下每個(gè)任務(wù)有休眠、就緒、運行和中斷等狀態(tài)。

  分析μC/OS-II的源碼會(huì )發(fā)現,它把任務(wù)的優(yōu)先級作為任務(wù)的標識符來(lái)使用。只有進(jìn)入就緒態(tài)的最高優(yōu)先級的任務(wù)才能得到CPU的使用權。任務(wù)劃分是開(kāi)發(fā)實(shí)時(shí)系統軟件的重要一步。要基于簡(jiǎn)化任務(wù)間的通信這一目的進(jìn)行任務(wù)劃分,使各任務(wù)程序實(shí)現的功能模塊化。在此模塊中,將處理采集和通信任務(wù)都設置了較高的任務(wù)優(yōu)先級,通信任務(wù)為T(mén)ask40_ComputerCom,采集任務(wù)劃分為T(mén)MapStaticData和TMapDynamicData。為使系統能夠及時(shí)更新管理模塊中的靜態(tài)數據,將對功能模塊靜態(tài)數據進(jìn)行更新的任務(wù)的優(yōu)先級設置成兩者中的最高。在模塊中的其他任務(wù)可根據具體情況進(jìn)行設置。表2詳述此模塊中創(chuàng )建的各任務(wù)的任務(wù)說(shuō)明及優(yōu)先級劃分。
3.2 任務(wù)調度策略
  TMapDynamicData任務(wù)輪詢(xún)所有在線(xiàn)測點(diǎn)的實(shí)時(shí)數據;同時(shí),該實(shí)時(shí)數據監測模塊在RAM中為每個(gè)功能模塊建立一個(gè)數據映射區,并在映射區中保存各功能模塊的表號、變量參數、報警狀態(tài)、工作狀態(tài)等實(shí)時(shí)信息。在映射區中的數據可分為動(dòng)態(tài)數據和靜態(tài)數據。動(dòng)態(tài)數據是各個(gè)功能模塊的實(shí)時(shí)測點(diǎn)參數和狀態(tài)數據。當用戶(hù)使用觸摸屏按鍵方式完成對某一測點(diǎn)的動(dòng)態(tài)數據映射區進(jìn)行操作時(shí),應用系統將立即喚醒任務(wù)TMapDynamicData,來(lái)更新在映射區中對應于此測點(diǎn)的動(dòng)態(tài)數據,并且在觸摸屏上會(huì )顯示出各個(gè)測點(diǎn)的動(dòng)態(tài)數據信息。靜態(tài)數據是反映各個(gè)測點(diǎn)相關(guān)的配置信息,不會(huì )時(shí)刻變化,但卻反映了測點(diǎn)的數據參數的特性。一旦測點(diǎn)的這些數據信息被修改了,映射區中對應數據就必須更新。為了降低整個(gè)系統的通信開(kāi)銷(xiāo),在實(shí)際應用中,沒(méi)有頻繁地更新映射區中的靜態(tài)數據。當用戶(hù)觸摸屏按鍵方式完成對某一測點(diǎn)的靜態(tài)數據進(jìn)行操作后,應用系統立即喚醒任務(wù)TMapStaticData,來(lái)更新在映射區中對應于此測點(diǎn)靜態(tài)數據。
  此實(shí)時(shí)數據監測模塊任務(wù)調度策略實(shí)現了多個(gè)不同優(yōu)先級的任務(wù)與TMapDynamicData任務(wù)間的通信。比如,LCD的主界面顯示任務(wù)Tmain_Board,詳細顯示界面任務(wù)Tcheck_Board以及巡檢界面任務(wù)Tcheck_system都與TMapDynamicData進(jìn)行任務(wù)間的通信。模塊必須優(yōu)先處理LCD通過(guò)TComputerCom任務(wù)修改某一測點(diǎn)的靜態(tài)數據,同步更新各個(gè)監測點(diǎn)的靜態(tài)數據的情況。此任務(wù)通信過(guò)程不僅包含觸發(fā)事件的通知,還要考慮任務(wù)間相應數據的傳遞。因此必須通過(guò)消息郵箱、消息隊列或者事件標志組方式來(lái)實(shí)現此數據傳遞的情況。經(jīng)進(jìn)一步分析得出,由于負責映射靜態(tài)數據的TMapStaticData任務(wù)優(yōu)先級高,模塊設計中采用了消息郵箱方式來(lái)處理其他任務(wù)與此任務(wù)間的通信過(guò)程。模塊設計任務(wù)邏輯關(guān)系如圖3所示。
表2 部分任務(wù)劃分與優(yōu)先級分配


圖3 模塊設計任務(wù)邏輯關(guān)系
  筆者認為,在開(kāi)發(fā)基于多任務(wù)的嵌入式項目時(shí),為使整個(gè)模塊的設計具有結構化、模塊化、標準化的特點(diǎn),也便于將來(lái)模塊實(shí)現的維護與升級,應該盡量簡(jiǎn)化各個(gè)任務(wù)間的邏輯關(guān)系,體現各個(gè)任務(wù)功能的獨立性和完整性。每個(gè)任務(wù)實(shí)現一個(gè)或若干個(gè)功能,但必須成為一個(gè)單獨的模塊。任務(wù)間的調度策略主要通過(guò)延時(shí)以及信號量、消息郵箱、消息隊列來(lái)完成。
3.3 程序實(shí)現
  基于μC/OS-II嵌入式實(shí)時(shí)操作系統處理并發(fā)任務(wù),該實(shí)時(shí)數據監測模塊軟件設計部分偽代碼如下:
void Tstart(void * pdata) {
  while(1) {
    創(chuàng )建TMapStaticData 通信任務(wù);
    創(chuàng )建TMapDynamicData 通信任務(wù);
    創(chuàng )建LCD的TMain_Board主界面顯示任務(wù);
    創(chuàng )建LCD的Tcheck_Board測點(diǎn)數據詳細顯示界面任務(wù);
    創(chuàng )建LCD的Tcheck_system測點(diǎn)數據顯示巡檢任務(wù);
  };
}
結語(yǔ)
  基于μC/OS-II的旋轉機械監視實(shí)時(shí)數據監測模塊利用了μC/OS-II能夠穩定、安全處理并發(fā)多任務(wù)這一特點(diǎn),并按所述調度策略協(xié)調多任務(wù)運行,提高了模塊程序的運行效率。該模塊一直穩定運行,體現出較高的實(shí)時(shí)性和可靠性,取得了較好的實(shí)際效果。

LCD顯示屏相關(guān)文章:lcd顯示屏原理


lcd相關(guān)文章:lcd原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 數據監測 LCD μCOS-II S3C44B0

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>