文章目录

  • 前言
  • 一、脉搏与血氧饱和度测量模型
  • 二、AFE4490组成
    • 1. 不同波长的光对PPG信号的影响
    • 2. AFE4490模拟前端模块
      • 2.1 接收前端
      • 2.2 可编程增益放大模块
      • 2.3 晶振模块
      • 2.4 模数转换模块
      • 2.5 ADC数据平均模块
  • 三、AFE4490寄存器配置
    • 1. CONTROL0寄存器
    • 2. CONTROL1寄存器
    • 3. CONTROL2寄存器
    • 4. LEDCNTRL寄存器

前言

脉搏描述的是血脉血管的搏动频率,它是人体重要的动力学信号。血液经由心脏的左心室收缩作用进入主动脉,继而传送到全身动脉,当血液大量进入动脉时将引起动脉血管的扩张,即所谓的脉搏。正常人的脉搏值与心率值一致,因此,脉搏也可以表示为心脏的跳动频率。
脉搏波信号包含了人体丰富的生理信号信息,包括心率和血氧,光电容积脉搏波信号的提取使使生理信号检测的无创便捷成为现实。


一、脉搏与血氧饱和度测量模型

反射式脉搏与血氧饱和度测量模型如下图所示。光源和探测器位于人体组织的同侧,光源发出的光线经过人体组织的吸收和反射后,一部分反射光被光电探测器接收。

脉搏与血氧饱和度测量是基于动脉血液中的脉动成分对光的吸收量会随着动脉血管的收缩或扩张而变化,而其他组织对光线的吸收量几乎恒定的原理。当动脉血管脉动时,动脉血管对光线的吸收量将随之变化,称为脉动分量或交流分量。皮肤、肌肉、骨骼、静脉血液以及非脉动动脉血液对光线的吸收量是恒定的,称为直流量。心脏收缩或扩张时将影响动脉血管的体积,根据朗伯-比尔定律,光程变化将影响吸光度,这种动脉血管的脉动分量即为PPG信号。

二、AFE4490组成

AFE4490主要包含LED传输通道、集成模数(ADC)转换器和低噪声PD接收通道以及LED故障诊断电路。
LED传输通道为发光二极管提供时序脉冲驱动信号,信号时序特征及驱动电流大小均可由用户灵活配置。PD接收通道由跨阻放大器、环境光噪声反馈滤除电路、低通滤波电路以及低噪声模数转换器组成。跨阻放大器将接收到的光电流信号转换为电平信号并进行放大,环境光噪声反馈滤除电路根据环境光噪声并通过外接的处理器对接收到的光信号进行校正以滤除环境光噪声的影响,低通滤波电路滤除校正后的光电信号里的电路噪声,而低噪声模数转换器实现将光电模拟信号转换为数字信号。LED故障诊断电路负责LED开路和短路检测。

1. 不同波长的光对PPG信号的影响

光照射到皮肤组织后会发生复杂变化,主要包括散射、吸收和反射。血液比周围其他组织吸收更多的光,因此血容量减少时,检测到的光强度反而变大。光波长、光源和光接收器之间的距离影响着光的穿透能力。绿光适合测量皮肤表面血液的流动,红外或近红外适合测量深层次的血液流动(例如肌肉组织)。氧合血红蛋白和脱氧血红蛋白对绿光的吸收比红外光的吸收要明显,表现在血容量的变化对绿光吸收的影响更加明显。

2. AFE4490模拟前端模块

2.1 接收前端

该部分的作用是得到采集数据电压信号,该电压信号则是通过光电二极管采集传送得到的电流信号通过电流电压互阻抗差动放大器转换而来。图中的电阻器RF不仅起到对放大器TIA进行反馈的作用,而且具备通过软件编程调整电阻数值大小的特点以支持适应比较大的二极管电流调整区间。图中所示含有一个低通滤波器,该低通滤波器由电容CF和电阻RF两个元件器组成,反馈电容CF同样是可以编程的。首先,对光电二极管采集的电流信号中包含的环境干扰光进行剔除,然后对滤波之后的信号进行转换和放大。

2.2 可编程增益放大模块

紧接着差分电流电压放大模块的下一个模块被称为可编程增益放大器。该部分作用主要表现在通过调节增益对采集数据实现滤波、放大、转换。其中包括可编程增益设置以及电流数模转换器,具有22位的模数转换器所接收的数据信号是通过一个Buffer缓冲部件之后得到的,在数据进入缓冲部件Buffer之前需要经过一个具有分时控制功能的低通滤波器Filter,主要功能是滤除外部光线干扰。

