摘 要: 介紹了一種人體脈搏信號的采集系統,通過專用的脈搏傳感器采集信號,將得到的信號經過預處理后送到FPGA,暫存到RAM中,同時用FPGA驅動VGA接口實時顯示脈搏波形。利用FPGA的片內資源RAM實現了脈搏波形圖像的動態顯示,實時性好、畫面清晰,為后續的生理病理信息提取提供了有效支持。
關鍵詞: 脈搏信號;FPGA;VGA;RAM
脈搏信號中包含人體重要的生理病理信息,常作為心血管疾病診斷和治療的依據。隨著信息采集技術以及生物醫學的迅速發展,脈搏信號的獲取也有了新的方法。本文提出將脈搏信號實時顯示出來,為診治醫師提供足夠的病理信息,提高傳統脈診的效率。
本系統的脈搏信號顯示借助VGA接口來實現。以往對于VGA顯示的研究側重于VGA接口驅動技術,主要實現VGA靜態顯示[1-2]。基于此種現象,本文提出了利用雙口RAM來實現脈搏采集數據的存儲與讀取,從而可以實現實時顯示,結果證明此方案可以很好地滿足要求。同時,本系統充分利用了FPGA的硬件資源,取代了VGA的專用顯示芯片,降低了系統的開發成本,提高了系統的集成度。
1 總體設計
采集到的脈搏信號往往比較微弱,而且伴隨著很多噪聲。因此需要濾波、放大等處理電路進行預處理。脈搏信號屬于模擬信號,要想送到FPGA處理,需進行模/數轉換。FPGA將數字信號存儲在內部RAM中,并利用Verilog HDL語言編寫VGA顯示控制模塊,驅動顯示器顯示脈搏波形。整個系統的原理框圖如圖1所示。
2 系統實現
2.1 信號處理電路
脈搏信號存在頻率低、信號弱、噪聲嚴重等問題。脈象頻譜分析表明,脈象能譜中99%的能量集中在10 Hz以下[3],而且正常成人的脈搏跳動次數為60~100次/min,脈率是1~1.67 Hz。為了濾除噪聲,又不影響脈搏信號的能量,選擇0.8~20 Hz作為信號的頻帶寬度。因此,本設計的信號處理電路主要由前置放大器、高通濾波器、低通濾波器、主放大器組成。信號處理電路圖如圖2所示。
經分析,信號處理電路的頻率帶寬為0.72 Hz~20 Hz,放大倍數為300多倍,可以完成功能要求。另外,實際中將R7用10 k?贅的電位器代替,從而實現放大倍數可調的目的,適用更多的場合。
2.2 A/D轉換
A/D轉換芯片主要完成模擬信號到數字信號的轉換。ADC0804是逐次比較型集成A/D轉換器,分辨率為8位,轉換時間為100 μs,輸入電壓范圍為0~5 V,而且價格便宜、操作簡便。基于以上特點,本設計選用ADC0804作為A/D轉換芯片。對經過處理電路處理的脈搏信號進行采樣,并將得到的數字信號送到FPGA中。
2.3 FPGA控制
本系統的FPGA控制部分主要由分頻模塊、RAM、VGA控制模塊三部分組成。
根據電視原理有關VGA顯示的內容可知,VGA顯示采用逐行掃描方式。掃描是從屏幕的左上方開始,從左到右、從上到下。本系統采用640×480@60 Hz顯示模式,其中60 Hz為場掃描頻率。對于一個場掃描頻率為60 Hz、分辨率為640×480的顯示模式,其典型的VGA時序表如表1所示。
由表1可以計算出VGA驅動所需的時鐘頻率為800×552×60 Hz=25.2 MHz。而FPGA的時鐘頻率為50 MHz,因此需要一個分頻模塊,實現二分頻的功能。
VGA控制部分主要是產生行同步信號(Hsync)和場同步信號(Vsync),模擬VGA的顯示時序表。此模塊的設計思想是模擬逐行掃描的過程,每行800個像素點,掃完一行,接著掃第二行,一共有525行。因此,可以設計兩個計數器,行計數器(h_cnt)和列計數器(v_cnt)。h_cnt從0開始計數,計到799后歸零;v_cnt也從0開始計數,計到524后歸零,并且在h_cnt計到799后,v_cnt加1,clk_25m作為兩個計數器的觸發脈沖。當h_cnt=96時,Hsync=1;當h_cnt=0時,Hsync=0。類似的,當v_cnt=2時,Vsync=1;當v_cnt=0時,Vsync=0。從而實現了行同步信號和列同步信號的產生,并模擬了VGA顯示時序表。行計數器的程序流程圖如圖3所示。
顯示器是由一個個像素點組成的,如果是640×480的顯示模式,就意味著每行有640個像素點,每列有480個像素點,一共是307 200個像素點。圖像在顯示器上顯示,其實就是點亮相應的像素點。因此,基于這種理解,可以將脈搏波形當作一幅圖像,波形走過的地方就是相應的像素點被點亮了。因此對脈搏信號采樣,得到的就是相應的像素點。如果將采樣值作為列坐標,第幾次采樣作為行坐標,就可以確定一個像素點,繼而可以描繪出一幅脈搏波形圖。
通過上面的分析過程,提出一個解決方案,就是尋找一個存儲介質,既可以讀,又可以寫。而FPGA正好有這樣的資源,于是采用RAM來充當這個存儲介質。從VGA顯示原理已經知道,VGA顯示采用的是逐行掃描的方式。如果將采樣值作為RAM的地址,也是列坐標,而將第幾次采樣作為相應的存儲單元存儲的內容,同時也是行坐標。這樣既有了行坐標,又有了列坐標。當VGA掃描時,掃描到某一行,就到相應的RAM存儲單元取出其中的內容,并判斷是否與當前掃描到的行坐標相同,如果相同則點亮此像素點,否則就不點亮。這就是RAM部分的設計思想。
3 系統調試
3.1 脈搏采集部分
將處理電路測試完畢,并連接上脈搏傳感器,對人體脈搏信號進行采集,利用示波器顯示脈搏波形,如圖4所示。可見該部分電路工作正常,并且能滿足設計要求。
圖中clk_50m為系統時鐘輸入,頻率為50 MHz;rst_n為復位信號,低電平有效;clk_25m為分頻器的輸出,頻率為25 MHz,用于VGA驅動部分;hsync為行同步信號,vsync為場同步信號;h_cnt為行計數器,v_cnt為列計數器。可以發現VGA驅動模塊完全可以正常工作。
3.3 系統結果
將各模塊調試完畢,組成整個系統,測試結果如圖6所示。
從圖6看出脈搏波形可以基本實現在VGA顯示器實時顯示的設計要求。通過分析脈搏波形在一定時間內的變化趨勢以及脈搏的跳動次數,為評價測試者的心血管系統的健康狀況提供參考信息。
本系統利用了微壓脈搏傳感器對脈搏信號進行采集,通過處理電路進行濾波、放大以及A/D采樣,并利用FPGA驅動VGA顯示器顯示。實驗表明,此系統能夠實時采集人體脈搏信號,并且能正常、穩定地顯示。
本系統利用RAM實現了采集波形的實時動態顯示,對實時性要求高的數據采集系統設計具有很高的參考價值。同時,對本系統可以進行二次開發,將脈搏波形數據通過無線網絡發送到醫療中心,以便為就診專家提供足夠的病理信息,在一定程度上提高了醫療救助的效率。
參考文獻
[1] 姜世杰,余紅英,洪永學,等.基于FPGA的VGA接口驅動技術[J].電子測試,2012(12):29-32.
[2] 劉峰.基于FPGA的VGA控制器實現[J].電子元器件應用,2010,12(11):33-35.
[3] 王國力,趙子嬰,白金星.PVdF壓電薄膜脈搏傳感器的研制[J].傳感技術學報,2004(4):688-692.
[4] 吳友宇.模擬電子技術基礎[M].北京:清華大學出版社,2010.