蒲瑞瑞
摘要:介紹基于FPGA/SOPC嵌入技術并利用壓電傳感器實時采集脈搏波信號進行處理的方案,闡述了系統的設計原理。系統由脈搏采集調理電路、SOPC嵌入式數據處理、上位機界面三大部分組成,其中在SOPC數據處理部分嵌入32位Nios Ⅱ軟核處理器,用于控制脈搏信號采集、處理,與上位機通訊、接受測量命令、傳送結果到上位機等功能。基于FPGA/SOPC-Nios Ⅱ的人體脈搏信號的測量系統,將所有的接口電路集成在一片FPGA上,提高了系統可靠性和穩定性,系統易于升級和功能擴展,具有較高的性價比。
關鍵詞:FPGA/SOPC;脈搏信號;調理電路;Nios Ⅱ
引言
脈搏即動脈搏動,隨著心臟節律性的收縮和舒張,動脈管壁相應的出現擴張和回縮,在表淺動脈上可觸到搏動,是人的四大體征之一。臨床上有很多疾病,如心臟病、心血管疾病可使得脈搏與正常值不一致,所以對病人而言脈搏測量是檢查身體健康狀況的不可缺少的一項。
現有的脈搏測量儀器大多是以單片機、ARM、DSP為主來設計的,這三種方案在可靠性、靈活性、擴展性等方面的都存在不足之處。為此設計了一款基于FPGA嵌入式IP軟核的SOPC系統,來實時測量人體脈搏,該系統解決了將IP硬核直接植入FPGA的方案時無法自由裁剪處理器而導致系統價格過高的不足,在SOPCBuilder和OuartusⅡ上根據實際需求配置Nios Ⅱ軟核及外設,從而使得系統在功能特點、硬件結構、價格等方面得到平衡。
該文主要完成脈搏信號的采集調理、信號處理、Nios Ⅱ軟核的搭建。
1.設計原理
用戶在上位機對SOPC嵌入式系統發送測量命令,使得脈搏傳感器采集人體脈搏信號,脈搏信號由于其低頻強噪的特性,因此需要通過調理電路來對采集到的信號進行去燥、濾波、放大等模擬信號處理,以便得到一個有用的脈搏信號。同時,SOPC接收來自上位機的控制命令,啟動A/D轉換器對脈搏信號進模數轉換,轉換完的數字量送到SOPC內部做相應的數值分析處理,并將結果送到上位機上顯示,同時存儲測量結果。
2.系統的硬件設計
系統的硬件設計主要完成的是信號的采集模擬處理:對采集到的微弱的脈搏信號進行放大和濾波,濾除各種噪音信號干擾。
脈搏采集選用SC0073壓電式脈搏傳感器,由于脈搏信號為超低頻信號,極易引入工頻干擾,而且SC0073輸出信號十分微弱,一般情況下只有20mv左右,需要采用調理電路對脈搏信號進行初級放大、帶通濾波、次級放大,該處選用AD620和LM358作為核心元件,目的是濾除50HZ的工頻干擾以及得到滿足A/D轉換的輸入電壓,硬件電路如圖2所示。
3.SOPC平臺的構建
系統使用DE2開發板,其核心芯片是EP2C35F672C6,提供50MHZ和27MHZ的時鐘源。AD轉換器采用MAX197,該芯片是多量程、8通道、12位高精度的A/D轉換器,轉換時間為6us,從精度、分辨率、采樣率來看均符合設計需求。
圖3是系統的平臺設計框圖,其中PLL模塊利用鎖相環產生SDRAM、MAX197、脈搏計數模塊等模塊的時鐘信號。MAX197模塊控制AD轉換器對模擬脈搏信號進行數字量的采集。經過AD轉換后脈搏數字量,通過閾值比較器得到與脈搏同周期的方波,脈搏計數模塊統計60s內方波數,就可得到脈搏值。
3.1脈搏測量模塊
圖4是利用VHDL編寫的脈搏數據處理模塊,其中FP50M模塊和count60模塊的功能是完成60s的定時器,datain[11..0]是從AD芯片輸出的脈搏信號的數字量,threshold是比較器的閾值,sig是經過比較器的與脈搏波同周期的方波信號,最后對方波的計數由jishu模塊完成,其中tkeepl[3..0]、tkeep2[3..0]、tkeep3[3..0]分別是計數器的個位、十位、百位,將脈搏值送入NiosⅡ處理器中進行存儲和組幀送入上位機。
3.2 Nios Ⅱ軟核的定制
SOPC Builder是SOPC系統的開發包,用于配置Nios Ⅱ、外設、存儲,生成與SOPC系統相關的監控和軟件調試平臺。
NiosⅡ處理器是整個系統的核心,可根據系統的實際需求,從SOPC Builder組件庫中選擇IP模塊、存儲器、CPU、外圍接口,配置生成一個高度集成的SOPC嵌入式系統。系統的定制的SOPC系統如圖5所示,包括NiosⅡCPU、UART接口、SDRAM接口、EPCS接口、JTAG UART接口、定時器以及一些自定義PIO接口,在添加這些內核的過程中可以根據系統要求配置芯片,把與系統不相關的硬件不集成到系統里,這樣就可以減少SOPC系統的硬件資源,并降低系統功耗。
從圖5可見NiosⅡ配置如下:
NiosⅡCPU:軟核有3種類型,為了調試方便,本系統采用NiosⅡ/f型。UART接口用于接收,發送串行數據。SDRAM組件用來存儲容易丟失的數據、文件,配置為為數據位16位,4個BANK,12位行地址,8位列地址。EPCS器件可用來存儲程序代碼以及管理FPGA的配置數據,并在上電時自動完成對FPGA的配置。JTAGUART組件為CPU的調試模塊,在Nios IDE中進行軟件調試時需此組件才可以進行在系統調試。其余定義的PIO組件包括,脈搏數據輸出接口、控制AD轉換的端口等。
3.3系統功能原理框圖
在SOPC系統定制生成后,就要在Quartus Ⅱ中將PLL時鐘模塊、用戶自定義的脈搏測量模塊、Nios Ⅱ系統模塊進行布局布線集成系統功能原理圖,如下圖6所示。
在Ouartus Ⅱ工程的頂層實體中對SOPC系統進行管腳分配、時序約束,全編澤后通過JTAG接口將生成的.sof文件下載到FPGA開發板上。
4.結束語
該人體脈搏測量系統是利用VHDL編程,基于DE2開發的,可以方便實時測量人體脈搏,具有功能強、測量準確、測量范圍寬,性價比高等特點,方便家庭及個人測量使用。同時利用FPGA/SOPC開發周期短、定制性高、擴展性好的特點,可以不斷升級測量儀來延長產品的生命周期,并可以在使用過程中隨時添加更多的功能,具有良好的應用前景。