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