跳转至

Air153D硬件看门狗芯片使用说明

一、芯片概述

Air153D 是合宙推出的一款硬件看门狗芯片,专为搭配合宙二次开发模组使用设计,可实时监控主控设备的运行状态,当主控出现程序跑飞、死机等异常时自动触发复位,有效提升无人值守设备的运行稳定性与可靠性。

选型指引

本文档核心针对 Air153D 硬件看门狗芯片展开说明,同时兼容保留 Air153C 芯片的存量使用说明。所有新项目请优先选用 Air153D 芯片,搭配官方持续维护的 exair153x_wdt 最新扩展库,可获得更长的超时档位、更低的整机功耗与更完善的技术支持。

Air153D 芯片官方购买链接:点此前往淘宝购买

exair153x_wdt 扩展库代码:点此前往gitee仓库查阅

exair153x_wdt 扩展库文档:点此前往文档网站查阅

二、电气特性

2.1 核心电气参数

推荐工作电压 3.3V~4.35V
工作电流 1.5uA~5uA
工作电压范围 1.8V~5.5V (0℃-70℃)
2.3V~5.5V (-40℃-85℃)
常温(25℃)工作电压可低至 1.5V
工作温度 -40℃ \~ 85℃
电源极限承受电压 VSS-0.3V \~ VSS+5.5V
端口极限承受电压 VSS-0.3V \~ VDD+0.5V
储存温度 -65℃ \~ 150℃
封装 SOT23-6

2.2 工作电流说明

以下工作电流参数测试条件为 VDD 供电 3.3V:

  • 常态电流:1.5uA;

  • 复位电流:5uA;

“复位电流” 指 Air153D 内部设置的复位溢出时间 T_timeout 到达后,PWR_OFF 输出高电平 T_restout 时的工作电流。

三、引脚定义与封装

3.1 引脚定义

Air153D 芯片为 SOT23-6 封装,引脚说明如下:

PIN 引脚名称 Type 描述 备注
1 STRAP1 输入 预留管脚 喂狗信号等待喂狗超时时间(T_timeout)的配置管脚
2 GND GND 参考地
3 WTDOG 输入 喂狗管脚
主芯片喂给 Air153D
常态为低电平输入,规定时间内高脉冲输入时喂狗;
与合宙模组搭配使用时,模组必须使用休眠不掉电的管脚进行喂狗以保证喂狗信号可控;
4 PWR_OFF 输出 复位信号
Air153D 复位主控,有时也写作 P_OFF
常态为低电平,喂狗不正常/喂狗超时时输出高电平;
搭配 NPN 三极管控制主芯片复位引脚(RESET),或者搭配 PMOS 控制主芯片供电引脚(VBAT)通断
5 VDD 电源 供电管脚
6 STRAP6 输入 预留管脚 喂狗信号等待喂狗超时时间(T_timeout)的配置管脚

芯片引脚排列示意图如下:

image.png

3.2 封装规格

Air153D 采用 SOT23-6 封装,封装尺寸与规格文件如下:

Air153D_封装.rar

image.png

四、超时时间配置

Air153D 芯片等待喂狗超时时间(T_timeout)受两个因素影响:

1. 芯片内部时钟频率会受到芯片供电电压的影响;

2. 通过芯片的 STRAP1 (PIN1) 和 STRAP6 (PIN6) 引脚可以自由配置等待喂狗超时时间(T_timeout)。

具体配置档位如下表所示:

模式 STRAP1 STRAP6 T_feed喂狗间隔时间 PWR_OFF重启时间
3.3V供电电压下实测
PWR_OFF重启时间
4.35V供电电压下实测
备注
1 10分钟 16分钟内 12分钟内 说明!
Air153D供电电压不同,PWR_OFF会有不同;
一般来说,电压越高,时间越短。
2 60分钟 100分钟内 73分钟内
3 12小时 20小时内 15小时内
4 24小时 40小时内 29小时内

五、喂狗与复位工作原理(图示版)

本章通过波形图直观展示 Air153D 的喂狗与复位时序逻辑,包含单次有效喂狗、1 秒内连续喂狗 3 次触发强制复位两种场景的完整电平变化过程,可对应查看主控 GPIO 与 Air153D 引脚的电平对应关系。

