TC820双斜积分ADC:从原理到3位半数字电压表设计实战
1. 从“读数”到“系统”:TC820的集成化设计哲学
在电子测量领域,我们常常会陷入一个误区:认为一个精准的测量结果,仅仅依赖于一个高性能的模数转换器(ADC)。于是,工程师们会花费大量精力去挑选高分辨率、低噪声的ADC芯片,设计复杂的模拟前端,编写精密的数字滤波算法。然而,当我们将目光投向那些经典的、历经市场考验的集成测量芯片时,会发现一个截然不同的设计思路。TC820就是这样一款典型的“老将”,它不是一个孤立的ADC,而是一个完整的、为特定测量任务(尤其是数字万用表)量身定制的“片上测量系统”。
TC820的核心价值,在于其“集成化”与“专用化”。它内部集成了双斜积分式ADC、LCD/LED驱动器、背板驱动器、时钟振荡器、参考电压源以及控制逻辑。这意味着,当你拿到一颗TC820时,你拿到的不是一个需要你费心去“伺候”的转换核心,而是一个已经为你搭建好舞台、备好乐器的“演出团队”。你只需要提供最基本的“剧本”(即被测信号和电源),它就能为你呈现一场完整的“演出”(即稳定、易读的显示输出)。这种设计哲学极大地降低了系统设计的复杂度、外围元件数量和整体成本,特别适合对成本敏感、对可靠性要求高、且需要快速上市的量产型仪器仪表,比如我们常见的3位半手持式数字万用表。
我接触TC820是在多年前维修一块老式数字面板表时。当时那块表的显示乱跳,排查了半天外围电路都没问题,最后发现是TC820的积分电容老化导致。更换后,仪表立刻恢复了稳定精准的显示。这件事让我深刻体会到,对于这类集成系统芯片,其外围元件的选择和状态,直接决定了整个系统的性能上限。TC820将复杂的模拟和数字逻辑封装在内部,留给工程师的“接口”看似简单,但每一个都至关重要。接下来,我们就深入这颗芯片的内部,看看它是如何工作的,以及在实际应用中,我们该如何与这个“团队”高效协作。
2. 双斜积分原理:TC820的测量基石
要理解TC820,必须首先理解其核心——双斜积分式模数转换原理。这是一种在中等精度、中等速度测量领域经久不衰的技术,以其高精度、高抗干扰能力和相对简单的结构著称。TC820正是这一原理的经典硬件实现。
2.1 工作原理的三步曲
双斜积分ADC的转换过程可以形象地比喻为用两个不同流速的水龙头给一个水池灌水和放水,通过计算时间来确定水量。其工作周期分为三个明确的阶段:
第一阶段:固定时间的正向积分(对输入信号采样)转换开始时,内部模拟开关将输入电压VIN(经过前端衰减或放大后的电压)连接到积分器的输入端。积分器以一个固定的斜率开始对VIN进行积分,同时内部的计数器开始从零计数。这个积分时间TINT是严格固定的,由内部时钟频率和计数器满量程值决定。对于TC820,这个时间通常是100ms的整数倍(例如对应50Hz工频干扰的整数周期,以实现工频抑制)。在此阶段结束时,积分器的输出电压VINT与输入电压VIN成正比:VINT = - (VIN / (R*C)) * TINT。其中R和C是积分电阻和电容。
第二阶段:可变时间的反向积分(与参考电压比较)紧接着,模拟开关断开VIN,并连接到一个极性与VIN相反的参考电压VREF(例如,若VIN为正,则接入-VREF)。积分器开始以固定的斜率(由VREF决定)向反方向积分,输出电压线性回归。与此同时,计数器重新从零开始计数。
第三阶段:计数与输出当积分器的输出电压回到零电平时,比较器动作,停止计数。此时计数器的值N就代表了输入电压的大小。因为反向积分的斜率是固定的(VREF/(R*C)),所以反向积分时间TD与第一阶段结束时的VINT成正比,即TD = (VINT * R*C) / VREF。将第一阶段的公式代入,神奇的事情发生了:TD = (VIN / VREF) * TINT。可以看到,积分电阻R和电容C被消掉了!这意味着,转换结果N(与TD成正比)只取决于输入电压VIN、参考电压VREF和固定积分时间TINT,而与积分器RC时间常数的绝对值无关。这是双斜积分ADC能够实现高精度和低漂移的关键所在,它将对元件绝对精度的依赖,转化为了对时间比例和电压比例的测量。
2.2 TC820对双斜积分架构的具体实现
TC820将上述原理图的所有关键模块都集成在了一颗芯片里:
- 积分器与比较器:采用精密的模拟电路设计,确保线性度和灵敏度。
- 模拟开关:用于在
VIN、VREF+、VREF-以及自动调零通道之间切换。 - 时钟与逻辑控制:内部包含振荡器,只需外接一个电阻(或晶体)即可产生时钟,逻辑单元严格时序控制三个阶段的切换。
- 计数器与锁存器:完成计数,并将最终的数字结果锁存。
- 参考电压源:TC820通常需要外接一个高稳定度的基准电压源(如LM385-2.5),这个
VREF的稳定性直接决定了整个ADC的精度。
注意:虽然RC常数在公式中被消去,但这并不意味着积分电容可以随便选。电容的介质吸收效应(Dielectric Absorption)会引入非线性误差和滞后。在实际选型中,必须选择聚丙烯(CBB)或聚苯乙烯等低介质吸收的电容,而绝不能使用陶瓷或电解电容。
3. 超越转换:TC820的完整系统功能拆解
如果说双斜积分ADC是TC820的“大脑”,那么其丰富的周边功能就是让这个大脑发挥作用的“四肢和感官”。这正是其作为“集成测量系统”的价值体现。
3.1 显示驱动与背板功能
TC820直接驱动LCD或LED显示器,这是它最直观的系统功能。它采用多路复用的方式驱动笔段。
- LCD驱动:输出的是方波信号,利用交流电压驱动液晶分子,避免直流电压导致液晶电解老化。TC820的LCD驱动输出通常包含背板(Backplane, BP)信号和多个段(Segment)信号。驱动电压的幅值(VDD-VLCD)需要根据LCD的特性进行调节。
- LED驱动:对于LED显示,TC820可以直接提供电流驱动,但通常需要外接限流电阻或晶体管来扩展驱动能力。
其显示内容不仅包括转换得到的数字(最大显示1999,即3位半),还包括一系列标志符,如:
- 电池低电压指示(LOBAT)
- 读数保持指示(HOLD)
- 极性指示(负号“-”)
- 小数点选择:通过引脚电平控制,可以灵活适配不同量程。
背板(Backplane)驱动是一个关键且易被忽略的功能。在LCD应用中,背板是所有笔段的公共电极。TC820产生的背板信号是一个与段信号反相的方波。正确的背板连接和电压设置,是保证LCD显示对比度均匀、无鬼影(交叉效应)的前提。在设计PCB时,背板走线需要特别注意,避免引入干扰。
3.2 量程与功能控制逻辑
TC820并非被动工作,它通过一组控制引脚来适应不同的测量场景,这体现了其“系统”的灵活性。
- 量程控制:通过
RANGE引脚,可以控制内部模拟开关选择不同的输入衰减网络(通常需要外部分压电阻),从而实现电压量程的切换(如200mV档和2V档)。 - 功能控制:通过
FUNCTION引脚,可以切换测量功能。例如,在万用表设计中,该引脚可以控制前端电路,让TC820测量电压、电流或电阻。对于电阻测量,TC820通常需要配合一个恒流源,将电阻值转化为电压值再进行测量。 - 读数保持(HOLD):
HOLD引脚可以将当前的转换结果锁存在显示寄存器中,显示内容保持不变,便于记录读数。此时ADC可能仍在后台进行转换,但显示不更新。 - 自动关机(AUTO POWER OFF):这是一个非常实用的功能。当芯片检测到一段时间内无输入信号变化(或通过其他逻辑判断),可以控制一个引脚输出信号,来关闭整个系统的电源(通常通过一个MOSFET实现),极大延长电池供电设备的使用时间。
3.3 时钟与速度权衡
TC820的转换速度由主时钟频率决定。时钟可以通过外接电阻至OSC IN引脚产生,也可以使用更稳定的晶体振荡器。一个典型的关系是:每完成一次完整的转换(包含自动调零、正向积分、反向积分),需要4000个时钟周期。如果时钟频率为40kHz,那么转换速率就是10次/秒。
这里存在一个关键的权衡:速度 vs. 工频抑制。双斜积分ADC一个著名的优点是其对周期干扰噪声(如50Hz/60Hz工频及其谐波)的抑制能力。当正向积分时间TINT恰好等于工频干扰周期的整数倍时,干扰电压在积分周期内的平均值为零,从而被完美抑制。对于50Hz工频,周期是20ms,因此TINT通常选择100ms(5个周期)或200ms(10个周期)。TC820的设计通常默认适配这种“低速高抗扰”模式。如果你为了提高测量速度而提高时钟频率,缩短TINT,就会牺牲一部分工频抑制比。因此,在手持式万用表这种易受环境干扰的设备中,维持较低的转换速度(2-5次/秒)以换取高抗干扰能力,是更常见的选择。
4. 实战应用:设计一个基于TC820的3位半数字电压表头
理论最终要服务于实践。我们以一个最简单的应用——0-200mV直流电压表头为例,来拆解基于TC820的设计全流程。这个表头可以作为更大测量系统的一个模块,比如温度计、电子秤或电源监控单元。
4.1 系统框图与核心外围电路
一个最小系统的核心外围电路包括:
- 电源:TC820通常采用9V单电源或±5V双电源供电。单电源时,需要利用内部的电荷泵电路产生负电压,以支持对负输入信号的测量。
- 参考电压源:这是精度的心脏。必须使用一个外部高精度、低温漂的基准源,如LM385-2.5(2.5V)或REF5025(2.5V)。
VREF的稳定性直接决定了测量的绝对精度。通常将VREF设置为100.0mV,这样当输入满量程199.9mV时,显示值恰好为199.9(不考虑溢出)。 - 积分网络:这是模拟信号路径的核心。
- 积分电阻(RINT):阻值需要根据输入电压范围和积分器输出摆幅计算。例如,假设
VIN(max)=200mV,TINT=100ms, 积分电容CINT=0.1μF, 希望积分器输出摆幅不超过电源电压的某个比例(如3V)。根据公式VINT = (VIN * TINT) / (RINT * CINT), 可以反推出RINT大约为680kΩ。需要选择低温度系数的金属膜电阻。 - 积分电容(CINT):如前所述,必须选择聚丙烯(CBB)电容,典型值在0.1μF到0.47μF之间。容量大小会影响积分器输出摆幅和噪声。
- 自动调零电容(CAZ):用于存储调零期间的失调电压,其值通常与积分电容相同或略大,也必须使用同类型优质电容。
- 积分电阻(RINT):阻值需要根据输入电压范围和积分器输出摆幅计算。例如,假设
- 时钟设置:在
OSC IN和VDD之间连接一个电阻ROSC来设置时钟频率。根据数据手册,ROSC约为 100kΩ 时,频率约 40kHz。也可以连接一个32.768kHz的晶体,获得更稳定、更精确的时钟,这对于需要精确计时的应用(如频率计模式)很重要。 - 显示部分:根据选择LCD或LED连接对应的引脚。对于LCD,需要调节
VLCD引脚的分压电阻,以获得最佳的显示对比度。
4.2 PCB布局与接地艺术
对于这种高精度、高输入阻抗的测量电路,PCB布局和接地是成功与否的关键,甚至比原理图设计更重要。
- 模拟地与数字地分离:必须将TC820的模拟地(
COM,通常也是参考电压的地)和数字地(主要是显示驱动部分的地)在芯片附近单点连接。模拟地路径应保持“干净”,远离数字开关噪声。 - 积分电容的布局:积分电容
CINT和自动调零电容CAZ的引脚必须尽可能靠近TC820的相应引脚(INT OUT,INT IN,AZ IN)。引线过长会引入寄生电感和电阻,影响积分线性度和引入噪声。 - 参考电压的去耦:基准芯片
VREF的输出端需要紧贴引脚放置一个0.1μF的陶瓷电容和一个10μF的钽电容进行去耦,确保其输出纯净、稳定。 - 输入保护与滤波:在电压表输入端,必须设计保护电路。通常包括:
- 限流电阻:一个几百欧姆到1kΩ的电阻,防止瞬间大电流损坏内部模拟开关。
- 钳位二极管:使用像1N4148这样的快速开关二极管,将输入电压钳位在电源轨和地之间(通常通过电阻连接),防止过压。
- RC低通滤波:在输入端加入一个简单的RC滤波器(如1kΩ和0.01μF),可以滤除高频噪声。但需要注意,这个电阻会增加测量误差(与TC820的输入电流有关),在需要高输入阻抗的场合要谨慎计算。
4.3 校准与误差分析
即使所有元件都正确,系统仍需要校准。校准通常在两个点进行:零点和满度。
- 零点校准:短接输入端,调整与
COM端相关的电位器(如果有),使显示为“0000”或“-000”。 - 满度校准:输入一个精确的190.0mV标准电压(例如,由更精密的电压基准产生),调整参考电压
VREF的分压电阻(如果VREF可调),或者调整输入分压网络的比例,使显示值为“190.0”。
常见的误差来源包括:
- 参考电压误差:基准源本身的初始精度和温漂。
- 积分电容介质吸收:导致非线性误差和读数滞后。
- 输入偏置电流:TC820的输入引脚有微小的偏置电流(典型值几十pA),流过高阻值的信号源内阻或输入保护电阻时,会产生附加的失调电压。
- 噪声:电源噪声、时钟串扰到模拟部分、布局不当引入的环境噪声。
- 量化误差:对于3位半ADC,一个字的误差对应满量程的±0.05%,这是理论极限。
在实际调试中,我习惯用一台高精度的六位半数字表同时监测输入电压和TC820的参考电压,观察显示值的跳动和偏差。很多时候,显示值的最后一位存在1-2个字的跳动是正常的,这是内部噪声和量化过程的体现。关键在于跳动是否随机、平均值是否准确。
5. 进阶应用与系统扩展
掌握了基本电压表设计后,TC820的潜力可以进一步挖掘,构建更复杂的测量系统。
5.1 构建多量程数字万用表(DMM)
这是TC820最经典的应用。扩展的关键在于设计精密的模拟前端开关网络。
- 直流电压档:通过分压电阻网络(如9MΩ+900kΩ+100kΩ)将高电压衰减到200mV以内。分压电阻需要使用高精度、低温漂的金属膜电阻网络,以保证各档位比例系数的准确性。
- 交流电压档:需要增加一个真有效值(TRMS)转换芯片(如AD736)或精密整流滤波电路,将交流信号转换为直流电压后再送入TC820。
- 电流档:利用精密采样电阻(分流器)将电流转换为电压。对于大电流档(如10A),采样电阻是毫欧级锰铜丝,需要注意其功率耗散和温度系数。
- 电阻档:通常采用恒流源法。TC820提供一个参考电压,通过运放或晶体管电路产生一个恒定的测试电流(如1mA),流过未知电阻
Rx产生压降,由TC820测量。量程切换通过改变恒流值或测量放大倍数来实现。
所有这些功能的切换,都通过一个机械旋转开关或电子模拟开关(如CD4051)来控制,开关的档位逻辑与TC820的RANGE、FUNCTION引脚以及前端电路联动。
5.2 作为微控制器的“高精度模拟前端”
在现代系统中,TC820可以作为一个独立的、高性价比的模拟测量子系统,与微控制器(如STM32、Arduino)协同工作。
- 接口方式:TC820本身没有数字总线接口。但我们可以通过“偷读”其显示驱动信号来获取数据。具体方法是:用单片机的IO口去读取TC820驱动LCD的段信号和背板信号。通过软件解码这些多路复用的波形,可以还原出显示的数字、符号和小数点信息。这种方法无需改动TC820电路,实现了非侵入式数据采集。
- 优势:将高精度的模拟测量(包括双斜积分ADC、显示驱动)全部交给TC820完成,单片机只负责数据读取和高级功能(如数据存储、通信、用户界面),分工明确,降低了单片机软件在模拟滤波和抗干扰方面的负担。
- 应用场景:需要长时间稳定测量直流慢变信号(如温度、压力、电池电压)的嵌入式设备。TC820的自动关机和低功耗特性在此类应用中尤为有用。
5.3 故障诊断与维修要点
基于TC820的设备出故障时,可以遵循以下排查思路:
- 电源与基准:首先测量
VDD、V+、V-(如果有时)是否正常。然后测量参考电压VREF引脚,其值必须非常稳定(例如精确的100.0mV)。这是最常见的故障点,基准芯片损坏或滤波电容失效都会导致读数全无或严重失准。 - 时钟与复位:用示波器检查
OSC IN引脚是否有时钟波形。如果没有振荡,检查外接电阻或晶体。检查RESET引脚(如果使用)是否处于正确电平。 - 积分波形:用示波器观察
INT OUT引脚。在转换期间,你应该能看到一个典型的双斜积分三角波:先是一个固定斜率的上升(或下降)段(正向积分),紧接着是一个固定斜率的反向段(反向积分),然后回到基线(自动调零)。如果波形是一条直线或饱和在电源轨,说明积分回路有问题,重点检查积分电容是否损坏、漏电,积分电阻是否虚焊。 - 显示故障:如果测量功能正常但显示异常(缺笔画、常亮、乱码),检查LCD/LED的连接,检查背板电压
VLCD是否合适,检查PCB是否有腐蚀或断线。 - 输入故障:如果所有档位测量都不准或为零,检查输入保护电路中的钳位二极管是否被击穿短路,或者限流电阻是否开路。
维修老式万用表时,我遇到最多的问题就是积分电容和自动调零电容老化。这些薄膜电容随着时间推移,容量会衰减,介质吸收会加剧,直接导致读数不稳、非线性误差增大。直接更换为全新的、同规格的优质CBB电容,往往能解决大部分“软故障”。
TC820这类芯片,在今天看来其性能指标(速度、分辨率)并不出众,但它所代表的“专用集成系统”设计思想,以及其在可靠性、抗干扰性和性价比上取得的平衡,依然具有很高的学习价值和实用价值。它教会我们,一个好的测量系统,不仅仅是核心转换器的比拼,更是模拟前端、参考源、时钟管理、显示驱动乃至电源设计的系统级整合。当你下一次拆开一个老式数字表,看到那颗TC820时,希望你能认出它不仅仅是一颗“芯片”,而是一个默默工作了数十年的、完整的“测量世界”。
