跳转至

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

一、Air153C

image.png

Air153C,是合宙推出的一款与合宙二次开发模组搭配的看门狗芯片,SOT23-6封装;

image.png

Air153C管脚详细定义:

PIN 管脚名称 Type 描述 备注
1 NC 预留 预留管脚 保持悬空
2 GND GND 参考地
3 WTDOG 输入 喂狗管脚
主芯片喂给Air153C
常态为低电平输入,规定时间内高脉冲输入喂狗;
与合宙4G模组搭配时,4G模组必须使用AGPIO喂狗以保证喂狗信号电平可控;
4 PWR_OFF 输出 复位信号输出
Air153C复位主控
有时也写作P_OFF
常态为低电平,喂狗不正常时输出高电平;
搭配NPN三极管控制RESET,或搭配PMOS控制主控VBAT供电通断;
5 VDD 电源 供电管脚
6 NC 预留 预留管脚 保持悬空

Air153C基本参数如下:

推荐工作电压 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

Air153C硬件封装信息如下:

image.png

二、Air153C 喂狗与复位

Air153C,最核心的是两个信号,WTDOG喂狗和P_OFF复位;

PIN 管脚名称 Type 描述 备注
3 WTDOG 输入 喂狗管脚
主芯片喂给Air153C
常态为低电平输入,规定时间内高脉冲输入喂狗;
与合宙4G模组搭配时,4G模组必须使用AGPIO喂狗以保证喂狗信号电平可控;
4 P_OFF 输出 复位信号输出
Air153C复位主控
有时也写作P_OFF
常态为低电平,喂狗不正常时输出高电平;
搭配NPN三极管控制RESET,或搭配PMOS控制主控VBAT供电通断;

正常喂狗WTDOG流程

Air153C检测 WTDOG 管脚的电平状态,每当检测到管脚电平由低变高时,Air153C会重置内部超时计时器 T_timeout(T_timeout 默认 240s);

两次喂狗信号的间隔 T_feed 为喂狗周期, T_feed 必须小于 T_timeout ,推荐 T_feed 为 150s ;

主控会将 WTDOG 拉高 T_HIGH 时间(T_HIGH >200ms)为喂狗成功,内部超时计时器 T_timeout 重置;

waveform.png

喂狗异常P_OFF复位流程

当Air153C在 T_timeout 时间内未能检测出 WTDOG 管脚有高脉冲喂狗时,就会进入重启模块的操作;

Air153C的 PWR_OFF 管脚会拉高 T_restout 时间(默认 T_restout = 500ms)进入复位重启动作,随后置低;

waveform.png

强制P_OFF复位流程

当 Air153C 在 T_test(T_test\<1s) 时间内连续收到 3 个喂狗信号,Air153C 会立即进行复位动作:

Air153C 将 PWR_OFF 管脚拉高 T_restout 时间(默认 T_restout = 500ms)进行复位操作,随后置低;

此模式可以用于 Air153C 测试验证,或者配合主控在业务逻辑需要时强制复位自己;

waveform.png

三、Air153C 硬件参考设计

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

以下是关于Air153C搭配NPN三极管控制主控RESET信号的参考电路的介绍;

以主控为Air780EPM为例:

当Air780EPM_GPIO24喂狗WTDOG正常时,Air153C的PWR_OFF一直输出为低,Air780EPM_RESET不会被拉低,相应的Air780EPM也就不会被重启;

当Air780EPM_GPIO24喂狗WTDOG异常时,Air153C的PWR_OFF输出 T_restout 时间的高电平,Q0201导通,相应的Air780EPM_RESET被拉低,进而Air780EPM被重启;

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

Air8780_V3_20260625_1530_04.png

四、Air153C 工作电流说明

关于Air153C工作电流的详细补充说明;

  • 测试条件:VDD供电3.3V;

  • 常态电流:1.5uA;

  • 复位电流:5uA;

    "复位电流"的意思是,Air153C内部设置的复位溢出时间 T_timeout 到达后,P_OFF 输出高电平 T_restout时的工作电流;

五、Air153C T_timeout

关于Air153C在不同VDD电压下复位溢出时间 T_timeout 的说明;

Air153C内部的时钟频率会受到芯片电压的影响, 以下为实际测试中不同电压下的芯片看门狗超时时间:

