<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于嵌入式的心電模擬發(fā)生系統(tǒng)設(shè)計方案

          基于嵌入式的心電模擬發(fā)生系統(tǒng)設(shè)計方案

          作者: 時間:2011-05-20 來源:網(wǎng)絡(luò) 收藏

            3.1 D/A驅(qū)動程序和高壓信號采集驅(qū)動部分

            設(shè)備驅(qū)動程序是操作系統(tǒng)內(nèi)核和機器硬件之間的接口。設(shè)備驅(qū)動程序為應(yīng)用程序屏蔽了硬件的細節(jié),這樣在應(yīng)用程序看來,硬件設(shè)備只是一個設(shè)備文件,應(yīng)用程序可以像操作普通文件一樣對硬件設(shè)備進行操作,以往在開發(fā)應(yīng)用程序時都有一個main函數(shù)作為程序的入口點,而在驅(qū)動開發(fā)時卻沒有main函數(shù),模塊在調(diào)用insmod命令時被加載,此時的入口點是init module函數(shù),通常在該函數(shù)中完成沒備的注冊。同樣,模塊在調(diào)用rmmod函數(shù)時被卸載,此時的入口點是cleanup module函數(shù),在該函數(shù)中完成設(shè)備的卸載。在設(shè)備完成注冊加載之后,用戶的應(yīng)用程序就可以對該設(shè)備進行一定的操作,如read,write等,而驅(qū)動程序就是用于實現(xiàn)這些操作,在用戶應(yīng)用程序調(diào)用相應(yīng)入口函數(shù)時執(zhí)行相關(guān)的操作,init roodule入口點函數(shù)則不需要完成其他如read,write之類功能。

            驅(qū)動程序主要函數(shù)如下:


            3.2 系統(tǒng)應(yīng)用程序設(shè)計與實現(xiàn)

            該系統(tǒng)的應(yīng)用程序是基于Qt/Embedded設(shè)計的,目前使用的GUI系統(tǒng)存在 Microwindows,MiniGUI,Qt/Embedded,Qt/Embedded延續(xù)了Qt的強大功能,可以運行在多種不同的處理器上部署的Linux操作系統(tǒng)。Qt/Embedded提供了信號和插槽的編程機制,該部分采用的Qt是一個創(chuàng)建GUI程序的C++類庫,編寫Qt應(yīng)用程序的主要工作是基于已有的Qt類編寫用戶類。該部分主要分為波形界面的實現(xiàn)和用戶按鍵控制的實現(xiàn),波形顯示采用Qt的函數(shù)類庫Qpainter,由于波形界面顯示兩路心電波形,會產(chǎn)生延遲效果,所以引入了多線程機制協(xié)調(diào),Qt支持多線程,有獨立于平臺的線程類,線程安全方式的時間傳遞和一個全局Qt庫互斥量允許不同的線程調(diào)用Qt方法。

            4 結(jié)語

            本系統(tǒng)設(shè)計采用三星2440處理器作為核心搭建了硬件平臺,并采用嵌入式Linux操作系統(tǒng)并結(jié)合外圍的D/A轉(zhuǎn)換部分、與監(jiān)護儀匹配網(wǎng)絡(luò)、高壓信號采集部分、應(yīng)用程序控制部分等實現(xiàn)了心電除顫模擬系統(tǒng)的設(shè)計。該系統(tǒng)可以很好地模擬醫(yī)學(xué)除顫的過程,并可以與醫(yī)用監(jiān)護儀相連接,輸出符合醫(yī)學(xué)標準的34種常見異常心率波形,由于系統(tǒng)使用嵌入式實時多任務(wù)操作系統(tǒng),因此該設(shè)計具有很高的實時性、穩(wěn)定性和可靠性。



          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();