TPS3306系统监控芯片:双路电压监控与看门狗定时器设计指南

📅 2026/7/24 7:12:47 👁️ 阅读次数 📝 编程学习
TPS3306系统监控芯片:双路电压监控与看门狗定时器设计指南

1. 项目概述与芯片定位

在嵌入式系统,尤其是那些基于DSP或高性能处理器的设计中,最让人头疼的问题往往不是算法有多复杂,而是系统跑着跑着就“死”了。这种“死机”很多时候并非软件BUG,而是由电源的微小扰动、电压的瞬间跌落,或者程序意外跑飞进入死循环导致的。对于工业控制、汽车电子或者便携式医疗设备这类对可靠性要求极高的场景,一次不经意的复位失败可能就意味着产品召回甚至安全事故。因此,一个独立于主处理器的“守护者”电路至关重要,它能在主系统“生病”时,果断地按下“重启键”。

TPS3306系列就是这样一位沉默而可靠的守护者。它不是一颗功能复杂的处理器,而是一颗专精于系统监控与管理的模拟/混合信号芯片。其核心价值在于,它将双路精密电压监控、一个可编程的看门狗定时器(Watchdog Timer)以及一个额外的电源失效比较器(Power-Fail Comparator)集成在了一个仅有8个引脚的小封装里。这意味着,你可以用极小的PCB面积和BOM成本,为你的双电源系统(比如常见的3.3V核心电压搭配1.8V或1.5V的内核电压)构建一套完整的“健康监测与应急响应系统”。我经手过不少从实验室样机转向量产的项目,后期稳定性测试中暴露的电源问题,很多都是靠这类监控芯片解决的。它就像给系统上了双保险:电压异常,它管;程序卡死,它也管。

这颗芯片的设计非常“老道”,典型工作电流仅15µA,对于电池供电的便携设备来说几乎可以忽略不计。其工作电压范围覆盖2.7V到6V,能适应多种电源环境。更重要的是,它的复位输出(RESET)在VDD低至1.1V时仍能保持有效(低电平),这确保了即使在电源上电非常缓慢或者严重跌落的情况下,系统也能被可靠地锁定在复位状态,避免了处理器在低压下的不可预测行为。接下来,我们就深入这颗芯片的内部,看看它是如何工作的,以及在实际项目中如何用好它。

2. 核心功能模块深度解析

要驾驭TPS3306,不能只把它当成一个黑盒的复位发生器。理解其内部三个核心模块的工作原理和相互间的逻辑关系,是进行可靠电路设计的基础。这能帮助你在调试时快速定位问题是出在电源、软件喂狗逻辑,还是外围电路配置上。

2.1 双路电压监控器:系统的“血压监测仪”

这是TPS3306的首要功能。芯片内部包含两个完全独立的电压监控通道,分别对应SENSE1和SENSE2引脚。它们内部是比较器,但比较的基准并非固定值,而是由芯片后缀型号决定的高精度阈值电压(VIT)。

监控逻辑与阈值选择:芯片通过后缀来区分监控的电压组合,例如TPS3306-15用于监控3.3V和1.5V。其监控逻辑非常直接:只要SENSE1或SENSE2中任意一路的输入电压低于其对应的阈值电压VIT,RESET引脚就会立即被拉低(有效)。只有当两路电压都高于各自的VIT并保持一段时间后,RESET才会释放。这个“一段时间”就是芯片内部集成的100ms(典型值)延时,对于绝大多数处理器完成上电初始化来说,这个时间是充裕的。

选择型号时,关键是要匹配你的系统电压。下表是官方给出的标准型号阈值:

器件型号监控电压 (标称)阈值电压 VIT (典型值)
TPS3306-15SENSE1: 3.3V, SENSE2: 1.5V2.93V, 1.40V
TPS3306-18SENSE1: 3.3V, SENSE2: 1.8V2.93V, 1.68V
TPS3306-20SENSE1: 3.3V, SENSE2: 2.0V2.93V, 1.85V
TPS3306-25SENSE1: 3.3V, SENSE2: 2.5V2.93V, 2.25V
TPS3306-33SENSE1: 5.0V, SENSE2: 3.3V4.55V, 2.93V

