《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于FPGA的實(shí)時(shí)心電監(jiān)護(hù)系統(tǒng)設(shè)計(jì)

基于FPGA的實(shí)時(shí)心電監(jiān)護(hù)系統(tǒng)設(shè)計(jì)

2008-07-07
作者:楊永明, 韋建敏, 劉俊剛, 黃

??? 摘 要: 介紹了一種基于現(xiàn)場可編程門陣列(FPGA)的實(shí)時(shí)心電" title="心電">心電監(jiān)護(hù)系統(tǒng)。該系統(tǒng)采用FPGA為中央數(shù)字處理器,采用硬件描述語言(VHDL)進(jìn)行結(jié)構(gòu)化設(shè)計(jì),實(shí)現(xiàn)了心電信號(ECG)的實(shí)時(shí)采集、處理和傳送。同時(shí)還在芯片內(nèi)集成了數(shù)字濾波和數(shù)據(jù)壓縮存儲算法,實(shí)現(xiàn)心電信號的實(shí)時(shí)處理和壓縮。
??? 關(guān)鍵詞: FPGA? 心電信號? 實(shí)時(shí)監(jiān)護(hù)

?

??? 近年來隨著數(shù)字信號處理技術(shù)的發(fā)展,心電監(jiān)護(hù)系統(tǒng)得到了較快的發(fā)展。但是現(xiàn)有的監(jiān)護(hù)系統(tǒng)多采用單片機(jī)作為中央處理器,不但處理速度慢,而且功耗和體積大,實(shí)時(shí)性差。針對便攜式心電監(jiān)護(hù)系統(tǒng)需滿足的處理速度快、功耗低和微型化等要求,本系統(tǒng)選擇了FGPA為中央處理器,進(jìn)行心電數(shù)據(jù)的采集和處理,使系統(tǒng)具有實(shí)時(shí)采集、處理、存儲以及發(fā)送心電數(shù)據(jù)等功能。
1 系統(tǒng)硬件組成
??? 系統(tǒng)的硬件部分以XILINX的低成本型SpartanTM-3器件XC3S400-4TQ144C[1]為核心,主要包括ECG信號濾波放大電路、QRS波檢測電路、FPGA控制系統(tǒng)等。其硬件構(gòu)成如圖1所示。

?????????????????????
1.1 濾波放大電路
??? 濾波放大電路的作用是從噪聲中提取心電信號,并把它放大到合適的電平以提供給A/D" title="A/D">A/D轉(zhuǎn)換電路。
??? 前置放大電路選用儀表放大器AD620,放大倍數(shù)為11。主放大電路和后置放大電路放大倍數(shù)分別設(shè)計(jì)為50、1~3。整個(gè)電路放大倍數(shù)為550~1650連續(xù)可調(diào)。
??? 高通濾波器采用無源RC濾波器;采用運(yùn)放TLC2254設(shè)計(jì)了由4個(gè)二階壓控電壓源(VCVS)低通濾波器級聯(lián)構(gòu)成的八階低通濾波器。
1.2? A/D轉(zhuǎn)換電路
??? 本系統(tǒng)對心電信號進(jìn)行數(shù)字化處理的分辨率為12位。FPGA擁有豐富的I/O口,所以選擇轉(zhuǎn)換方式為并行,采樣頻率為1kHz。本系統(tǒng)對A/D的速度、精度都沒有特殊要求,需考慮的主要是體積、低供電電壓和功耗。經(jīng)比較最終選用了MAXIM公司的并行接口A/D轉(zhuǎn)換器MAX1297。將其并行接口以及控制信號" title="控制信號">控制信號與FPGA相連,由FPGA提供芯片所要求的轉(zhuǎn)換時(shí)鐘以及控制信號。
1.3 R波檢測電路
??? R波的檢測分為硬件和軟件檢測。相對于軟件實(shí)現(xiàn)來說,采用硬件實(shí)現(xiàn)R波檢測具有速度快、實(shí)時(shí)性好、結(jié)構(gòu)簡單的優(yōu)點(diǎn)。系統(tǒng)中,R波檢測電路由跟隨器、QRS濾波器、整波電路、峰值保持電路和比較器組成[2]。預(yù)處理后的心電信號經(jīng)R波檢測電路被轉(zhuǎn)換為方波信號,再輸入FPGA進(jìn)行處理。
2 FPGA實(shí)現(xiàn)的主要功能
??? 如圖2所示,F(xiàn)PGA 內(nèi)部主要有A/D控制模塊、SRAM控制模塊、FIR濾波模塊、心電數(shù)據(jù)壓縮模塊、時(shí)鐘產(chǎn)生模塊和串口通信模塊。

