历史上的今天
返回首页

历史上的今天

今天是:2024年10月29日(星期二)

正在发生

2019年10月29日 | 基于C8051F320单片机的低成本心电监护系统设计

2019-10-29 来源:eefocus

  1 引言


  虚拟医学仪器充分利用计算机丰富的软硬件资源,仅增设少量专用软、硬件模块,便可实现传统仪器的全部功能及一些传统仪器无法实现的功能,同时缩短了研发周期。本系统由两部分组成:以C8051F320单片机为核心的数据采集装置和以PC机为平台的分析处理系统。设计中充分考虑数据采集装置体积小、功耗低、操作快捷的要求,因此全部采用SMT封装的元器件。PC监护终端通过USB接口接收数据,传输速率高;采用图形编程语言LabVIEW编写显示、存储、分析处理等功能程序。该系统可实时监护并提供心动周期,心率等参数,也可进行数据的存储回放,为心血管疾病的诊断提供依据。系统的软件开发和硬件与上位机软件的集成测试表明,系统运行稳定可靠,取得了预期效果。


  2 系统硬件设计

  该系统由C8051F320数据采集模块和PC机两部分组成,如图1所示。

  

 

  数据采集模块主要由心电采集电路和基于C8051F320单片机的DAQ接口卡构成,如图2所示。

  

 

  该模块通过C8051F320片上A/D转换器采集经预处理的心电信号,再将其由USB总线传输至PC机显示。PC机部分主要是软件设计,包括通过C8051F320单片机片上USB主机API函数和LabVIEW软件编写数据采集图形用户界面;实现接收、显示和处理由数据采集模块通过USB接口发送采集数据的程序。LabVIEW应用程序和C8051F320应用程序均采用Silicon Laboratories公司的USB Xpress开发套件的API和驱动程序实现对底层USB器件的读写操作。


  心电信号属于微弱信号,体表心电信号的幅值范围为1~10 mV。在测量心电信号时存在很强的干扰,包括测量电极与人体之间构成的化学半电池所产生的直流极化电压,以共模电压形式存在的50 Hz工频干扰.人体的运动、呼吸引起的基线漂移,肌肉收缩引起的肌电干扰等。采用遥测HOLTER三导联线和一次性心电电极与人体接触,能很好地减小运动和呼吸引起的肌电干扰。前端放大器采用具有极高共模抑制比(CMRR)的仪用AD620放大器,放大倍数约为50倍;并采用0.05~100 Hz的带通滤波器和50 Hz的陷波电路,抑制信号的基线漂移、高频噪声及工频干扰。为了充分利用A/D转换的精度,在转换前先将信号放大到A/D转换电路参考电压的70%左右,考虑到信号中会附加直流成分,需在A/D转换电路前增加电平调节电路。个体心电幅度的差异要求电路中设计程控放大电路,又为了便于心电信号的标定和考虑到实际器件放大倍数与理论值的偏差,在程控放大电路前设置一个手动可调的放大电路(1~10倍)。


  综上分析,心电采集与程控放大部分应包括:AD620前端放大、0.05~100 Hz的带通滤波、50 Hz陷波、手动放大、程控放大和电平提升等电路。其中程控放大功能利用CD4051电子开关的数字选通实现,具有1~50倍的调节范围。


  为减少系统功耗,应采用低功耗、集成度高的器件。该系统选用C8051F320单片机作为数据采集卡的核心部件。该器件是完全集成的混合信号系统级器件,具有与8051兼容的高速CIP-51内核,与MCS-51指令集完全兼容,片内集成了数据采集和控制系统常用的模拟、数字外设及USB接口等其他功能部件。外部电路简单,易于实现,如图3所示。

  

  心电电极将得到的信号经滤波和可变增益放大器放大后送至C8051F320单片机,单片机将得到的模拟心电信号实时转换为数字信号,采集到的数据通过USB接口传给PC机,进一步分析处理信号数据。


  3 系统软件设计

  3.1 C8051F320单片机程序设计

  C8051F320单片机程序包括:(1)A/D转换程序和程控放大控制程序;(2)基于USB器件的通信程序,接收从USB主机发送的用户指令并将采集的数据发送给USB主机。

  3.1.1 A/D转换程序

  衡量A/D转换性能主要有两个指标:采样分辨率(A/D转换器位数)和A/D转换速度。设置A/D转换器的采样率为2 000 Hz,并采用定时器TIME2溢出中断触发转换,每次转换结束后1O位结果数据字被锁存到A/D转换器的数据寄存器中,供USB通讯子程序数据调用,图4为A/D转换流程。A/D转换程序较简单,可通过设置C8051F320片上定时器确定A/D转换器的采样周期,由定时器的溢出周期性启动A/D转换器来采样被测数据。USB设置为块状传输模式与PC机进行数据通信。将每64个数据打成一个数据包。以充分利用硬件资源并提高数据传输效率。

  

 

  3.1.2 基于USB器件的通信程序

  整个程序流程以USB通信为主线,如图5所示。图中所涉及的USB_Clock_Start()、USB_Int()等函数均是SiliconLab公司专为C8051F320单片机USB功能开发的USB端API函数。通过在C8051F320上层应用程序中直接调用这些函数可方便快捷地访问USB底层硬件。

  

 

  3.2 PC机LabVIEW程序设计

  PC机LabVIEW程序设计主要完成用户图形界面和基于USB主机通信程序两大功能,从而实现人机交互,将用户输入的指令和采集模块采集的数据通过USB总线在PC机和C8051F320之间传递。


  3.2.1 LabVIEW程序面板设计

  开发USB设备驱动程序的工具使用USB Xpress Devel-opment Kit,主要有:SI_Open()函数;SI_Close()函数;SI_Read函数;SI_Write()函数;SI_GetNumDevices()函数;SI_CheckRX Queue()函数。用户从设备读取数据将调用一个应用程序接口API。SI_GetNumDevices()、SI_GetProductString()等函数均是Silicon Lab公司专为C8051F320单片机USB功能开发的USB主机端API函数。LabVIEW提供调用链接库函数Call Librarv Function,本设计利用Silicon Lab公司的SiUSBXp.dll动态链接库来实现对USB底层硬件的访问。


  通过调用SLGetNumDevices()甬数完成设备的通信初始化,生成函数返回驱动的设备号;该设备号用来在调用SI GetProductString()函数时生成设备描述字符串。要读取一个设备,首先必须通过调用SI_GetNumDevices()函数生成的索引(设备号)来调用SI_Open()函数。SI_Open()函数将返回设备的句柄,该句柄将在随后的所有进程中被用到。利用 SI_Write()和SI_Read()函数就可实现数据的输入和输出。当完成数据的输入和输出操作后,可通过调用SI_Close()关闭设备。图6为I/O接口驱动程序框图。

  

  3.2.2 LabVIEW程序设计用户图形界面(前面板)设计


  动态心电监护系统应用程序部分可实现心电信号的接收、实时显示、存储及回放功能;并可提供心动周期、心率等参数,为心率变异性分析和心血管疾病的诊断提供依据。心电监护系统显示界面如图7所示。

  

 

  4 结论

  该设计不仅可实现传统测量仪器的全部功能,还能将实验数据存盘以进行反复观察分析。基于虚拟仪器的心电监护系统使用灵活方便、测试功能丰富、成本低廉。用户可根据实际需要,通过修改软件改变其功能和升级,实现一机多用。实验结果表明:该系统具有较强的抑制基线漂移能力、低功耗、操作简单。采用USB接口实时传输心电数据,并将心电数据采集模块设计为计算机外设,高速快捷。由于全部采用SMT封装,数据采集模块尺寸仅为60 mmx60 mm,方便实用。因此,该设计是一款实用的、低成本的、动态心电监护系统。


