2249|0

855

帖子

5

TA的资源

一粒金砂(高级)

楼主
 

【R7F0C809】+软件篇尾声 [复制链接]

除了心率模块以及EEPROM,软件部分做到现在已基本趋近尾声。因此,本文主要探讨这两部分的驱动实现。
首先,为了保证心率信号的准确采集,我利用逻辑分析仪看了心率信号的大概波形,当然了,肯定没有示波器看的真实,但也足够帮我找到信号的频率。

硬件连接图如下:
逻辑分析仪抓到的波形图如下:

由上图可以看出心率信号输出频率大约为1-1.4Hz,换算为一分钟的波形则为60-84。对于成年人来说,正常心率范围在50-110/min,在剧烈运动时这个数值还会更高些。
这个心率波形产生的原理是这样的,心率信号经过自带光学滤波及一级放大的SON1303处理以后,再经过SON3130构成的二级放大及反相滞回比较器整形输出方波信号。

到此,心率传感器硬件部分介绍完毕,开始着手于软件实现了。软件部分比较简单,在这里,我使用的是定时器0的通道0和通道2。通道0用于心率信号的计数,通道2用于计时。同时开启通道0和通道2;每当通道0捕捉到一个波形后,关闭通道2的计时器。然后利用这个值来计算心率值。当然,这样做肯定会存在很多的干扰,在程序里我利用了阈值法和平均值滤波进行处理。程序会首先进行定时器值的中值滤波,只有在大于500才会进行下一步运算(这里的500指的是一次波形花费的ms值)。计算完成本次心率值后,就开始将当然心率值写入EEPROM中。这样就完成了一次测量。
由于需要进行数据的存储及读取操作,因此我们接下来调试IIC接口的AT24C64。这部分内容可以参考瑞萨官方的代码----> r7f0c809_external_event_counter_and_data_access_software.zip。利用模拟IIC的方式使得R7F0C809与AT24C64进行通信。
抓取了一个读取波形瞅瞅:
[media=x,500,375][/media]
在完成了这部分的工作后,接下来就是按键的检测操作了,为了偷个懒,直接循环检测的:在检测到按键有按下后,程序会读取EEPROM中存在的历史心率数据,然后显示到OLED上。
本文涉及到的代码和其他资源可见附件。
附上个测量心率的小视频


查看本帖全部内容,请登录或者注册

r7f0c809_external_event_counter_and_data_access_software.rar

1.28 MB, 下载次数: 25

点赞 关注
个人签名作为一个菜逼,干货并没有多少。唯一会的就是水,所以回帖水分大。望见谅!

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
立即报名 | 2025 瑞萨电子工业以太网技术日即将开启!
3月-4月 深圳、广州、北京、苏州、西安、上海 走进全国6城
2025瑞萨电子工业以太网技术巡回沙龙聚焦工业4.0核心需求,为工程师与企业决策者提供实时通信技术最佳解决方案。
预报从速,好礼等您拿~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表