完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
MAX30100和MAX30102是常用的测量心率的模块,MAX30100是能够读取心率、血氧的传感器,通信方式是通过IIC进行通信。其工作原理是通过红外led灯照射,能够得到心率的ADC值,通过算法处理相应的AD值得心率。
STM32使用IIC协议访问MAX30100时序如下图,此次使用STM32两个IO口模拟IIC协议,具体IO口见后续程序。 MAX30100内部功能框图如下图,由图可见,RED和IR照射然后使用ADC进行数据采集,采集后的AD值经过数字滤波器进入数据寄存器,然后使用IIC进行数据采集,在转换AD值时,也可以采集温度值(用于校正)。 MAX30100内部全部寄存器如下图,具体每位功能见数据手册(已上传) MAX30100FIFO最大可存64B的数据,其中存储数据如下图,第一字节存储IR值高八位,第二字节存储IR值的低八位,第三字节存储RED的高八位,第四字节存储RED的第八位,第五字节存储IR的高八位,依次类推。其中,数据始终左对齐。 此次设计采用SPO2模式,即需要采集IR和RED值。以下是MAX30100在SPO2的时序图。第一步,IIC开始,设置模式。第二步,时隔29ms温度数据准备好,置相应的中断位。第三步。。。。(每一步具体描述见下图) 使用IIC访问MAX30100时,MAX30100器件地址为0XAE,写操作R/W=0,读操作R/W=1.具体格式如下图。 STM32通过IIC访问MAX30100时,向MAX30100某个寄存器写数据过程如下图。第一步IIC开始,第二步写从机地址+(R/W=0),第三步等待应答,第四步写寄存器地址,第五步等待应答,第六步写代写数据,第七步等待应答,第八步IIC停止。 STM32通过IIC访问MAX30100时,从MAX30100某个寄存器读数据过程如下图。第一步IIC开始,第二步写从机地址+(R/W=0),第三步等待应答,第四步写寄存器地址,第五步等待应答,第六步重新开始,第七步写从机地址+(R/W=1图中有误),第八步等待应答,第九步从寄存器读数据,第十步发送非应答,第十一步IIC停止。 STM32通过IIC访问MAX30100时,从MAX30100的寄存器连续读多个数据过程如下图。 MAX30100引脚连接: SCL连接PB6, SDA连接PB7,VIN连接3.3V,共地,其它引脚可以不用连接。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1561 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1501 浏览 1 评论
933 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
665 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1555 浏览 2 评论
1850浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
614浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
506浏览 3评论
510浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
491浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 21:47 , Processed in 0.602292 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号