"); //-->
摘 要:以NiosⅡ软核处理器为核心的多生理参数系统数据处理平台的搭建,在FPGA中嵌入32位Nios II软核系统,用以控制信号的采集﹑处理﹑存储与显示等功能。NiosⅡ系统设计以NiosⅡ软核为核心,将全部的接口电路集成在同一片FPGA上,结构简单,易于修改,具有很高的性价比。
关键词:FPGA;NiosII;多参数测量
随着医疗仪器设备向智能化、微型化、系列化、数字化和多功能方向的发展,医疗设备中逻辑控制器件也由采用中、小规模的集成芯片发展到应用现场可编程门阵列FPGA(Field Programmable Gate Array)。使用FPGA器件可以大大缩短医疗设备的研制周期,减少开发成本,同时还可以很方便地对设计进行在线修改,因此FPGA在医疗设备中有很广泛的应用[1]。
本文主要搭建一个多生理参数测量系统的数据处理平台,在FPGA中嵌入一个32位Nios II软核处理器,用于控制数据的传输、存储及显示。主要完成了此数据处理平台硬件系统的定制及编写相应程序,以控制数据的采集、存储及显示。
采用Nios II处理器为核心进行设计,可以将全部的接口电路集成在同一片FPGA上,结构简单。同时,利用Nios II软核可在线配置的优点,通过软件编程改变FPGA的内部结构即可迅速、方便地实现系统性能的扩展、升级,大大缩短了系统的开发周期,提高了性价比。
多生理参数测量系统的总体设计
一个完整的生理参数检测系统结构可分为三部分:前端检测电路、接口部分、数据处理平台,分别完成生理信号的采集、传输和信号的处理功能,系统层次结构如图1所示。
前端检测电路主要完成信号的采集和量化。通过连接不同的传感器,可以对不同的生理信号进行采集,包括心电信号、脉搏信号、体温等常见生理信号。采集到的生理信号经过一些放大、滤波、模数转换处理后,通过串口发送至数据处理模块进行处理,得到所需要的各种生理参数,最后进行显示或者无线传输。本文主要完成基于FPGA技术的数据处理平台的搭建。
基于FPGA技术的数据处理平台的设计
本设计搭建的是一个以Nios II软核处理器为核心的数据处理平台,首先控制串口接收数据,并存储在相应的存储空间,经过相关的数据处理,通过控制显示外设显示相应的波形和参数。NiosⅡ是基于哈佛结构的RISC通用嵌入式处理器软核,能与用户逻辑相结合,编程至Altera的FPGA中。处理器具有32位指令集、32位数据通道和可配置的指令以及数据缓冲[2-3]。
硬件平台的构建
在本设计中,NiosⅡ软核处理器作为控制核心,通过连接串口、存储器件、显示外设构成基本的数据处理平台。因此搭建了如图2所示的硬件平台。
硬件平台主要在Terasic公司的Altera DE2开发板上实现,系统的主要组件有NiosⅡ的内核、片内存储器、定时器、VGA控制器、LCD控制器等,都集成在一块Altera的Cyclone II FPGA芯片上,使用SoPC Builder来配置生成片上系统。SoPC Builder自动产生每个模块的HDL文件,同时自动产生一些必要的仲裁逻辑来协调系统中各部件的工作[4]。
NiosⅡ软核系统的定制
根据图2所构建的硬件平台,利用SoPC Builder定制32位NiosⅡ CPU以及参数化的Avalon接口总线,然后再通过适当增添平台中所需的元件核,以适应NiosⅡ系统功能的需求,生成如图3所示的基本定制。
软件设计
软件部分主要是控制数据的接收、存储以及显示。在自定义IP核模块中可以设计一些数据处理的算法,如数字滤波算法、某些生理参数值的计算,包括血压值、心率等。
数据接收模块的设计
本设计使用串口接收数据,Nios II开发中使用的UART串口模块是一个SoPC Builder组件,它包含在Nios II开发包中。在开发包中还预定义了一些关于UART的数据结构和常用的UART函数,这样可以方便地对UART进行编程。
首先,要在SoPC Builder中对UART的参数进行设置,包括波特率、传输的数据帧格式等。当在SOPC Builder下完成系统的硬件设计时,会自动生成一个硬件抽象层(HAL)文件,作为软件和硬件的接口,同时会在excalibur.h头文件中声明UART模块的相关数据结构。软件通过外设的抽象地址映射接口接入硬件。本设计使用串口中断的方式接收数据,其流程如图4所示。
数据显示模块的设计
在Nios II系统中,VGA是一个外设IP核。设计中最重要的部分是VGA时序的产生,它是正常输出显示的关键,包含在VGA控制器中。VGA控制器是用SoPC Builder中的interface to user logic生成的,首先用硬件描述语言定义一个时序输出和RGB信号输出模块,点时钟25.175MHz由开发板提供的时钟经锁相环分频产生。锁相环是通过MegWizard工具加入系统的。该模块实现了VGA输出所需的点时钟、复合同步控制信号、复合消隐控制信号、行同步和场同步信号;同时也完成了从寄存器内读取输出显示命令及颜色值。其中点时钟、复合同步控制信号、复合消隐控制信号和RGB数字信号输入给ADV7123,行同步、场同步和由ADV7123转换输出的RGB模拟信号输入给VGA显示器。另外,还要用硬件描述语言实现对寄存器的读写,以使VGA控制器端口符合Avalon接口规范。
用HDL语言编写了VGA模块的时序控制及RGB信号的输出程序,其时序仿真结果如图5所示。
数据存储模块的设计
本设计所用的开发板上提供了丰富的存储资源,包括8MB的SDRAM、512KB的SRAM、4MB的Flash,另外还有SD卡接口,通用的GPIO接口也可以方便地连接片外扩展的存储芯片。
本文主要设计了以Nios II软核处理器为核心的数据处理平台。在以后的设计中,可以进一步研究数据处理的算法,包括信号的数字滤波、参数的数值计算等。
基于极其灵活的Nios II处理器的数据处理平台可以根据不同医院、社区和家庭的需要,通过选择不同的前端数据采集模块和相应的数据处理算法进行快速的配置和升级。同时可以通过网络连接,实现远程医疗和信息共享。在现代医疗仪器的设计中采用现场可编程门阵列实现,将显著缩短开发周期,减少设计风险,降低成本,提高产品的可靠性、灵活性,并实现模块化、微型化。
参考文献
[1] 方向林.现场可编程门阵列的生物医学工程应用.中国临床康复,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.
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。