打印
[APM32F0]

ADC模拟看门狗的作用和SDK例程

[复制链接]
101|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Alden|  楼主 | 2025-3-30 18:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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

使用特权

评论回复
沙发
水之呢喃| | 2025-4-1 23:09 | 只看该作者
使用模拟量来做为看门狗触发的阈值。
学习了

使用特权

评论回复
板凳
幻影书记| | 2025-4-2 14:57 | 只看该作者
没有仔细阅读手册,是不是这个模拟看门狗要占用一条ADC的通道

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

91

帖子

1

粉丝