Air780EPM_Air153D_watchdog_timing_v3_01

六、喂狗与复位流程说明(文字版)

6.1 正常喂狗 WTDOG 流程

1. 常态下,Air780EPM 的 GPIO24 默认低电平,经过三极管反相,Air153D 的 WTDOG 引脚保持默认高电平,看门狗处于等待喂狗状态。

2. 一次完整喂狗波形分为三段:前置准备阶段(GPIO24 拉高 2000ms,WTDOG 拉低)→有效脉冲阶段(GPIO24 拉低 250ms,WTDOG 拉高 250ms,Air153D 采样判定为一次有效喂狗)→后置保持阶段(GPIO24 拉高 200ms,WTDOG 拉低 200ms,留给 WTDOG 采样窗口)。整套波形合计 2450ms。

3. Air153D 在有效脉冲的下降沿采样判定喂狗,检测到有效喂狗脉冲后,重置看门狗超时计时器,进入下一轮等待周期。

4. 喂狗完成后,GPIO24 恢复常态低电平,WTDOG 恢复常态高电平;PWR_OFF 引脚保持低电平,主控正常运行。

5. 默认相邻两次喂狗起始点间隔约 180 秒,波形结束后等待 177550ms 再发起下一次喂狗。

6.2 喂狗异常 PWR_OFF 复位流程

1. 当主控程序跑飞、死机,无法在看门狗超时时间内输出有效喂狗脉冲,Air153D 内部看门狗计时器溢出。

2. 计时器溢出后,Air153D 的 PWR_OFF 引脚由常态低电平变为高电平,维持固定时长后恢复低电平。

3. PWR_OFF 高电平驱动外围三极管电路,拉低 Air780EPM 的 RESET_N 复位引脚,触发主控硬件复位。

4. PWR_OFF 恢复低电平后,主控退出复位状态,重新上电启动。

6.3 强制 PWR_OFF 复位流程

1. 主控调用trigger_reset(),主动发送连续喂狗脉冲序列触发强制复位:相邻有效喂狗脉冲间隔小于 20 个 TCC 节拍时,脉冲计数持续累加,累计到第 3 次有效喂狗脉冲,则触发强制复位(不是严格 1 秒窗口,仅在脉冲间隔满足条件时持续累计)。

2. 强制复位序列参数:前置准备 100ms;单次有效脉冲宽度 250ms;两次有效脉冲之间低电平间隔 100ms;相邻结束下降沿相隔 350ms;整套序列总时长 1050ms。

3. 累计第 3 次有效脉冲识别完成后,Air153D 判定为强制复位指令,PWR_OFF 引脚输出高电平,触发主控硬件复位,复位维持时长与看门狗超时复位一致。

4. 序列末尾 GPIO24 保持高电平、WTDOG 保持低电平,等待复位动作完成。

6.4 关键补充说明

1. 硬件电路为三极管反相,Air780EPM GPIO24 电平与 Air153D WTDOG 引脚电平完全相反。GPIO24 常态低,三极管截止,WTDOG 保持高电平,降低支路静态功耗。

2. 有效脉冲判定:在高脉冲结束后的低电平采样窗口完成判定;脉冲实际接收计数为 3~10 个 TCC 节拍,标称 250ms 会受供电、温度影响。

3. 本脚本使用固定时序参数(2000/250/200ms),公开接口不提供动态修改脉冲参数能力;实际发送时序会受系统任务调度影响。

七、硬件参考设计

硬件电路设计上,PWR_OFF 通过搭配 NPN 三极管,控制主控的 RESET 信号,实现对主控的复位。

以主控为 Air780EPM 为例:

当 Air780EPM_GPIO24 喂狗 WTDOG 正常时,Air153D 的 PWR_OFF 一直输出为低,Air780EPM_RESET 不会被拉低,相应的 Air780EPM 也就不会被重启; 当 Air780EPM_GPIO24 喂狗 WTDOG 异常时,Air153D 的 PWR_OFF 输出 T_restout 时间的高电平,Q1102 导通,相应的 Air780EPM_RESET 被拉低,进而 Air780EPM 被重启。

