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