基于FPGA的嵌入式脈象采集儀硬件電路設計
脈診作為中醫(yī)最重要的一種診斷方式,具有模糊性、不確定性的特點,是近年來中醫(yī)現(xiàn)代化研究中的熱點。隨著電子、計算機技術的快速進步,將嵌入式技術、 FPGA技術、IP核技術結(jié)合在一起,融合電子技術、信號處理方法等學科知識,在中醫(yī)基本理論的指導下,設計脈象診斷設備,構(gòu)建一個靈活高效,可擴展性強,可靠性高,功耗低,可便攜的脈象采集儀具有重要的現(xiàn)實意義和良好的市場前景。
1 儀器總體設計
嵌入式脈象采集儀的前期設計目標是脈搏信號的采集、存儲、顯示、簡單處理、通信等,后期要對所采集到的信號處理,得到脈象特征,對病人做出診斷。在 FPGA的選型時,不但要考慮當前功能是否夠用,價格適中,而且要考慮產(chǎn)品的升級換代,所以設計的系統(tǒng)選擇Altera公司Cyclone II系列EP2C35F484C8作為核心芯片。以FPGA芯片為核心的嵌入式脈象采集儀的結(jié)構(gòu)組成如圖1所示。從圖1中可以看出,硬件主要由電源、顯示、存儲器、脈象采集、FPGA、通信等6個模塊組成。
2 主要外圍電路設計
由于在FPGA內(nèi)部采用VGA控制器IP核,選擇模擬儀器公司的10位高速視頻DAC芯片。
SRAM采用IDT公司的IDT71V416器件,利用2片IDT71V416器件構(gòu)成32位存儲器,以與NiosⅡ的32位CPU的總線匹配。對 SRAM的控制,選用Altera公司提供SRAM控制器核,其控制信號由SoPC自動生成。SDRAM為系統(tǒng)中的數(shù)據(jù)及堆棧提供暫存空間。系統(tǒng)啟動后,程序代碼調(diào)入SDRAM中運行,以提高系統(tǒng)的運行速度。系統(tǒng)中采用HYNIX公司的64 MB SDRAM,型號為HY57V561620HT。它提供LVTTL接口,分為4個BANK,每個BANK容量為4 M×16 b。由BA0,BA1的狀態(tài)決定選定那個BANK。FLASH存儲器的設計采用AMD公司的AM29LV128M器件??梢宰杂蛇x擇數(shù)據(jù)的位數(shù)為16 b或者8 b,但是最高位是模式位,采用IP核完成設計,具有比較優(yōu)越的性能。
2.1 通信模塊的設計
采用非常普遍的串行口通信。RS 232串行總線具有結(jié)構(gòu)簡易,成本低廉,硬軟件支持豐富,安裝方便等特點。雖然RS 232的速度稍微慢了點,但是對于頻率小于100 Hz信號的采集還是足能滿足的。采用MAXIM公司的max3232作為串口轉(zhuǎn)換芯片,其供電電壓為3~5V,速度可以達到1 Mb/s,具有良好的性能。
2.2 脈象采集模塊的設計
脈象采集模塊包括傳感器、儀器放大器、采樣保持器、A/D轉(zhuǎn)換器等,是脈象采集儀的關鍵部分。
脈象采集儀的傳感器決定著采集的質(zhì)量,設計采用硬面壓力傳感器,型號為華科公司的HK2000G脈搏傳感器。利用這種傳感器合理設計系統(tǒng),采集到的脈搏信號能較好地達到要求標準。
選用ADI公司的儀器放大器AD620來放大采集到的脈搏信號。AD620非常適合于壓力感測方面的應用。設計系統(tǒng)需要采集三路脈象信號,為了節(jié)省脈象信號模擬數(shù)字轉(zhuǎn)換和濾波的成本,在信號的前端,設計模擬多路開關,進行多路復用功能。脈象信號較微弱時,為了較少地引入噪聲,采用AD7501模擬開關。
A/D轉(zhuǎn)換器選用內(nèi)帶采樣保持器、高精度基準電源、內(nèi)部時鐘和三態(tài)緩沖的數(shù)據(jù)輸出AD678。它是12位分別率,5μs轉(zhuǎn)換時間的ADC。具有外部結(jié)構(gòu)簡單,使用方便,精度高的特點。
3 FPGA模塊的關鍵電路設計
3.1 脈象采樣控制器的設計
為了使設計簡單化,對于脈象采集控制的FPGA設計,采用在SoPC系統(tǒng)外做控制電路部分,然后通過SoPC的PIO與SoPC連接。由脈象信號采樣的組成可知,脈象采集與FPGA相連的只有數(shù)據(jù)線接口和控制線,3路脈搏信號和3路信號共用一個ADC。
由于脈搏信號的頻率較低,大多在100 Hz以下,所以每一通道的脈搏信號采樣頻率設定為1 kHz左右就能滿足采樣的需要,也就是1 ms的時間間隔要對3個通道循環(huán)1遍。每一通道都經(jīng)過數(shù)據(jù)采集初始化、啟動采集、數(shù)據(jù)輸出、鎖存等4步,計算每一步時間約為83μs。也就是說,如果每一步都能在83μs內(nèi)完成,就可以利用1個周期為83μs的外部時鐘控制狀態(tài)的翻轉(zhuǎn)。AD678的轉(zhuǎn)換時間是5μs,而NIOSⅡ的操作時間在ns級,所以 83μs內(nèi)完全能夠完成每一步的操作需要。采集控制部分分為2部分實現(xiàn),一部分實現(xiàn)83μs的時序,另一部分是采集的狀態(tài)機設計。83μs的實現(xiàn)采用外部時鐘分頻的方法,采集狀態(tài)機的轉(zhuǎn)換受83μs時序部分的輸出控制。狀態(tài)機的設計中,寸、關、尺三部分需要循環(huán)一遍,每一部又包括采樣的初始化、啟動轉(zhuǎn)換、轉(zhuǎn)換結(jié)束、存數(shù)據(jù)等5步操作。具體源程序如下:
完整編譯綜合采集部分后由兩部分組成,如圖2所示。
3.2 基于NiosⅡ的SoPC硬件設計
利用Altera公司的QuartusⅡ軟件和SoPCBuilder開發(fā)工具,可以方便地定制一個從硬件到軟件的完整系統(tǒng)。FPGA內(nèi)部需要設計以下模塊:NiosⅡ、SRAM控制器、SDRAM控制器、EPCS控制器、FLASH控制器、定時器、VGA控制器、RS 232控制器、脈象采集控制器等。除脈象采集控制器沒有現(xiàn)成的IP核可用,需開發(fā)控制時序外,其他控制器采用Altera公司提供的IP核。
SoPC系統(tǒng)生成完成后,在QuartusⅡ下建立原理圖窗口,調(diào)用設計好的NiosⅡ系統(tǒng)與自己設計的脈象采集系統(tǒng)的控制連接,設計完成后,鎖定引腳,進行完整編譯。完成后的電路如圖3所示。
編譯后配置到系統(tǒng)中的FPGA去,后面的工作就是嵌入式操作系統(tǒng)的移植和嵌入式應用程序的開發(fā),這時會利用到該硬件平臺。
4 結(jié)語
設計出嵌入式脈象采集儀的總體方案,并完成了基于FPGA的脈象采集儀硬件電路設計。根據(jù)脈象采集的特點,設計脈象采集部分電路,利用IP核構(gòu)建了脈象采集的SoPC系統(tǒng)。設計的脈象采集儀具有成本低,功耗低,體積小,便于擴展,使用方便,穩(wěn)定性高,可靠性高,系統(tǒng)維護方便等特點。
評論