?????????????????????
2.1 A/D控制
??? 由于選用的A/D芯片為雙通道,所以內(nèi)部模塊也按照兩通道來設(shè)計(jì),分別為outdata1和outdata2,數(shù)據(jù)為12位,CLK端口接外部時(shí)鐘接口,該模塊內(nèi)部嵌入了時(shí)鐘產(chǎn)生模塊,輸入50MHz信號,輸出ad_clk信號為400kHz,占空比為50%。在本模塊中每400個(gè)周期對CH0和CH1通道分別取一個(gè)點(diǎn),輸出到outdata1和outdata2,采樣率為400kHz/400=1kHz。該模塊的頂層圖和功能仿真如圖3所示。

??????????????????????
2.2 數(shù)字濾波
??? 為了進(jìn)一步濾除因前置處理電路而加重的工頻干擾,本系統(tǒng)集成了分布式FIR數(shù)字濾波器[3]。
2.3 SRAM 控制
??? 系統(tǒng)中配置的是256K×16bit的SRAM、18位地址線、16位數(shù)據(jù)線,CS、OE和WE分別作為SRAM的片選信號、讀使能和寫使能信號,這三個(gè)信號均為低電平有效,由UB和LB分別控制每次讀寫的是高字節(jié)還是低字節(jié)。本文依據(jù)該芯片的功能在FPGA內(nèi)部設(shè)計(jì)了SRAM控制模塊,其頂層圖如圖4所示。

????????????????????????
??? 該模塊中的控制信號有ram_ce、ram_full、ram_lb、ram_oe、ram_ub、ram_we。其中ram_ce用于給SRAM芯片提供片選信號,ram_full用于標(biāo)示SRAM存儲器中的空間,ram_oe信號用于給外部SRAM芯片輸出使能信號;ram_we用于給外部SRAM芯片讀寫控制信號;外部SRAM芯片的I/O0-I/O15為16位數(shù)據(jù)線,模塊中用兩個(gè)信號ram_ub和ram_lb分別控制其高字節(jié)和低字節(jié)。
??? 該模塊中用到的時(shí)鐘信號有兩個(gè),一個(gè)是SRAM寫時(shí)鐘ram_wclk,一個(gè)是SRAM讀時(shí)鐘ram_rclk,這兩個(gè)時(shí)鐘均由時(shí)鐘產(chǎn)生模塊生成。因?yàn)镾RAM的寫入數(shù)據(jù)是A/D轉(zhuǎn)換后的數(shù)據(jù),所以ram_wclk寫時(shí)鐘應(yīng)該與AD的數(shù)據(jù)頻率一致為1kHz。從SRAM讀數(shù)據(jù)時(shí),是讀給后面的心電數(shù)據(jù)壓縮模塊處理,系統(tǒng)中的心電數(shù)據(jù)處理模塊的時(shí)鐘為50MHz,所以讀數(shù)據(jù)時(shí),采用50MHz,這樣可以最大限度地提高系統(tǒng)的實(shí)時(shí)性。
??? 模塊中有兩個(gè)地址信號: dsp_addr<17:0>和ram_addr<17:0>。dsp_addr<17:0>來自心電數(shù)據(jù)壓縮模塊,ram_addr<17:0>是用于給外部SRAM芯片地址信號。
??? 該模塊的數(shù)據(jù)信號有三個(gè):ad_wdata<11:0>、dsp_rdata<11:0>和ram_data<11:0>。這三個(gè)數(shù)據(jù)信號分別與前面的AD轉(zhuǎn)換模塊、后面的心電數(shù)據(jù)壓縮模塊及FPGA外部的SRAM芯片連接。
2.4?心電數(shù)據(jù)的壓縮和通信
??? 為了能實(shí)時(shí)存儲和傳送足夠長的有用信號,對采集的ECG信號必須采取一定的壓縮處理,為此該系統(tǒng)還集成了LADT數(shù)據(jù)壓縮算法模塊[3]。LADT模塊的輸入端口有三個(gè),分別為數(shù)據(jù)輸入端口dsp_data_in<11:0>、系統(tǒng)時(shí)鐘端口dsp_clk和全局停止信號rst;輸出端口有兩個(gè):數(shù)據(jù)輸出端口dsp_data_out<11:0>和送給SRAM的地址信號dsp_addr<17:0>。該模塊的頂層圖和仿真結(jié)果如圖5所示。

