黃熠園,胡方明,任愛(ài)鋒,姚為駿
(西安電子科技大學(xué) 電子工程學(xué)院,陜西 西安 710071)
心臟是人體血液循環(huán)的動(dòng)力裝置,心臟波動(dòng)是生命存在的標(biāo)志,心臟節(jié)律是人體生理狀態(tài)的重要標(biāo)志。當(dāng)今心血管疾病已成為發(fā)病率極高的常見(jiàn)病之一,極大威脅人們的生命[1]。設(shè)計(jì)一種性能可靠、價(jià)格低廉、體積較小的心電采集與遠(yuǎn)程傳輸系統(tǒng)對(duì)心血管疾病的檢測(cè)和預(yù)防具有重要意義。本系統(tǒng)采用FPGA實(shí)現(xiàn)心電信號(hào)采集的硬件系統(tǒng),采用LabVIEW開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)對(duì)心電信號(hào)的處理,包括利用DataSocket技術(shù)實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)系統(tǒng)。該系統(tǒng)將心電監(jiān)測(cè)從病床、醫(yī)院擴(kuò)展到社區(qū)、家庭實(shí)施遠(yuǎn)程監(jiān)護(hù),對(duì)于解決醫(yī)療資源分布不平衡、減少病人轉(zhuǎn)診費(fèi)用支出和勞累之苦等都具有重要意義。
整個(gè)系統(tǒng)由心電信號(hào)采集、心電信號(hào)串口傳輸、心電信號(hào)處理等3部分構(gòu)成。其結(jié)構(gòu)框圖如圖1所示。前端硬件設(shè)計(jì)首先采集心電信號(hào),通過(guò)串口將該心電信號(hào)傳入計(jì)算機(jī),然后在LabVIEW軟件系統(tǒng)下對(duì)其處理。
圖1 系統(tǒng)結(jié)構(gòu)框圖
該系統(tǒng)硬件是指由FPGA控制心電信號(hào)的采集、片外存儲(chǔ),以及串口傳輸模塊,前端采用標(biāo)準(zhǔn)導(dǎo)聯(lián)采集人體的心電信號(hào),通過(guò)電路板的信號(hào)調(diào)理電路后送入A/D轉(zhuǎn)換器,利用硬件描述語(yǔ)言(VHDL)在FPGA中設(shè)計(jì)A/D采樣控制器,片外存儲(chǔ)(SRAM)控制器和串口通信控制器分別控制信號(hào)通過(guò)A/D轉(zhuǎn)換,存儲(chǔ)到片外SRAM中并通過(guò)串口傳入計(jì)算機(jī),存儲(chǔ)到片外SRAM中,以便在網(wǎng)絡(luò)臨時(shí)出現(xiàn)故障一次未發(fā)送成功的情況下,重新發(fā)送數(shù)據(jù)。圖2為該系統(tǒng)硬件結(jié)構(gòu)框圖。
圖2 系統(tǒng)硬件結(jié)構(gòu)框圖
獲取心電圖的方法是依靠與肢體接觸的電極,稱為“導(dǎo)聯(lián)”。本系統(tǒng)通過(guò)前端電極、引入人體標(biāo)準(zhǔn)導(dǎo)聯(lián)心電信號(hào),對(duì)心電信號(hào)進(jìn)行必要的放大和去除干擾。而同時(shí)引入的心電信號(hào)要經(jīng)信號(hào)調(diào)理電路放大和濾波后才能對(duì)其A/D轉(zhuǎn)換,信號(hào)調(diào)理電路如圖3所示。其中右腿驅(qū)動(dòng)技術(shù)對(duì)抑制交流信號(hào)干擾效果較好。前置放大器放大輸入電路微弱的(變化緩慢的)心電信號(hào),同時(shí)將干擾信號(hào)降至最低。系統(tǒng)設(shè)計(jì)的通帶頻率為0.05~100 Hz的帶通濾波電路,將心電信號(hào)的有用成分從采集到的信號(hào)中分離出[2]。輸出放大器將進(jìn)一步放大心電信號(hào),這樣可使信號(hào)調(diào)理電路輸出的心電信號(hào)滿足本系統(tǒng)采用的A/D轉(zhuǎn)換模塊的刻度范圍。由于心電信號(hào)易受市電50 Hz工頻干擾,因此這里采用陷波電路,即帶阻濾波器,濾除干擾。最后將處理后的心電信號(hào)送入A/D轉(zhuǎn)換器的輸入端。本系統(tǒng)設(shè)計(jì)的心電信號(hào)采集板為單通道采集板,適用于眾多心臟疾病患者。
圖3 信號(hào)調(diào)理電路
LabVIEW是NI公司推出的專業(yè)測(cè)試軟件開(kāi)發(fā)平臺(tái),其特點(diǎn)是圖形化編程環(huán)境,軟件設(shè)計(jì)和功能設(shè)計(jì)相互獨(dú)立,網(wǎng)絡(luò)功能強(qiáng)大,支持多種常用網(wǎng)絡(luò)協(xié)議,開(kāi)放性強(qiáng)等。LabVIEW軟件是圖形化編程環(huán)境的引領(lǐng)者,使用該軟件進(jìn)行原理研究、設(shè)計(jì)、測(cè)試并實(shí)現(xiàn)儀器系統(tǒng),可大大提高工作效率[3]。
1.2.1 串口通信
虛擬儀器軟件結(jié)構(gòu)體系VISA(Virtual Instrument Software Architecture)實(shí)質(zhì)上是I/O接口軟件庫(kù)及其規(guī)范的總稱,是VXIplug&play體系聯(lián)盟統(tǒng)一采用的標(biāo)準(zhǔn)[4]。VISA是在LabVIEW 開(kāi)發(fā)平臺(tái)上控制 VXI、GPIB、RS232、PXI、PCI以及其他種類儀器的單接口程序庫(kù),是對(duì)其他總線驅(qū)動(dòng)函數(shù)進(jìn)行的一個(gè)統(tǒng)一封裝的高級(jí)API,通過(guò)VISA可直接訪問(wèn)測(cè)試硬件設(shè)備。
LabVIEW中用于串口通信的節(jié)點(diǎn)實(shí)際上是VISA節(jié)點(diǎn),VISA節(jié)點(diǎn)單獨(dú)組成一個(gè)子選板,包括8個(gè)節(jié)點(diǎn),位于函數(shù)選板→“數(shù)據(jù)通信”→“協(xié)議”→“串口”子選板中,實(shí)現(xiàn)串口的配置、讀寫(xiě)、串口中斷、設(shè)置I/O緩沖區(qū)大小、清空I/O緩沖區(qū)等操作。但需注意的是在使用串口前,應(yīng)安裝VISA驅(qū)動(dòng)軟件。
1.2.2 心電波形的顯示和存儲(chǔ)
波形顯示是指將接收到的心電數(shù)據(jù)繪制連續(xù)波形,以供專家分析。LabVIEW中基本的圖形顯示控件都位于Controls→ALL Controls→Graph子模板上。Graph和 Chart是LabVIEW圖形顯示功能中的2種最基本元素。這2個(gè)元素都可稱為“圖”,但是在LabVIEW中它們卻有很大差別。一般來(lái)說(shuō),Chart稱為“記錄圖”,它是將數(shù)據(jù)在坐標(biāo)系中實(shí)時(shí)、逐點(diǎn)(或一次多個(gè)點(diǎn))顯示,反映被測(cè)物理量的變化趨勢(shì),與傳統(tǒng)的模擬示波器、波形記錄儀的顯示方式相仿。Graph則是對(duì)已采集數(shù)據(jù)進(jìn)行事后處理,在先得到所有需要顯示的數(shù)據(jù),然后根據(jù)實(shí)際要求將這些數(shù)據(jù)組織成所需的圖形,并一次性顯示[5]。因此本系統(tǒng)選用Chart實(shí)時(shí)顯示,Graph波形回放。
采用信號(hào)的時(shí)間和瞬態(tài)特性測(cè)量Express VI測(cè)量信號(hào)的周期和頻率。使用寫(xiě)入測(cè)量文件可將數(shù)據(jù)存放在文本文件中,需要回放時(shí),使用讀取測(cè)量文件回放數(shù)據(jù)。這樣可實(shí)現(xiàn)心電信號(hào)的實(shí)時(shí)顯示、存儲(chǔ)、回放、打印等功能,還可進(jìn)一步建立數(shù)據(jù)庫(kù)。測(cè)試界面如圖4所示。
圖4 心電圖測(cè)試界面
1.2.3 心率計(jì)算及報(bào)警
LabVIEW具有較為強(qiáng)大的信號(hào)處理能力,由于心率測(cè)量反映心率的快慢,因此實(shí)時(shí)準(zhǔn)確的心率檢測(cè)在病人監(jiān)控、臨床治療等方面具有廣泛應(yīng)用。
本系統(tǒng)首先將心電信號(hào)轉(zhuǎn)換為同周期的方波信號(hào),通過(guò)求解方波信號(hào)的周期獲得心電信號(hào)的周期,即利用LabVIEW提供的數(shù)組功能模塊檢索心電信號(hào)中相鄰2個(gè)采樣點(diǎn)的數(shù)據(jù),將其相減后乘以采樣頻率,這樣就轉(zhuǎn)換成導(dǎo)數(shù)值構(gòu)成的數(shù)組。設(shè)置閾值并與數(shù)組內(nèi)導(dǎo)數(shù)相比較;若大于閾值則輸出高電平;反之,則輸出低電平,從而得到一系列方波,這樣就可測(cè)出R波,2個(gè)相鄰R波間的時(shí)間為心率周期,再將其轉(zhuǎn)換為每分鐘的心跳數(shù)。通常人的心率在50~150次/min,因此,可設(shè)置心率的上下限,當(dāng)心率超過(guò)該范圍時(shí),指示燈點(diǎn)亮,表示病人有生命危險(xiǎn)。
1.2.4 心電信號(hào)的遠(yuǎn)程傳輸
LabVIEW可提供TCP、瀏覽器、RDA和DataSocket等通信方式。其中,DataSocket是NI公司推出的一項(xiàng)基于TCP/IP協(xié)議的新技術(shù),該技術(shù)是面向測(cè)量和網(wǎng)上實(shí)時(shí)高速數(shù)據(jù)交換,用于一個(gè)計(jì)算機(jī)內(nèi)或者網(wǎng)絡(luò)中多個(gè)應(yīng)用程序之間數(shù)據(jù)交換[6]。雖然目前已有TCP/IP、DDE多種用于兩個(gè)應(yīng)用程序之間按共享數(shù)據(jù)的技術(shù),但是這些技術(shù)都不是用于實(shí)時(shí)數(shù)據(jù)(Live Data)傳輸?shù)?。只有DataSocket是一項(xiàng)在測(cè)量和自動(dòng)化應(yīng)用中用于共享和發(fā)布實(shí)時(shí)數(shù)據(jù)的技術(shù)。
DataSocket實(shí)現(xiàn)的是數(shù)據(jù)通信,而將復(fù)雜的數(shù)據(jù)處理及顯示留給客戶端自行完成,網(wǎng)絡(luò)只負(fù)責(zé)傳遞數(shù)據(jù)(包括控制命令),最后形成測(cè)試系統(tǒng)是一個(gè)C/S模式的系統(tǒng)。這樣網(wǎng)絡(luò)資源消耗少,通信速度快,適合實(shí)時(shí)性要求高、數(shù)據(jù)量比較大的遠(yuǎn)程測(cè)控[3]。
DataSocket的工作方式如圖5所示。DataSocket Publisher和Datasocket Subscriber是DataSocket Server的客戶端,通過(guò)DataSocket Servert進(jìn)行數(shù)據(jù)共享和交換,三者可運(yùn)行在同一臺(tái)機(jī)器或3臺(tái)單獨(dú)機(jī)器上(視具體情況而定)。將服務(wù)器與發(fā)布器和訂閱器分離,以提高系統(tǒng)的安全性和可靠性。
圖5 DataSocket工作方式
DataSocket基本體系由協(xié)同工作的3個(gè)部分構(gòu)成:服務(wù)器管理 (DataSocket Server Manager)、 服務(wù)器端(DataSocket Server) 和客戶端(DataSocket API)。同時(shí)還包括 Dstp(DataSocket Transfer Protocol)協(xié)議、通用資源定位符URL(Uniform Resour DataSocket Server Managerce Locator)和文件格式等規(guī)程。
DataSocket對(duì)外提供的資源定位接口和功能調(diào)用接口,通過(guò)URL方式訪問(wèn)服務(wù)器中的數(shù)據(jù)項(xiàng),讀數(shù)據(jù)時(shí)為源地址,寫(xiě)地址是為宿地址。在URL中表明數(shù)據(jù)的傳輸協(xié)議、網(wǎng)絡(luò)計(jì)算機(jī)標(biāo)志和數(shù)據(jù)緩沖區(qū)變量,如圖6所示。
圖6 URL構(gòu)成
DataSocket支持多種數(shù)據(jù)傳輸協(xié)議,不同的URL前綴表示了不同的協(xié)議或數(shù)據(jù)類型。如“dstp://HYY/data”,其中 HYY為服務(wù)器名稱,data為數(shù)據(jù)項(xiàng)的名稱。由此可見(jiàn),DataSocket簡(jiǎn)化了應(yīng)用程序之間、計(jì)算機(jī)之間的網(wǎng)絡(luò)數(shù)據(jù)傳輸,簡(jiǎn)化程序通信,提高編程效率。
該系統(tǒng)可應(yīng)用于醫(yī)院內(nèi)外的心臟病人,系統(tǒng)硬件電路模塊通過(guò)串口與PC機(jī)或便攜式計(jì)算機(jī)相連,顯示、存儲(chǔ)、分析、打印和遠(yuǎn)程傳輸心電數(shù)據(jù),醫(yī)生根據(jù)傳輸?shù)男碾姅?shù)據(jù)及時(shí)診斷心臟病人的病情。而軟件設(shè)計(jì)部分實(shí)現(xiàn)遠(yuǎn)程傳輸時(shí)應(yīng)注意:數(shù)據(jù)傳輸之前要分別在服務(wù)器與客戶機(jī)上啟動(dòng)DataSocket Server,建立連接,規(guī)定URL和控件連接方式,進(jìn)而發(fā)送和讀取數(shù)據(jù)。
本系統(tǒng)不同于傳統(tǒng)的心電監(jiān)測(cè)系統(tǒng)之處在于采用軟件編程實(shí)現(xiàn)心電監(jiān)測(cè)系統(tǒng)功能,以便于系統(tǒng)功能擴(kuò)展。經(jīng)實(shí)驗(yàn)測(cè)試,數(shù)據(jù)顯示和遠(yuǎn)程通信未出現(xiàn)失真,達(dá)到了預(yù)期效果。利用DataSocket通信技術(shù)實(shí)現(xiàn)心電數(shù)據(jù)的遠(yuǎn)程通信,網(wǎng)絡(luò)資源利用率高,傳輸數(shù)據(jù)量大,并且在服務(wù)器處理能力足夠強(qiáng)的情況下,可服務(wù)多個(gè)被監(jiān)測(cè)病人。被監(jiān)測(cè)病人可位于醫(yī)院或醫(yī)院外(比如家庭、辦公室、戶外等),只要有PC機(jī)或便攜式計(jì)算機(jī)及網(wǎng)絡(luò)都可實(shí)現(xiàn)心電實(shí)時(shí)監(jiān)測(cè)??梢?jiàn),該系統(tǒng)具有強(qiáng)大功能和低成本的特點(diǎn)為眾多心臟病患者提供方便,增強(qiáng)醫(yī)療服務(wù)系統(tǒng),具有較高的社會(huì)使用價(jià)值和市場(chǎng)前景。
[1]鄭曉婉,呂云朋.馬金中.基于MSP430F1611的便攜式12導(dǎo)心電采集系統(tǒng)的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009,17(4):12-14.
[2]孫肖子,任愛(ài)鋒,徐少瑩,等.現(xiàn)代電子線路和技術(shù)實(shí)驗(yàn)簡(jiǎn)明教程[M].北京:高等教育出版社,2009.
[3]戴鵬飛,王勝開(kāi),王格芳,等.測(cè)試工程與 LabVIEW應(yīng)用[M].北京:電子工業(yè)出版社,2006.
[4]陳真誠(chéng),陳曉俐.基于虛擬儀器的遠(yuǎn)程心電監(jiān)護(hù)系統(tǒng)的研制[J].醫(yī)療衛(wèi)生裝備,2009,30(4):19-21.
[5]侯國(guó)屏,王 坤,葉齊鑫.LabVIEW7.1編程與虛擬儀器設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.
[6]胡仁喜 ,王恒海,齊東明,等.LabVIEW8.2.1虛擬儀器實(shí)例指導(dǎo)教程[M].北京:機(jī)械工業(yè)出版社,2007.