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

DS1305实时时钟

日期:2019-5-23 (来源:互联网)

DS1305串行报警实时时钟提供完整的二进制编码十进制(BCD)时钟日历,可通过简单的串行接口访问。时钟/日历提供秒,分,小时,日,日,月和年信息。月末日期会自动调整为少于31天的月份,包括闰年的更正。时钟以24小时或12小时格式运行,带有AM / PM指示灯。此外,还提供96字节的NV RAM用于数据存储。只要振荡器使能,DS1305将保持时间和日期,只要至少有一个电源处于有效电平。接口逻辑电源输入引脚(V CCIF)允许DS1305将SDO和低电平有效PF引脚驱动到与接口逻辑兼容的电平。这允许在混合供电系统中轻松连接3V逻辑。

DS1305提供双电源和电池输入引脚。双电源支持可编程涓流充电电路,允许可充电能源(如超级电容或可充电电池)用于备用电源。V BAT引脚允许设备由不可充电电池备份。DS1305的工作电压范围为2.0V至5.5V。DS1305提供两个可编程的时钟报警。每个警报都可以在几秒,几分钟,几小时和一天的可编程组合上产生中断。如果希望在报警条件下忽略它们,则“不关心”状态可以插入一个或多个字段。可以对时钟报警进行编程,以断言两个不同的中断输出或断言一个公共中断输出。当器件由V CC1,V CC2或V BAT供电时,两个中断输出均工作。DS1305支持直接串行外设接口SPI?到串行数据端口或标准3线接口。实现了一种简单的地址和数据格式,其中数据传输可以一次发送1个字节或以多字节突发模式发生。

图1

时钟精准

时钟的精确度取决于晶体的精度和匹配的准确性在振荡器电路的容性负载和晶体所处的容性负载之间修剪。 温度漂移引起的晶体频率漂移会增加额外的误差。 外部耦合到振荡器电路的电路噪声可导致时钟快速运行。

图2

时钟,日历和报警

通过读取适当的寄存器字节来获得时间和日历信息。 RTC寄存器和用户RAM如图2所示。时间,日历和闹钟由设置或初始化写入适当的寄存器字节。请注意,某些位设置为0.无论这些位始终读为0他们是如何写的。另请注意,保留寄存器12h至1Fh(读取)和寄存器92h至9Fh。无论如何写入,这些寄存器始终读为0。时间,日历和内容报警寄存器采用BCD格式。日期寄存器在午夜递增。对应的值星期几是用户定义的,但必须是顺序的(例如,如果1等于星期日,2等于星期一,那么上)。不合逻辑的时间和日期条目导致未定义的操作。除非另有说明,否则未定义所有寄存器的初始上电状态。因此它是在初始化期间启用振荡器(EOSC = 0)和禁用写保护(WP = 0)非常重要组态。

写入时钟寄存器

内部时间和日期寄存器在写操作期间继续递增。 然而倒计时链在写入秒寄存器时复位。 在其中写入时间和日期寄存器写入秒寄存器后一秒钟可确保数据一致。在发送最后一位之前终止写操作将中止该字节的写操作。

表1

从时钟寄存器读取

缓冲区用于在读取开始时复制时间和日期寄存器。 在爆裂时阅读模式,用户副本是静态的,而内部寄存器继续递增。

DS1305可以12小时或24小时模式运行。小时寄存器的第6位定义为12或24小时模式选择位。高时,选择12小时模式。在12小时模式中,第5位是AM / PM位,逻辑高电平为PM。在24小时模式中,第5位是第二个10小时位(20到23小时)。DS1305包含两个时钟报警。可以通过写入寄存器87h来设置时间报警0到8Ah。可以通过写入寄存器8Bh至8Eh来设置时钟警报1。警报可以是编程(通过控制寄存器的INTCN位)以两种不同的模式工作;每个警报都可以驱动它自己独立的中断输出或两个报警都可以驱动一个公共中断输出。每个位7每日时钟报警寄存器是掩码位(表2)。当所有屏蔽位均为逻辑0时,当计时器中存储的值记录为00h至03h时,每周仅发生一次时间警报。匹配存储在时间日期报警寄存器中的值。当第7位时,每天都会产生一个警报日警报寄存器设置为逻辑1.当白天和小时的第7位时,每小时产生一次警报报警寄存器设置为逻辑1.类似地,当日,小时和分钟报警寄存器的第7位设置为逻辑1时,每分钟产生一次报警。当天,小时,分钟和秒的第7位报警寄存器设置为逻辑1,每秒发生一次报警。在每次时钟更新期间,RTC将Alarm 0和Alarm 1寄存器与相应的寄存器进行比较时钟寄存器。发生匹配时,状态寄存器中相应的报警标志位设置为1.如果相应的报警中断使能位使能,中断输出被激活。

表2