推荐阅读

史海拾趣

EKIT公司的发展小趣事

早在2022年,HUAWEI eKit就在中东地区进行了首次海外亮相。在GITEX展会期间,华为举办了HUAWEI eKit分销论坛,向与会者系统介绍了其“以分销商为主,以工程商为中心”的分销业务战略。通过与中东中亚区域的分销伙伴紧密合作,HUAWEI eKit成功推出了多款针对中小企业市场的新产品,覆盖了数通园区网络和数据存储等多个领域,为当地市场带来了前所未有的商机。

Hengstler GmbH公司的发展小趣事

2023年10月,华为坤灵(HUAWEI eKit)在香港成功举办了分销新品发布会。针对香港市场的特点,HUAWEI eKit展示了面向SOHO办公、酒店餐饮、商业地产、零售商超等场景的新品,并通过整合政策、产品、解决方案、服务和数字工具平台等措施,助力香港区域分销伙伴不断开拓中小企业市场。通过与联强国际(香港)有限公司(SYNNEX)的紧密合作,HUAWEI eKit成功吸引了超过100名香港分销商参与此次发布会,进一步巩固了其在香港市场的地位。

Altitude Technology公司的发展小趣事

随着公司的不断发展,Altitude Technology逐渐在电子行业中崭露头角。然而,市场竞争也日趋激烈,为了保持领先地位,公司决定加大研发投入,致力于技术突破。经过长时间的研发,Altitude Technology成功推出了一款采用最新芯片技术的智能手机,这款手机在性能、功耗和拍照效果等方面均达到了行业领先水平,为公司赢得了更多的市场份额。

Datapro International Inc公司的发展小趣事

Datapro International Inc公司成立于20世纪90年代初,当时正值电子信息技术飞速发展的时期。公司的创始人是一群充满激情和创新精神的年轻工程师,他们看到了在数据存储和处理方面的巨大潜力。于是,他们决定成立Datapro International Inc公司,致力于开发高效、稳定的数据存储解决方案。

