基于FPGA的数字式心率计的设计实现
除法电路。平均心率的计算应根据测量结束前最后测得的16次心率值求平均,因此心率计算电路还应包括一个能完成12位二时制数加法的电路和一个能完成12位二进制数除法的电路,这个除法运算可通过移位寄存器右移四次来实现。计数器、加法器和移位寄存器在FPGA中用VHDL语言实现都很容易。下面主要讨论测量的实现方法。
瞬时心率计算公式是一个抛物线函数,分母中计数值N是一个变量,这个除法运算不能通过简单的移位寄存器来实现;而设计16位二进制除法运算电路,无论采用组合电路还是采用时序电路,都将耗费很多的芯片资源。另一方面,人的正常心率为60~120跳/分钟,即使心率出现异常,也不会超过 20~200跳/分钟,因此所测量的心率值只有有限个数据。这样,可根据每一个可能出现的心率值,预先求出N的变化范围,制作一张表,存入ROM中。实际测量时,再根据测到的N值,选择相应的心率数据。假设心率的变化范围为20~200,则N的变化范围为3077~300。瞬时心率值IHR与计数值N的关系如表1所示。
心率计算电路除了完成上述功能外,还要将瞬时心率值和平均心率值转换为七段显示代码,再送入LED显示器进行数字显示。
2.3 告警控制电路
告警控制电路的功能是根据心率计算电路得到的瞬时心率值来判断心率的状态:心跳到否正常、是否过快或过慢、是否心率不齐。如果心率处于 60~120的范围,则心跳正常;如果心率小于60,则心跳过慢,如果心跳大于120,则心跳过快;如果相邻两次测量的心率值认为心率不齐。这些判断是由一系列比较器完成的,用VHDL语言实现比较简单,这里不再详述。
完成比较判断后,告警控制电路将代表不同心率状态的字母E(正常)、F或S(过快或过慢)及I(心率不齐)的七段显示代码以8Hz的频率分别送到三个LED显示器进行报警显示,同时将不同心率状态信号以8Hz的频率分别送到三个不同颜色的发光二极管进行报警显示。
2.4 时钟分频电路
时钟分频电路的功能是将系统提供的主时钟进行分频,提供其它模块电路所需的两个时钟(1kHz和8kHz)。其中,周期计数器的时钟(clk1)决定了周期计数器的位数。当心率测量范围为20~200跳/分钟时,对庆的心率周期T为3~0.3秒。若时钟信号clk1的频率 f0=1kHz,则在最低心率(20跳/分钟)时的计数值N=3/10 -3=3000,因此计数器的位数为12位。由下面的性能评价佛标分析可知,更高的时钟频率可扩大心率测量范围并提高测量分辨率,但同时分增加电路的复杂性;而报警控制电路的时钟(clk2)决定了显示闪烁的快慢。在FPGA中,时钟分频电路一般是通过VHDL语言的进程语句由计数器实现的。
3 性能评价指标
心率计数能评价指标主要包括测量误差和分辨率。由表1可知,由于计数值N的边办取值对应于相邻两个心率值的中点,故在20~200跳/分钟范围内测量的每一个显示心率值的误差都为0.5跳/分钟。最大相对误差(用百分比表示)如图5所示。相对误差的最大值发生在最低心率20跳/分钟处,随着心率值的增加,相对误差减小。当心率值大于或等于50跳/分钟时,相对误差小于1%,而当心率值大于100跳/分钟时,相对误差小于0.5%。
另一个性能指标是仪器的分辨率。由瞬时心率IHR=6×10 4/N和表1可知,当周期计数值N较小时,N变化一个单位(增大或减小1)对应瞬时心率变化比较大。因此,高心率处的分辨率较差,而低心率处的分辨率较好。在瞬时心率接近200跳/分钟时,N值很小,分辨率为1跳/分钟;在较低的瞬时心率时,分辨率小于1跳/分钟。
如果将时钟频率提高到8kHz,同时将周期计数器的位数提高到16位,分辨率将会大幅提高。此时,在瞬时心率接近200跳/分钟处,分辨率会小于0.1跳/分钟,而在瞬时心率较低处,分辨率将进一步变好。因此,在20~200跳/分钟的心率范围内,可以0.1跳/分钟的分辨率显示所有心率。不过,将周期计数器从12位提高到16位会增加电路的复杂性。另外,在实际心率测量中,人们习惯1跳/分钟的分辨率,更高的分辨率没有必要。
基于FPGA的数字心率计测量精度高,测量范围宽,在20~200跳/分钟的测试范围内,最大误差为2.5%,而当心率大于50跳/分钟时,误差小于1%,而且它的工作稳定性和可靠性好、功耗低、不需要电路参数校正和灵敏度调节,能够测量瞬时心率和平均心率,并具有心率异常报警功能。因此,与文献中报道的其它心率计相比,具有更好的性能。
- MEMS加速度传感器在胎儿心率检测仪中的应用(11-19)
- 基于uPSD3234的反射式红外心率检测仪的设计方案(04-06)
- 智能手表心率检测的原理及不同方法的优劣(10-23)
- 用大电流LDO为FPGA供电需要低噪声、低压差和快速瞬态响应(08-17)
- 基于FPGA 的谐波电压源离散域建模与仿真(01-30)
- 基于FPGA的VRLA蓄电池测试系统设计(06-08)