实操要点与常见误区:

  1. 分压电阻网络:SENSE引脚是高阻输入,输入电流极小(典型值nA级别),因此可以直接连接到被监控的电源网络上。但对于高于VDD的电压,绝对不能直接连接!必须使用电阻分压网络将电压降至SENSE引脚允许的范围内(0V 到(VDD+0.3)*VIT/1.25)。计算分压比时,务必以阈值电压VIT为设计中心点。例如,用TPS3306-33监控24V总线,假设VDD=5V,SENSE2监控3.3V(VIT2=2.93V)。则分压比应为 2.93V / 24V ≈ 0.122。选取R1(上拉)、R2(下拉),需满足 R2/(R1+R2) = 0.122。同时,为减少功耗和噪声影响,建议总阻值在100kΩ~1MΩ之间,并选用1%精度的薄膜电阻。
  2. 旁路电容至关重要:数据手册明确建议,为了获得最佳的阈值稳定性,应在芯片的VDD和GND引脚之间放置一个0.1µF的陶瓷电容,并尽可能靠近芯片引脚。这个电容不仅提供高频去耦,还能抑制电源噪声对内部精密基准源造成的干扰,避免误触发。
  3. RESET输出配置:RESET是开漏输出,这意味着你需要外接一个上拉电阻到合适的电压(通常是处理器的I/O电压或VDD)。电阻值的选择需要权衡:阻值太大会导致上升沿变慢,易受干扰;太小则会在RESET有效时消耗过多电流。10kΩ到100kΩ是常见选择。切记:开漏输出不接上拉电阻,RESET引脚将无法输出高电平,导致处理器永远处于复位状态!

2.2 看门狗定时器:程序的“心跳监护仪”

看门狗是防止软件跑飞的最后一道硬件防线。TPS3306的看门狗超时时间固定为0.8秒(最大值,典型值0.5秒)。其工作逻辑是:在超时周期内,如果WDI(Watchdog Input)引脚没有检测到一次有效的边沿跳变(上升沿或下降沿均可),则认为系统程序可能已死锁,随即触发复位。

喂狗策略与功耗优化:喂狗操作就是让MCU定期翻转WDI引脚的电平。这里有一个极易被忽略但影响功耗的细节:WDI引脚内部有一个约40kΩ的上拉电阻连接到VDD。数据手册的“省电模式”部分指出,如果在看门狗超时周期的大部分时间里,将WDI引脚保持为低电平,仅在需要喂狗时产生一个短暂的低-高-低脉冲,那么流入WDI引脚的平均电流将非常小。反之,如果WDI长期被外部驱动为高电平,则会产生VDD / 40kΩ的持续电流。以VDD=5V计算,这就是125µA。对于追求极低功耗的应用(如常年休眠的物联网节点),这125µA的“冤枉电流”是绝对不能接受的。

因此,推荐的喂狗电路是:将MCU的一个GPIO配置为开漏模式,并连接至WDI。在软件中,该GPIO默认输出低电平。喂狗时,先输出高电平,延迟几个微秒(确保被识别),再输出低电平。这样,在99%的时间里,WDI引脚为低,几乎不消耗电流。

禁用看门狗:如果某些应用场景不需要看门狗功能,直接将WDI引脚悬空(NC)即可。芯片内部逻辑会检测到高阻态,并自动禁用看门狗定时器。

2.3 电源失效比较器:提前预警的“哨兵”

PFI(Power-Fail Input)和PFO(Power-Fail Output)构成了一个独立的比较器,其基准是内部1.25V的参考电压。这个模块的妙用在于,它可以用来监控主电源之外的第三个电压,比如电池电压,从而实现低电量预警,为系统争取时间进行数据保存或有序关机。