VDD电压 实测PWR_OFF输出复位信号时间 建议T_feed喂狗间隔时间
3.3V 283 秒 200秒
3.8V 240 秒 200秒
4.3V 209 秒 200秒

当Air153C由锂电池供电时,也就是VDD电压可能在3.3V和4.35V之间变化时,喂狗时间必须以最小的复位溢出时间 T_timeout 为准;

我们实测 VDD 在4.3V供电时,复位溢出时间 T_timeout 为209秒,因此,实际喂狗时间必须设置为200秒以内才更保险;

六、Air153C 存在的问题

Air153C已服役多年,深受LuatOS用户的喜爱,也尽可能保证了运行LuatOS模组的设备的稳定性;

但是,Air153C带来的代价是什么?功耗。

一方面,Air153C本身需要耗电,常态下大概1.5uA的电流(3.3V),这一点基本都可以接受;

一方面,由于主控需要喂狗,T_timeout 一般是在200S以内,也意味着主控,比如Air780EPM,在低功耗模式下需要在200S以内醒来一次,无法长时间处于低功耗状态之中,"极大的"增加了功耗,这一点是普遍被诟病的地方;

基于此,我们推出了Air153C的替代型号:Air153D。

七、Air153D

  1. Air153D,与Air153C,是同一颗芯片,区别只是软件不同;

  2. Air153D,最大的升级,是可以根据STRAP1(PIN1)和STRAP6(PIN6)配置喂狗信号 T_timeout 的时间;

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

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

  4. Air153D原理示意图;

    image.png

  5. 以与Air780EPM搭配为例,Air153D原理图参考设计;

    模式 STRAP1 STRAP6 T_feed喂狗时间 PWR_OFF重启时间
    3.3V供电电压下实测
    PWR_OFF重启时间
    4.35V供电电压下实测
    R1/R2/R3/R4四颗电阻,按需配置
    1 10分钟 16分钟内 12分钟内 R1/R3悬空;
    R2/R4贴10K电阻
    2 60分钟 100分钟内 73分钟内 R2/R3悬空;
    R1/R4贴10K电阻
    3 12小时 20小时内 15小时内 R1/R4悬空;
    R2/R3贴10K电阻
    4 24小时 40小时内 29小时内 R2/R4悬空;
    R1/R3贴10K电阻

    image.png

  6. 再次强调!

    Air153D不可以直接替代Air153C使用,硬件上增加了STRAP PIN的配置;

    强烈建议将Air153C迭代设计为Air153D,Air153D在喂狗时间的规划上更合适,对整体的功耗控制更加友好,主控不必再频繁的醒过来喂狗;

  7. 其余未介绍的部分,Air153D与Air153C完全一样;

八、Air153D 封装文件

Air153D_封装.rar

九、软件设计说明

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

如果您使用了 Air153C 或者 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

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

10.1 推荐优先级总览

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

10.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 供电通断,参考第三章的 Air153C 参考设计(芯片不同、复位与喂狗通路一致)。

软件怎么用

  • 引用默认扩展库:local wdt = require("exair153x_wdt")
  • wdt.init(cfg) 配置,喂狗周期 auto_feed_period_s 按你选的 STRAP 档位设置(比如选了 60 分钟档,喂狗周期就设在远小于 60 分钟的值,确保能及时喂到)。
  • 库是事件驱动的,配置好后会自动周期喂狗;也可用 wdt.feed() 手动喂狗。

10.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 秒)

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

先说清楚这个旧库的现状

  • air153C_wtd老版喂狗库,官方已经不再维护,现在放在仓库的老代码目录里:https://gitee.com/openLuat/LuatOS/tree/master/olddemo/lib
  • 说白了:没人再会去给它修 bug、适配新模组,出了问题得你自己维护。所以除非项目已锁定它、暂时不想动,否则不建议新项目使用

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

  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 的路,不要写死。

10.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
使用方式 改自己脚本、引用接口即可 要下载文件、加工程、自己维护

10.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

10.7 FOTA 场景注意

  • exair153x_wdt + libfotalibfota2libfotax 扩展库:库内部会自动调用喂狗,你无需配置
  • exair153x_wdt + fota 核心库:需要你自己在脚本里手动喂狗
  • 用旧库 air153C_wtd 处理 FOTA:因为库不再维护,喂狗逻辑需要你自行设计实现
搜索