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