随着医疗仪器设备向智能化、微型化、系列化、数字化和多功能方向的发展,医疗设备中逻辑控制器件也由采用中、小规模的集成芯片发展到应用现场可编程门阵列FPGA(Field Programmable Gate Array)。使用FPGA器件可以大大缩短医疗设备的研制周期,减少开发成本,同时还可以很方便地对设计进行在线修改,因此FPGA在医疗设备中有很广泛的应用[1]。
本文主要搭建一个多生理参数测量系统的数据处理平台,在FPGA中嵌入一个32位Nios II软核处理器,用于控制数据的传输、存储及显示。主要完成了此数据处理平台硬件系统的定制及编写相应程序,以控制数据的采集、存储及显示。
采用Nios II处理器为核心进行设计,可以将全部的接口电路集成在同一片FPGA上,结构简单。同时,利用Nios II软核可在线配置的优点,通过软件编程改变FPGA的内部结构即可迅速、方便地实现系统性能的扩展、升级,大大缩短了系统的开发周期,提高了性价比。
多生理参数测量系统的总体设计
一个完整的生理参数检测系统结构可分为三部分:前端检测电路、接口部分、数据处理平台,分别完成生理信号
前端检测电路主要完成信号的采集和量化。通过连接不同的传感器,可以对不同的生理信号进行采集,包括心电信号、脉搏信号、体温等常见生理信号。采集到的生理信号经过一些放大、滤波、模数转换处理后,通过串口发送至数据处理模块进行处理CONTROL ENGINEERING China版权所有,得到所需要的各种生理参数,最后进行显示或者无线传输。本文主要完成基于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接口总线,然后再通过适当增添平台中所需的元件核www.cechina.cn,以适应NiosⅡ系统功能的需求,生成如图3所示的基本定制。
软件设计
软件部分主要是控制数据的接收、存储以及显示。在自定义IP核模块中可以设计一些数据处理的算法,如数字滤波算法、某些生理参数值的计算,包括血压值、心率等。
数据接收模块的设计
本设计使用串口接收数据,Nios II开发中使用的UART串口模块是一个SoPC Builder组件www.cechina.cn,它包含在Nios II开发包中。在开发包中还预定义了一些关于UART的数据结构和常用的UART函数CONTROL ENGINEERING China版权所有,这样可以方便地对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输出所需的点时钟、复合同步控制信号、复合消隐控制信号、行同步和场同步信号;同时也完成了从寄存器内读取输出显示命令及颜色值。其中点时钟