????????????????????????????
??? 依據(jù)UART的通信原理在FPGA內(nèi)部設(shè)計(jì)了異步通信模塊,用于最終將實(shí)時(shí)壓縮處理后的數(shù)據(jù)上傳給上位機(jī)處理。異步通信模塊的幀格式是8位數(shù)據(jù)位,一個(gè)起止位,一個(gè)停止位。其中波特率為可調(diào),由時(shí)鐘發(fā)生模塊給予時(shí)鐘信號。
??? 發(fā)送模塊" title="發(fā)送模塊">發(fā)送模塊中,din<7:0>為并行數(shù)據(jù)輸入;clk16×為時(shí)鐘信號,由時(shí)鐘產(chǎn)生模塊給予,在時(shí)鐘發(fā)送模塊中該時(shí)鐘信號可調(diào);rst為復(fù)位信號(復(fù)位信號“1”);wrn為數(shù)據(jù)傳輸控制信號(信號為下降沿時(shí),讀入數(shù)據(jù));sdo為串行數(shù)據(jù)" title="串行數(shù)據(jù)">串行數(shù)據(jù)輸出。并串轉(zhuǎn)換后,在傳送之前加一位起止位、停止位后,再通過對發(fā)送模塊其他一些控制信號的編寫,就完成了整個(gè)發(fā)送模塊的設(shè)計(jì)。該模塊的頂層圖和仿真結(jié)果如圖6所示。

????????????????????????????
??? 當(dāng)系統(tǒng)接收到上位機(jī)通過串行通信接口發(fā)送來的串行數(shù)據(jù)時(shí),要將其轉(zhuǎn)化為FPGA內(nèi)部使用的并行數(shù)據(jù),所以接收模塊的主要作用是用于串-并轉(zhuǎn)換。接收模塊中,clk16×為時(shí)鐘控制信號;rst為復(fù)位信號(當(dāng)rst為“1”時(shí),所有工作信號復(fù)位);rxd為串口發(fā)送來的串行數(shù)據(jù);dout<7:0>為經(jīng)接收模塊進(jìn)行轉(zhuǎn)換后輸出的并行數(shù)據(jù);framing_error為幀錯(cuò)誤信號。程序的主體思想是:首先將接收到的串行數(shù)據(jù)逐位地放入移位寄存器rsr中,當(dāng)8位數(shù)據(jù)放滿后輸出給緩存rbr,并暫時(shí)保存在那里;當(dāng)收到發(fā)送信號時(shí)再將8位的并行信號輸出(這個(gè)過程實(shí)際上是發(fā)送模塊的逆過程,是將串行數(shù)據(jù)變?yōu)椴⑿袛?shù)據(jù),實(shí)現(xiàn)串并轉(zhuǎn)換);再通過對接收模塊其他一些控制信號的編寫,就完成了整個(gè)接收模塊的設(shè)計(jì)。該模塊的頂層圖和仿真結(jié)果如圖7所示。
????????????????????????????????