图中用到的 NPN 三极管物料非常常见,比如 MMBT3904LT1G 等。

image.png

八、软件设计指南

目前已经开发实现了exair153x_wdt 扩展库,支持搭配 Air153D 看门狗芯片使用,可通过跳转链接了解详细使用说明。

8.1 FOTA 场景注意事项

如果您使用了 Air153D 看门狗芯片,并且项目中用到了 FOTA 业务,需要注意:

在 FOTA 业务中,当差分包下载下来后,模组会自动执行重启操作,重启后自动应用新的差分包,应用过程比较长,因此需要根据 FOTA 业务的不同方式做不同的处理:

  • 如果使用的是 libfota.lua、libfota2.lua 等后续推出的其他 libfotax 扩展库。在差分包下载成功之后,会在扩展库内部自动调用 exair153x_wdt.feed() 接口进行一次喂狗操作,这个操作不需要用户去配置,用户无需关心;

  • 如果使用的是 fota 核心库,完全在用户的脚本逻辑中去控制下载差分包,重启应用差分包。那么,在用户的脚本中也需要调用 exair153x_wdt.feed() 接口进行一次喂狗操作,这时候就需要用户去配置,官方也会在 fota 示例 demo 中增加对应的示例代码和文字描述。

九、看门狗推荐使用说明

本章说明看门狗芯片和喂狗库该怎么选、怎么用。

选型分两个层面:芯片上优先用 Air153D,其次用 Air153C;库上优先用 exair153x_wdt 扩展库,其次才用 air153C_wtd 旧库。因此整体优先级从高到低是 Air153D + exair153x_wdt、Air153C + exair153x_wdt、Air153C + air153C_wtd

下面按这个优先级,把每种组合的推荐理由、硬件接法、软件用法和注意事项逐一说明。

9.1 推荐优先级总览

优先级 推荐程度 芯片 喂狗库 一句话适用场景
1(最优) Air153D exair153x_wdt 想大幅省电、PCB 能加 STRAP 电阻
2 Air153C exair153x_wdt 芯片不变、只想升级软件库
3(兜底) Air153C air153C_wtd 坚持旧库、且愿意自己维护

9.2 方案 1(最优推荐,推荐程度:高)—— Air153D + exair153x_wdt

为什么推荐它

  • Air153D 和 Air153C 其实是同一颗芯片,只是烧录的软件不同

  • 区别在于:Air153D 多了一组叫 STRAP 的配置脚(PIN1/PIN6),用它可以把看门狗超时时间拉长到 10 分钟 / 60 分钟 / 12 小时 / 24 小时(四档可选,具体见第四章的 STRAP 档位表)。

  • 超时越长,主控就越不用频繁醒来喂狗,测功耗会明显下降。这是它最大的优点,也是以后的主流方向。

硬件怎么接

  • 需要额外在 PCB 上给 STRAP1、STRAP6 接上下拉电阻(R1/R2/R3/R4),按第四章的《Air153D 超时档位表》选其中一档。

  • 注意:不能把 Air153C 直接焊下来换成 Air153D 就用——因为 Air153D 硬件上多了 STRAP 配电阻,你得先在 PCB 上把这几个电阻加上并选好档位。

  • 喂狗信号(WTDOG)要接到一个休眠不掉电的引脚上(进 sleep 后仍能保持电平、可继续驱动喂狗的引脚,通常选 AGPIO 或对应模组支持的保持引脚)。请按你所用模组确认这个引脚是否存在、是否支持休眠锁存。

  • 复位信号(PWR_OFF)走 NPN 三极管控制主控 RESET,或 PMOS 控制主控 VBAT 供电通断,参考第七章的参考设计。

软件怎么用

  • 引用默认扩展库:local wdt = require("exair153x_wdt")

  • wdt.init(cfg) 配置,喂狗周期 auto_feed_period_s 按你选的 STRAP 档位设置(比如选了 60 分钟档,喂狗周期就设在远小于 60 分钟的值,确保能及时喂到)。

  • 库是事件驱动的,配置好后会自动周期喂狗;也可用 wdt.feed() 手动喂狗。

9.3 方案 2(推荐程度:中)—— Air153C + exair153x_wdt

