Nios II系統(tǒng)在數(shù)字式心電診監(jiān)測(cè)設(shè)備中的應(yīng)用
心電檢測(cè)儀是醫(yī)學(xué)界運(yùn)用廣泛的一種心電監(jiān)測(cè)設(shè)備,他主要由12導(dǎo)聯(lián)心電傳感器和心電信號(hào)處理設(shè)備兩部分組成,目前運(yùn)用廣泛的數(shù)字式心電檢測(cè)儀大都是由DSP處理器外加一個(gè)單片機(jī)(MCU),通過(guò)編寫(xiě)復(fù)雜的并行通訊協(xié)議來(lái)完成的,這種結(jié)構(gòu)雖然有較高的精度,但硬件設(shè)計(jì)復(fù)雜,軟件編寫(xiě)煩瑣,相應(yīng)的開(kāi)發(fā)周期長(zhǎng),研制成本高。
本設(shè)計(jì)采用Altera公司先進(jìn)的SOPC(可編程片上系統(tǒng))解決方案--以32位Nios II軟核CPU系統(tǒng)取代目前數(shù)字式心電儀的DSP和MCU的雙CPU結(jié)構(gòu),通過(guò)靈活的Avalon總線,控制心電信號(hào)的采集、處理、回放、存儲(chǔ)等功能,Nios II系統(tǒng)設(shè)計(jì)以Nios II軟核為核心,將全部的接口電路集成在同一片F(xiàn)PGA上,結(jié)構(gòu)簡(jiǎn)單,同時(shí),利用Nios II軟核可在線配置的優(yōu)點(diǎn),通過(guò)軟件編程改變FPGA的內(nèi)部借給即可迅速、方便地實(shí)現(xiàn)系統(tǒng)性能的擴(kuò)展、設(shè)計(jì)、大大縮短了系統(tǒng)的開(kāi)發(fā)周期,提高了性價(jià)比,該Nios II系統(tǒng)的結(jié)構(gòu)如圖1所示。
2 Nios II系統(tǒng)的設(shè)計(jì)
Nios II系統(tǒng)選用Altera公司推出了新一代的、低成本的Cyclone系列FPGA器件EP1C6Q240,該器件具有5980個(gè)邏輯單元,20個(gè)M4K RAM塊,92 160b的RAM位和2個(gè)鎖相環(huán),最大用戶I/O引腳185[1]。利用EP1C6Q240豐富的資源和ALTERA公司的Quartus II 5.0軟件開(kāi)發(fā)平臺(tái),配合使用SopcBuilder和Dspbuilder完成系統(tǒng)的硬件和軟件設(shè)計(jì)。
2.1 Nios II系統(tǒng)的硬件設(shè)計(jì)
由12導(dǎo)聯(lián)采集的心電信號(hào)經(jīng)調(diào)理、模擬濾波處理后,經(jīng)A/D轉(zhuǎn)換器將數(shù)字信號(hào)送往Nios II系統(tǒng),Nios II系統(tǒng)是整個(gè)心電診斷儀的核心部件,他主要控制著心電信號(hào)的A/D轉(zhuǎn)換,數(shù)據(jù)傳輸和處理,以及與外設(shè)的數(shù)據(jù)通訊等功能。
2.1.1 心電儀AD轉(zhuǎn)換器控制電路的設(shè)計(jì)
對(duì)于由12導(dǎo)聯(lián)傳感器采集的心電信號(hào),通過(guò)模/數(shù)轉(zhuǎn)換芯片AD574進(jìn)行模/數(shù)轉(zhuǎn)換,Nios II系統(tǒng)對(duì)AD574的轉(zhuǎn)換控制電路由VHDL語(yǔ)言編寫(xiě)的AD574控制IP核實(shí)現(xiàn),自定義的IP核直接加載到SopcBuiler的元件池里,Nios II軟核通過(guò)Avalon總線可方便地對(duì)其操作,該IP的部分設(shè)計(jì)程序如下:
一方面,AD574控制IP核根據(jù)AD574的轉(zhuǎn)換時(shí)序,在Nios II的控制下,通過(guò)Avalon總線實(shí)現(xiàn)心電信號(hào)的AD轉(zhuǎn)換,另一方面,AD574控制IP核還作為數(shù)據(jù)的傳輸通道,將轉(zhuǎn)換的數(shù)據(jù)通過(guò)Avalon總線送往雙口RAM存儲(chǔ)。
2.1.2 數(shù)據(jù)存儲(chǔ)電路--雙口RAM的設(shè)計(jì)
由于心電信號(hào)的動(dòng)態(tài)范圍較大,為保證采樣信號(hào)的準(zhǔn)確性,設(shè)計(jì)時(shí)將采樣頻率提高到256Hz,這樣勢(shì)必要求系統(tǒng)有較大的存儲(chǔ)空間,而且要保證采集的信號(hào)及時(shí)往外送顯,系統(tǒng)要求具有動(dòng)態(tài)顯示的功能,因此,設(shè)計(jì)時(shí),利用Quartus II5.0將EP1C6Q240內(nèi)部的M4K RAM存儲(chǔ)塊設(shè)計(jì)成存儲(chǔ)為256bit的雙口RAM,采集來(lái)的數(shù)據(jù)在Nios II的控制下,送往雙口RAM,當(dāng)RAM寫(xiě)滿256個(gè)數(shù)據(jù)后,再觸發(fā)控制信號(hào),將RAM內(nèi)數(shù)據(jù)送DSP模塊處理,雙口ROM的結(jié)果如圖2所示。
其中wren,rden分別是Nios II軟核控制下的寫(xiě)使能、讀使能控制信號(hào),wraddress[3..0],rdaddress[3..0]是分別是寫(xiě)地址信號(hào)和讀地址信號(hào);clock為讀寫(xiě)控制時(shí)鐘,寫(xiě)入的數(shù)據(jù)為data[15..0],讀出的信號(hào)為q[15..0],設(shè)計(jì)時(shí),我們將由AD574轉(zhuǎn)換得到的12位數(shù)字信號(hào)經(jīng)VHDL語(yǔ)言編程擴(kuò)展成16位數(shù)字信號(hào),有利于Nios II軟核通過(guò)控制Avalon總線,實(shí)現(xiàn)數(shù)字信號(hào)的處理。
2.1.3 數(shù)字信號(hào)處理電路的設(shè)計(jì)
DSP Builder為是Altera公司推出的高效的數(shù)字信號(hào)處理設(shè)計(jì)工具,本系統(tǒng)利用他設(shè)計(jì)出了256階FIR數(shù)字濾波器,濾波器的仿真結(jié)果如圖3所示,Nios II系統(tǒng)利用此濾波器較好的完成了心電數(shù)字信號(hào)的處理。
2.1.4 Nios II軟核的定制
Nios II軟核CPU是Nios II系統(tǒng)的核心,他控制著整個(gè)心電診儀心電信號(hào)的采集、處理與通訊過(guò)程,利用SOPC Builder可十分方便地定制32位Nios II CPU和參數(shù)化的Avalon接口總線,然后再通過(guò)適當(dāng)裁減,增添合適的元件核,以適應(yīng)Nios II系統(tǒng)功能的需求,最后配置的內(nèi)核結(jié)果如圖4所示。
2.2 Nios II的軟件設(shè)計(jì)
SopcBuilder的Nios II IDE具有友好的操作界面,他采用文件操作的方式訪問(wèn)系統(tǒng)外設(shè),語(yǔ)法簡(jiǎn)便,相應(yīng)的函數(shù)豐富,使軟件設(shè)計(jì)人員可根據(jù)系統(tǒng)硬件結(jié)構(gòu)十分方便地設(shè)計(jì)系統(tǒng)的軟件,心電診斷儀的Nios II軟件設(shè)計(jì)總是要針對(duì)液晶顯示屏,外部FLASH的編程,程序很容易實(shí)現(xiàn)。
3 結(jié)語(yǔ)
圖5是某人員利用該檢測(cè)儀測(cè)得的心電圖,監(jiān)測(cè)結(jié)果良好。
評(píng)論