很荣幸在论坛上申请到TI的LaunchPad MSP430FR5969开发板,参加TI首届低功耗设计比赛。在这百忙之中能抽出时间完成MSP430FR5969分享心得。这是第一次接触IT的MSP430,从零开始学习到设计的完成,得益于EEWORLD论坛上广大网友分享的学习资料和帮助,也得益于TI官网丰富的MSP430FR5969培训视频和资料,让初学者很快就能着手项目开发。
在这里由衷地感谢一下EEWORLD论坛提供的平台,感谢论坛上网友们的支持和帮助,谢谢!呵呵……
本设计能够在比较短的时间内完成,是去年参加的PSOC4设计有了一点基础,但更多的是精力的投入,项目设计的再次积累和创新!
视频如下:
本设计以超低功耗MSP430FR5969微控制器为核心,以简单外围电路为辅助的创意设计,主要完成心电、加速度和热释电传感器信号采集及处理系统的方案设计、并实现了硬件和软件设计。心电的前端采集电路是关键部分,主要完成信号的正确提取。MSP430FR5969完成模拟信号的A/D转换、数字信号处理、Bluetooth通信等功能。实现了以MSP430FR5969为核心系统的动态心电波形信号、心率测量显示,体温信号测量显示和运动加速度测量等,通过Bluetooth与PC机、Bluetooth与Mobile Telephone通信的可穿戴动态心电监测仪产品设计。 MSP430FR5969具有丰富的片上资源,超低功耗工作模式,可灵活配置,易扩展,功能强大,高可靠性等,是可穿戴式产品设计的最佳方案。 本设计能比较好地完成了预期的设想,并初步实现了硬件系统和软件系统的设计,完成了系统调试。经测试结果证明,基本达到了产品设计要求。
一、硬件系统 1、系统框图,如图(A): 图(A).系统框图
2、硬件系统,如图(B): 图(B).硬件系统图
2、TI LaunchPad MSP430FR5969 硬件说明,如图(1): 图(1). TI LaunchPadMSP430FR5969
图(2).可穿戴动态心电模块
本设计使用了MSP430FR5969片上的资源有: <1> 12 Bit ADC,输入引脚是P4.3,主要完成人体心电信号的采集,模数转换过程。 <2> Clock System(CS),系统的时钟来源是MSP430FR5969内部集成DCOCLK,方便使用,不再需要外部晶振即可工作。 <3> UART,串行通信接口主要是跟蓝牙模块连接,数据传输功能,MSP430具有波特率自适应功能,使用还是很方便的。 <4> I2C,应用在对加速度传感器MPU6050和人体热释电红外传感器数据的读取。 <5> FRAM Controller,全新技术铁电存储,相对于SRAM来说还是有很大的优势。 <6> REF_A,内部基准电压,可提供给外围电路使用,非常方便,AD8232心电传感器正好需要一个基准电压,对硬件来说,减少了这部分的设计。 <7> TIMER_A,定时器是必不可少的,对于程序设计需要时间时,定时器也很重要。 <8> GPIO I/O,系统LED闪烁,热释电传感器单总线数据读取等等。 <9> PMM,电源管理模块,在可穿戴设备上,电源功耗管理是很重要的。
3、可穿戴动态心电模块硬件说明,如图(2): <1> 加速度传感器MPU6050,如果在运动状态下让MCU也能采集到心电数据,这样的传感器是必备的,它能时刻监测系统处于任何状态。 <2> 心电传感器AD8232,主要完成心电信号前端放大差分和滤波等功能,输出的信号可以让MSP430FR5969采集。 <3> MSP430FR5969为本设计的核心器件,对采集到的数据进行处理和传输,完成整个系统的控制和管理等。 <4> DEBUG接口,可穿戴动态心电模块的调试接口,跟TI LaunchPad连接即可在线调试仿真和程序下载等。 <5> ECG LEAD接口,模块在不需要穿戴情况下,可以通过心电导联线连接到人体身上,方便多种方式采集心电信号。 <6> Bluetooth接口,蓝牙通信接口,连接蓝牙无线模块,与PC上位机,手机实时数据传输,蓝牙方案成熟,使用方便等。 <7> DC-BOOST,为TI TLV61220BVT电源管理IC,特别是在使用纽扣电池的设备中,在极低的输入电压情况下也可以把该电压抬升到让MCU工作的电压。 <8> ECG RA,在人体心电信号采集电路中ECG RA理论上是连接人体右臂,ECG RLD,是心电模拟端的右腿驱动,ECG LA用于连接人体左臂。 <9> PIR - 人体热释电红外传感器,主要应用在人体体温数据采集。
二、软件系统
1、硬件的原理图和PCB设计软件使用的是Protel 99 SE,如图(3)和图(4),在四层PCB板以内的电路设计中,Protel 99 SE是一款比较简单易用的PCB设计软件,占用电脑资源比较少。PADS和Altium Designer Summer 09/13等也可以,但占用电脑资源较多…!
图(3). 电路原理图设计
图(4).电路板PCB设计
2、数据信号处理和算法设计平台:MATLAB,如图(5)。外围电路设计得相对简单,但要想产品功能和性能得到更大提高,软件设计是关键,特别是一些算法的设计处理,跟产品设计的成功有这密切关系。本设计所用到的算法有:心电信号低通滤波,高通滤波,带通滤波,带阻滤波,平衡滤波,抗基线漂移滤波算法,抗肌电干扰滤波算法,心率技术处理算法等。借助MATLAB数学软件来进行数字信号处理和算法设计是一种高效的方法。 图(5).MATLAB算法设计
3、MSP430FR5969软件设计平台:IAR Information Center for MSP430,版本是6.10.7。关于IAR,在MSP430开发中使用的人很多。 本系统的软件工程如附件,找到项目工作空间并打开,对应的工程文件结构和程序的主函数分别如图(6),图(7)所示:
图(6). IAR工程文件结构
图(7).项目工程主函数
软件设计流程如图(C): 图(C).软件设计流程
<1> main函数模块,程序执行开始,结构设计得比较简洁,尽量详细的注释,这样程序的可读性会比较强。 <2> “Com.h”是用于包含和管理头文件,一般把通用的头文件都包含到该头文件里,在平常比较大的项目开发中,头文件管理是很有必要的。 #ifndef __COM_H #define __COM_H #include"..\ECGTest\MSP430FR5xx_6xx_Lib\driverlib.h" //开关全局中断的宏 #define ENABLE_INT() __set_PRIMASK(0) //使能全局中断 #define DISABLE_INT() __set_PRIMASK(1) //禁止全局中断 typedef unsigned int U32; typedef int S32; typedef unsigned short int U16; typedef short int S16; typedef unsigned char U8; typedef char S8; typedef unsigned int BOOL; typedef unsigned int u32; typedef int s32; typedef unsigned short int u16; typedef short int s16; typedef unsigned char u8; typedef char s8; union VarU32{ U32mU32; U16mU16[2]; U8mU8[4]; }; union VarU16{ U16mU16; U8mU8[2]; }; union VarS16{ S16mS16; U16mU16; U8mU8[2]; }; #define TRUE 1 #define FALSE 0 #define true 1 #define false 0 #include"SysClock.h" #include "UART.h" #include"ADCSample.h" #include"TimerA.h" #include "I2C.h" #include"MPU6050.h" #include"PIROTMS.h" #include"inv_mpu.h" #include"inv_mpu_dmp_motion_driver.h" #endif <3> ADC采样模块,主要是完成ADC模块的配置和初始化
<4> I2C模块是用于读取加速度传感器和热释电传感器数据 <5> 时钟系统模块,用于配置MSP430内部DCOCLK时钟 <6> 定时器模块,时间的基准 <7> 串行通信模块,实现数据传输功能,与蓝牙模块连接,程序如下: <8> 心电处理模块,完成心电传感器的控制,MSP430内部基准电压产生和心电数据处理等功能,并根据协议打包发送到手机APP或是PC机。 <9> 滤波器模块,心电数据滤波处理的模块,包括心电信号低通滤波,高通滤波,带通滤波,带阻滤波,平衡滤波,抗基线漂移滤波算法等。 <10> 加速度模块,主要是对MPU6050数据读取和数据处理,传输等等。 <11> 热释电模块,包括单总线数据传输,热释电内部校准值读取,温度计算等。 <12> 心率计算模块,从心电波形中提取心率数值,本模块可以在下位机实现,也可以由上位机来实现,算法都差不多。
三、作品展示
图(8). 动态心电模块正面图
图(9). 动态心电模块反面
图(10). 心电板和Launch Pad MSP430FR5969 Kit
图(11). 图11-LaunchPad MSP430FR5969 Kit连接心电板
图(12). 心电板侧面图
图(13). 心电板跟蓝牙模块
图(14). 汽车上的心电模块
图(15). 汽车上采集到的心电图
图(16). 心电模块安装过程
图(17). 运动状态下的心电模块
图(18). 运动情况下的心电模块
图(19). 运动中的心电
图(20). 跑步状态下的PC显示心电波形
图(21). 跑步状态下的PC显示心电波形
图(22). 电脑上显示心电波形
图(23). 电脑上显示心电波形
图(24). 心电模块和手机
图(25). 手机显示心电波形
四、项目定位
动态心电图(Dynamic Electrocardiography DCG)于1949年由美国Holter首创,故又称Holter心电图. DCG可连续记录24小时心电活动的全过程,包括休息、活动、进餐、工作、学习和睡眠等不同情况下的心电图资料,能够发现常规 ECG不易发现的心律失常和心肌缺血,是临床分析病情.确立诊断.判断疗效重要的客观依据。 传统的心电监护设备体积重、价格昂贵和不便携带的局限性,本设计以家庭消费化为项目定位方向的可穿戴设备,无论是正常人或是患者,中老年人均可适用。基于MSP430FR5969的可穿戴动态心电监测仪器具有体积小、成本低、功耗低、方便使用的优点,这在一定程度上满足了人们的基本应用。
五、项目发展远景规划
可穿戴动态心电图的特点就是能记录患者二十四小时内心电图形。它相比普通心电图来说有许多优点,是判别心脏问题的比较可靠的一种方法。 中国不断加剧的老龄化趋势,独居老人增多,人力成本上升是可穿戴医疗增长的基础。 根据艾媒咨询(iiMedia Research)数据显示,2012年中国移动医疗市场规模达到18.6亿元,较上一年增长17.7%。预计2017年底,中国移动医疗市场规模将突破百亿,达到125.3亿元。按照GSM对移动医疗行业测算标准,医疗设备厂商和内容与应用提供商占比约39.83%,预计到2017年,中国可穿戴便携医疗设备市场销售规模将接近50亿元。 由此可见,可穿戴式动态心电监测仪的市场前进是很广阔的。特别是超低功耗类的设备更具有竞争力,也是未来市场发展的趋势。可穿戴式动态心电监测仪让有限的资源普惠更多民众将成为移动健康的一片新蓝海。 本设计分为一期和二期,一期主要实现模块的各项功能和参数,二期以产品的设计要求来完善各项功能和指标。 以MSP430FR5969为核心的可穿戴动态心电监测仪,具有功耗低、性能可靠、成本低等优点。下一步将以市场需求为导向,对本设计进一步完善,追求MSP430FR5969功耗的最低极限,追求产品性能的高可靠性,并加快步伐把产品推向市场,让更多的人能够享受创新科技产品带来的便利!
六、项目创新点
本设计以超低功耗MSP430FR5969微控制器为核心的可穿戴式动态心电检测仪,具有的创新点: <1> 动态显示心电波形,无论是在室内还是户外,无论是在休息还是活动状态,心电波形和心率、体温等都能时时刻刻采集显示。 <2> 核心器件选用是业界最低功耗的MSP430微控制器,让可穿戴式产品的功耗设计达到了最低极限,待机和工作时间都达到了最长。 <3> 采样低功耗模式的集成心电传感,让产品设计得更加小巧,更加方便使用和携带,产品的功耗也得到了进一步降低。 <4> 本设计集成了加速度穿传感器,无论是在活动状态下还是在精致状态下,微控制器都能精准地检测到,并根据人的活动状态做出判断,包括滤波器选择等等。 <5>增加了人体红外热释电传感器,随时随地时刻都可以检测人体体温。 <6> 本设计提供多种应用模式,用手按住电极片采集心电方式,采样导联线连接采集心电方式或是直接贴在人体胸口采集心电方式,让使用更加方便。 <7> 采样纽扣电池既可以工作,功耗极低,不再为待机和工作没电而烦恼。 <8> 心电数据通过蓝牙无线传送方式,让产品的应用更加简单。 <9> 显示方式多样化,可选择在家里使用时采样电脑显示心电波形,或是外出时使用手机随时随地观察心电波形等。 <10> 便携式,可穿戴式,让每个人在任何场地都能够方便使用。 <11> 多种心电算法,抗运动滤波,心率计算,加速度处理,体温等,贯穿融合于MSP430FR5969上,PC机上和手机APP上。
七、结束
TI留给电子专业学生的印象一直都很好,在大学里提供了许多优质的服务,有培训的、有演讲的、有合作实验室的、有活动比赛的、有免费提供样片和开发工具的……。 这一次的低功耗设计大赛能够顺利完成,一路过来,经历了许多困难和挫折,都没轻易放弃,一次次地给自己打气,不断地找资料,一个一个问题地解决,在这过程得到了大家细心的指导和帮助,让本设计得更加完善。 经历这一次的设计实践,MSP430FR5969的低功耗和性能给我留下了深刻的印象,在可穿戴领域的应用是必不可少的,在未来也是必不可少的……
附件如下:
|