为什么推荐它

  • 如果你的 Air153C 硬件已经定死、不想再改,那么"只升级软件库"是最划算的。把旧库换成 exair153x_wdt,代码结构更规范、带版本号、有完整文档,比旧库更好维护。

硬件怎么接

  • 不用改,直接沿用现有 Air153C 电路。

  • 但 Air153C 的局限要心里有数:它的超时只有约 200\~283 秒,且随供电电压变化(3.3V≈283s、3.8V≈240s、4.3V≈209s),所以主控最迟每 200 秒内就得喂一次狗。这意味着它无法像 Air153D 那样长时间睡觉,低功耗场景吃亏。

  • 喂狗引脚同样用休眠不掉电的引脚(不强制非得 AGPIO,关键是这个引脚休眠时不掉电,请按所用模组确认)。

软件怎么用

  • 同样 require("exair153x_wdt"),喂狗周期 auto_feed_period_s 设在 200 秒以内(推荐 ≤150 秒)

9.4 方案 3(兜底,推荐程度:低)—— Air153C + air153C_wtd

先说清楚这个旧库的现状

  • air153C_wtd老版喂狗库,官方已经不再维护,现在存放在 Gitee 仓库的老代码目录中,仓库地址:https://gitee.com/openLuat/LuatOS/tree/master/olddemo/lib

  • 官方不再对该库进行 bug 修复、新模组适配,使用过程中出现问题需自行维护。除非存量项目已锁定该方案暂时无法升级,否则不建议新项目使用,推荐优先迁移至 Air153D 芯片 + exair153x_wdt 扩展库的方案。

如果你坚持要用,操作步骤如下

1. 打开上述 Gitee 仓库链接,找到 air153C_wtd.lua 文件并下载。

2. 把下载的 .lua 文件放到你项目脚本的同级目录(不强制和你的主脚本放同一层)。

3. 手动把它添加到 Luatools 工程里,让它作为项目文件一起打包烧录。

4. 在脚本里按旧库的接口调用:init(pin)feed_dog(pin, time)close_watch_dog(pin)callback()version();注意喂狗时要自己传引脚号和喂狗时间

5. 因为这个库不再更新,强烈建议你在业务上预留一条以后迁移到 exair153x_wdt 的路,不要写死。

9.5 两个扩展库的区别对照表

对比项 exair153x_wdt air153C_wtd
维护状态 官方持续维护 官方已停更,需自己维护
是否需要手动导入 无需手动导入。它是 LuatOS 默认扩展库,Luatools 工具的工作目录会自动存放并更新 lib 文件夹,烧录时自动加载 需手动:把 .lua 下载到项目同级目录,再手动加到 Luatools 工程
引用方式 require("exair153x_wdt") require("air153C_wtd")
对外接口 init(cfg) / feed() / trigger_reset() / version() init(pin) / feed_dog(pin,time) / close_watch_dog(pin) / callback() / version()
喂狗机制 事件驱动,配置后自动周期喂狗 gpio.set + sys.timerStart 延时喂狗,需手动控制时序
适配芯片 Air153C 和 Air153D 都支持 仅 Air153C
使用方式 改自己脚本、引用接口即可 要下载文件、加工程、自己维护

9.6 两种库的实际使用差异

  • exair153x_wdt:你只需要改自己的脚本require 后调用接口即可,不用碰任何库文件。参考说明见 https://docs.openluat.com/osapi/ext/exair153x_wdt/,示例见 https://gitee.com/openLuat/LuatOS/blob/master/module/Air780EPM/demo/wdt/air153x_wdt.lua

  • air153C_wtd:你要自己动手拿一个 .lua 文件,下载 → 放同级目录 → 加进 Luatools → 按接口调用,并且以后出问题要自己扛。参考文件见 https://gitee.com/openLuat/LuatOS/blob/master/olddemo/lib/air153C_wtd.lua

9.7 FOTA 场景注意

  • exair153x_wdt + libfotalibfota2libfotax 扩展库:库内部会自动调用喂狗,你无需配置

  • exair153x_wdt + fota 核心库:需要你自己在脚本里手动喂狗

  • 用旧库 air153C_wtd 处理 FOTA:因为库不再维护,喂狗逻辑需要你自行设计实现

搜索