基于FPGA的實時心電監(jiān)護系統(tǒng)設計_第1頁
基于FPGA的實時心電監(jiān)護系統(tǒng)設計_第2頁
基于FPGA的實時心電監(jiān)護系統(tǒng)設計_第3頁
基于FPGA的實時心電監(jiān)護系統(tǒng)設計_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于FPGA的實時心電監(jiān)護系統(tǒng)設計楊永明, 韋建敏, 劉俊剛, 黃 時間:2008年07月07日 字 體: 大 中 小關鍵詞:? 摘 要:關鍵詞: FPGA? 心電信號? 實時監(jiān)護? 近年來隨著數字信號處理技術的發(fā)展,心電監(jiān)護系統(tǒng)得到了較快的發(fā)展。但是現有的監(jiān)護系統(tǒng)多采用單片機作為中央處理器,不但處理速度慢,而且功耗和體積大,實時性差。針對便攜式心電監(jiān)護系統(tǒng)需滿足的處理速度快、功耗低和微型化等要求,本系統(tǒng)選擇了FGPA為中央處理器,進行心電數據的采集和處理,使系統(tǒng)具有實時采集、處理、存儲以及發(fā)送心電數據等功能。1 系統(tǒng)硬件組成? 系統(tǒng)的硬件部分以XILINX的低成本型SpartanTM-3器件

2、XC3S400-4TQ144C1為核心,主要包括ECG信號濾波放大電路、QRS波檢測電路、FPGA控制系統(tǒng)等。其硬件構成如圖1所示。? 1.1 濾波放大電路1.2? A/D轉換電路1.3 R波檢測電路? R波的檢測分為硬件和軟件檢測。相對于軟件實現來說,采用硬件實現R波檢測具有速度快、實時性好、結構簡單的優(yōu)點。系統(tǒng)中,R波檢測電路由跟隨器、QRS濾波器、整波電路、峰值保持電路和比較器組成2。預處理后的心電信號經R波檢測電路被轉換為方波信號,再輸入FPGA進行處理。2 FPGA實現的主要功能? 如圖2所示,FPGA 內部主要有A/D控制模塊、SRAM控制模塊、FIR濾波模塊、心電數據壓縮模塊、時

3、鐘產生模塊和串口通信模塊。? 2.1 A/D控制? 由于選用的A/D芯片為雙通道,所以內部模塊也按照兩通道來設計,分別為outdata1和outdata2,數據為12位,CLK端口接外部時鐘接口,該模塊內部嵌入了時鐘產生模塊,輸入50MHz信號,輸出ad_clk信號為400kHz,占空比為50%。在本模塊中每400個周期對CH0和CH1通道分別取一個點,輸出到outdata1和outdata2,采樣率為400kHz/400=1kHz。該模塊的頂層圖和功能仿真如圖3所示。? 2.2 數字濾波? 為了進一步濾除因前置處理電路而加重的工頻干擾,本系統(tǒng)集成了分布式FIR數字濾波器3。2.3 SRAM

4、控制? 系統(tǒng)中配置的是256K16bit的SRAM、18位地址線、16位數據線,CS、OE和WE分別作為SRAM的片選信號、讀使能和寫使能信號,這三個信號均為低電平有效,由UB和LB分別控制每次讀寫的是高字節(jié)還是低字節(jié)。本文依據該芯片的功能在FPGA內部設計了SRAM控制模塊,其頂層圖如圖4所示。? ? 該模塊中的控制信號有ram_ce、ram_full、ram_lb、ram_oe、ram_ub、ram_we。其中ram_ce用于給SRAM芯片提供片選信號,ram_full用于標示SRAM存儲器中的空間,ram_oe信號用于給外部SRAM芯片輸出使能信號;ram_we用于給外部SRAM芯片讀寫