电路设计与计算:PFI的比较阈值公式为:V_PFI_trip = 1.25V * (R1 + R2) / R2。其中,R1连接在被监控电压与PFI之间,R2连接在PFI与GND之间。例如,要监控一个12V的电池,希望在电压低于10.5V时给出预警(PFO变低)。那么,设定 V_PFI_trip = 10.5V。 代入公式:10.5 = 1.25 * (R1+R2)/R2=>(R1+R2)/R2 = 8.4=>R1/R2 = 7.4。 选取R2=100kΩ(1%精度),则R1=740kΩ。最接近的标准阻值可以是750kΩ或732kΩ(E96系列)。此时实际触发点为1.25 * (750k+100k)/100k = 10.625V,需评估此误差是否可接受。 同样,为降低功耗,R1+R2的总和建议在1MΩ量级。PFO也是开漏输出,需要外接上拉电阻。

一个实用的技巧:如果你不需要电源失效比较功能,务必将PFI引脚接地,并将PFO引脚悬空。这样可以避免PFI引脚浮空引入噪声,导致PFO输出不稳定和额外的功耗。

3. 典型应用电路设计与实操要点

理解了原理,我们来看如何把它放到实际电路板上。下图是一个基于TPS3306-18(监控3.3V和1.8V)的典型应用电路,用于一个以3.3V为I/O电压、1.8V为内核电压的处理器系统。

+3.3V (主电源) +1.8V (内核电源) | | | | ----- C1 ----- C2 --- 0.1µF --- 0.1µF | | | | | | +----|----+ +----|----+ | | | | | R3 | | R4 | | 10kΩ | | 10kΩ | | | | | +----|----+ +----|----+ | | | | \|/ SENSE1 \|/ SENSE2 +----|----|----|----|----|----|----|----|----+ | 1 2 3 4 | 5 6 7 8 | | S1 S2 PFI GND| RESET PFO WDI VDD | | TPS3306-18 | +-------------------------------------------+ | | | | | | | | | | GND GND +3.3V +3.3V +3.3V | | | Rpull1 Rpull2 ----- C3 10kΩ 10kΩ --- 0.1µF | | | MCU_RST MCU_PFO MCU_GPIO (开漏) | | | GND GND GND

3.1 元器件选型与参数计算

  1. 输入去耦电容C1, C2:在被监控的3.3V和1.8V电源入口处,分别放置一个0.1µF的陶瓷电容(如X7R材质)到地。其作用是滤除电源线上的高频噪声,防止其干扰SENSE引脚的电压检测,造成误复位。布局上必须靠近TPS3306的SENSE引脚。
  2. 电源去耦电容C3:在TPS3306的VDD引脚(第8脚)到GND之间,必须放置一个0.1µF的陶瓷电容,并尽可能靠近芯片引脚。这是数据手册的强制要求,用于稳定芯片内部参考电压,是保证监控精度的关键。
  3. 上拉电阻Rpull1, Rpull2:RESET和PFO均为开漏输出。上拉电压通常选择与后续逻辑电路(如MCU的复位引脚)一致的电压,这里是3.3V。阻值选择10kΩ是一个兼顾速度、功耗和驱动能力的通用值。RESET信号对上升时间有一定要求,过大的上拉电阻(如1MΩ)会导致RC时间常数过大,在复位释放时上升沿过缓,可能使某些对复位边沿敏感的MCU无法可靠识别。
  4. 限流电阻R3, R4:虽然SENSE引脚输入阻抗极高,但出于保护目的(防止热插拔或意外过压),串联一个小的限流电阻(如10Ω)是良好的设计习惯。对于低噪声应用,这个电阻也可以与对地的小电容(如10pF)构成低通滤波器,进一步平滑SENSE引脚电压。在本例中,由于被监控电压与芯片VDD同源且电压值在安全范围内,这两个电阻可以省略(直接连接)。

3.2 PCB布局的黄金法则

