基于Nios II的多生理參數(shù)處理系統(tǒng)的設(shè)計
隨著醫(yī)療儀器設(shè)備向智能化、微型化、系列化、數(shù)字化和多功能方向的發(fā)展,醫(yī)療設(shè)備中邏輯控制器件也由采用中、小規(guī)模的集成芯片發(fā)展到應(yīng)用現(xiàn)場可編程門陣列FPGA(Field Programmable Gate Array)。使用FPGA器件可以大大縮短醫(yī)療設(shè)備的研制周期,減少開發(fā)成本,同時還可以很方便地對設(shè)計進(jìn)行在線修改,因此FPGA在醫(yī)療設(shè)備中有很廣泛的應(yīng)用[1]。
本文引用地址:http://butianyuan.cn/article/82871.htm本文主要搭建一個多生理參數(shù)測量系統(tǒng)的數(shù)據(jù)處理平臺,在FPGA中嵌入一個32位Nios II軟核處理器,用于控制數(shù)據(jù)的傳輸、存儲及顯示。主要完成了此數(shù)據(jù)處理平臺硬件系統(tǒng)的定制及編寫相應(yīng)程序,以控制數(shù)據(jù)的采集、存儲及顯示。
采用Nios II處理器為核心進(jìn)行設(shè)計,可以將全部的接口電路集成在同一片F(xiàn)PGA上,結(jié)構(gòu)簡單。同時,利用Nios II軟核可在線配置的優(yōu)點(diǎn),通過軟件編程改變FPGA的內(nèi)部結(jié)構(gòu)即可迅速、方便地實(shí)現(xiàn)系統(tǒng)性能的擴(kuò)展、升級,大大縮短了系統(tǒng)的開發(fā)周期,提高了性價比。
多生理參數(shù)測量系統(tǒng)的總體設(shè)計
一個完整的生理參數(shù)檢測系統(tǒng)結(jié)構(gòu)可分為三部分:前端檢測電路、接口部分、數(shù)據(jù)處理平臺,分別完成生理信號的采集、傳輸和信號的處理功能,系統(tǒng)層次結(jié)構(gòu)如圖1所示。
前端檢測電路主要完成信號的采集和量化。通過連接不同的傳感器,可以對不同的生理信號進(jìn)行采集,包括心電信號、脈搏信號、體溫等常見生理信號。采集到的生理信號經(jīng)過一些放大、濾波、模數(shù)轉(zhuǎn)換處理后,通過串口發(fā)送至數(shù)據(jù)處理模塊進(jìn)行處理,得到所需要的各種生理參數(shù),最后進(jìn)行顯示或者無線傳輸。本文主要完成基于FPGA技術(shù)的數(shù)據(jù)處理平臺的搭建。
基于FPGA技術(shù)的數(shù)據(jù)處理平臺的設(shè)計
本設(shè)計搭建的是一個以Nios II軟核處理器為核心的數(shù)據(jù)處理平臺,首先控制串口接收數(shù)據(jù),并存儲在相應(yīng)的存儲空間,經(jīng)過相關(guān)的數(shù)據(jù)處理,通過控制顯示外設(shè)顯示相應(yīng)的波形和參數(shù)。NiosⅡ是基于哈佛結(jié)構(gòu)的RISC通用嵌入式處理器軟核,能與用戶邏輯相結(jié)合,編程至Altera的FPGA中。處理器具有32位指令集、32位數(shù)據(jù)通道和可配置的指令以及數(shù)據(jù)緩沖[2-3]。
硬件平臺的構(gòu)建
在本設(shè)計中,NiosⅡ軟核處理器作為控制核心,通過連接串口、存儲器件、顯示外設(shè)構(gòu)成基本的數(shù)據(jù)處理平臺。因此搭建了如圖2所示的硬件平臺。
硬件平臺主要在Terasic公司的Altera DE2開發(fā)板上實(shí)現(xiàn),系統(tǒng)的主要組件有NiosⅡ的內(nèi)核、片內(nèi)存儲器、定時器、VGA控制器、LCD控制器等,都集成在一塊Altera的Cyclone II FPGA芯片上,使用SoPC Builder來配置生成片上系統(tǒng)。SoPC Builder自動產(chǎn)生每個模塊的HDL文件,同時自動產(chǎn)生一些必要的仲裁邏輯來協(xié)調(diào)系統(tǒng)中各部件的工作[4]。
NiosⅡ軟核系統(tǒng)的定制
根據(jù)圖2所構(gòu)建的硬件平臺,利用SoPC Builder定制32位NiosⅡ CPU以及參數(shù)化的Avalon接口總線,然后再通過適當(dāng)增添平臺中所需的元件核,以適應(yīng)NiosⅡ系統(tǒng)功能的需求,生成如圖3所示的基本定制。
軟件設(shè)計
軟件部分主要是控制數(shù)據(jù)的接收、存儲以及顯示。在自定義IP核模塊中可以設(shè)計一些數(shù)據(jù)處理的算法,如數(shù)字濾波算法、某些生理參數(shù)值的計算,包括血壓值、心率等。
數(shù)據(jù)接收模塊的設(shè)計
本設(shè)計使用串口接收數(shù)據(jù),Nios II開發(fā)中使用的UART串口模塊是一個SoPC Builder組件,它包含在Nios II開發(fā)包中。在開發(fā)包中還預(yù)定義了一些關(guān)于UART的數(shù)據(jù)結(jié)構(gòu)和常用的UART函數(shù),這樣可以方便地對UART進(jìn)行編程。
首先,要在SoPC Builder中對UART的參數(shù)進(jìn)行設(shè)置,包括波特率、傳輸?shù)臄?shù)據(jù)幀格式等。當(dāng)在SOPC Builder下完成系統(tǒng)的硬件設(shè)計時,會自動生成一個硬件抽象層(HAL)文件,作為軟件和硬件的接口,同時會在excalibur.h頭文件中聲明UART模塊的相關(guān)數(shù)據(jù)結(jié)構(gòu)。軟件通過外設(shè)的抽象地址映射接口接入硬件。本設(shè)計使用串口中斷的方式接收數(shù)據(jù),其流程如圖4所示。
數(shù)據(jù)顯示模塊的設(shè)計
在Nios II系統(tǒng)中,VGA是一個外設(shè)IP核。設(shè)計中最重要的部分是VGA時序的產(chǎn)生,它是正常輸出顯示的關(guān)鍵,包含在VGA控制器中。VGA控制器是用SoPC Builder中的inteRFace to user logic生成的,首先用硬件描述語言定義一個時序輸出和RGB信號輸出模塊,點(diǎn)時鐘25.175MHz由開發(fā)板提供的時鐘經(jīng)鎖相環(huán)分頻產(chǎn)生。鎖相環(huán)是通過MegWizard工具加入系統(tǒng)的。該模塊實(shí)現(xiàn)了VGA輸出所需的點(diǎn)時鐘、復(fù)合同步控制信號、復(fù)合消隱控制信號、行同步和場同步信號;同時也完成了從寄存器內(nèi)讀取輸出顯示命令及顏色值。其中點(diǎn)時鐘、復(fù)合同步控制信號、復(fù)合消隱控制信號和RGB數(shù)字信號輸入給ADV7123,行同步、場同步和由ADV7123轉(zhuǎn)換輸出的RGB模擬信號輸入給VGA顯示器。另外,還要用硬件描述語言實(shí)現(xiàn)對寄存器的讀寫,以使VGA控制器端口符合Avalon接口規(guī)范。
用HDL語言編寫了VGA模塊的時序控制及RGB信號的輸出程序,其時序仿真結(jié)果如圖5所示。
數(shù)據(jù)存儲模塊的設(shè)計
本設(shè)計所用的開發(fā)板上提供了豐富的存儲資源,包括8MB的SDRAM、512KB的SRAM、4MB的Flash,另外還有SD卡接口,通用的GPIO接口也可以方便地連接片外擴(kuò)展的存儲芯片。
本文主要設(shè)計了以Nios II軟核處理器為核心的數(shù)據(jù)處理平臺。在以后的設(shè)計中,可以進(jìn)一步研究數(shù)據(jù)處理的算法,包括信號的數(shù)字濾波、參數(shù)的數(shù)值計算等。
基于極其靈活的Nios II處理器的數(shù)據(jù)處理平臺可以根據(jù)不同醫(yī)院、社區(qū)和家庭的需要,通過選擇不同的前端數(shù)據(jù)采集模塊和相應(yīng)的數(shù)據(jù)處理算法進(jìn)行快速的配置和升級。同時可以通過網(wǎng)絡(luò)連接,實(shí)現(xiàn)遠(yuǎn)程醫(yī)療和信息共享。在現(xiàn)代醫(yī)療儀器的設(shè)計中采用現(xiàn)場可編程門陣列實(shí)現(xiàn),將顯著縮短開發(fā)周期,減少設(shè)計風(fēng)險,降低成本,提高產(chǎn)品的可靠性、靈活性,并實(shí)現(xiàn)模塊化、微型化。
參考文獻(xiàn)
[1] 方向林.現(xiàn)場可編程門陣列的生物醫(yī)學(xué)工程應(yīng)用.中國臨床康復(fù),2006;10(25).
[2] Altera.NiosII processor reference handbook.http://www.altera.com,2005,5.
[3] Altera.NiosII software developer′s handbook.http://www.altera.com,2005,5.
[4] Altera.DE2 development and Education board user manual.http://www.altera.com,2006,7.
評論