ZHCAD13 august 2023 MSPM0L1306 , TPS8802
该演示应用会对双射线 AFE 执行定期测量并实现简单的阈值算法,以检测是否可以触发警报。SysConfig 用于生成 ti_msp_dl_config.c 和 .h 文件,这些文件可以完全配置 MSPM0 的所有外设。主时钟配置为从内部 SYSOSC 运行,运行频率为 32MHz。此示例中未实现 RTC,而是在 TPS880x 中配置了低功耗计时器,用于使用外部 GPIO 将 MSPM0 从睡眠状态唤醒。这些文件还配置应用的 GPIO、计时器、通信和电源策略。
主循环包括采样例程、平均例程、确定是否已达到红外或蓝光 LED 阈值、如果已启用则从 GUI 发送和接收信息,以及进入低功耗模式。该循环要求红外或蓝光反射连续三次超过设定的阈值,然后才会发出警报(请参阅图 3-2)。随着警告级别升高,测量间隔时间会缩短。
如图 3-3 所示,测量例程会首先启用 TPS880x AFE,配置其内部电源稳压器和模拟多路复用器以测量光电二极管,并确保 LED 关闭。内部 ADC12 配置为进行 4 次重复测量。经过一段稳定时间后,在不打开 LED 的情况下进行这些测量,以获取暗 基线。然后,系统会通知 TPS880x 打开 IR LED 并测量其打开时的反射量。然后会使用蓝光 LED 重复此过程。测量两个 LED 后,如果代码中启用了一氧化碳检测,MCU 会重新配置 TPS880x,并也会读取该传感器。
所有测量都完成后,TPS880x 会进入低功耗模式,然后对样本取平均值并根据已完成的任何校准进行补偿。应用会将这些数据与 GUI 设定的阈值进行比较,以执行基本的双射线检测,最终如果超过这些阈值,就会发出警报。