对于模拟监控芯片,糟糕的布局会彻底毁掉其性能。务必遵守以下几点:

  • 星型接地:将TPS3306的GND引脚(第4脚)通过一个单独的、粗短的走线连接到系统的主地平面或地星点。避免让监控芯片的接地路径与数字电路(特别是MCU、时钟电路)的噪声电流共享同一段细长的走线。
  • 电容就近原则:C3(VDD去耦电容)必须紧贴芯片的VDD和GND引脚,回路面积最小化。输入电容C1、C2也应靠近相应的SENSE引脚。
  • 远离噪声源:让TPS3306的走线远离开关电源的电感、高频时钟线、数字总线等噪声源。如果空间允许,在芯片周围适当敷铜并接地,可以提供额外的屏蔽。
  • 敏感信号保护:PFI引脚连接的是高阻分压网络,极易受干扰。走线应尽量短,并用地线包围。如果监控的是远端电源,考虑在PFI引脚对地添加一个小的滤波电容(如100pF),但需注意这会略微增加响应时间。

3.3 软件喂狗程序示例

以常见的ARM Cortex-M系列MCU为例,展示一个可靠的喂狗程序结构。假设连接WDI的MCU GPIO为GPIO_PIN_WDI

// 硬件初始化 void BSP_Watchdog_Init(void) { // 1. 配置WDI引脚为开漏输出,初始输出低电平(降低功耗) GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.Pin = GPIO_PIN_WDI; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; // 开漏输出 GPIO_InitStruct.Pull = GPIO_NOPULL; // 开漏模式下,外部上拉由TPS3306内部提供 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIO_PORT_WDI, &GPIO_InitStruct); HAL_GPIO_WritePin(GPIO_PORT_WDI, GPIO_PIN_WDI, GPIO_PIN_RESET); // 初始置低 // 2. 启动一个硬件定时器,中断周期设为小于看门狗超时时间(如300ms) // ... (硬件定时器初始化代码) } // 喂狗函数,应在主循环或定时器中断中定期调用 void BSP_Watchdog_Feed(void) { // 产生一个低-高-低的脉冲 HAL_GPIO_WritePin(GPIO_PORT_WDI, GPIO_PIN_WDI, GPIO_PIN_SET); // 拉高 HAL_Delay(1); // 短暂延时,确保脉冲宽度被识别(远大于100ns即可) HAL_GPIO_WritePin(GPIO_PORT_WDI, GPIO_PIN_WDI, GPIO_PIN_RESET); // 拉低 } // 主循环或定时器中断服务函数中的调用 int main(void) { // ... 系统初始化 BSP_Watchdog_Init(); while (1) { // ... 执行主要任务 BSP_Watchdog_Feed(); // 定期喂狗 // ... 其他任务 } }

关键点:喂狗间隔必须小于看门狗的超时时间(0.8秒最大),并留出足够的余量(比如设定在300-500ms喂一次),以应对软件中可能存在的阻塞操作(如等待外部响应、复杂的计算等)。永远不要在中断服务程序(ISR)中唯一地执行喂狗操作,因为如果主程序死锁但中断仍在响应,看门狗将无法检测到故障。

4. 关键电气参数解读与设计边界

数据手册里的参数表不是摆设,而是设计的依据。忽略它们,电路可能在实验室工作,却在高温、低温或批量生产时出现问题。

4.1 绝对最大额定值与推荐工作条件

这是不可逾越的红线。

  • 供电电压VDD:绝对最大值为7V,但推荐工作范围是2.7V至6V。这意味着你不能将其用在12V或24V系统中,除非为TPS3306本身提供独立的5V或3.3V稳压��源。超过7V可能会永久损坏芯片。
  • 输入电压范围
    • SENSE1/2:不能超过(VDD + 0.3) * VIT / 1.25。例如,VDD=5V,监控3.3V(VIT=2.93V),则最大允许输入电压为(5.3 * 2.93) / 1.25 ≈ 12.4V。这意味着如果你用分压电阻监控更高电压,���须确保在最坏情况下(如电阻开路),SENSE引脚电压不超过此限值,通常需要增加钳位保护电路。
    • PFI, WDI:0V 至 VDD+0.3V。连接MCU GPIO时,需确保MCU的IO电压不超过此范围。
  • 工作温度:-40°C 到 +85°C。这是工业级标准。如果你的产品应用于汽车前装或极端环境,需要考虑更宽温的型号或采取保温/散热措施。