2.3 晶振模块

一个用于产生时钟输入信号的8MHz外部晶振。该信号可以用来启动模拟前端内部的时钟振荡器,模拟前端集成具备锁相环功能的电路设计,晶振输入信号的分频和倍频都是通过锁相环电路实现的,同时经过分频和倍频的信号当做模拟前端的正常运行的晶振频率,为了满足需求,需要经过一个转换为4MHz时钟频率的二分频器对外部晶振产生的时钟频率预先进行二分频,输出信号提供给模拟前端定时器模块、模数转换模块、诊断电路模块、LED驱动电路控制模块等。

2.4 模数转换模块

为了能够在进行区分脉搏波信号发生细微改变上具有更为优良的性能表现,模拟前端集成的A/D转换器具备22位分辨率的能力,实现对LED2和LED1进行分时采样。每一次转换所需的时间最多为一个脉冲周期(PRF)的四分之一,并且在输出端出现一个具有编码特性的数字信号,而此时模数转换模块运用相互交替的形式,换而言之就是采集得到一路原始脉搏波信号时随即进行数模转换,实现得到一路转换一路。把接收到的双脉冲序列脉搏波数据信号经过转换模块划分区别出脉冲重复频率和占空比都一致的数据信号,包括红光信号、红光环境光信号、红光减去红光环境光信号、红外光信号、红外光环境光信号、红外光减去红外光环境光信号。待数据转换结束以后,ADC_RDY端口出现上升沿信号,表示转换完成。

信号分离过程实质上就是发光与采集、处理的时序控制过程。发光驱动实现控制、接收时序控制。其流程可概括为:红光LED发光的同时接收红光的光电流,熄灭时接收的光电流即视为红光中带有的环境光的光电流;红外光LED发光的同时接收红外光的光电流,熄灭时的光电流即视为红外光中带有的环境光的光电流。这个过程视为一个收发周期,每次样本接收时间是可编程设置的,最短为50us,整个周期最短为200us。信号的接收时序如下图所示。

在收到红外光和其环境光的光电流的半个周期中,开启红光和红光环境光信号的A/D转换,下个周期的前半个周期开启红外光和其环境光的A/D转换。

2.5 ADC数据平均模块

取平均值模块的作用是每隔四分子一周期对AD转换结果取一次均值,以便使输出结果更准确。

三、AFE4490寄存器配置

通过对AFE4490 寄存器的配置可以完成LED驱动、LED亮度的控制、脉搏波的增益控制、诊断功能、模数采样和转换、数模转换、环境光消除等一些列功能。

由上表列出的寄存器可知,程序中比较重要的寄存器有三个,它们分别是控制寄存器0(CONFIG0)、控制寄存器2(CONFIG2)和LED控制寄存器(LEDCNTRL)。

1. CONTROL0寄存器

CONTROL0寄存器可以通过AFE4490软件和定时器进行复位,它的主要功能是诊断电路和SPI总线读。该寄存器的低四位有效,其它位必须设置为0。

这里将寄存器配置为0000 0000 0000 0000 0000 0100(0x40)
AFE4490的SPI通信较为特殊,D0位设置为0时禁止SPI总线读功能,设置为1时使能SPI总线读功能。
设置启用诊断电路模式。
使用硬件复位AFE4490。

2. CONTROL1寄存器

CONTROL1寄存器用于配置时钟、定时器和平均次数。


这里将寄存器配置为0000 0000 0000 0001 0000 0111
ADC的平均次数是一个8位的值,指定一个数该数为ADC的平均次数减1。例如这里配置ADC的平均次数为8次,就将7写入寄存器中。
使能定时器模块。
控制PD_ALM管脚的输入信号为LED2的采样值,LED_ALM管脚的输入信号为LED1的采样值。

3. CONTROL2寄存器

CONTROL2寄存器主要用于配置LED驱动方式:H桥驱动和推挽驱动。

这里将寄存器配置为0000 0000 0000 0001 0000 0000(0x100)
开启PDNAEF、PDNRX、PDNTX模块。
使用慢速诊断模式。
使用外部晶振。
使用H桥驱动模式。
我的电路使用的是5V供电,所以将Tx的参考电压设置为0.75V。

4. LEDCNTRL寄存器


配置LEDCNTRL可以实现LED驱动,同时还可以相应的选择LED驱动电流大小。用来确定电流区间大小是通过配置寄存器的D[17:16]完成。具体计算方法如下:

这里将寄存器暂时配置为0000 0000 1111 1111 1111 1111(0xFFFF),之后根据需要进行调整。
将驱动电流的量程设置为150mA,并将RED和NIR的电流也设置为满量程150mA。

AFE4490学习(一)相关推荐

  1. java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】

    类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...

  2. Java EE学习心得

    –Java EE学习心得   1.    称为编程专家的秘诀是: 思考-----编程--------思考------编程--.. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程 ...

  3. FastAI 2019课程学习笔记 lesson 2:自行获取数据并创建分类器

    文章目录 数据获取 google_images_download 的安装和使用 挂载google 个人硬盘到Google colab中 删除不能打开文件 创建ImageDataBunch 训练模型 解 ...

  4. FastAI 课程学习笔记 lesson 1:宠物图片分类

    文章目录 代码解析 神奇的"%" 导入fastAI 库 下载解压数据集 untar_data 获取帮助文档 help() ? ?? doc 设置路径 get_image_files ...

  5. 深度学习学习指南-工具篇

    colab Colab是由Google提供的云计算服务,通过它可以让开发者很方便的使用google的免费资源(CPU.GPU.TPU)来训练自己的模型. 学习经验总结 如何使用命令行? 通过!+cmd ...

  6. Redis学习之路(一)--下载安装redis

    redis学习之路--下载安装redis windows安装redis 1.下载redis 2.安装 3.查看是否安装成功 windows安装redis 1.下载redis 网址:https://gi ...

  7. python内置库之学习configparser库(一)

    python内置库之学习configparser库(一) 1.引言 ini文件简介 [节] 键=值 注:节不能重复出现 2.自己封装了一个增删改查的类,可以参考一下 import configpars ...

  8. 前端Vue学习之路(二)-Vue-router路由

    Vue学习之路 (二) Vue-router(基础版) 一.增加静态路由 二.动态路由+路由嵌套+404页面 三. 编程式导航 四.命名路由 五.命名视图 六.重定向和起别名 1.重定向 2.起别名 ...

  9. 前端Vue学习之路(一)-初识Vue

    Vue学习之路 (一) 1.引言 2.更换npm国内镜像源 3.用npm下载Vue 4.Vue全家桶 5.使用命令创建项目 5.推荐插件 6.推荐网站 7.学习扩展 1.引言 先安装node.js环境 ...

最新文章

  1. wegame饥荒一直连接中_23万人捧场热血传奇怀旧版,WeGame拯救计划,前景如何?...
  2. 华为ap配置_Win10频发蓝屏,深度Deepin系统,调试华为AC和AP
  3. Lesson 4.1-4.2 逻辑回归模型构建与多分类学习方法逻辑回归参数估计
  4. 事物的级别_面试官问:MySQL锁与事物隔离级别你知道吗?
  5. boost::container模块实现节点句柄的测试程序
  6. 编写高性能Web应用程序的10个技巧
  7. eclipse 界面设置与字体更改
  8. 阿里云函数计算应用:将ActionTrail审计事件从OSS导入到SLS中
  9. 关于推送系统设计的一些总结与思考(三)
  10. python实现雪花动态图_如何通过雪花算法用Python实现一个简单的发号器
  11. es6-3.webpack应用
  12. java递归遍历文件夹下所有文件
  13. 2020_ACL_A Transformer-based joint-encoding for Emotion Recognition and Sentiment Analysis
  14. CentOS8 安装mysql8- 解压安装版
  15. CAD梦想画图中的“绘图工具——椭圆弧”
  16. lincx Shell脚本编程之字符串的截取,替换,按条件掐头去尾
  17. mysql zombodb_zombodb安装试用
  18. 什么是数据库连接池?
  19. 国内计算机视觉与机器学习研究团队
  20. 关于华为ensp一些报错处理分享及基础命令

热门文章

  1. 用C#读取二进制文件
  2. windows下批量重命名图像名称bat脚本
  3. 用轻量服务器搭建在线协作绘图白板
  4. 关于sql中constraint 前缀的用意(PK、UK、DF、CK、FK)
  5. n-queens(n皇后问题)
  6. 志强预测中国房价到2020年以后才可能会下降
  7. c语言中要求对象只能为整数的运算符是,以下正确的叙述是( ) 答案:在C程序中, %是只能用于整数运算 的运算符...
  8. 【JQ _DOM】DOM
  9. 【工作技能】如何制作有效的简历
  10. 如何使用C#调用雅虎REST服务