5、控制信號;外部SRAM芯片的I/O0I/O15為16位數據線,模塊中用兩個信號ram_ub和ram_lb分別控制其高字節(jié)和低字節(jié)。? 該模塊中用到的時鐘信號有兩個,一個是SRAM寫時鐘ram_wclk,一個是SRAM讀時鐘ram_rclk,這兩個時鐘均由時鐘產生模塊生成。因為SRAM的寫入數據是A/D轉換后的數據,所以ram_wclk寫時鐘應該與AD的數據頻率一致為1kHz。從SRAM讀數據時,是讀給后面的心電數據壓縮模塊處理,系統(tǒng)中的心電數據處理模塊的時鐘為50MHz,所以讀數據時,采用50MHz,這樣可以最大限度地提高系統(tǒng)的實時性。? 模塊中有兩個地址信號: dsp_addr和ram_ad

6、dr。dsp_addr來自心電數據壓縮模塊,ram_addr是用于給外部SRAM芯片地址信號。? 該模塊的數據信號有三個:ad_wdata、dsp_rdata和ram_data。這三個數據信號分別與前面的AD轉換模塊、后面的心電數據壓縮模塊及FPGA外部的SRAM芯片連接。2.4?心電數據的壓縮和通信? 為了能實時存儲和傳送足夠長的有用信號,對采集的ECG信號必須采取一定的壓縮處理,為此該系統(tǒng)還集成了LADT數據壓縮算法模塊3。LADT模塊的輸入端口有三個,分別為數據輸入端口dsp_data_in、系統(tǒng)時鐘端口dsp_clk和全局停止信號rst;輸出端口有兩個:數據輸出端口dsp_data_o

7、ut和送給SRAM的地址信號dsp_addr。該模塊的頂層圖和仿真結果如圖5所示。? ? ? 當系統(tǒng)接收到上位機通過串行通信接口發(fā)送來的串行數據時,要將其轉化為FPGA內部使用的并行數據,所以接收模塊的主要作用是用于串-并轉換。接收模塊中,clk16為時鐘控制信號;rst為復位信號(當rst為“1”時,所有工作信號復位);rxd為串口發(fā)送來的串行數據;dout為經接收模塊進行轉換后輸出的并行數據;framing_error為幀錯誤信號。程序的主體思想是:首先將接收到的串行數據逐位地放入移位寄存器rsr中,當8位數據放滿后輸出給緩存rbr,并暫時保存在那里;當收到發(fā)送信號時再將8位的并行信號輸出

8、(這個過程實際上是發(fā)送模塊的逆過程,是將串行數據變?yōu)椴⑿袛祿?,實現串并轉換);再通過對接收模塊其他一些控制信號的編寫,就完成了整個接收模塊的設計。該模塊的頂層圖和仿真結果如圖7所示。? 一個完整的串口通信應該有其協(xié)議,也就是說往往是上位機應先給下位機發(fā)送一個控制信號后,發(fā)送模塊才工作,即兩個模塊應該協(xié)同工作,所以本文將這兩個模塊連接到了一起,并加入一些控制信號,從而設計出串口通信模塊。模塊中的rxd用來接收上位機的數據,并判斷數據是“AA”或者“55”,“AA”表示開始接收數據,“55”表示停止接收數據。2.5 時鐘模塊? 時鐘模塊產生其他所有模塊工作所需的時鐘,時鐘脈沖是控制信號以及系統(tǒng)能協(xié)

9、調工作的基礎。根據前面幾個模塊的時鐘需求,設計了時鐘產生模塊。模塊輸入時鐘為clk,其頻率為50MHz,由外部有源晶振連接FPGA的全局時鐘管腳GCLK0提供。其余輸出時鐘為提供給幾個模塊的時鐘信號,其中ad_clk是送給A/D轉換模塊的時鐘,da_clk送給D/A轉換模塊,ram_rclk和ram_wclk分別為SRAM模塊提供讀時鐘和寫時鐘,dsp_clk為LADT模塊的工作時鐘,rxclk和txclk分別為UART模塊的接收時鐘和發(fā)送時鐘。該模塊的項層圖和仿真結果如圖8所示。?通過對FPGA芯片程序的下載,將6個功能模塊集成于芯片XC3S400中,該芯片內部有40萬門,最終頂層模塊程序的資源占用情況如表1所示。從中可以看出,資源占用率很低,僅為8,還留有大量的剩余資源,為系統(tǒng)的進一步完善和增添其他功能模塊提供了可靠的保證,例如可以在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論