合宙的Air2xx和Air8xx系列模块,一直以稳定和质优价廉著称,深受开发者喜爱。而这两个系列的2G模块,文档都推荐开发者使用看门狗芯片,以提高芯片运行稳定性。
所以开发者养成了随手加个看门狗+喂狗的习惯。但是Air7xx系列4G模块好像反其道而行之,没有看门狗了,这是为什么呢?
名词解释
PMU – Power Management Unit,电源管理单元,为单片机提供所需的稳定电源。
BB – BaseBand,基带。合成即将发射的基带信号,或对接收到的基带信号进行解码。近似于过去的猫(modem,调制解调器)。
##2G模块 (RDA8955)
Air202等2G模块采用的是RDA8955芯片。由于2G比较成熟且简单,所以8955将BB、PMU、Transceiver集成在了一起。
这样做的好处是集成度高、成本低;坏处是关联性强。最明显的一点是BB死机时PMU也会挂掉,所以在这种情况下我们在设计上加了外置单片机看门狗。
整体死掉,就没有办法重启了,所以用外置的看门狗芯片重启模块。
##4G模块 (ASR1802)
Air720等4G模块采用的是ASR1802芯片。它是一颗集成度非常高的4G多模BB芯片,同时辅以ASR系列的PMU和Transceicer一起工作。
当BB死机后,PMU内的看门狗可以将BB复位。所以4G模块直接用了PMU的做看门狗。如此一来,4G模块算是内置了“看门狗”,所以不需要开发者再使用外置的看门狗芯片了。
那么,PMU是如何兼任看门狗的呢?
###PMU的打狗棒法
开机键是挂在PMU上的,所以开机键检测由PMU硬件实现——当PMU检测到开机键接地一定时间(开机键接地时间通过PMU寄存器记录)后即开机,当检测到开机键接地超过一定时间后则断开所有电源输出重新上电开机;
当开机键一直接地时,BB过一段时间就通过I2C去清掉PMU寄存器里的开机键接地的时间记录,类似于一次喂狗(清掉开机时间寄存器)。当BB死机后无法清掉该寄存器。所以,PMU会将BB复位;