在创立初期,Datapro International Inc公司面临着重重困难,包括资金短缺、技术挑战和市场竞争等。然而,他们凭借坚定的信念和不懈的努力,成功开发出了第一款具有创新性的数据存储产品,该产品凭借其卓越的性能和稳定性迅速赢得了市场的认可。这一成功为Datapro International Inc公司的发展奠定了坚实的基础。

Danube Enterprise Co Ltd公司的发展小趣事

随着全球对环保问题的关注度不断提高,Danube也积极响应这一趋势,将绿色环保理念融入到产品设计和生产过程中。他们采用了环保材料和可循环使用的包装材料,降低了产品对环境的影响。同时,Danube还加大了对环保技术的研发投入,推出了一系列具有节能环保功能的电子产品。这些努力不仅提升了Danube的品牌形象,也为其未来的发展奠定了坚实的基础。

ANYSOLAR LTD.公司的发展小趣事

ANYSOLAR始终关注企业的社会责任和可持续发展。在生产过程中,公司严格遵守环保法规,采用先进的环保技术和设备,确保生产过程中的废弃物排放达到国家标准。同时,公司还积极参与社会公益活动,捐赠光伏产品支持贫困地区的能源建设。

此外,ANYSOLAR还致力于推动清洁能源的普及和应用,通过技术研发和市场推广等方式,降低清洁能源的使用成本,提高其在能源结构中的占比。这些举措不仅体现了ANYSOLAR的社会责任感,也为公司的可持续发展奠定了坚实的基础。

以上便是关于ANYSOLAR LTD.的五个发展故事。虽然这些故事是虚构的,但它们基于电子行业的常见趋势和企业发展的普遍规律,旨在展示一个企业在发展过程中可能面临的挑战和机遇。希望这些故事能够为您提供一些启发和参考。

问答坊 | AI 解惑

最新IPHONE周边配件设计

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 …

查看全部问答>

编写无错C程序秘诀

[ 本帖最后由 daicheng 于 2009-3-3 10:14 编辑 ]…

查看全部问答>

求答疑!!!!windows 怎么向 linux 发送一个 .c文件,linux能完整接收编译?

我的目标是在C#平台自动生成一个目标.c文件,而编译工作要使用linux下的gcc编译我的目标.c文件,(考虑到windows下的cygwin编译出来的可执行文件在linux是不能跑的)我现在的问题是:怎么才能把windows下我的.c文件传给到linux编译????? 等待 ...…

查看全部问答>

DOS下RS485双机通讯

问题有三: DOS下232串口编程和485串口编程有区别否,能通用吗? DOS下BC31写485通讯需要注意些什么? 有好点的类库推荐下吗? 谢谢!PS:我的双机是两个PC104…

查看全部问答>

求教:DS生成的中断驱动程序

WIN2000下用DS编写ISA卡的带9号中断的驱动程序 用SOFTICE进行调试 INTOBJ看见中断39处是中断服务程序 用idt 39 看不到中断 服务程序 用GENINT 39软件出发中断,能过进入中断服务程序 可是让驱动程序运行后却截获不到任何关于9号中断的信息 这 ...…

查看全部问答>

LM3S9B96 能好买吗?多少一片啊?

TI那里没货申请不到哦! 市场上现在好买吗? 大概什么价格啊?…

查看全部问答>

关于MSP430G2231晶振问题

用示波器测P1.0脚观察ACLK输出,发现波形不是方波,频率一直在变从8HZ变到26K,难道是我芯片坏了吗?用万用表测试没有烧,在线等求助…

查看全部问答>

死循环的发生

在使用launchpad仿真时MSP430G2553时经常会出现变量参数溢出导致死循环,有没有哪位兄弟出现过这种问题啊, 例如void delay(uchar num) { while(num) num--; } 经常进入这里导致死循环。大家讨论下关于什么情况下会出现死循环吧…

查看全部问答>

STC12C5A60S2 32MHz晶振 复位电路问题

STC12C5A60S2  准备用32MHz有源晶振,晶振电路和复位电路需要什么改变呢? 这是我画的电路,晶振连XTAL1 , XTAL2悬空 复位连的是RST,第二复位引脚悬空 求坛友指导。先谢谢了。 [ 本帖最后由 libertyzx 于 2013-3-29 11:27 编辑 ]…

查看全部问答>

MDK中国版例程服务包

服务包大小:50.5M 下载地址:http://www.realview.com.cn/down-list.asp?id=585 RealView MDK 3.24下载地址:http://www.realview.com.cn/down-list.asp?id=584 使用说明:将MDK中国版例程服务包解压到MDK的安装目录下C:KeilARM覆盖即可 Board ...…

查看全部问答>