4.2 直流电气特性:精度与功耗

  • 阈值电压精度:以TPS3306-18为例,SENSE1的阈值典型值是2.93V,但最小值是2.86V,最大值是3.00V(0°C to +85°C)。这意味着,在批量生产中,有些芯片可能在3.00V时才释放复位,而有些在2.86V就认为电压“正常”了。你的电源设计必须考虑这个最坏情况:电源电压在跌落到最低阈值(2.86V)之前,系统必须仍能正常工作;同时,电源上电必须超过最高阈值(3.00V)并保持稳定,复位信号才会释放。
  • 迟滞(Hysteresis):这是防止电压在阈值附近波动时,RESET输出反复跳变的“防抖”机制。SENSE1的迟滞典型值为30mV。也就是说,电压从正常跌落到低于2.93V时触发复位,但需要回升到2.93V+30mV=2.96V以上,复位条件才会解除。这增加了系统的抗噪声能力。
  • 供电电流IDD:典型值15µA,最大值40µA。这是芯片自身的静态电流。但在计算系统总功耗时,别忘了加上WDI引脚可能产生的电流(如果保持为高)以及RESET/PFO上拉电阻的电流。在电池供电设计中,每一微安都值得计较。

4.3 时序特性:复位与看门狗的“节奏”

  • 复位延时时间td:典型值100ms,范围70ms到140ms。这是SENSE电压超过阈值后,RESET信号保持有效的额外时间。必须确保你的MCU或处理器的上电复位(POR)时间要求小于这个最小值(70ms)。大多数现代MCU的POR时间在几十毫秒以内,但有些老款DSP或复杂FPGA可能需要更长的配置时间。如果不够,需要在RESET输出后增加RC延时电路。
  • 看门狗超时时间tt(out):典型值0.5s,范围0.5s到1.2s。软件喂狗周期必须按最大值1.2秒来设计,以保证在最坏工艺、温度条件下也不会误触发。按典型值0.5秒设计是危险的。
  • 传播延迟tPHL:SENSE到RESET的延迟典型值1µs,最大5µs。这个时间极短,意味着电压跌落几乎会立即导致复位,响应非常迅速。

5. 高级应用、故障排查与选型指南

5.1 监控非标电压与扩展应用

虽然TPS3306提供了固定的电压型号,但通过电阻分压,我们可以灵活地监控任意电压。关键在于理解其内部比较器是以1.25V为基准的。

设计步骤:

  1. 确定监控电压V_monitor和触发点V_trip(例如,监控12V总线,希望在10.5V时报警)。
  2. 选择芯片型号:选择一个其VIT值小于你VDD的型号。通常用TPS3306-33(VIT=4.55V/2.93V)或TPS3306-25(2.93V/2.25V),因为它们的阈值较高,允许的分压比范围更灵活。假设我们使用其SENSE2通道,VIT2=2.93V。
  3. 计算分压比:K = VIT2 / V_trip = 2.93 / 10.5 ≈ 0.279。
  4. 选取电阻:选择R2(接地电阻),根据公式 K = R2 / (R1 + R2)。为降低功耗,令 R1 + R2 ≈ 1MΩ。则 R2 = K * 1MΩ ≈ 279kΩ, 取E96系列标准值280kΩ。R1 = 1MΩ - 280kΩ = 720kΩ,取标准值715kΩ。
  5. 验证:实际分压比 = 280k / (715k + 280k) ≈ 0.281。实际触发点 V_trip_actual = VIT2 / 0.281 ≈ 2.93 / 0.281 ≈ 10.43V。这个误差在可接受范围内。
  6. 注意输入范围:计算SENSE引脚最大电压:V_sense_max = 12V * (280k / (715k+280k)) ≈ 3.37V。检查是否小于(VDD+0.3)*VIT/1.25。假设VDD=5V,则限值为5.3*2.93/1.25≈12.4V,远大于3.37V,安全。

