因为自己本身是做人体生理信号采集与处理的,目前也主要研究近红外光电容积脉搏波信号,对于脉搏波信号的采集,本人也做了很多电路。无意间看到中微半导体公布了一款基于8051内核的CMS8S6990血氧仪方案,该芯片利用内置两路运算放大器对接收信号进行放大处理;利用内置PWM+PGA模拟DAC以驱动H桥三极管,利用内置ADC对光电信号进行采集,从而达到对接收信号值的精准调控,以帮助开发成员快速实现血氧监测。放眼一瞅,这个芯片明显就是给我设计的嘛,所以就申请一款打算好好研究研究,幸运的是,最终也成功申请到了一款CMS8S6990开发板,并意外获得了一个基于CMS8S6990的血氧指夹,因此,对于该开发板的第一篇评测文章我主要简单讲解基于CMS8S6990的血氧指夹方案。
1. 硬件系统
1.1电源电路
电源采用了一键实现关机状态下短按开机,开机状态下长按关机、短按切换屏幕方向功能,利用单片机的两个IO检测按键状态和控制MOS管通断,让整个电路板结构更紧凑,实现了血氧指夹小型化要求。
1.2发光管驱动电路
发光管驱动电路采用H桥方式实现660nm和940nm发光管的点亮切换,当IR_1=1,IR_2=0时,R_LED点亮,IR_LED熄灭,当IR_1=0,IR_2=1时,IR_LED点亮, R_LED熄灭。用芯片内部一路PWM波经过RC网络模拟DAC输出,经内部PGA放大后控制三极管基极电流,从而实现控制全桥通过电流,控制发光管亮度。
1.3信号放大
光电二极管输出的光电流信号通过芯片内部运算放大器1进行I-V转换,将电流信号转换为电压信号,然后通过芯片内部运算放大器0进行二级放大。放大之后的信号输入到芯片内部进行ADC采集。信号放大电路同时用芯片内部一路PWM波经RC网络模拟DAC调整运算放大器1同向输入端电压,以调整信号放大电路的动态范围。
1.4控制系统
控制系统就是评测的主角CMS8S6990,只需一颗去耦电容,很简洁。
1.5显示接口
显示用的也是很经典的0.96寸的OLED,中规中矩。
2. 软件结构
上图是《CMS8S6990血氧仪方案V1.2》说明里给的软件流程图,比较笼统,具体实现细节还是需要看代码。
3. 部分示例代码错误
在学习示例代码过程中,遇到以下错误,特贴出来以便求证。
3.1编译错误
解压工程,编译,提示error c231:’_putchar’redefinition。查询解决方案无果,只能以注释以下代码解决。
3.2库函数错误1
配置运算放大器偏置寄存器时,将0xaa误写入控制寄存器1中,应将原语句修改为:OPnADJE=OffsetAdj(n=0,1)。
3.3库函数错误2
第80行注释错误,应将PGACON2改为PGACON3。
3.4库函数错误3
第147行应将PGA_PAGACON1_PGAADJ_Msk修改为PGA_PAGACON3_PGAADJ_Msk。
3.5库函数错误4
函数名应修改为void PGA_EnableOutPut(void)。
3.6库函数错误5
第20行注释应修改为TIMER3为1ms中断一次。
4. 总结
针对市场需求,中微股份推出了内置运算放大器,系统时钟最高可达48MHz主控方案的CMS8S6990血氧仪。该血氧仪利用内置的两路运放对接收信号进行放大处理,利用内置的PWM模拟DAC经由PGA提供驱动能力后对三极管进行精准电流控制,再加上中微独创的第一级运放偏置调节算法,极大的适应不同人群,该方案可以帮助开发人员快速实现血氧监测。
CMS8S6990对各种放大器的高效集成,有效降低了产品电路设计难度,扩大了该芯片的应用市场,但是附带的库函数还是有些瑕疵,不过一个8051内核的单片机对应用厂家来说开发难度还是较容易地,更何况中微还提供了许多基本外设的例程,使开发者开发起来更是得心应手了。
作者: xinlei, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3898514.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
一直往南方开 2023-10-31 17:10
bootdisk 2022-12-29 22:22
用户3993329 2022-3-22 23:47
xinlei 2021-7-11 08:28
用户3948101 2021-2-9 11:09
curton 2021-1-3 21:45
欢迎点击
论坛> >机器人/工业电子> >工业电子与自动化
https://mbb.eet-china.com/forum/topic/85437_1_1.html