<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Nios II系統(tǒng)在數(shù)字式心電診監(jiān)測(cè)設(shè)備中的應(yīng)用

          Nios II系統(tǒng)在數(shù)字式心電診監(jiān)測(cè)設(shè)備中的應(yīng)用

          ——
          作者: 時(shí)間:2007-01-26 來源:《現(xiàn)代電子技術(shù)》 收藏

          1 引言

          心電檢測(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),通過編寫復(fù)雜的并行通訊協(xié)議來完成的,這種結(jié)構(gòu)雖然有較高的精度,但硬件設(shè)計(jì)復(fù)雜,軟件編寫煩瑣,相應(yīng)的開發(fā)周期長(zhǎng),研制成本高。

          本設(shè)計(jì)采用altera公司先進(jìn)的sopc(可編程片上系統(tǒng))解決方案--以32位nios ii軟核cpu系統(tǒng)取代目前數(shù)字式心電儀的dsp和mcu的雙cpu結(jié)構(gòu),通過靈活的avalon總線,控制心電信號(hào)的采集、處理、回放、存儲(chǔ)等功能,nios ii系統(tǒng)設(shè)計(jì)以nios ii軟核為核心,將全部的接口電路集成在同一片fpga上,結(jié)構(gòu)簡(jiǎn)單,同時(shí),利用nios ii軟核可在線配置的優(yōu)點(diǎn),通過軟件編程改變fpga的內(nèi)部借給即可迅速、方便地實(shí)現(xiàn)系統(tǒng)性能的擴(kuò)展、設(shè)計(jì)、大大縮短了系統(tǒng)的開發(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軟件開發(fā)平臺(tái),配合使用sopcbuilder和dspbuilder完成系統(tǒng)的硬件和軟件設(shè)計(jì)。

          本文引用地址:http://www.ex-cimer.com/article/21472.htm

          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),通過模/數(shù)轉(zhuǎn)換芯片ad574進(jìn)行模/數(shù)轉(zhuǎn)換,nios ii系統(tǒng)對(duì)ad574的轉(zhuǎn)換控制電路由vhdl語言編寫的ad574控制ip核實(shí)現(xiàn),自定義的ip核直接加載到sopcbuiler的元件池里,nios ii軟核通過avalon總線可方便地對(duì)其操作,該ip的部分設(shè)計(jì)程序如下:


          一方面,ad574控制ip核根據(jù)ad574的轉(zhuǎn)換時(shí)序,在nios ii的控制下,通過avalon總線實(shí)現(xiàn)心電信號(hào)的ad轉(zhuǎn)換,另一方面,ad574控制ip核還作為數(shù)據(jù)的傳輸通道,將轉(zhuǎn)換的數(shù)據(jù)通過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,采集來的數(shù)據(jù)在nios ii的控制下,送往雙口ram,當(dāng)ram寫滿256個(gè)數(shù)據(jù)后,再觸發(fā)控制信號(hào),將ram內(nèi)數(shù)據(jù)送dsp模塊處理,雙口rom的結(jié)果如圖2所示。

          其中wren,rden分別是nios ii軟核控制下的寫使能、讀使能控制信號(hào),wraddress[3..0],rdaddress[3..0]是分別是寫地址信號(hào)和讀地址信號(hào);clock為讀寫控制時(shí)鐘,寫入的數(shù)據(jù)為data[15..0],讀出的信號(hào)為q[15..0],設(shè)計(jì)時(shí),我們將由ad574轉(zhuǎn)換得到的12位數(shù)字信號(hào)經(jīng)vhdl語言編程擴(kuò)展成16位數(shù)字信號(hào),有利于nios ii軟核通過控制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)的采集、處理與通訊過程,利用sopc builder可十分方便地定制32位nios ii cpu和參數(shù)化的avalon接口總線,然后再通過適當(dāng)裁減,增添合適的元件核,以適應(yīng)nios ii系統(tǒng)功能的需求,最后配置的內(nèi)核結(jié)果如圖4所示。

          2.2 nios ii的軟件設(shè)計(jì)

          sopcbuilder的nios ii ide具有友好的操作界面,他采用文件操作的方式訪問系統(tǒng)外設(shè),語法簡(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é)語

          圖5是某人員利用該檢測(cè)儀測(cè)得的心電圖,監(jiān)測(cè)結(jié)果良好。



          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();