• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      人體心電信號數(shù)字處理及控制模塊的SOPC設(shè)計*

      2019-09-07 08:00:32左右清
      山西電子技術(shù) 2019年4期
      關(guān)鍵詞:寄存器時鐘濾波器

      李 鴻,左右清

      (湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院,湖南 湘潭 411102)

      0 引言

      心電信號(Electrocardiogram,ECG)數(shù)字處理及控制模塊是心電監(jiān)護儀的重要組成部分,實現(xiàn)ECG的濾波、儲存、回放、通信和顯示等數(shù)字處理及控制。目前大多采用DSP+MCU或DSP+ARM的雙CPU結(jié)構(gòu)設(shè)計,通過編寫復(fù)雜的程序?qū)崿F(xiàn)模塊的功能。其協(xié)同性差、穩(wěn)定性低,運算速度慢,分析時響應(yīng)不高,影響診斷結(jié)果的準確性,不易執(zhí)行復(fù)雜的心電信號分析算法,同時,隨著模塊功能實現(xiàn)的增加,硬件設(shè)計更加復(fù)雜,軟件編寫煩瑣,體積龐大,研制成本提高[1],與產(chǎn)品微型化、多功能化和低功耗要求相背。

      本研究旨在用FPGA(Field Programmable Gate Arrary)“片上系統(tǒng)”結(jié)構(gòu)來取代目前心電監(jiān)護儀所采用的DSP和MCU或ARM微處理器雙CPU結(jié)構(gòu),實現(xiàn)對ECG信號的數(shù)字處理和控制。FPGA是在硬件上實現(xiàn)全部控制邏輯,比MCU或DSP的軟件處理速度快,實時性好,效率高。同時FPGA支持NiosⅡ嵌入式軟核處理器,對各種算法的實現(xiàn)和數(shù)據(jù)的處理能力大大增強。其次,基于SOPC的FPGA系統(tǒng)設(shè)計具有研制周期短、制作成本低,可靠性高,特別是可以很方便地對設(shè)計進行在線修改,同時器件少、功耗低,很適應(yīng)可穿戴設(shè)備和移動醫(yī)療的需要。

      1 ECG數(shù)字處理及控制模塊架構(gòu)

      ECG數(shù)字處理及控制模塊基于FPGA芯片EP2C35F672C6N構(gòu)建,接收A/D轉(zhuǎn)換輸出的數(shù)字ECG信號,對信號再次除雜,分析處理并存儲,實現(xiàn)與各個接口間的通信,包括AD控制器、心率處理器、FIR(Finite Impluse Response)濾波器以及寄存器編碼等子模塊。

      首先,在FPGA內(nèi)部定制1個NiosⅡ軟核處理器,實現(xiàn)總體控制,上述子模塊通過寄存器編碼子模塊掛載到Avalon總線上作為NiosⅡ系統(tǒng)的外設(shè),并采用統(tǒng)一的同步時鐘,構(gòu)成一個基于32位嵌入式NiosⅡ軟核CPU的嵌入式系統(tǒng),實現(xiàn)信號的采集、處理、回放、存儲和顯示功能??傮w框架結(jié)構(gòu)如圖1所示。

      圖1 模塊整體結(jié)構(gòu)框圖

      NiosⅡ軟核處理器采用Avalon交換式總線[2],通過Avalon總線控制心率處理器、FIR濾波器等子模塊對輸入的ECG進行數(shù)字濾波和心率檢測,得到信噪比更高的數(shù)字心電信號,轉(zhuǎn)換成可視波形和數(shù)據(jù)放入寄存器模塊中存儲。同時,通過對寄存器的設(shè)置或讀取,直接獲得心率大小、心電波形縮放系數(shù)等心電信息的相關(guān)數(shù)據(jù),進而實現(xiàn)心電信號的實時顯示、遠程傳輸,用于分析和診斷。

      2 ECG數(shù)字處理及控制模塊設(shè)計

      模塊設(shè)計采用軟硬件協(xié)同設(shè)計的思想,在FPGA上采用SOPC定制IP核技術(shù)單獨完成各個子模塊的設(shè)計,實現(xiàn)相關(guān)邏輯功能,再將各個子模塊整合在一起形成一個系統(tǒng),達到對數(shù)字ECG的處理與控制,CPU采用Altera公司提供的NiosⅡ軟核處理器,本設(shè)計在QuartusⅡ9.0版本下完成。

      圖2為ECG數(shù)字處理及控制模塊在QuartusⅡ9.0開發(fā)軟件中設(shè)計生成的封裝效果圖。iDATA為從CPU發(fā)出的16位數(shù)據(jù)輸入,iWrite和iRead是CPU控制ECG模塊進行寫、讀操作的使能信號,iAddr為寄存器偏移地址,CPU通過發(fā)送偏移地址獲取存儲在該地址內(nèi)的內(nèi)容,iClock和iReset為ECG控制模塊的時鐘信號和復(fù)位信號,iAds Data是從ADS7816采集到的數(shù)據(jù);oDATA為輸入到CPU的16位數(shù)據(jù)輸出,oAds Enable和oAds Clock為控制ADS7816進行采樣的使能信號和時鐘信號。

      圖2 ECG控制器模塊

      2.1 A/D轉(zhuǎn)換控制器設(shè)計

      AD控制器根據(jù)ADS7816芯片的時序要求,輸出控制信號實現(xiàn)對ADS7816的模數(shù)轉(zhuǎn)換控制、時鐘分頻,同時接收ADS7816輸出的12位串行數(shù)字信號數(shù)據(jù),通過串/并轉(zhuǎn)換,實現(xiàn)12位并行數(shù)字信號數(shù)據(jù)的輸出至數(shù)字濾波和心率檢測子模塊。

      AD控制器的封裝效果如圖3所示,行為仿真如圖4所示。ADS_DATA為ADS7816輸出的12位串行數(shù)據(jù)輸入,oDATA為12位的并行數(shù)據(jù)輸出,SYS_CLK為系統(tǒng)時鐘,ADS_CLK和ADS_CE為用于ADS7816采樣控制的時鐘信號和使能信號。根據(jù)心電信號的采樣要求,AD控制器設(shè)計的主要參數(shù)為:系統(tǒng)時鐘為50MHz,通過模塊內(nèi)分頻電路將采樣時鐘設(shè)定為20 kHz,采樣頻率設(shè)為1 kHz,每20個時鐘周期采樣一次,其中17個時鐘周期為數(shù)據(jù)采集時間,剩下的3個時鐘周期為復(fù)位時間。從仿真圖可以看出AD控制器準確產(chǎn)生了時鐘信號ADS_CLK、使能信號ADS_CE,并且ADS_DATA串行輸入數(shù)據(jù)經(jīng)過串并轉(zhuǎn)換后能準確的并行輸出。

      圖3 AD控制器

      圖4 AD控制器行為仿真圖

      2.2 FIR數(shù)字濾波器的設(shè)計

      數(shù)字濾波器實現(xiàn)對ECG信號的數(shù)字濾波,濾除模擬帶通濾波器(通頻帶為0.05~100 Hz,消除基線漂移和電路內(nèi)部噪聲干擾)很難濾除在ECG頻率范圍內(nèi)的50Hz工頻干擾,得到更為精確的ECG信號,同時,通過波形轉(zhuǎn)換程序,將數(shù)字信號轉(zhuǎn)換成波形輸出。工頻干擾是影響比較顯著的噪聲之一,由50 Hz市電電壓及其諧波構(gòu)成的一種固定干擾,與心電信號的頻帶重疊,影響心電信號分析,嚴重的甚至?xí)蜎]有用的信號,因此必須采取一定的方法和措施加以抑制。根據(jù)數(shù)字濾波器沖激響應(yīng)的時域特征,可分為FIR濾波器和IIR(Infinite Impluse Response)濾波器。IIR濾波器計算量小,幅頻特性精度高,但它的相位是非線性的,應(yīng)用于能夠容忍相位失真的系統(tǒng)中。FIR濾波器計算量較大,幅頻特性的精度較低,但相比于IIR濾波器具有嚴格的線性相位,沒有相位失真,系統(tǒng)穩(wěn)定,同時它的單位響應(yīng)也有利于對數(shù)字信號的處理,便于編程,計算時延也小,在便攜式和低功耗的背景下容易實現(xiàn)??紤]到ECG信號對濾波器相位的線性有要求,結(jié)合FIR數(shù)字濾波器的優(yōu)點,我們選用FIR數(shù)字濾波器中的帶阻濾波器為ECG信號進行49~51 Hz帶阻濾波,濾除其中50Hz的工頻信號。FIR數(shù)字濾波器常用的設(shè)計方法有窗函數(shù)法、頻率采樣法和等紋波最佳逼近法等[3]。綜合三種設(shè)計方法的優(yōu)缺點及設(shè)計帶阻濾波器的目的,考慮到窗函數(shù)法設(shè)計比較簡單,實現(xiàn)的性能完全可以達到設(shè)計要求,同時由于帶阻濾波器要求過渡帶盡量的窄,可以快速的從通帶到阻帶。因此選擇窗函數(shù)法下的矩形窗來設(shè)計FIR數(shù)字濾波器。目前,F(xiàn)IR濾波器的實現(xiàn)常采用設(shè)計優(yōu)化好的FIR濾波器IP核,采用IP核的方法可以保證性能,極大地縮短設(shè)計時間[4],用戶使用這種IP核,根據(jù)實際需要進行簡單的開發(fā)即可,Altera公司提供了FIR濾波器的IP核,所以該數(shù)字濾波器的實現(xiàn)采用Altera公司提供的FIR濾波器IP核,采取一種基于DSP Builder的FPGA設(shè)計方法[5]。首先利用MATLAB中濾波器設(shè)計工具FDAtool工具設(shè)計FIR濾波器系數(shù),再利用Matlab中的Simulink庫文件下的DSP Builder庫中的各個模塊搭建FIR濾波器系統(tǒng),然后在Simulink里進行了仿真,并編譯生成VHDL語言,再通過QuartusⅡ軟件對生成的VHDL程序進行編譯和仿真,并利用Matlab對仿真結(jié)果進行了分析,證明所設(shè)計的FIR濾波器功能的正確性,最后實現(xiàn)硬件系統(tǒng)。其設(shè)計界面如圖5所示。

      2.3 心率處理器的設(shè)計

      心率處理器對心率進行計算。經(jīng)過濾波后的ECG數(shù)據(jù)可準確地進行R波的檢測,進而計算心率。心率的計算通常是通過計算相鄰兩個R波峰值之間的時間間隔求出RR間期來得到(兩個R波之間的間隔即為一個RR間期)[6]。計算公式:心率=60/RR間期。然兒在少數(shù)異常波形中,T波的幅值會超過R波,如果把T波誤判為R波來進行心率計算,則會產(chǎn)生很大的誤差。為了在心率計算時消除T波可能引起的干擾,考慮到R波通常位于0~33 Hz的頻率范圍內(nèi),而T波位于0~9 Hz的頻率范圍內(nèi)[7]。因此,我們設(shè)計了一個中心頻率f0=12.867 Hz,帶寬B=f0/Q=5.629 Hz,下限截止頻率f1=10.356 5 Hz,上限截止頻率f2=15.985 5 Hz的帶通濾波器,首先將ADS控制器輸出的12位并行ECG信號通過帶通濾波器,以獲取信噪比比較高的QRS波群信息,然后通過采樣(初始采樣頻率設(shè)為100 Hz)計算得出瞬時心率,輸出到寄存器中。

      圖6為3輸入2輸出心率計算模塊封裝效果圖。ADSDATA為并行12位的ECG信號輸入端,連接到AD控制模塊的數(shù)據(jù)輸出端;iCLK為模塊的時鐘控制信號,輸入的是AD控制模塊的采樣頻率,即為1 kHz;RST為復(fù)位端;ODATA為26位的信號輸出,在進行波形顯示時,只取高16位作為波形輸入的數(shù)據(jù),ORATE為心率輸出。

      2.4 寄存器編碼模塊的設(shè)計

      寄存器編碼模塊實現(xiàn)對心率處理器和FIR濾波器輸出的數(shù)據(jù)進行編碼,將這些數(shù)據(jù)放在指定地址的寄存器中方便CPU的讀取或設(shè)置。我們?yōu)镋CG控制器設(shè)置了3位地址寬度寄存器,占用8個地址空間,每個偏移地址對應(yīng)具體的功能,如偏移地址“0”對應(yīng)寄存器功能“輸出波形縮放系數(shù)”,偏移地址“1”對應(yīng)寄存器功能“輸出波形Y軸偏移量”……。CPU通過發(fā)送偏移地址來獲取存儲在該地址內(nèi)的內(nèi)容。

      3 結(jié)語

      基于FPGA的心電信號數(shù)字處理與控制模塊利用其高速并行處理數(shù)據(jù)的能力實時地對信號進行處理。模塊設(shè)計采用軟硬件協(xié)同設(shè)計的思想,在QuartusⅡ開發(fā)環(huán)境中,通過硬件描述語言(VHDL)或采用SOPC定制IP核技術(shù)完成AD控制器、心率處理器、FIR濾波器以及寄存器編碼等子模塊的設(shè)計,實現(xiàn)相關(guān)邏輯功能。該模塊研制周期短,成本低,精度高、體積小、功耗低,具有較好的實用性和可擴展性,特別適應(yīng)可穿戴設(shè)備和移動醫(yī)療的需要。

      猜你喜歡
      寄存器時鐘濾波器
      基于無擾濾波器和AED-ADT的無擾切換控制
      別樣的“時鐘”
      古代的時鐘
      Lite寄存器模型的設(shè)計與實現(xiàn)
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      開關(guān)電源EMI濾波器的應(yīng)用方法探討
      電子制作(2018年16期)2018-09-26 03:26:50
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      有趣的時鐘
      時鐘會開“花”
      基于TMS320C6678的SAR方位向預(yù)濾波器的并行實現(xiàn)
      浏阳市| 潼关县| 抚松县| 哈尔滨市| 浦东新区| 汝阳县| 墨竹工卡县| 丰县| 阿巴嘎旗| 辛集市| 大名县| 潞城市| 沈阳市| 满城县| 五家渠市| 奉节县| 定陶县| 西平县| 高青县| 文安县| 阜康市| 城固县| 揭阳市| 周口市| 永顺县| 天柱县| 余干县| 崇信县| 望城县| 红河县| 平潭县| 天峻县| 福州市| 榕江县| 巴彦县| 黎平县| 思南县| 邯郸县| 桓台县| 新田县| 新乐市|