DS1307Z+T&R 可作为带备用电池的 I2C 从站实时时钟运行,通过外部 32.768 kHz 晶体振荡器保持准确的时间和日期。.
振荡器电路:DS1307 包含一个内部振荡器电路,需要在 X1 和 X2 之间连接一个外部 32.768 kHz 音叉晶体。只要 VCC 或 VBAT 供电,振荡器就会持续运行。振荡器电路包括为晶体设计的内部负载电容,负载电容为 12.5 pF。可以通过将 CH(时钟停止)位(地址 00h 的秒寄存器第 7 位)设置为 1 来禁用振荡器;当 CH 为 0 时(上电后 VBAT 有效时的默认值),振荡器正常运行。.
时钟/日历逻辑:32.768 kHz 振荡器输出通过 15 级二进制纹波计数器向下分频,产生 1 Hz 的刻度。每个 1 Hz tick 都会使秒计数器递增。秒计数器每 60 秒滚动一次,以递增分钟,每 60 秒滚动一次,以递增小时,依此类推。当小时数从 23 翻转到 00(午夜)时,星期计数器递增。日期计数器的增量取决于月份和年份(二月自动闰年补偿)。所有时间和日期值都以 BCD(二进制十进制)格式存储在寄存器映射中。.
I2C 从接口:DS1307 作为 I2C 从设备运行,其固定的 7 位地址为 0x68(二进制 1101000)。主设备通过发送 START(开始)条件启动通信,随后发送从设备地址和一个 R/W 位。对于写操作,主站发送寄存器地址指针,然后是数据字节。对于读操作,主站首先写入寄存器地址指针,然后重复发出 START(开始),并读取数据字节。每读取一个字节后,寄存器地址指针都会自动递增,这样就能在一个脉冲串中读取整个时间/日期(7 个字节)。.
电源故障检测和开关:器件持续监控 VCC。当 VCC 低于 VBAT 加约 0.2 V 时,内部电源开关会断开 VCC 并连接 VBAT,为振荡器和 SRAM 供电。在这种电池备份模式下,I2C 接口被禁用,SQW/OUT 引脚被驱动为低电平。当 VCC 升至 VBAT 加约 0.2 V 以上时,器件切换回 VCC 电源,I2C 接口变为激活状态,SQW/OUT 引脚恢复其编程功能。这种切换是无闪烁的,不会影响计时精度。.
BCD 计时寄存器:时间和日期以 BCD 格式存储在七个寄存器(00h-06h)中。时间/日期的每一位数占用一个单独的 4 位半字节:例如,秒寄存器的第 6-4 位存储秒的十位数,第 3-0 位存储单位数。寄存器 00h 的第 7 位是 CH(时钟停止)位。寄存器 02h 的第 6 位是 12/24 小时模式选择位。在 12 小时模式下,第 5 位是 AM/PM 指示器。星期寄存器(03h)是一个从 1 到 7 的简单计数器,在午夜时递增。.
方波输出:当 SQWE 位(控制寄存器的第 4 位,位址 07h)置 1 时,SQW/OUT 引脚可产生四种频率(1 Hz、4.096 kHz、8.192 kHz、32.768 kHz)之一的方波。 频率由 RS1:RS0 位(控制寄存器的第 1:0 位)选择。当 SQWE 为 0 时,SQW/OUT 引脚输出 OUT 位(控制寄存器的第 7 位)中编程的逻辑电平。.
NV SRAM:56 字节的 NV SRAM(地址 08h-3Fh)是通用读/写存储器,在 VCC 出现故障时由备用电池维持。与 EEPROM 不同,它没有写入周期限制或写入延迟,因此适用于频繁更新的数据,如警报设置、校准值或滚动日志。.