大家好,我是EEPW论坛的gmphoenix。
这个项目是基于ADI评估板-MAX78000FTHR#和ADI脉搏血氧计传感器-MAXREFDES117#实现血氧与心率的检测。
硬件介绍
ADI评估板-MAX78000FTHR
##### 双核超低功耗微控制器
带FPU的Arm Cortex-M4处理器,工作频率最高可达100MHz
512KB闪存和128KB SRAM
16KB指令缓存帮助优化性能
用于SRAM的可选纠错码(ECC-SEC-DED)功能
32位RISC-V协处理器,工作频率最高可达60MHz
多达52个通用I/O引脚
12位并行摄像头接口
一个I2S主机/从机,用于数字音频接口
神经网络加速器
针对深度卷积神经网络进行了高度优化
442k 8位权重容量,具有1、2、4、8位权重
高达1024 x 1024像素的可编程输入图像尺寸
多达64层的可编程网络深度
多达1024个通道的可编程网络每层通道宽度
一维和二维卷积处理
流模式
灵活支持其他网络类型,包括MLP和循环神经网络
电源管理延长电池应用的续航时间
集成单电感多路输出(SIMO)的开关电源(SMPS)
SIMO电源电压范围:2.0V至3.6V
动态电压调节尽可能地降低了内核功耗
在3.0V时缓存执行While循环的电流为22.2µA/MHz(仅CM4内核工作)
支持实时时钟(RTC)使能的低功耗模式的SRAM数据保留
安全性和集成度
安全启动
AES 128/192/256硬件加速引擎
真随机数生成器(TRNG)的随机数种子生成器
人工智能(AI)需要超强的计算能力,而Maxim则大大降低了AI计算所需的功耗。MAX78000是一款新型的AI微控制器,使神经网络能够在互联网边缘端以超低功耗运行,将高能效的AI处理与经过验证的Maxim超低功耗微控制器相结合。通过这款基于硬件的卷积神经网络(CNN)加速器,即使是电池供电的应用也可执行AI推理,同时功耗仅为微焦耳级。
MAX78000是一款先进的片上系统,集成带FPU CPU的Arm® Cortex®-M4内核,通过超低功耗深度神经网络加速器实现高效的系统控制。CNN引擎具有442KB的权重存储器,可支持1、2、4和8位权重(支持高达350万权重的网络)。该CNN权重存储器基于SRAM,因此可进行AI网络的即时更新。同时,CNN引擎还集成了512KB的数据存储器。高度灵活的CNN架构允许用户通过PyTorch®和TensorFlow®等传统工具集训练网络,然后经Maxim提供的工具转换后在MAX78000上运行。
除CNN引擎的存储器之外,MAX78000还具备适配微控制器内核的大型片内系统存储器,具有512KB的闪存和高达128KB的SRAM,支持多个高速和低功耗的通信接口,包括I2S和并行摄像头接口(PCIF)。
该器件采用81引脚的CTBGA(8mm x 8mm、0.8mm间距)封装。应用
音频处理:多关键字识别、声音分类、降噪
面部识别
目标检测和分类
时间序列数据处理:心率/生命体征信号分析、多传感器分析、预测性维护
ADI脉搏血氧计传感器-MAXREFDES117
MAX30102是一个集成的脉搏血氧仪和心率监测仪生物传感器的模块。它集成了多个LED、光电检测器、光器件,以及带环境光抑制的低噪声电子电路。MAX30102提供完备的系统方案,使移动及可穿戴设备的设计过程变得轻松。
MAX30102采用一个1.8V电源和一个独立的3.3V用于内部LED的电源,标准的I2C兼容的通信接口。可通过软件关断模块,待机电流为零,实现电源始终维持供电状态。
其具有以下特性
LED反射方案中提供心率监测仪和脉搏血氧仪生物传感器
微小、5.6mm x 3.3mm x 1.55mm、14引脚光模块
集成玻璃盖,实现最优、可靠的性能
使移动设备以极低功耗工作
可编程采样率和LED电流,节省功耗
低功耗心率监测仪(< 1mW)
超低关断电流(0.7µA,典型值)
快速数据输出
高采样率
可靠的运动伪影抑制
高SNR
-40°C至+85°C工作温度范围应用
辅助健身设备
智能电话
平板电脑
可穿戴设备显示屏- 104020249
SSD1315 OLED 0.96" 显示 Grove 平台评估扩展板
设计思路
ADI评估板-MAX78000FTHR有排针引出的20个IO可用,其主控更是可以提供高达52个通用IO,但此项目开发板提供的IO足以满足要求。
有了血氧模块,有了显示屏,只是开发板上的按键不太够。
******
***1. SW1:按键1,
2. SW2:按键2,
3. SW3:电源,
4. SW4:外部复位,
5. SW5:DAPLINK 固件更新.***
需要增加按键。这里想要用5向键,占用空间足够小,5个按键基本上可以满足大部分的操作需求。
实现的话使用ADC,通过电阻分压,检测不同的电压实现。在测试ADC例程时,了解道其输入的上限是0.9V,故需要对0.9V电压进行分配。其默认是10bit的采样,故最小分辨率是0.9V/1024=0.0008789V。
考虑电压波动与其它噪声影响,分另取0.8V,0.65V,0.5V,0.35V,0.2V。结合电阻取值,重新计算,得到0.818V,0.643V,0.486V,0.339V,0.196V。
按照此分压可以方便的识别出五个按键。
显示屏的界面目前只是把所需要的显示的内容给展示了出来,还没有设计方便的布局。
根据菜单的内容仅显示按键测试,OLED测试,LED测试三项。
按键的功能如下:
左键:返回;
右键:进入下级菜单/执行菜单对应功能/无菜单时进入菜单模式;
上键:选择上一个菜单(目前仅在菜单界面有用);
下键:选择下一个菜单(目前仅在菜单界面有用);
中键:目前暂无功能(可以测试到);
这样的话硬件上基本就完成了。