TI中文支持网
TI专业的中文技术问题搜集分享网站

关于msp430f1611设计心率检测仪的问题

本人所使用的MCU为msp430f1611,探头为TSL235,通过交替驱动660nm和940nm波长的双LED发光二极管来进行心率和血氧饱和度的检测。目前整体框架已基本完成,但是出现许多的问题:

1.在利用TimerA的capture模式来捕捉TSL235的频率信号,同时采用TimerA的模块1(TA0)来设置1ms中断时出现问题。其中时钟源采用8M的SMCLK,定时器采用增计数模式,程序希望在每次计满回零时(TA0)进入1ms定时器中断,同时不被优先级(TA1)的捕捉中断所打断。附上初始化程序及主程序段供以参考。

2.在后续的数字信号处理时发现所得频率信号总是掺杂10Hz左右的低频干扰,且一直存在,基本排除环境干扰影响,所以请问是否有可能是TSL235探头本身的精度问题?如果是,有没有其它可供选择的高精度探头?

以上问题,作为初学者,困惑本人已久,望耐心解答,不甚感激。

step by step:

楼主,

  你好,能不能描述一下定时器问题具体的表现是什么?无法进入中断还是定时不准?

关于10Hz左右的干扰,楼主如何排除环境干扰的?10Hz的干扰楼主应该可以加陷波消除的吧

jian li7:

回复 step by step:

1.具体表现为程序跑不动,死在主程序的一个地方,因为对编译软件用的不熟,所以不知道如何去用调试功能,只会在板子上跑看现象。详见我所上传的程序。我个人考虑过是否可能为主循环内的判断条件设置不合适所致,但修改测试后发现,只要我把初始化条件改为连续计数模式,程序就可以跑通,定时器在记满65536个数后进入溢出中断,且定时器时钟源为1Mhz,而设置为增计数模式自主设定溢出值则会出错。

2.对于干扰,本人是在不同光照情况下用matlab进行数据分析,但是无论是自然光还是测量人体的心率时均会出现,只有完全遮光后才会消失。我也考虑过是否有可能是在数据采集后换算成频率时计算的问题,但实在想不通了。对于陷波,因为所采集的是心率信号,大概在2hz以内,这么小的过度带做数字滤波器会有难度,所以还没有考虑过。

step by step:

回复 jian li7:

你好,

  关于问题1,建议参考下面的程序,不过看来楼主的代码之后感觉应该没什么问题,所以建议楼主一块一块的来调试,先将定时器部分调通之后再加入其它部分功能:

#include <msp430.h>

int main(void){ WDTCTL = WDTPW + WDTHOLD; // Stop WDT P1DIR |= 0x01; // P1.0 output CCTL0 = CCIE; // CCR0 interrupt enabled CCR0 = 20000; TACTL = TASSEL_2 + MC_1; // SMCLK, upmode

_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt}

// Timer A0 interrupt service routine#pragma vector=TIMERA0_VECTOR__interrupt void Timer_A (void){ P1OUT ^= 0x01; // Toggle P1.0}

关于问题二,楼主使用的原理是不是红外发射/接收测量脉搏?按照楼主的描述,遮光之后消失,有没有可能10Hz的干扰来自于光源本身?

jian li7:

回复 step by step:

你好,

1.之前我也调试过很久,也有把定时器单独拿出来调试,但是一旦涉及到同时使用TA的两个寄存器(CCR0和CCR1)后总是有许多问题,如今我也只好用软件延时的方法来替代定时器控制程序的循环时间。请问在这方面有什么是应该多注意的?

2.我并没有考虑到红外光源的问题,一直怀疑是外界光源的干扰,只是排除了外界光源影响,所以并没有测试过发光管。这有可能吗?此外不知道是否有比较好的双波长(我采用的是660nm和940nm双波长的)红外二极管推荐呢?

step by step:

回复 jian li7:

楼主你好,

     建议下载430ware,里面会有包括timer在内的外设使用的demo code,相信会对你有帮助。关于光源的干扰我也不能确定,可能是光源,可能是光源的驱动电路,这个可能需要楼主自己来排查。

peizhi yu:

回复 step by step:

陷波不是针对50HZ工频来说的吗?如果用直流电好像不用考虑陷波吧??

hanwen zhou:

请问楼主,TLS235把光转换为频率时,你怎么做到一次捕获得到红光或者红外光的交流,直流信号的啊?我做过模拟血氧,但现在做数字血氧感觉用频率来代替电压后不知道交直流分量怎么经过一次捕获就得到了,望帮忙解答一下,谢谢!

hanwen zhou:

回复 step by step:

请问把红光红外光强度转换为频率后直流分量就是频率最低的量吗?然后模拟血氧是时间t与电压U的曲线,数字血氧是时间t与频率f的曲线,能不能直接将频率当成电压处理,就像模拟血氧处理那样?本人做过模拟血氧,数字血氧不是很清楚,望帮忙解答,谢谢!

hanwen zhou:

回复 step by step:

请问TSL235输出的频率信号与电压之间的关系?我们一般是处理电压信号,现在换成频率信号,不知道怎么处理啊?还望解答,谢谢!

hanwen zhou:

请问你是怎么处理频率信号的啊?我们一般都是处理电压信号啊,现在是频率信号了,不知道怎么处理,望帮忙解答解答,急急急,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 关于msp430f1611设计心率检测仪的问题
分享到: 更多 (0)