亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARM的嵌入式心血管功能參數(shù)檢測系統(tǒng)

        2017-04-20 03:21:09彭文超,張永亮,金丹
        中國醫(yī)療器械雜志 2017年2期
        關(guān)鍵詞:嵌入式系統(tǒng)

        基于ARM的嵌入式心血管功能參數(shù)檢測系統(tǒng)

        【作 者】彭文超1,2,張永亮1,金丹1,3,吳璋洋1,3,馬祖長1,孫怡寧1

        1 中國科學(xué)院合肥智能機械研究所,合肥市,230031

        2 中國科學(xué)技術(shù)大學(xué),合肥市,230026

        3 安徽大學(xué),合肥市,230039

        基于ARM處理器和Linux操作系統(tǒng)搭建的開發(fā)平臺,設(shè)計了一套心血管功能檢測系統(tǒng),實現(xiàn)了脈搏波信號采集、特征提取和指標(biāo)計算等功能。該文主要介紹系統(tǒng)的硬件電路,具體描述觸摸屏驅(qū)動、外部ADC驅(qū)動程序以及基于QT的可視化應(yīng)用程序。該系統(tǒng)使用方便,具有實時性、低功耗等特點。通過與常規(guī)的心血管功能測試儀(IIM-2010A)的對比實驗,表明該系統(tǒng)能夠較好地評估心血管功能,在心內(nèi)膜下心肌活力率和增長指數(shù)等幾個關(guān)鍵性指標(biāo)具有良好的相關(guān)性。

        脈搏波;嵌入式系統(tǒng);驅(qū)動;QT/Embedded

        【 Writers 】PENG Wenchao1,2, ZHANG Yongliang1, JIN Dan1,3, WU Zhangyang1,3, MA Zuchang1, SUN Yining1

        1 Institute of Intelligent Machines, Chinese Academy of Science, Hefei, 230031

        2 University of Science and Technology of China, Hefei, 230026

        3 AnHui University, Hefei, 230039

        【 Abstract 】A cardiovascular function testing system was designed in platform which was built with ARM microprocessor s3c2440 and Linux system, to achieve pulse wave acquisition, feature extraction, index calculation and so on. This article mainly describes the hardware circuit, and describes the touchscreen driver, external ADC driver, and visualization QT-based applications in detail. The system is easy to use, with real-time, low power consumption. Compared with common cardiovascular function test instrument, the results shows that the system can better assess the cardiovascular function, expecially in several key indicators like subendocardial myocardial viability rate and augmentation index, the indicators show good correlations.

        0 引言

        嵌入式系統(tǒng)是一種數(shù)據(jù)處理速度快、控制精度高、集成度高的自動化控制系統(tǒng),具有工作效率高、專用性強、實時性好、生命周期長、功耗低等特點[1]。嵌入式系統(tǒng)已經(jīng)延伸到醫(yī)療器械的各個領(lǐng)域,如便攜式血壓計、生理檢測設(shè)備、監(jiān)護設(shè)備等。利用嵌入式系統(tǒng)進行醫(yī)療器械開發(fā),推動器械向低成本化、智能化、便攜化發(fā)展,診斷更加快速,結(jié)果更加可信[2-3]。

        心血管功能參數(shù)是心血管疾病診斷的重要依據(jù),而這些參數(shù)可以通過對實際采集的脈搏波波形特征分析得到[4-5]?,F(xiàn)有的心血管測試儀器,種類繁多,但是大多數(shù)體積比較大,功耗高,不適合隨身攜帶,因此設(shè)計一種低功耗、適合家用的便攜式心血管測試儀很有必要。

        本文設(shè)計的嵌入式心血管功能參數(shù)檢測系統(tǒng),直接使用微處理器的A/D模塊,采用Linux操作系統(tǒng),通過驅(qū)動程序?qū)崿F(xiàn)硬件和內(nèi)核的交互,并將驅(qū)動程序編譯進內(nèi)核,做到采集和處理一體化,不受時間和空間限制,解決了觸摸屏和外部A/D不能同時使用的矛盾,將傳感器采集到的脈搏波信號通過 LCD 實時動態(tài)顯示出來,并計算相應(yīng)的心血管功能參數(shù)。

        1 硬件電路

        系統(tǒng)的硬件電路主要包括觸摸屏、LCD、傳感器、網(wǎng)卡、存儲器、串口通信等模塊。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

        系統(tǒng)選用三星公司的S3C2440處理器,其采用ARM920T內(nèi)核,集成LCD專用DMA的LCD控制器,3路UART,8路10位ADC和觸摸屏接口,130個通用I/O口,24個外部中斷源,帶PLL片上時鐘發(fā)生器[6],主頻可以達到400 MHz,能夠達到數(shù)據(jù)處理的實時性要求,對于復(fù)雜的運算也能滿足,為后期硬件電路拓展預(yù)留了相當(dāng)大的空間。芯片內(nèi)部的內(nèi)存管理單元(MMU)模塊,提供虛擬地址到物理地址的映射,并提供硬件機制的內(nèi)存訪問權(quán)限檢查[7]。

        圖1 硬件框圖Fig.1 Block diagram of hardware

        脈搏傳感器選用合肥華科電子技術(shù)研究所生產(chǎn)的HK-2000B型脈搏波傳感器,其靈敏度高、抗干擾能力強、性能穩(wěn)定、使用壽命長,具備信號調(diào)理功能,直接輸出模擬脈搏波電壓信號[8]。傳感器使用3.5 mm的耳機接口與單板連接,隨插即用。觸摸屏作為輸入模塊,在使用之前需要校準(zhǔn)。執(zhí)行應(yīng)用程序時,會將代碼拷貝到同步動態(tài)隨機存儲器(SDRAM)空間執(zhí)行。網(wǎng)卡模塊主要作用是在調(diào)試階段,支持從網(wǎng)絡(luò)文件系統(tǒng)啟動,縮短開發(fā)周期。串口模塊輸出內(nèi)核啟動、u-boot啟動的一些基本信息,且可以通過串口發(fā)送命令,是u-boot移植時第一個需要移植的程序。

        2 軟件模塊

        軟件開發(fā)環(huán)境總共有3個:主機,虛擬機上Linux操作系統(tǒng)(稱為服務(wù)器)以及嵌入式系統(tǒng)(即S3C2440單板)。驅(qū)動程序采用C語言編寫,應(yīng)用程序采用C++語言開發(fā)。驅(qū)動程序在主機下的Sourceinsight環(huán)境中編寫,然后上傳到服務(wù)器進行交叉編譯,調(diào)試階段單板通過NFS掛載到服務(wù)器,裝載驅(qū)動程序,調(diào)試通過后,將驅(qū)動編譯進內(nèi)核。上位機程序依賴于服務(wù)器上Qt-creator開發(fā)環(huán)境,之前需編譯安裝QT庫。應(yīng)用程序和驅(qū)動程序的關(guān)系如圖2所示。

        應(yīng)用程序通過調(diào)用庫函數(shù),諸如:open、read、write等引發(fā)內(nèi)核異常(swi),從而進入內(nèi)核空間,內(nèi)核根據(jù)傳進來中斷類型的不同調(diào)用不同的系統(tǒng)函數(shù),然后根據(jù)打開設(shè)備文件描述符不同,調(diào)用不同的驅(qū)動程序,最終通過驅(qū)動程序操作硬件[7,9-10]。可見,驅(qū)動程序通過內(nèi)核完成了應(yīng)用程序和硬件的交互。

        2.1 驅(qū)動程序

        驅(qū)動程序相當(dāng)于“硬件和系統(tǒng)之間的橋梁”,給操作系統(tǒng)提供了硬件接口,其屏蔽了硬件細(xì)節(jié),應(yīng)用程序可以像操作普通文件一樣通過讀寫來控制底層硬件設(shè)備[11-12]。本文的兩驅(qū)動程序按照Linux操作系統(tǒng)下的字符設(shè)備類型設(shè)計。

        圖2 應(yīng)用程序和驅(qū)動程序關(guān)系Fig.2 The relationship between applications and drivers

        由于觸摸屏驅(qū)動程序和外部ADC驅(qū)動程序使用的是同一個A/D控制寄存器,但是在使用的時候寄存器的設(shè)置值不同,為了讓觸摸屏和外部ADC功能均能正常使用,故引入了原子操作。原子操作是以“原子”的方式執(zhí)行一次單獨的指令操作,該過程不會被其他的程序中斷,直到程序執(zhí)行結(jié)束[13]。原子操作包含3個基本步驟:定義互斥鎖、獲得互斥鎖與解鎖。圖3所示為驅(qū)動程序的開發(fā)流程。2.1.1 觸摸屏驅(qū)動程序

        圖3 驅(qū)動程序開發(fā)流程圖Fig.3 The fl ow chart of driver development

        S3C2440觸摸屏支持4種工作模式,通過設(shè)置寄存器 ADCTSC來實現(xiàn)不同模式的轉(zhuǎn)換。觸摸屏驅(qū)動的入口函數(shù)主要完成的工作有:分配一個結(jié)構(gòu)體,設(shè)置能夠產(chǎn)生哪類事件以及該類事件里面的哪些事件,對結(jié)構(gòu)體注冊,獲取ADC時鐘信號,建立虛擬地址和物理地址之間的映射,設(shè)置控制寄存器,開啟定時器,申請中斷函數(shù)等。中斷函數(shù)有3個:定時器中斷函數(shù),觸摸屏抬起按下中斷函數(shù)以及A/D轉(zhuǎn)換完成中斷函數(shù)。定時器中斷函數(shù)和觸摸屏抬起按下中斷函數(shù)均是通過觸摸屏抬起按下的狀態(tài)上報事件。在A/D轉(zhuǎn)換中斷函數(shù)里面,首先進行獲取互斥鎖的操作,獲取成功后再進行中斷函數(shù)的處理。A/D轉(zhuǎn)換完成中斷函數(shù)進入的條件是數(shù)據(jù)轉(zhuǎn)換完成,否則繼續(xù)測量。在該中斷函數(shù)里面,對數(shù)據(jù)采集進行了優(yōu)化,主要的措施包括:① 設(shè)置延時寄存器為最大值,這樣可以在電壓穩(wěn)定之后再上報事件;② 對于觸摸屏按下事件,若A/D轉(zhuǎn)換完成之后發(fā)現(xiàn)觸摸屏已經(jīng)松開,則丟棄此次結(jié)果;③ 連續(xù)測量4次,最后取平均值上報,相當(dāng)于一次軟件濾波過程。

        退出函數(shù)是對之前注冊的結(jié)構(gòu)體進行注銷,解除地址的映射關(guān)系,刪除定時器,釋放中斷向量等。入口函數(shù)和出口函數(shù)需要修飾,并加上“GPL”協(xié)議。2.1.2 外部ADC 驅(qū)動程序

        同觸摸屏驅(qū)動開發(fā)流程類似,在ADC驅(qū)動程序中,為了盡量少占用處理器資源,加入了阻塞操作,即執(zhí)行設(shè)備操作的時候,不能獲取資源時將進程掛起直到滿足可操作條件后再進行操作,被掛起的進程進入休眠狀態(tài),直到等待條件滿足[13]。在該驅(qū)動程序中,喚醒進程的方式有兩種,一種是休眠定時時間到達;一種是有事件發(fā)生產(chǎn)生中斷。喚醒過程通過信號量來實現(xiàn)。同時加入了mdev機制,它是busybox自帶的一個簡化的udev,在系統(tǒng)啟動、熱插拔或動態(tài)加載驅(qū)動程序時,自動創(chuàng)建設(shè)備節(jié)點。下面按應(yīng)用程序自上而下的調(diào)用過程來說明外部ADC驅(qū)動的實現(xiàn)過程。首先定義file_operation結(jié)構(gòu)體,將應(yīng)用層的實現(xiàn)函數(shù)同驅(qū)動層聯(lián)系起來:

        static struct fi le_operations adc_drv_fops =

        {

        .owner = THIS_MODULE,

        .open = adc_drv_open,

        .read = adc_drv_read,

        .release = adc_drv_release,

        };

        驅(qū)動程序調(diào)用流程見圖4。

        從圖4可以看出,在獲取互斥鎖之后,無論接下來的條件是否滿足,均需要解鎖,釋放資源供其它程序使用。

        2.2 基于QT的GUI

        GUI程序開發(fā)環(huán)境的搭建主要包含QT庫的移植和Qt-Creator的安裝。QT是Troolltech公司開發(fā)的一套開源圖形用戶界面庫,面向?qū)ο罂蚣埽庋b了端到端應(yīng)用程序開發(fā)所需的所有基礎(chǔ)結(jié)構(gòu),有優(yōu)良的跨平臺特性[14-15]。其提供的信號和槽的對象通信機制,使各控件之間的協(xié)同工作變得十分簡單。Qt-Creator是一個QT編程的跨平臺開發(fā)環(huán)境,包括C++代碼編輯器、集成的GUI外觀和版式設(shè)計器、圖像化調(diào)試器等等。應(yīng)用程序運行的GUI如圖5所示。

        圖5上部顯示實時的脈搏波波形,下部是計算出的指標(biāo),血壓值通過觸摸屏手動輸入。

        圖4 ADC驅(qū)動流程圖Fig.4 Flowchart of ADC driver

        圖5 應(yīng)用程序機界面Fig.5 Application interface

        應(yīng)用程序的功能是接收A/D值、進行波形的實時動態(tài)顯示及參數(shù)的計算等。主程序流程如圖6所示。

        圖6 主程序流程圖Fig.6 Flowchart of main program

        主程序流程中應(yīng)用程序不斷地讀取內(nèi)核空間驅(qū)動程序傳過來的數(shù)值。采集完成2 400個數(shù)據(jù)之后,進行數(shù)據(jù)處理,包括濾波、求平均波形、尋找特征點、計算指標(biāo)等[16-17]。

        首先對采集的信號進行預(yù)處理,主要包含SG濾波,然后通過一階導(dǎo)數(shù)找到差分信號極大值點,使用切線相交法找到起始點,消除基線漂移,相鄰起始點間的距離即為一個心動周期,按周期對波形進行疊加求平均波形,如圖7所示,此時可以得到平均周期T。

        圖7 平均脈搏波波形Fig.7 The average pulse wave form

        特征提取的過程即為確定圖中a,b,d,e,f幾個點的位置。首先通過切線相交法尋找起始點a,然后向后尋找峰值點b,其為整個心動周期的最大值點;反射點d在A類和B、C類波形有不同的處理方法,對于A類波形,使用四階導(dǎo)數(shù)的第一個由正到負(fù)的過零點來判斷,對于B、C類波形,使用四階導(dǎo)數(shù)的第二個由負(fù)到正的過零點來判斷。e點和f點分別使用二階導(dǎo)數(shù)的最大值點和過零點判斷。然后用肱動脈壓對上述波形進行標(biāo)定,使之成為一個有量綱的數(shù)值。

        在找到特征點之后,計算相應(yīng)的指標(biāo)。心率Hr= 60×T/fs(次/min),fs為采樣頻率,T為平均波形長度;左心負(fù)荷Spti和心肌灌注Dpti分別為e點左邊和右邊的面積,心肌活力率Sevr=Dpti/Spti;射血時間指數(shù)Ed為e點位置占整個周期的百分比;Pp為脈壓,是肱動脈收縮壓SBP和舒張壓DBP的差值;中心動脈收縮壓Sbp2為標(biāo)定的d點血壓值;增長指數(shù)AIx等于d點的脈壓值除以脈壓Pp。

        3 實驗結(jié)果

        在程序的調(diào)試過程中,系統(tǒng)通過NFS掛載到網(wǎng)絡(luò)文件系統(tǒng)啟動。調(diào)試通過之后,將驅(qū)動程序編譯進內(nèi)核,將觸摸屏和QT庫的配置文件寫進腳本,u-boot啟動內(nèi)核后直接啟動NAND FLASH上的根文件系統(tǒng),進行觸摸屏校準(zhǔn)后運行應(yīng)用程序。

        3.1 穩(wěn)定性試驗

        為了評估系統(tǒng)的穩(wěn)定性,選取一名健康成員(男性,25歲)作為受試者。測試在同一天8:30~11:30進行,以15 min為間隔,在脈搏波測量的同時,通過觸摸屏輸入血壓值。每次測量之前休息10 min,測量過程大約持續(xù)5 min,得到12組數(shù)據(jù),每組計算8個參數(shù)。對測量的結(jié)果進行統(tǒng)計學(xué)分析,Hr和AIx的散點圖分布如圖8所示,表1是穩(wěn)定性結(jié)果,可以看出相對標(biāo)準(zhǔn)誤差均在2%~8.5%之內(nèi),表明系統(tǒng)的穩(wěn)定性良好。

        圖8 Hr和AIx散點圖Fig.8 Scatterplot of Hrand AIx

        表1 穩(wěn)定性試驗Tab.1 Stability test

        表2 受試者的基本信息Tab. 2 Basic information of subjects

        3.2 可靠性試驗

        為了評估系統(tǒng)的可靠性,選取14名受試者作為研究對象,受試者的基本信息如表2所示。對照儀器采用合肥智能機械研究所自主研制的心血管功能測試儀(IIM-2010A)。整個實驗均在同一環(huán)境下進行。受試者靜息10 min之后,首先使用IIM-2010A測量,然后靜息10 min,在嵌入式系統(tǒng)中測試一次,測試過程中通過觸摸屏輸入IIM-2010A測得的血壓值。測試完成之后,用SPSS軟件對數(shù)據(jù)進行Spearman相關(guān)性分析,顯著水平設(shè)置為0.01。得到該系統(tǒng)與IIM-2010A的對照結(jié)果如表3所示,可以看出,Sevr、AIx等幾個關(guān)鍵性指標(biāo)同對照儀器具有良好的相關(guān)性。對Sevr指標(biāo)進行Bland-Altman分析結(jié)果如圖9所示,一致性范圍在-0.26~0.28。

        表3 對照實驗Tab.3 Control experiment

        圖9 Sevr一致性分析Fig.9 The agreement of Sevr

        4 結(jié)論

        本文基于ARM處理器和Linux操作平臺,設(shè)計了一套心血管功能評估系統(tǒng)。結(jié)果表明,該系統(tǒng)穩(wěn)定性好,可靠性高。與同類型的儀器比較,具有功耗低、方便攜帶、成本低等優(yōu)點。在接下來的研究中,基于處理器強大的拓展能力,計劃增加血壓測量模塊、無線傳輸模塊和智能專家系統(tǒng),這樣在每次測量完成之后,系統(tǒng)能夠自動分析心血管的狀態(tài),給出建議或處方,并能將數(shù)據(jù)通過無線模塊上傳到服務(wù)器存儲。

        [1] 張啟鳳, 尹婉. 嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用研究[J]. 信息通信, 2014(1): 88.

        [2] 李震. 嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用[J]. 中國醫(yī)療器械信息, 2013(2): 16-21.

        [3] 馬琳. 嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用[J]. 山東工業(yè)技術(shù), 2016(8): 224.

        [4] 呂文杰, 王麗珍, 李淑宇, 等. 基于脈搏波的心血管檢測方法及儀器綜述[J]. 中國醫(yī)療器械信息, 2015(8): 51-54.

        [5] 張永亮. 基于橈動脈波形分析的心血管功能評估方法研究[D].合肥: 中國科學(xué)技術(shù)大學(xué), 2012.

        [6] S3C2440A_UserManual_Rev13[EB/OL]. (2013-03-15)[2016-07-15]. http://www.docin.com/p-614920365. html.

        [7] 韋東山. 嵌入式linux完全開發(fā)手冊[M]. 北京: 人民郵電出版社, 2008.

        [8] HK-2000脈搏波傳感器使用說明書[EB/OL]. (2011-08-15)[2016-07-15]. http://wenku.baidu.com/view/8d2721da7f1922791688e845. html.

        [9] Dong Z, Chen S Z , Wei Z H. The S3C2440's camera interface driver development based on embedded Linux[C]. AMSITI, 2014: 1975-1979.

        [10] 趙炯. Linux內(nèi)核完全注釋[M]. 北京: 機械工業(yè)出版社, 2004.

        [11] 朱兆祺, 李強, 袁晉蓉. 嵌入式Linux開發(fā)實用教程[M]. 北京: 人民郵電出版社, 2014.

        [12] 馮國進. 嵌入式Linux 驅(qū)動程序設(shè)計從入門到精通[M]. 北京: 清華大學(xué)出版社, 2008.

        [13] (美) BOVET D P, Cesati M. 深入理解Linux內(nèi)核[M]. 陳莉君, 馮銳, 牛欣源, 譯. 北京: 中國電力出版社, 2001.

        [14] 吳迪. 零基礎(chǔ)學(xué)QT4編程[M]. 北京: 北京航空航天大學(xué)出版社, 2010.

        [15] 倪繼利. QT及Linux操作系統(tǒng)設(shè)計[M]. 北京: 電子工業(yè)出版社, 2005.

        [16] 鄭瑩瑩. 基于橈動脈波形分析的動脈硬化評估指標(biāo)研究[D]. 合肥: 中國科學(xué)技術(shù)大學(xué), 2011.

        [17] Nenova B, Iliev I. An automated algorithm for fast pulse wave detection[J]. Int J Bioantomat, 2010, 14(3): 203-216.

        ARM-based Embedded Detection System of Cardiovascular Function Parameters

        pulse wave, embedded system, driver, QT/Embedded

        R318.6

        A

        10.3969/j.issn.1671-7104.2017.02.001

        1671-7104(2017)02-0079-05

        2016-08-08

        國家自然科學(xué)基金(61301059);中國科學(xué)院科技服務(wù)網(wǎng)絡(luò)計劃(KFJ-SW-STS-161);安徽省科技重大專項計劃項目(15czz02019)

        彭文超,E-mail: pwench@mail.ustc.edu.cn

        張永亮,副研究員,E-mail: ylzhang@iim.ac.cn

        猜你喜歡
        嵌入式系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        搭建基于Qt的嵌入式開發(fā)平臺
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        欧洲亚洲第一区久久久| 人妻 偷拍 无码 中文字幕| 国产精品亚洲欧美大片在线看| 玩弄放荡人妻一区二区三区| 午夜无码熟熟妇丰满人妻| 狠狠综合久久av一区二区三区| 18禁免费无码无遮挡不卡网站 | 久久久精品人妻一区二区三区| 午夜亚洲av日韩av无码大全| 伊人久久五月丁香综合中文亚洲 | 日本频道一区二区三区| 成人丝袜激情一区二区| 日韩免费无码一区二区三区| 国产成人8x视频网站入口| 久久久精品久久久国产| 国产精品久久久福利| 伊人狠狠色丁香婷婷综合| 免费国产一级特黄aa大片在线| 精品中文字幕久久久人妻 | 毛片无码国产| 国产在线一区观看| 国产av一区二区三区国产福利| 国产自拍精品视频免费| 西西大胆午夜人体视频| 亚洲熟女网站| 男女后入式在线观看视频| 亚洲国产成人精品无码区在线播放| 好大好深好猛好爽视频免费| 日本一区二区三区中文字幕最新| 女优av性天堂网男人天堂| 熟妇熟女乱妇乱女网站| 国内少妇人妻丰满av| 成人综合亚洲国产成人| 按摩偷拍一区二区三区| 无码人妻丰满熟妇啪啪网不卡| 无码精品人妻一区二区三区av| 手机看片久久国产免费| 日本岛国一区二区三区| 亚洲av成人综合网成人| 中文字幕人妻丝袜乱一区三区| 国内精品久久久久久久久蜜桃|