1 引言
心电检测仪是医学界运用广泛的一种心电监测设备,他主要由12导联心电传感器和心电信号处理设备两部分组成,目前运用广泛的数字式心电检测仪大都是由DSP处理器外加一个单片机(MCU),通过编写复杂的并行通讯协议来完成的,这种结构虽然有较高的精度,但硬件设计复杂,软件编写烦琐,相应的开发周期长,研制成本高。
本设计采用Altera公司先进的SOPC(可编程片上系统)解决方案--以32位Nios II软核CPU系统取代目前数字式心电仪的DSP和MCU的双CPU结构,通过灵活的Avalon总线,控制心电信号的采集、处理、回放、存储等功能,Nios II系统设计以Nios II软核为核心,将全部的接口电路集成在同一片FPGA上,结构简单,同时,利用Nios II软核可在线配置的优点,通过软件编程改变FPGA的内部借给即可迅速、方便地实现系统性能的扩展、设计、大大缩短了系统的开发周期,提高了性价比,该Nios II系统的结构如图1所示。
2 Nios II系统的设计
Nios II系统选用Altera公司推出了新一代的、低成本的Cyclone系列FPGA器件EP1C6Q240,该器件具有5980个逻辑单元,20个M4K RAM块,92 160b的RAM位和2个锁相环,最大用户I/O引脚185[1]。利用EP1C6Q240丰富的资源和ALTERA公司的Quartus II 5.0软件开发平台,配合使用SopcBuilder和Dspbuilder完成系统的硬件和软件设计。
|
2.1 Nios II系统的硬件设计
由12导联采集的心电信号经调理、模拟滤波处理后,经A/D转换器将数字信号送往Nios II系统,Nios II系统是整个心电诊断仪的核心部件,他主要控制着心电信号的A/D转换,数据传输和处理,以及与外设的数据通讯等功能。
2.1.1 心电仪AD转换器控制电路的设计
对于由12导联传感器采集的心电信号,通过模/数转换芯片AD574进行模/数转换,Nios II系统对AD574的转换控制电路由VHDL语言编写的AD574控制IP核实现,自定义的IP核直接加载到SopcBuiler的元件池里,Nios II软核通过Avalon总线可方便地对其操作,该IP的部分设计程序如下: 一方面,AD574控制IP核根据AD574的转换时序,在Nios II的控制下,通过Avalon总线实现心电信号的AD转换,另一方面,AD574控制IP核还作为数据的传输通道,将转换的数据通过Avalon总线送往双口RAM存储。
2.1.2 数据存储电路--双口RAM的设计
由于心电信号的动态范围较大,为保证采样信号的准确性,设计时将采样频率提高到256Hz,这样势必要求系统有较大的存储空间,而且要保证采集的信号及时往外送显,系统要求具有动态显示的功能,因此,设计时,利用Quartus II5.0将EP1C6Q240内部的M4K RAM存储块设计成存储为256bit的双口RAM,采集来的数据在Nios II的控制下,送往双口RAM,当RAM写满256个数据后,再触发控制信号,将RAM内数据送DSP模块处理,双口ROM的结果如图2所示。
|
其中wren,rden分别是Nios II软核控制下的写使能、读使能控制信号,wraddress[3..0],rdaddress[3..0]是分别是写地址信号和读地址信号;clock为读写控制时钟,写入的数据为data[15..0],读出的信号为q[15..0],设计时,我们将由AD574转换得到的12位数字信号经VHDL语言编程扩展成16位数字信号,有利于Nios II软核通过控制Avalon总线,实现数字信号的处理。
2.1.3 数字信号处理电路的设计
DSP Builder为是Altera公司推出的高效的数字信号处理设计工具,本系统利用他设计出了256阶FIR数字滤波器,滤波器的仿真结果如图3所示,Nios II系统利用此滤波器较好的完成了心电数字信号的处理。
2.1.4 Nios II软核的定制
Nios II软核CPU是Nios II系统的核心,他控制着整个心电诊仪心电信号的采集、处理与通讯过程,利用SOPC Builder可十分方便地定制32位Nios II CPU和参数化的Avalon接口总线,然后再通过适当裁减,增添合适的元件核,以适应Nios II系统功能的需求,最后配置的内核结果如图4所示。
2.2 Nios II的软件设计
SopcBuilder的Nios II IDE具有友好的操作界面,他采用文件操作的方式访问系统外设,语法简便,相应的函数丰富,使软件设计人员可根据系统硬件结构十分方便地设计系统的软件,心电诊断仪的Nios II软件设计总是要针对液晶显示屏,外部FLASH的编程,程序很容易实现。
3 结语
图5是某人员利用该检测仪测得的心电图,监测结果良好。
|
评论