欢迎访问ic37.com |
会员登录 免费注册
发布采购

DS1307:64 x 8串行I2C实时时钟

发布日期:2025-03-12

特征

实时时钟(RTC)计数秒、分钟、小时、月份、月份、星期几和年份,闰年补偿有效期至2100

56字节、电池支持、非易失性(NV)RAM用于数据存储

I2C串行接口

可编程方波输出信号

自动电源故障检测和开关电路

在振荡器运行的电池备份模式下消耗小于500nA

可选工业温度范围:-40°C至+85°C

提供8针塑料DIP或SO

●保险商实验室(UL)认可

一般说明

DS1307串行实时时钟(RTC)是低功耗、全二进制编码十进制(BCD)时钟/日历加上56字节的NV SRAM。地址和数据通过I2C双向总线串行传输。时钟/日历提供秒、分钟、小时、日、日期、月和年信息。对于少于31天的月份,月末日期会自动调整,包括上一年的更正。时钟以24小时或12小时的格式运行,带AM/PM指示器。DS1307有一个内置的电源检测电路,可以检测电源故障并自动切换到备用电源。当零件由备用电源运行时,计时操作仍在继续。

详细描述

DS1307是一款低功耗时钟/日历,具有56字节的电池支持SRAM。时钟/日历提供秒、分钟、小时、天、日期、月份和年份信息。对于少于31天的月份,月底的日期会自动调整,包括闰年的更正。DS1307作为I2C总线上的从属设备运行。通过实现STARTcondition并提供设备标识码和寄存器地址来获得访问权限。后续寄存器可以按顺序访问,直到执行STOP条件。当VCC降至1.25 x VBAT以下时,设备终止正在进行的访问并重置设备地址计数器。此时将无法识别设备的输入,以防止错误数据从不容忍的系统写入设备。当VCC降至VBAT以下时,设备将切换到低电流电池备份模式。通电后,当VCC大于VBAT+0.2V时,设备从电池切换到VCC,当VCC高于1.25 x VBAT时,设备识别输入。图1中的框图显示了串行RTC的主要元件。

1.png

图1:方框图

振荡电路

DS1307使用外部32.768kHz晶体。振荡器电路不需要任何外部电阻器或电容器来工作。表1规定了外部晶体的几个晶体参数。图1。示出了振荡器电路的功能示意图。如果使用具有指定特性的晶体,启动时间通常不到一秒钟。

时钟精度

时钟的精度取决于晶体的精度以及振荡器电路的电容性负载与晶体微调的电容性负荷之间的匹配精度。温度偏移引起的晶体频率漂移将增加额外的误差。耦合到振荡器电路中的外部电路噪声可能导致时钟运行过快。

RTC和RAM地址映射

RTC寄存器位于00h至07h的地址位置。RAM寄存器位于地址位置08h至3Fh。在多字节访问期间,当地址指针到达3Fh(RAM空间的结束)时,它会绕过位置00h(时钟空间的开始)。

时钟和日历

通过读取适当的寄存器字节来获得时间和日历信息。表2显示了RTC寄存器。通过写入适当的寄存器字节来设置或初始化时间和日历。时间和日历寄存器的内容采用BCD格式。一周中的某一天在午夜登记。与星期几对应的值是用户定义的,但必须是顺序的(即,如果1等于星期日,则2等于星期一,依此类推)。不合逻辑的时间和日期条目会导致未定义的操作。寄存器0的第7位是时钟暂停(CH)位。当该位设置为1时,振荡器被禁用。当清除为0时,振荡器启用。

请注意,所有寄存器的初始开机状态均未定义。因此,在初始配置期间启用振荡器(CH位=0)非常重要。

DS1307可以在12小时或24小时模式下运行。小时寄存器的第6位定义为12小时或24小时模式选择位。当为高时,选择12小时模式。在12小时模式下,位5是AM/PM位,逻辑高电平为PM。在24小时模式下的位5是第二个10小时位(20到23小时)。每当12/24小时模式位更改时,都必须重新输入小时值。

在读取或写入时间和日期寄存器时,使用辅助(用户)缓冲区来防止内部寄存器更新时出错。在读取时间和日期寄存器时,用户缓冲区与任何I2C START上的内部寄存器同步。时钟继续运行时,从这些辅助寄存器读取时间信息。这消除了在读取过程中内部寄存器更新时重新读取寄存器的需要。每当写入秒寄存器时,分频器链都会重置。写入传输发生在DS1307的I2C确认上。一旦重置了分割链,为了避免翻转问题,必须在一秒钟内写入剩余的时间和日期寄存器。

控制寄存器

DS1307控制寄存器用于控制SQW/OUT引脚的操作。

0.png

位7:输出控制(OUT)。当方波输出被禁用时,此位控制SQW/OUT引脚的输出电平。如果SQWE=0,则如果OUT=1,则SQW/OUT引脚上的逻辑电平为1,如果OUT=0,则为0。

