TC1028低功耗电压监控芯片:嵌入式系统电源哨兵设计指南
1. 项目概述:为什么TC1028值得你花时间研究?
在嵌入式开发和模拟电路设计里,我们常常会遇到一个看似简单却让人头疼的需求:系统需要监控一个电压,比如电池电压,当它低于某个阈值时,要唤醒主控MCU或者触发一个警报。你可能会想,这不就是个比较器的事儿吗?直接用MCU内部的比较器或者找个通用运放搭一个不就完了?但当你真正动手去做,尤其是对功耗有严苛要求的电池供电设备时,你会发现事情没那么简单。
MCU内部的比较器在深度睡眠模式下可能无法工作,或者其功耗依然偏高;而用通用运放搭建,外围电路复杂,静态电流也难以做得很低,更别提还需要一个稳定的参考电压了。这时候,像TC1028这样的专用芯片就进入了视野。它把两个超低功耗的比较器和一个精准的电压基准,全部集成到了一个微小的SOT-23封装里。这不仅仅是“集成”,而是针对“始终在线”的电压监控场景做了深度优化。
我最初接触TC1028是在一个太阳能物联网传感器节点项目上。设备大部分时间处于休眠状态,只有电压过低或环境数据异常时才需要唤醒上报。我们需要一个电路,在MCU彻底“关机”(进入Stop模式)后,还能持续监视电池电压,并在电压恢复时产生一个唤醒信号。尝试了几种分立方案后,要么功耗超标,要么电路不稳定,直到发现了TC1028,其典型1.6微安的静态电流和内置的电压基准,完美地解决了问题。这枚小芯片背后,是对于低功耗系统“哨兵”角色的精准定义。接下来,我就结合自己的使用经验,把这颗芯片里里外外讲透,让你不仅知道怎么用,更明白为什么这样用,以及在哪些场景下它能发挥出最大价值。
2. TC1028核心架构与功能模块拆解
TC1028并非简单的功能堆砌,其内部架构是经过精心设计的,以实现极致的功耗与性能平衡。理解它的内部构成,是正确应用它的前提。
2.1 双比较器:不仅仅是两个独立的单元
TC1028内部集成了两个完全独立的电压比较器,我们称之为Comparator A和Comparator B。每个比较器都是一个完整的、带有推挽输出级的电路。这里的关键词是“推挽输出”。这意味着它的输出可以直接驱动数字逻辑电平(如CMOS、TTL),无需额外的上拉电阻,简化了电路设计。输出级在高低电平间切换时,具有较低的阻抗,能提供较强的驱动能力,同时响应速度也更快。
但它的比较器有一个非常重要的特性:输入共模范围覆盖了从地(GND)到电源电压(VDD)的整个区间。这意味着,即使你的输入信号非常接近电源轨(比如VDD是3.3V,输入信号是3.2V),比较器依然能正常工作,不会出现无法判断的情况。这对于监控电池电压(电压范围从满电到欠压)这类应用至关重要。许多通用运放或简易比较器在输入电压接近电源轨时,性能会严重恶化甚至失效。
在实际布线时,需要特别注意比较器输入端的高阻抗特性。虽然输入偏置电流很小(典型值仅几个皮安),但对于高阻抗信号源,PCB上的漏电流或污染都可能引入误差。保持输入端走线干净、短捷,必要时增加 guarding ring(保护环)是良好的实践。
2.2 电压基准:系统精度的基石
这是TC1028的另一个核心价值点。它内置了一个经过工厂修调的1.22V带隙电压基准。这个基准的精度典型值为±1%,在整个工作温度范围和电源电压范围内,具有出色的稳定性。
这个基准电压通过一个独立的VREF引脚输出。你可以直接用它作为比较器的参考电压,也可以给系统中其他需要精准电压的电路(如ADC的参考源,如果电流需求很小)使用。它的输出阻抗较低,能够直接驱动一定的容性负载。
这里有一个非常重要的设计考量:电压基准的启动时间。当你刚给TC1028上电,或者它从极低功耗状态被使能时,电压基准的输出需要一段时间才能稳定到标称精度。TC1028的数据手册通常会给出这个稳定时间。在你的系统初始化序列中,如果比较器的判决依赖于这个基准电压,那么必须在基准稳定之后,再进行关键的电压比较操作。一个常见的做法是在MCU初始化后,延迟几毫秒再读取或响应比较器的输出。
2.3 低功耗的奥秘:静态电流与关断模式
TC1028的“低功耗”标签,核心体现在其静态电流上。在3V供电下,两个比较器和电压基准全部工作时,典型电流消耗仅为1.6微安。这个电流水平,使得它可以被用于那些由纽扣电池(如CR2032)供电,并要求数年寿命的设备中。
为了实现更极致的省电,TC1028提供了一个SHDN(关断)引脚。将此引脚拉低,芯片内部几乎所有电路都会关闭,包括比较器和电压基准,此时电流消耗会降至1微安以下(典型值在0.1微安量级)。这个功能赋予了系统设计极大的灵活性:
- 周期性监控:对于非连续监控的应用,可以由MCU的GPIO周期性地控制
SHDN引脚,只在需要测量的瞬间开启TC1028,测量完毕立即关闭,从而将平均功耗进一步降低数个数量级。 - 应急备用:在系统主电源完全断开,仅由后备电池维持关键监控功能的场景下,将TC1028置于关断模式,可以极大延长后备电池的寿命。
需要注意的是,从关断模式恢复到正常工作模式,芯片需要一定的唤醒时间,主要是电压基准的稳定时间。在时序设计时必须将此考虑在内。
3. 典型应用电路设计与参数计算
理论讲得再多,不如一个实际的电路来得直观。下面我们围绕几个最经典的应用场景,来设计电路并计算关键参数。
3.1 单阈值电池欠压检测
这是TC1028最直接的应用。假设我们使用一节3.6V的锂亚硫酰氯电池供电,希望当电池电压跌落到3.0V时,产生一个低电平报警信号去唤醒MCU。
电路设计:
- 电源:
VDD接电池正极,GND接电池负极。 - 参考电压:使用内部1.22V基准。将
VREF引脚通过一个电阻分压网络,产生我们需要的3.0V阈值电压。连接到比较器(比如Comparator A)的IN-端。 - 待测电压:电池电压(即
VDD)通过另一个电阻分压网络,衰减到与VREF产生的阈值电压可比的范围,连接到比较器的IN+端。注意:这里IN+接的是分压后的电池电压,IN-接的是固定阈值。这样,当电池电压高时,IN+ > IN-,输出高;电池电压低时,IN+ < IN-,输出低。 - 输出:比较器A的输出
OUTA可以直接连接到MCU的外部中断引脚,并配置为下降沿触发(对应电压从高于阈值跌落到低于阈值)。
参数计算:我们的目标是设计分压电阻R1和R2,使得当电池电压Vbat=3.0V时,IN+端的电压等于IN-端的电压(即1.22V经过分压后的值)。但这里有个技巧:我们可以让IN-直接接一个由VREF和电阻分压产生的固定电压,而IN+接由Vbat分压的电压。
更简单可靠的方法是使用VREF作为比较器一端的输入,另一端接电阻分压后的Vbat。但VREF是1.22V,我们需要判断的是3.0V。因此,通常将VREF连接到IN-,Vbat通过分压连接到IN+。
设IN-=VREF= 1.22V。 我们需要当Vbat=3.0V时,IN+也等于1.22V。 因此,分压比k = R2/(R1+R2) = Vref / Vbat_threshold = 1.22 / 3.0 ≈ 0.4067。 选取R1=100kΩ,则 R2 = k * R1 / (1-k) = 0.4067 * 100k / (1-0.4067) ≈ 68.6kΩ。取标称值68kΩ。
此时,当Vbat从3.0V继续下降,IN+将小于1.22V,比较器输出翻转为低电平,触发报警。
注意:分压电阻的取值需要在功耗和精度间权衡。取值太大(如10MΩ),功耗极低,但容易受PCB漏电流和噪声干扰。取值太小(如10kΩ),功耗增加。对于电池供电设备,选择100kΩ~1MΩ的电阻是常见的折中方案。同时,应选用1%精度的电阻以保证阈值准确性。
3.2 带滞回的窗口比较器(双阈值监控)
单个比较器只能检测单边阈值。如果需要检测电压是否处于一个正常范围(窗口)内,比如监控一个3.3V系统电源,要求其在3.0V至3.6V之间为正常,超出则报警,就需要用到窗口比较器。TC1028的双比较器天生适合此任务。
电路设计:我们使用两个比较器分别检测上限和下限。
- Comparator A(检测下限):
INA-接下限阈值电压V_L(如1.22V分压得到的对应3.0V的值),INA+接被监测电源Vmon的分压。当Vmon低于下限,OUTA输出低电平(表示欠压)。 - Comparator B(检测上限):
INB+接上限阈值电压V_H(如1.22V分压得到的对应3.6V的值),INB-接Vmon的分压。当Vmon高于上限,OUTB输出低电平(表示过压)。
逻辑整合:将OUTA和OUTB通过一个与门(或二极管与门电路)连接起来。当电压在窗口内时,OUTA和OUTB均为高电平,与门输出高(表示正常)。当电压低于下限或高于上限时,对应比较器输出变低,与门输出变低(表示异常)。
滞回功能添加:为了防止电源电压在阈值点附近波动导致输出频繁跳变,需要为每个比较器添加滞回(正反馈)。这可以通过在比较器输出和其同相输入端之间连接一个反馈电阻来实现。以检测下限的Comparator A为例:
- 假设
R1,R2是Vmon的分压电阻,R3是VREF到IN-的电阻(如果IN-接固定电压,则此电阻另一端接VREF)。 - 在
OUTA和INA+之间连接一个电阻Rh。 - 当输出状态改变时,
Rh会将输出的变化反馈一部分到INA+,从而改变实际的翻转阈值。计算滞回电压Vhys的公式为:Vhys ≈ (Voh - Vol) * (R1//R2) / Rh,其中Voh和Vol是比较器输出的高、低电平电压。
通过精心计算Rh,可以设置一个合适的滞回电压(如50mV),从而有效抑制噪声引起的误触发。
3.3 与MCU低功耗模式的协同设计
TC1028的真正威力在于与支持低功耗模式的MCU(如STM32L系列、ESP32的Deep-sleep)配合使用。一个典型的工作流如下:
- 系统上电/初始化:MCU启动,配置I/O,初始化TC1028(如果需要,通过
SHDN引脚唤醒它),并等待其电压基准稳定。 - 设置监控阈值:MCU通过自身的DAC或GPIO+PWM滤波,为TC1028的比较器设置精确的参考电压(如果不用内部
VREF)。或者,MCU只是简单地确认一下由VREF分压得到的固定阈值是否合适。 - 进入低功耗模式:MCU将自身配置为Stop或Standby模式。关键一步:在进入低功耗模式前,MCU需要将其用于接收TC1028比较器输出的GPIO引脚,配置为外部中断输入,并设置好触发边沿(例如,下降沿对应欠压报警)。
- TC1028独立监控:MCU休眠后,TC1028依靠其微安级电流持续工作,监控电源电压。
- 事件触发与唤醒:当电压越过阈值,TC1028的输出引脚电平变化,触发MCU的外部中断,将MCU从深度睡眠中唤醒。
- 唤醒处理:MCU唤醒后,首先读取比较器输出状态(或通过多个GPIO判断是哪个比较器触发),执行相应的处理程序(如保存数据、发送警报、尝试恢复电源等)。处理完毕后,可以再次进入低功耗模式。
这种设计使得系统99.9%以上的时间都处于极低功耗的“监控待机”状态,只有异常发生时才会消耗大量能量进行处理,非常适合物联网传感节点、远程仪表等应用。
4. 实战中的细节、陷阱与调试技巧
芯片手册不会告诉你的那些事,往往决定了项目的成败。下面分享几个我在使用TC1028过程中积累的经验和踩过的坑。
4.1 电源去耦与布局布线:被忽略的噪声源
TC1028虽然功耗极低,但对电源噪声依然敏感,尤其是其内部的电压基准。一个常见的误区是,认为微安级的电流就不需要认真的电源去耦。
陷阱:在早期的原型板上,我将TC1028的VDD引脚直接连到了3.3V电源网络,仅在其附近放置了一个0.1uF的陶瓷电容。测试时发现,比较器的输出会在阈值点附近出现随机抖动,即使输入电压非常稳定。用示波器观察VREF引脚,发现上面有几十毫伏、频率不定的毛刺。
解决方案:
- 紧邻芯片放置去耦电容:在TC1028的
VDD和GND引脚之间,尽可能靠近引脚的地方,并联放置一个1uF的钽电容或陶瓷电容和一个0.1uF的陶瓷电容。1uF电容提供低频能量缓冲,0.1uF电容滤除高频噪声。这是必须的。 - 为
VREF引脚单独增加电容:VREF引脚是基准电压的输出端,也是比较器参考电压的来源。在其对地之间增加一个0.1uF ~ 1uF的陶瓷电容,可以极大地稳定其输出,抑制噪声。这个电容的容值不宜过大,否则会显著增加基准电压的启动时间。 - 模拟地与数字地分离:如果系统中存在数字开关电路(如MCU),务必采用星型接地或单点接地策略,确保TC1028所在的模拟地回路干净,避免数字地噪声通过地线耦合进来。至少要为TC1028提供一个低阻抗的、独立的地平面区域。
4.2 比较器响应时间与负载电容
数据手册上通常会给出比较器的响应时间(Propagation Delay),但这个参数是在特定测试条件下得出的。在实际电路中,输出端的负载电容会显著影响翻转速度。
问题场景:我的比较器输出直接驱动一个MCU的GPIO,同时为了上拉,在输出端接了一个100pF的电容滤波(这是一个坏习惯)。结果发现,当输入电压缓慢变化越过阈值时,输出电平变化非常缓慢,上升/下降沿时间长达几十微秒。这导致MCU的外部中断检测可能不可靠,或者错过了快速的电压毛刺。
分析与解决: 比较器的输出级可以看作一个推挽驱动器。当它试图驱动一个容性负载Cl时,输出电压的上升/下降时间受到其输出电流Io的限制:t ≈ Cl * ΔV / Io。TC1028的输出电流能力是有限的(通常几个毫安)。如果Cl太大,边沿就会变缓。
- 移除不必要的容性负载:检查比较器输出走线,避免过长的走线(引入寄生电容),移除为“滤波”而额外添加的对地电容。对于数字输入,通常不需要额外的滤波电容。
- 使用合适的上拉电阻:如果确实需要上拉(例如与开漏输出的设备连接),选择一个较大的阻值,如10kΩ以上,以减少对输出级的下拉电流需求,同时也能减小RC时间常数。
- 理解应用需求:对于监控缓慢变化的电池电压,毫秒级的响应时间已经足够。但对于检测快速的电压脉冲或毛刺,就需要优化布局、减小负载,确保比较器能跟上速度。
4.3 “失效”的关断模式:SHDN引脚的正确用法
SHDN引脚是控制功耗的利器,但用不好会导致芯片行为异常。
踩坑经历:在设计一个由MCU GPIO控制SHDN的电路时,我直接将MCU的GPIO(3.3V逻辑)通过一个10kΩ电阻连接到TC1028的SHDN引脚。大部分时间工作正常,但偶尔发现唤醒后比较器的输出状态不对,似乎参考电压没建立好。用逻辑分析仪抓取时序发现,MCU的GPIO从低电平切换到高电平(释放关断)的上升沿不够陡峭,由于上拉能力弱,达到逻辑高电平的时间长达几百微秒。
根本原因与解决:SHDN引脚有一个明确的逻辑阈值电压。如果电平长时间处于不确定状态(在阈值电压附近徘徊),可能导致芯片内部状态混乱,或者基准电压在未完全使能的状态下工作,导致输出不准。
- 强驱动:确保驱动
SHDN引脚的信号具有快速、干净的边沿。MCU的GPIO应设置为推挽输出模式,而不是开漏模式。 - 上拉电阻:如果必须使用开漏模式,则必须在
SHDN引脚到VDD之间连接一个足够小的上拉电阻(如4.7kΩ),以确保电平能快速上升。 - 唤醒后等待:在将
SHDN引脚拉高,使能芯片后,必须等待足够的时间(查阅数据手册,通常是几百微秒到几毫秒),让内部电压基准稳定,然后再依赖比较器进行判决或读取VREF电压。这个等待时间应该写入你的MCU初始化代码中。
4.4 输入电压超出电源轨的风险
虽然TC1028的输入共模范围包括地到电源轨,但绝对最大额定值规定,任何输入引脚上的电压都不能超过VDD + 0.3V或低于GND - 0.3V。否则可能造成芯片闩锁或永久损坏。
应用警示:在监控高于VDD的电压时(例如用3.3V供电的TC1028监控12V电池),必须使用电阻分压网络将高压衰减到VDD以下。除了计算分压比,还必须考虑最坏情况:当12V电源上出现浪涌或瞬态高压时,分压后的电压是否可能瞬间超过VDD+0.3V。必要时,可以在比较器输入端并联一个钳位二极管到VDD和GND,以保护输入引脚。但要注意,二极管的漏电流可能会在高温下影响高阻抗分压网络的精度。
5. 进阶应用与选型考量
掌握了基础应用后,我们可以看看TC1028还能玩出什么花样,以及在什么情况下应该选择它,什么情况下可能有更好的选择。
5.1 构建简易的模拟看门狗
除了监控固定电源,TC1028还可以用来监控模拟信号。例如,在一个传感器调理电路中,你可以用其中一个比较器监控传感器的输出,确保其在一个合理的范围内。如果传感器失效(开路、短路),输出会漂移到电源轨,比较器可以立即检测到并触发MCU中断,比软件轮询ADC的方式更快、更省电。
5.2 多通道监控与逻辑组合
利用两个比较器,可以实现更复杂的监控逻辑。例如,一个监控主电源VCC_main,另一个监控备份电池电压Vbat_bak。你可以通过逻辑门将两者的输出进行组合,产生诸如“主电源失效且备份电池电量充足”这样的复合状态信号,直接用于控制电源切换电路。
5.3 TC1028与分立方案、其他集成方案的对比
1. 分立方案(运放+基准源+电阻网络):
- 优点:灵活性最高,可以选择性能极佳的运放和基准源。
- 缺点:元器件多,PCB面积大,总静态电流难以做低(一个精密基准源可能自身就消耗几十微安),设计调试复杂。
- 适用场景:对比较器性能(如速度、失调电压)有极端要求,且功耗不是首要考虑因素时。
2. 其他集成监控芯片(如电压检测器、复位IC):
- 优点:专用化,通常集成上电复位功能,使用极其简单(仅需1-2个电容)。
- 缺点:阈值固定或通过引脚选择,灵活性差;通常只提供开漏输出,驱动能力弱;一般只集成单个比较器。
- 适用场景:只需要简单的电源电压监控和上电复位,且阈值固定的标准应用。
3. TC1028代表的低功耗集成比较器+基准芯片:
- 优点:在极低功耗(微安级)下提供了双通道比较器和精密基准的灵活性。尺寸小(SOT-23),外围电路简单。
- 缺点:比较器性能(速度、精度)属于中等水平,不适合超高精度或超高速应用。
- 适用场景:电池供电、便携式设备中需要灵活、低功耗、持续或周期性模拟信号监控的应用。这是TC1028的核心赛道。
5.4 选型 checklist
当你考虑使用TC1028或类似芯片时,问自己这几个问题:
- 功耗预算:系统待机电流要求是否在10微安以下?是,则TC1028是强候选。
- 监控需求:需要监控几个电压?是否需要窗口比较?TC1028的双比较器是否够用?
- 精度要求:1%的基准精度和几个毫伏的比较器失调电压,是否满足系统要求?
- 响应速度:需要检测的电压变化是缓慢的(电池放电)还是快速的(电源毛刺)?TC1028的微秒级响应是否足够?
- 封装与空间:是否有足够的PCB面积?SOT-23封装是否合适?
如果以上问题答案都偏向TC1028,那么它很可能就是你的最优解。它的价值不在于单项性能的顶尖,而在于在“低功耗”、“小体积”、“足够好用”这几个维度上做到了极佳的平衡,精准地命中了物联网时代海量低功耗传感设备的核心需求。
