门禁、记录仪、电力终端这类要留时间戳的设备,最常见的售后抱怨是“用几个月时间就不准了”。问题通常不在软件,而在实时时钟的选型:时基是内置温补晶振还是外接 32.768kHz 晶振,有没有可写的校准寄存器,后备供电怎么做。外接晶振的负载电容配错一档,原厂给的例子是每月快三到四分钟。本文用 DS3231SN、DS1307ZN、DS1302 与 PCF8563T 说明这三件事怎么定。
设备对时间戳有要求、现场又不方便定期对时,就选内置温度补偿晶振的实时时钟,精度由芯片自己保证;如果只是开机显示个时间、能定期联网校时,用外接晶振的方案更省成本,但晶振和负载电容必须按芯片数据手册的要求配,不能沿用别的板子上的物料。
数据手册里的精度写成 ppm(百万分之一),换算成走时误差是纯算术:1 ppm 相当于每天约 0.086 秒、每年约 31.5 秒。所以 ±2 ppm 大约是一年 ±63 秒,±3.5 ppm 大约是一年 ±110 秒,而 ±20 ppm 这个量级的普通晶振,一年就是 ±10 分钟上下。设备要求“一年误差不超过几分钟”时,把这条换算先算一遍,就知道该走哪条路线。
DS3231 把晶振和温度补偿都做进了封装里,不需要外接晶振。它的工作方式是:上电时测一次温度,之后每 64 秒测一次,按查找表决定振荡器需要的电容,再叠加老化偏移寄存器里的修正值写进电容选择寄存器。对应的精度指标是:0 至 +40℃ 为 ±2 ppm,−40 至 0℃ 和 +40 至 +85℃ 为 ±3.5 ppm。换句话说,全工业温度范围内一年误差在两分钟以内。
DS1307、DS1302 和 PCF8563 都要外接 32.768kHz 晶振,而且数据手册里不给整体 ppm 指标。DS1307 的原话是:时钟精度取决于晶振的精度,以及振荡电路的容性负载与晶振出厂修调时所用负载之间的匹配程度。DS1302 的措辞相同,并额外提到温度变化引起的晶振频率漂移还会再加一层误差。PCF8563 给的是器件间容差约 ±5 ppm,并表示平均每年 ±5 分钟的偏差“可以轻松做到”——注意这是可达到的水平,不是保证指标。
这是外接晶振方案最容易出问题、也最容易被忽略的一处。晶振出厂时是按某个负载电容修调的,电路给它的实际负载必须对得上:负载偏小,振荡器走快;负载偏大,振荡器走慢。原厂应用笔记给了一个很直观的例子——在一颗按 6pF 设计的实时时钟上用 12pF 负载的晶振,时钟会每月快大约 3 到 4 分钟。
而这几颗芯片要求的负载电容并不一样:DS1307 要求 12.5pF,DS1302 要求 6pF,PCF8563 的规格是 7 至 12.5pF。也就是说,同样标着 32.768kHz 的晶振,在这三颗之间不能照搬。换 RTC 型号却沿用原来的晶振物料,是设备批量出现走时偏差的常见原因。PCF8563 的数据手册里给了三种调整办法:按板子布局评估后选固定电容、用微调电容配合 CLKOUT 引脚输出的32.768kHz 信号快速整定、或者直接测 OSCO 输出(要扣掉探头电容)。
校准能力上四颗分两类。DS3231 有老化偏移寄存器,8 位二进制补码,25℃ 下一个 LSB 大约对应 0.1 ppm 的频率变化,可以在产线或现场用软件微调。DS1307、DS1302 和 PCF8563 都没有频率偏移寄存器——PCF8563 的 0Dh 寄存器只是选择 CLKOUT 输出哪一档频率(32.768kHz/1.024kHz/32Hz/1Hz),不能修正走时。这三颗只能靠硬件手段调。
DS3231 和 DS1307 都有独立的 VBAT 引脚,主电掉了自动切到电池。DS3231 的计时电池电流在 VBAT 3.63V 下典型值 0.84μA、最大 3.0μA;DS1307 在 VBAT 3.0V、振荡器开启且方波输出关闭时典型 300nA、最大 500nA。两颗都不带涓流充电,配的是一次性锂电池。
DS1302 的结构不一样:它没有 VBAT 引脚,用的是 VCC1 与 VCC2 双电源,并且带可编程涓流充电器,通过寄存器选择串一个或两个二极管、配 2kΩ/4kΩ/8kΩ 限流电阻。要用可充电电池或超级电容做后备时,这个功能省事;用一次性电池时必须把涓流充电关掉。
PCF8563 是单 VDD 供电,没有专门的后备引脚,电池要并到 VDD 上。它的静态电流很低:接口静止、CLKOUT 关闭、VDD 3.0V、25℃ 下典型 250nA、最大 500nA;全温度范围(−40 至 +85℃)典型 400nA、最大 650nA。供电范围是 1.0 至 5.5V,不过可靠上电起振需要 VDD 高于 1.3V。
电池能撑多久,原厂给的算法很朴素:可用电池容量(mAh)除以电流(mA)就是小时数。官方算例用的是一颗 120mAh 的锂电,配 1.2μA 的器件电流,算出约 10 万小时、也就是 11.4 年;室温下电池自放电按每年低于 0.5% 估。做长寿命设备时,把这个算式和实际选用电池的容量代一遍,再按工作温度留余量,比凭经验拍一个“能用十年”可靠。
| 项目 | DS3231SN | DS1307ZN | DS1302 | PCF8563T |
|---|---|---|---|---|
| 厂家 | ADI(Maxim) | ADI(Maxim) | ADI(Maxim) | 恩智浦 NXP |
| 接口与速率 | I²C,最高 400kHz | I²C,最高 100kHz | 三线接口,5V 下最高 2MHz | I²C,最高 400kbit/s |
| 时基来源 | 内置晶振+温度补偿 | 外接 32.768kHz 晶振 | 外接 32.768kHz 晶振 | 外接 32.768kHz 晶振 |
| 走时精度口径 | ±2ppm(0~40℃)/±3.5ppm(−40~0℃、40~85℃) | 不给 ppm 指标,取决于晶振与负载匹配 | 不给 ppm 指标,取决于晶振与负载匹配,另受温漂影响 | 不给器件级 ppm,器件间容差约 ±5ppm |
| 外接晶振负载电容 | 不需要外接晶振 | 12.5pF | 6pF | 7~12.5pF |
| 频率校准寄存器 | 有,老化偏移寄存器,25℃ 下 1LSB 约 0.1ppm | 无 | 无 | 无,0Dh 只选 CLKOUT 输出频率 |
| 后备供电 | 独立 VBAT 引脚 | 独立 VBAT 引脚 | VCC1/VCC2 双电源,无 VBAT 引脚 | 单 VDD,电池并到 VDD |
| 涓流充电 | 无 | 无 | 有,可编程(1~2 只二极管,2k/4k/8kΩ) | 无 |
| 用户 RAM | 无 | 56 字节 | 31 字节 | 无 |
| 供电范围 | VCC 与 VBAT 均 2.3~5.5V | VCC 4.5~5.5V(5V 器件) | 2.0~5.5V | 1.0~5.5V(可靠起振需 >1.3V) |
| 工作温度 | −40~+85℃ | −40~+85℃ | 裸料号为 0~+70℃,带 N 后缀才是 −40~+85℃ | −40~+85℃ |
| 封装 | 16 脚 SO(300mil) | 8 脚 SO(150mil) | 8 脚 PDIP/SO | SO8 |
要留可追溯的时间戳、现场不方便定期校时(电力终端、事件记录仪、无人值守采集箱),选 DS3231SN。它省掉外接晶振和相应的布线约束,全工业温度范围内一年误差两分钟以内,还带老化偏移寄存器可以再修。
设备能定期联网或通过上位机校时、对绝对精度要求不高(门禁终端、面板显示、简单计时),用 PCF8563T 这类外接晶振方案就够,静态电流低、供电范围宽,3.3V 板子直接用。
后备用可充电电池或超级电容、且主控只有普通 GPIO 可用时,DS1302 的三线接口加可编程涓流充电比较顺手,但要接受商规与工业级要看后缀这件事。
如果板上要顺带存一点掉电不丢的小参数,DS1307 的 56 字节与 DS1302 的 31 字节电池后备 RAM 可以直接用,省掉一颗小容量 EEPROM。DS3231 和 PCF8563 没有这块 RAM。
第一处是后缀决定温度等级。DS3231 有 DS3231S 与 DS3231SN 两档,前者 0 至 +70℃,后者才是 −40 至 +85℃;DS1307 同理,带 N 的才是工业级,原厂在数据手册里写明“顶标上任何位置出现 N 即表示工业温度范围器件”。最需要留意的是 DS1302:直接写“DS1302”对应的是 0 至 +70℃ 的商规件,要工业级必须写成 DS1302N、DS1302SN 或 DS1302ZN。户外或车间设备按裸料号下单,冬天就会出问题。
第二处是电压。DS1307 的供电范围是 4.5 至 5.5V,是一颗 5V 器件;现在多数主控板是 3.3V 系统,直接挂上去不工作,要么加电平转换,要么换型号。这一条在替换老板卡时尤其常见——老板子是 5V 系统,新板子改 3.3V,RTC 却照抄了过来。
这四颗都在晟雅泰在售清单内。如果你正在定一块需要留时间戳的板子,把供电电压、工作温度范围、允许的年走时误差和后备方式(一次性电池还是可充电)告诉我们,可以直接给出对应的料号与配套晶振要求。工作日 24 小时内给报价与替代方案。
本文出自 SUNTEC 晟雅泰(苏州晟雅泰电子有限公司)技术团队。
这是纯算术换算:1 ppm 相当于每天约 0.086 秒、每年约 31.5 秒。所以 ±2 ppm 大约一年 ±63 秒,±3.5 ppm 大约一年 ±110 秒。DS3231SN 在 0 至 +40℃ 是 ±2 ppm、在 −40 至 0℃ 和 +40 至 +85℃ 是 ±3.5 ppm,也就是全工业温度范围内一年误差在两分钟以内。
不一定,要看负载电容要求。DS1307 要求 12.5pF,DS1302 要求 6pF,PCF8563 的规格是 7 至 12.5pF,三者并不通用。负载偏小振荡器走快、偏大走慢,原厂应用笔记给的例子是:在按 6pF 设计的 RTC 上用 12pF 的晶振,时钟每月会快大约 3 到 4 分钟。换型号时晶振和匹配电容要一起重新定。
DS3231SN(2.3 至 5.5V)、DS1302(2.0 至 5.5V)和 PCF8563T(1.0 至 5.5V,可靠起振需高于 1.3V)都可以。DS1307 的供电范围是 4.5 至 5.5V,是 5V 器件,3.3V 板子上要加电平转换或改选型号。老板卡从 5V 系统改到 3.3V 时,这一条经常被漏掉。
要看芯片有没有校准寄存器。DS3231 有老化偏移寄存器,25℃ 下 1 个 LSB 大约对应 0.1 ppm,可以在产线标定或现场修正。DS1307、DS1302 和 PCF8563 都没有频率偏移寄存器——PCF8563 的 0Dh 寄存器只选择 CLKOUT 输出哪一档频率,不能修正走时,只能靠调整外接晶振的匹配电容,或者在系统层面定期校时。
工控通信不是简单地在“485 芯片”和“CAN 芯片”之间比价,而是先根据控制器电平、两线或四线布线、是否需要双向同时通信和既有网络协议确定路线。本文以 TI SN75176BP、ADI MAX3485ESA、ADI MAX490ESA 与 NXP TJA1040T 为例,给出 RS-485、RS-422 与 CAN 的项目分层建议,并说明新项目选型应提交哪些条件。
阅读全文 Read more →做控制柜、仪表、网关或小型设备的前面板,最容易混淆的不是 LED 本身,而是输出控制方式。只需扩展固定状态灯,可优先看 TI SN74HC595N;需要多路 LED 独立调光,NXP PCA9685PW 更契合;需要数码管、条形或点阵式信息显示,则 ADI MAX7219CNG 的位置更清楚。把显示内容先分成状态、亮度与数字信息,物料选择会更贴近成品。
阅读全文 Read more →嵌入式设备需要计时、事件记录或定时控制时,不能只看接口名称。本篇参考晟雅泰官网列出的 NXP PCF8563T 与 ADI DS3231SN、DS1307ZN、DS1302,按 I²C、三线接口和目录定位建立项目初筛与核验清单。
阅读全文 Read more →