??? 一個(gè)完整的串口通信應(yīng)該有其協(xié)議,也就是說往往是上位機(jī)應(yīng)先給下位機(jī)發(fā)送一個(gè)控制信號后,發(fā)送模塊才工作,即兩個(gè)模塊應(yīng)該協(xié)同工作,所以本文將這兩個(gè)模塊連接到了一起,并加入一些控制信號,從而設(shè)計(jì)出串口通信模塊。模塊中的rxd用來接收上位機(jī)的數(shù)據(jù),并判斷數(shù)據(jù)是“AA”或者“55”,“AA”表示開始接收數(shù)據(jù),“55”表示停止接收數(shù)據(jù)。
2.5 時(shí)鐘模塊
??? 時(shí)鐘模塊產(chǎn)生其他所有模塊工作所需的時(shí)鐘,時(shí)鐘脈沖是控制信號以及系統(tǒng)能協(xié)調(diào)工作的基礎(chǔ)。根據(jù)前面幾個(gè)模塊的時(shí)鐘需求,設(shè)計(jì)了時(shí)鐘產(chǎn)生模塊。模塊輸入時(shí)鐘為clk,其頻率為50MHz,由外部有源晶振連接FPGA的全局時(shí)鐘管腳GCLK0提供。其余輸出時(shí)鐘為提供給幾個(gè)模塊的時(shí)鐘信號,其中ad_clk是送給A/D轉(zhuǎn)換模塊的時(shí)鐘,da_clk送給D/A轉(zhuǎn)換模塊,ram_rclk和ram_wclk分別為SRAM模塊提供讀時(shí)鐘和寫時(shí)鐘,dsp_clk為LADT模塊的工作時(shí)鐘,rxclk和txclk分別為UART模塊的接收時(shí)鐘和發(fā)送時(shí)鐘。該模塊的項(xiàng)層圖和仿真結(jié)果如圖8所示。?通過對FPGA芯片程序的下載,將6個(gè)功能模塊集成于芯片XC3S400中,該芯片內(nèi)部有40萬門,最終頂層模塊程序的資源占用情況如表1所示。從中可以看出,資源占用率很低,僅為8%,還留有大量的剩余資源,為系統(tǒng)的進(jìn)一步完善和增添其他功能模塊提供了可靠的保證,例如可以在FPGA芯片中增加心電數(shù)據(jù)分析模塊和無線通信模塊等。

??????????????????????????????
??? 本文設(shè)計(jì)了基于FPGA的集心電信號采集、存儲、處理和發(fā)送等功能于一體的實(shí)時(shí)心電傳感系統(tǒng)。?該系統(tǒng)在一片F(xiàn)PGA中完成了大部分實(shí)時(shí)監(jiān)護(hù)功能,并可以用修改軟件的方法來改進(jìn)或增加其功能,與現(xiàn)有的便攜式心電監(jiān)護(hù)儀相比,更具智能性。
參考文獻(xiàn)
[1]? XILINX Corporation. Spartan-3?FPGA Family: Complete Data?Sheet. DS099 March 4,2004
[2] 費(fèi)保蔚,莊天戈,程敬之,等.一種心電圖QRS波檢測方法.?北京生物醫(yī)學(xué)工程,1997,16(1):11-13.
[3] 韋建敏,楊永明,郭巧惠.基于FPGA的實(shí)時(shí)心電信號處理系統(tǒng)設(shè)計(jì).電子器件, 2005,28(3):581-583.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 69堂在线观看| 久久99精品久久久久久首页| 精品香蕉一区二区三区| 国产精品久久久久久久久久久不卡| 三级理论中文字幕在线播放| 最近免费中文字幕大全| 人妻在线日韩免费视频| 中文字幕日韩精品无码内射| 精品国产污污免费网站入口| 国产精品久久久久久久久久久不卡| а√最新版地址在线天堂| 日本高清免费不卡视频| 亚洲最大激情网| 精品91一区二区三区| 国产免费久久精品99久久| 521色香蕉网站在线观看| 婷婷综合五月天| 久久久久国产精品免费网站| 欧美人牲交a欧美精区日韩| 免费a级毛片在线播放| 草莓视频网站入口| 国产真实露脸精彩对白| 99久久亚洲综合精品网站| 性一交一乱一伦一色一情| 久久国产精品99久久久久久牛牛| 欧美成人免费一区在线播放| 国产午夜三级一区二区三| 91久久精品一区二区| 宅男视频网站无需下载| 久久国产精品张柏芝| 欧美人与动牲高清| 他强行给我开了苞| 美女开嫩苞视频在线播放| 国产国语**毛片高清视频| 天堂久久久久久中文字幕| 在线看欧美日韩中文字幕| 一本色道久久综合狠狠躁篇 | 国产激情电影综合在线看| 99久久免费精品高清特色大片| 怡红院亚洲色图| 中文无码人妻有码人妻中文字幕 |