ADC模拟看门狗的作用和SDK例程
APM32的ADC模拟看门狗(Analog Watchdog,简称AWD)是一种硬件监控机制,用于实时监测ADC转换的模拟信号是否超出预设的阈值范围。其核心作用在于提高系统对关键模拟信号的响应效率和可靠性。主要特点与作用:
[*]阈值监控
[*]用户可设置高阈值(HTR)和低阈值(LTR),当ADC转换结果超过高阈值或低于低阈值时,触发模拟看门狗事件。
[*]自动触发中断/事件
[*]超出阈值时,硬件自动触发中断或事件,无需软件轮询ADC数据,节省CPU资源。
[*]应用场景
[*]安全监测:如电池电压、温度传感器信号超出安全范围时触发保护机制。
[*]异常检测:快速响应传感器故障或信号异常,提升系统鲁棒性。
[*]低功耗优化:通过事件触发唤醒CPU,替代持续轮询,降低功耗。
配置关键步骤:
[*]设置阈值寄存器:通过ADC_AnalogWatchdogHighThreshold(awhtVoltage);和ADC_AnalogWatchdogLowThreshold(awltVoltage);定义监控范围。
[*]选择监控通道:通过ADC_AnalogWatchdogSingleChannel(ADC_ANALG_WDT_CHANNEL_0);配置需监控的ADC通道(单通道模式)。
[*]使能中断:开启模拟看门狗中断(ADC_EnableInterrupt(ADC_INT_AWD);),并在NVIC中配置中断优先级。
[*]处理中断服务程序(ISR):在中断中读取ADC值并执行保护逻辑(如关闭设备、报警等)。
注意事项:
[*]阈值精度:阈值范围为12位(0-4095),需根据ADC参考电压(VREF+)换算为实际电压值。
[*]抗干扰设计:合理设置迟滞区间或软件滤波,避免噪声导致的误触发。
在APM32各系列的SDK例程中都有ADC模拟看门狗的例程可以直接参考使用。
例如:APM32F0xx_SDK_v1.7\Examples\ADC\ADC_AnalogWindowWatchdog
使用模拟量来做为看门狗触发的阈值。
学习了 没有仔细阅读手册,是不是这个模拟看门狗要占用一条ADC的通道 水之呢喃 发表于 2025-4-1 23:09
使用模拟量来做为看门狗触发的阈值。
学习了
我们的应用里面也是使用这个来监控供电电压的变化。
在突然掉电的情况时,可以先监测出来,然后对关键数据进行保存。
页:
[1]