位4:方波启用(SQWE)。当设置为逻辑1时,该位启用振荡器输出。方波输出的频率取决于RS0和RS1位的值。当方波输出设置为1Hz时,时钟寄存器在方波的下降沿更新。

位1、0:速率选择(RS1、RS0)。当方波输出已启用时,这些位控制方波输出的频率。下表列出了RS位可以选择的方波频率。

1.2.png

I2C数据总线

DS1307支持I2C协议。在总线上发送数据的设备被定义为发射机,而接收数据的设备则被定义为接收机。控制消息的设备称为主设备。由主机控制的设备称为从机。总线必须由主设备控制,该主设备生成串行时钟(SCL),控制总线访问,并生成START和STOP条件。DS1307作为I2C总线上的从机运行。

详细说明了如何在I2C总线上传输数据。

◆只有当总线不忙时,才能启动数据传输。

在数据传输期间,只要时钟线为高,数据线就必须保持稳定。当时钟线为高时,数据线的变化将被解释为控制信号。

因此,定义了以下总线条件:总线不繁忙:

数据线和时钟线都保持高电平。

启动数据传输:当时钟为高时,数据线的状态从高变为低,定义了启动条件。

停止数据传输:当时钟线为高时,数据线的状态从低变为高,定义了停止条件。

数据有效:当在启动条件后,数据线在时钟信号的高电平时段内稳定时,数据线的状态表示有效数据。线路上的数据必须在时钟信号的低时段内更改。每比特数据有一个时钟脉冲。

每次数据传输都以START条件启动,以STOP条件终止。在START和STOP条件之间传输的数据字节数不受限制,由主设备决定。信息以字节为单位传输,每个字节接收第九位的知识。在I2C总线规范中,定义了标准模式(100kHz时钟速率)和快速模式(400kHz时钟速率)。DS1307仅在标准模式(100kHz)下运行。

确认:每个接收设备在被寻址时,都有义务在接收到每个字节后生成确认。主设备必须生成与此确认位相关的额外时钟脉冲。

确认的设备必须在确认时钟脉冲期间拉下SDA线,以使SDA线在确认相关时钟脉冲的高时段内稳定为低。当然,必须考虑设置和保持时间。主设备必须向从设备发送数据信号,在从设备的最后一个字节上不生成确认位。在这种情况下,从属设备必须使数据线保持高电平,以使主设备能够产生停止条件。

图3:I2C串行总线上的数据传输

3.png

根据R/W位的状态,可以进行两种类型的数据传输:

1.从主发射机到从接收机的数据传输。主发送的第一个字节是从地址。接下来是一些数据字节。从属设备在每个接收到的字节后返回一个确认比特。数据首先以最高有效位(MSB)传输。

2.从从属发射机到主接收机的数据传输。第一个字节(从属地址)由主机发送。然后,从属设备返回一个确认位。随后,从属设备发送多个数据字节。主设备在收到比最后一个字节更多的字节后返回一个确认位。在最后一个接收到的字节末尾,返回“不确认”。

主设备产生所有串行时钟脉冲以及启动和停止条件。Atransfer以停止条件或重复启动条件结束。由于重复的START条件也是下一次串行传输的开始,因此总线不会被释放。数据首先以最高有效位(MSB)进行传输。

DS1307可以在以下两种模式下运行:

1.从属接收器模式(写入模式):通过SDA和SCL接收串行数据和时钟。在接收到每个字节后,发送一个确认位。START和STOP条件被识别为串行传输的开始和结束。硬件在接收到从属地址和方向位后执行地址识别(见图4)。从属地址字节是主设备生成START条件后接收到的第一个字节。从属地址字节包含7位DS1307地址,即1101000,后面是方向位(R/W),写入时为0。在接收并解码从属地址字节后,DS1307在SDA上输出确认。在DS1307确认从属地址+写入位后,主设备向DS1307发送一个字地址。这将在DS1307上设置寄存器指针,DS1307确认传输。然后,主设备可以传输零个或多个字节的数据,DS1307确认接收到的每个字节。寄存器指针在写入每个数据字节后自动递增。主机将生成STOP条件以终止数据写入。

2.从发射机模式(读取模式):第一个字节的接收和处理与从接收机模式相同。然而,在这种模式下,方向位将指示传输方向反转。DS1307在SDA上传输串行数据,同时串行时钟在SCL上输入。START和STOP条件被识别为串行传输的开始和结束(见图5)。从属地址字节是主设备生成START条件后接收到的第一个字节。从地址字节包含7位DS1307地址,即1101000,后面是方向位(R/W),读取时为1。在接收并解码从属地址后,DS1307在SDA上输出确认。然后,DS1307开始从寄存器指针指向的寄存器地址开始传输数据。如果在启动读取模式之前没有写入寄存器指针,则读取的第一个地址是寄存器指针中存储的最后一个地址。读取每个字节后,寄存器指针会自动递增。DS1307必须接收到Not Acknowledge才能结束读取。


 复制成功!