电子说
在电子设备的设计中,实时时钟(RTC)的作用至关重要,它能为系统提供精确的时间和日期信息。今天,我们就来深入了解一款备受关注的低电流I²C RTC——DS1308。
文件下载:DS1308.pdf
DS1308是一款低功耗、全二进制编码十进制(BCD)时钟/日历芯片,同时还配备了56字节的非易失性随机存取存储器(NV RAM)。它通过I²C接口实现地址和数据的串行传输,能提供秒、分、时、日、日期、月和年等信息。值得一提的是,它能自动调整小月的日期,还能进行闰年校正。时钟可工作在24小时或12小时格式,并带有AM/PM指示。此外,DS1308内置电源检测电路,能在检测到电源故障时自动切换到备用电源,确保时间和日期的正常运行。
DS1308的应用范围十分广泛,涵盖了多个领域:
DS1308兼容ESR高达100kΩ的晶体,这使得设计者可以根据成本和空间需求优化晶体选择。同时,其低功耗运行特性极大地延长了电池备份的运行时间,典型的计时电流仅为250nA。
它能完全管理所有计时功能,实时时钟可精确计数秒、分、时、日期、月、星期和年,并具备闰年补偿功能,有效期至2400年。此外,还支持外部时钟源进行同步时钟参考,如32kHz、50Hz/60Hz电源线、GPS 1PPS等。
DS1308对电压、温度等参数有明确的限制,如VCC或VBAT的电压范围为 -0.3V至 +6.0V,任何非电源引脚的电压范围为 -0.3V至 (VCC + 0.3V) ,工作温度范围为 -40°C至 +85°C等。超出这些绝对最大额定值可能会对设备造成永久性损坏。
不同型号的DS1308在工作电压范围上有所差异,如DS1308 - 18的工作电压范围为1.71V至5.5V,DS1308 - 3为2.7V至5.5V,DS1308 - 33为3.0V至5.5V。电池电压范围为1.3V至5.5V,逻辑1输入和逻辑0输入也有相应的电压要求。
包括电源活动电流、电源待机电流、电池泄漏电流、输入泄漏电流、I/O泄漏电流等参数,这些参数在不同的条件下有不同的取值范围,设计者需要根据具体应用进行合理选择。
涉及SCL时钟频率、总线空闲时间、保持时间、低周期、高周期、数据保持时间、数据建立时间等多个参数,这些参数对于保证I²C通信的稳定性和准确性至关重要。
DS1308采用8引脚µSOP封装,各引脚功能如下:
DS1308在串行总线上作为从设备工作,通过实现START条件并提供设备识别码,随后传输数据来进行访问。后续寄存器可顺序访问,直到执行STOP条件。当VCC大于VPF时,设备可完全访问,数据可读写;当VCC低于VPF时,内部时钟寄存器被锁定,禁止任何访问。
当VCC下降到VPF以下时,若VBAT大于VCC,设备电源从VCC切换到VBAT;若VBAT小于VPF,当VCC下降到VBAT以下时,设备电源也会切换到VBAT。振荡器和计时功能由VBAT源维持,直到VCC恢复到VPF以上,经过tREC时间后允许读写访问。
秒寄存器中的使能位(CH)控制振荡器的开启和关闭。振荡器的启动时间高度依赖于晶体特性、PCB泄漏和布局等因素。使用具有推荐特性和适当布局的晶体,电路通常能在1秒内启动。
设备首次上电时,时间和日期寄存器被重置为01/01/00 01 00:00:00(DD/MM/YY DOW HH:MM:SS),秒寄存器中的CH位被设置为0。
当首次连接电池时,设备不会立即为RTC或内部电路提供电池备份电源。只有当VCC超过VPF后,设备才会离开新鲜密封模式,在VCC随后低于VBAT时提供电池备份电源。这种模式可在产品制造期间连接电池,避免在存储和运输过程中消耗电池容量。
DS1308使用外部6pF 32.768kHz晶体,振荡器电路无需外部电阻或电容即可工作。当使用具有指定特性的晶体时,启动时间通常小于1秒。
时钟精度取决于晶体的精度以及振荡器电路的电容负载与晶体调整电容负载的匹配精度。温度变化引起的晶体频率漂移会产生额外误差,外部电路噪声耦合到振荡器电路可能导致时钟运行过快。
RTC寄存器和控制寄存器位于地址00h - 07h,RAM寄存器位于地址08h - 3Fh。在多字节访问时,寄存器指针到达3Fh后会绕回到00h。在I²C START或寄存器指针递增到00h时,当前时间和日期会传输到第二组寄存器,避免在读取时因主寄存器更新而需要重新读取。
控制寄存器(07h)控制SQW/CLKIN引脚的操作并提供振荡器状态信息。各位的功能包括输出控制、时钟输入使能、振荡器停止标志、方波使能、信号丢失标志、电池备份时钟和速率选择等。
当使用外部时钟参考时,SQW/CLKIN的输入被分频到1Hz,用于校正从32.768kHz振荡器导出的1Hz信号。只要外部时钟源在容差范围内,Ext - 1Hz和Osc - 1Hz将保持锁定,若外部信号丢失后重新获得,信号将重新锁定。
DS1308的从地址字节为D0h,I²C主设备发送的设备地址必须与该地址匹配。
包括主设备、从设备、总线空闲、START条件、STOP条件、重复START条件、位写入、位读取、确认(ACK和NACK)、字节写入、字节读取、从地址字节和内存地址等概念,这些是理解I²C通信的基础。
包括向从设备写入单字节、写入多字节、从从设备读取单字节、读取多字节等操作,以及如何通过虚拟写入周期来操作地址计数器以实现从指定内存位置读取数据。
为避免意外的I²C接口超时,SCL不应被拉低超过tTIMEOUTMIN。当SCL被拉低至少tTIMEOUTMAX时,I²C接口处于复位状态,可接收新的START条件。
为获得最佳效果,需使用0.01µF和/或0.1µF电容对VCC电源进行去耦,建议使用高质量的陶瓷表面贴装电容。
SQW/CLKIN输出为开漏输出,需要外接上拉电阻以实现逻辑高输出电平。
SDA为开漏输出,也需要外接上拉电阻。由于DS1308不使用时钟周期拉伸,SCL可使用带有上拉电阻的开漏输出或CMOS输出驱动器(推挽)。
DS1308包含Maxim的冗余电池充电保护电路,可防止外部电池充电,并获得了Underwriters Laboratories(UL)的认可。
应避免在封装下方布线,除非在封装和信号线之间放置接地平面。无铅/RoHS封装可使用符合JEDEC J - STD - 020的回流焊曲线进行焊接,对于湿度敏感封装,需遵循包装标签上的处理说明。
DS1308以其低功耗、丰富的功能和广泛的应用领域,成为电子工程师在设计实时时钟系统时的理想选择。通过深入了解其特性、工作原理和应用注意事项,我们可以更好地利用这款芯片,为各种电子设备提供精确的时间和日期信息。在实际应用中,你是否遇到过DS1308的一些特殊问题?又是如何解决的呢?欢迎在评论区分享你的经验。
全部0条评论
快来发表一下你的评论吧 !