工控网首页
>

应用设计

>

基于USB接口的心电信号数据采集系统

基于USB接口的心电信号数据采集系统

2010/1/12 16:17:00

摘要:介绍了基于USB接口的心电信号数据采集系统,给出了该系统的硬件组成原理及软件设计方法。由于该系统使用了高性能的USB专用芯片CY7C64613,因而具有使用方便、即插即用等特点。与笔记本电脑相连即可构成移动式心电信号检测分析仪器,具有较高的实用推广价值。

关键词:USB;心电;数据采集
1 引言
      心电信号是最广泛的临床检查项目之一。心电信号数据采集系统是心电信号检查的关键部件,它能在较强的噪声背景下,通过电极将0.05~100Hz的微弱心电信号检测出来,然后经放大、A/D转换后送入计算机进行处理。计算机的使用使得该系统在信号分析、储存、打印等方面比传统的心电图机具有明显的优势。但采集系统与计算机的通讯接口都存在插卡插拔麻烦,安全性差,且扩展槽数目有限等不足。为此本文提出的基于USB接口的心电信号数据采集系统使用了目前最为先进的USB接口技术,能够支持即插即用和热插拔功能。这是其它非USB接口无法比拟的。同时也可以与笔记本电脑相连以构成移动式心电检测分析仪。

2 系统的硬件组成
2.1 系统组成
       图1所示为基于USB接口的心电信号数据采集系统的组成框图。图中电极传感器检测到的心电信号经输入保护电路进行电压限幅、高频滤波后,再进行前置放大,然后经光电隔离后,再次进行电压放大,最后经干扰抑制电路消除干扰后,在多路模拟开关的控制下将其中某一路信号接入A/D。CY7C64613是带智能USB接口的单片机,通过它可以把A/D转接后的数字信号经USB接口传输到计算机。

    下面就数据采集系统的抗干扰措施、信号放大及USB通信等问题进行重点论述。
2.2 系统抗干扰
作为医疗器械的心电信号数据采集系统,由于其检测对象是低频、微弱的心电信号,干扰较大,因此系统的抗干扰能力及安全可靠性至关重要。针对这种情况,本系统采取了多方面措施。图2所示为输入保护电路和高频滤波电路。其中输入保护电路是在每个电极和地之间加入两个并联的硅二极管以进行电压限幅,从而限制输入电压不超过±600mv,确保病人和仪器的安全。高频滤波电路用于阻止高频干扰信号进入数据采集系统。本设计使用以FX101芯片为核心的低通滤波器。滤波截止频率为:
fc=1/[2p(R1R2C1C2)1/2]
使用光电隔离电路和干扰抑制电路可进一步提高抗干扰能力。干扰抑制电路包括50Hz干扰抑制电路和肌电干扰抑制电路。前者用来滤掉50Hz工频干扰(这是心电信号的主要干扰源),它是一个无源RC双T网络。后者用来抑制电极与皮肤接触时引进的肌电信号,它是一个高载RC滤波器。
此外,还可采用软件滤波的方法。可通过在软件中设置50Hz干扰滤波和漂移滤波等程序来进一步提高系统的抗干扰能力。
2.3 放大电路
放大电路也是设计重点之一。一般情况下,心电信号必须进行放大才能送往计算机进行处理。由于极化电压的影响,放大器的增益不能太高,因而本系统采用了前置放大电路和电压放大电路两级放大的方法。对前置放大电路的要求是:输入阻抗高、失调温漂小、共模抑制比高、输入噪声小。为此笔者选用了INA121芯片。INA121是Texas Instruments BB公司生产的低功耗仪器放大电路,性能优越,它的差模输入电阻为1012Ω,共模抑制比为106dB,输入失调电压为±200μv,输入失调温漂为±2μv/℃,输入噪声为20nVHz1/2。前置放大电路的放大倍数设置为50。较小的前置放大倍数可以避免极化电压的影响。电压放大电路的放大倍数设置的较高(取为100倍),则可以保证总的放大倍数。
2.4 USB专用芯片的选择
目前各个厂商推出的USB芯片类型众多,功能各异。本系统选用Cypress半导体公司推出的EZ-USB FX全速系列中的CY7C64613-128NC芯片。EZ-USB FX系列芯片是带智能USB接口的单片机,它以8051为核心。对于复杂与繁琐的USB通信,该器件可提供EZ-USB固件函数库与固件架构,从而可大幅度地降低编写固件程序代码的困难程度。CY7C64613支持USB协议1.1,同时可支持12Mbps的全速传输。此外,它还带有增强版的8051核心和4kB或8kB的RAM,端点数量为32个,可采用智能型的USB核心程序。

3 软件设计
本系统的软件设计包括三部分:固件设计、驱动程序设计、应用程序设计。
本设计中将心电信号数据采集系统规划为人工接口设备HID群组。该HID群组原是针对键盘、鼠标等输入设备而设置与规划的。但是,对于需要以双向、适当的频率来进行数据交换的其它设备而言,也是一个非常好的设计范例与基础架构。因此,可以将这些设备规划为HID群组,只要它们符合HID规范中所定义的各种特性与条件,就可以执行HID设备的功能。在windows98与windows2000等操作系统中都已包含了HID群组的驱动程序,因此,用户开发新设备时,无须重新编写驱动程序。
3.1 固件(Firmware) 设计
由于EZ-USB FX系列已提供了固件架构(frame works)。因此,可以利用这一架构来简化固件的开发。用户仅需提供其USB描述符以及实现外围功能的程序代码在PERIPH.C文件中,即可完成完全兼容的USB设备设置。此外,Cypress公司还提供了副函数钩子(function hooks),利用该功能可以帮助用户进行固件的设计。
在程序开始执行后,固件架构会执行以下步骤:第一步,设置内部状态变量的起始值;第二步,调用用户的初始设置函数TD-Init;第三步,在1s间隔后重新设备列举(ReNumerate),直到收到SETUP封包为止;第四步,一旦SETUP封包被检测到,固件架构立即启动与其合作的工作分配器。
TD_Init()可用来对用户设备(即数据采集系统)进行初始化,并重新寻址描述符表。其程序代码如下:
TD_Init();
pDeviceDscr=(WORD)&DeviceDscr;
pConfigDscr=(WORD)&ConfigDscr;
pStringDscr=(WORD) &StringDscr;
if((WORD)&DeviceDscr&0xe000)
pReportDscr=(WORD)&ReportDscr
{
IntDescrAddr=INTERNAL_DSCR_ADDR;
ExtDescrAddr=(WORD)&DeviceDscr;
DevDescrLen=(WORD)&UserDscr(WORD)&De-viceDscr+2;
for(i=0;i<DevDescrLen;i++)
*((BYTE xdata *)IntDescrAddr+i)=0xCD;
for(i=0;i<DevDescrLen;i++)
*((BYTE xdata* )IntDescrAddr+i)=*((BYTE xdata *)ExtDescrAddr+i);
pDeviceDscr=IntDescrAddr;
offset = (WORD)&DeviceDscr_INTERNAL_DSCR_ADDR;
pConfigDscr- =offset;
pStringDscr - =offset;
pReportDscr- =offset;
}
EZUSB_IRQ_ENABLE();
EZUSB_ENABLE_RSMIRQ();
3.2 <
投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机