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