5.2 常见问题与故障排查实录

在实际调试中,你可能会遇到以下问题:

  1. 系统不上电,或反复复位

    • 检查RESET上拉:首先用万用表测量RESET引脚电压。如果一直是0V或很低,检查上拉电阻是否焊接,阻值是否正确,上拉电源是否正常。
    • 测量SENSE电压:用示波器(最好是带余辉或持久模式的)同时观察两个被监控的电源电压以及对应的SENSE引脚电压。查看上电过程中,电压是否平稳上升,有无毛刺或跌落。确认SENSE电压是否超过了芯片的阈值电压(需考虑精度范围)。
    • 检查延时电容:TPS3306的复位延时是内部固定的。如果你外接了电容来增加延时(不推荐,除非必需),检查电容是否漏电或值过大。
  2. 看门狗无故复位

    • 确认喂狗时机:在喂狗函数前后打点(翻转一个测试GPIO),用逻辑分析仪或示波器双通道同时抓取这个测试点和WDI引脚波形。确认喂狗脉冲的间隔是否始终小于1.2秒(最大超时时间)。
    • 检查WDI引脚配置:确认MCU的GPIO配置正确(开漏输出),且没有其他电路驱动该引脚。测量WDI引脚静态电压,如果为高,检查是否按低功耗模式设计(应长期为低)。
    • 软件阻塞:检查程序中是否存在可能超过1.2秒的阻塞操作,如HAL_Delay(2000)、等待某个慢速外设、或进入低功耗模式前未暂停喂狗。
  3. 电源失效比较器误动作

    • PFI引脚浮空:如果不用此功能,必须将PFI接地。浮空的PFI会像天线一样拾取噪声。
    • 分压电阻噪声:用于PFI的高阻值分压电阻对噪声敏感。确保走线短,并可在PFI引脚到地之间添加一个100pF~1nF的滤波电容(权衡响应速度)。
    • 基准波动:确保VDD引脚有良好的0.1µF去耦电容,且PCB布局合理。
  4. 批量生产中部分板卡失效

    • 阈值电压离散性:回顾第4.2节。你的电源电压最小值必须高于阈值电压最大值(如3.00V),最大值必须满足处理器要求。用最坏情况分析法重新评估电源设计。
    • 焊接或ESD损伤:检查芯片焊接,尤其是微小的MSOP封装。确保生产环节有ESD防护。

5.3 选型对比与替代方案

TPS3306并非唯一选择。根据项目需求,你可能需要考虑其他方案:

  • 需要更多监控通道:如果需要监控三路或更多电压,可以考虑TI的TPS3808(三路监控)或MAX706系列(多路复位IC)。
  • 需要可调阈值:如果监控的电压非标或需要灵活调整,应选择带有外部参考电压输入或可编程阈值的监控芯片,如ADI的ADM系列或Microchip的MCP系列。
  • 需要更低的功耗:TPS3306的15µA静态电流已经很低,但对于纽扣电池供电、需要数年寿命的物联网传感器,可能需要寻找静态电流在1µA以下的纳米功耗监控芯片,如TI的TPS3839。
  • 需要更高集成度:有些现代电源管理芯片(PMIC)已经集成了多路电压监控、看门狗甚至电压调整器。对于高度集成的系统,使用一颗PMIC可能比分立方案更节省空间和成本。

TPS3306的核心优势在于其简单、可靠、专一。它把双路监控、看门狗、电源失效比较这三件最关键的事情做到了极致,并且功耗极低。对于大多数双电源的嵌入式应用,尤其是工业控制和汽车电子,它仍然是一个经过长期市场验证的、性价比极高的选择。

最后,分享一个我个人的调试习惯:在新的电路板第一次上电时,不要急于连接MCU。先单独给TPS3306及其监控的电源上电,用示波器观察RESET引脚的波形。你应该能看到一个清晰的上电复位脉冲(低电平持续约100ms后变高)。如果这个基本波形都不对,那么后续连接处理器也无济于事。这个简单的步骤能帮你快速排除一半以上的硬件问题。