分享

一天一个设计实例-实时时钟芯片DS1302的接口电路、时序及程序设计(一)

 比特波特 2021-02-26

实时时钟的缩写是RTC(RealTime Clock)。RTC 是集成电路,通常称为时钟芯片。控制时钟的芯片。一旦初始化后,它就会随着现实的时钟一直计数。

现在流行的串行时钟电路很多,如DS1302、 DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本文介绍的实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振

DS1302 的主要技术性能与特点

(1) 内含一个钮电池,断电情况下运行 10 年以上不丢失数据。

(2) 可计秒、 分、 时、 期、 日、 月、 年,并有闰年补偿功能,有效年份为 2100 年以前。

(3) 可选二进制码或 BCD 码表示时间、历,具有闹钟定时功能。

(4) 可选 12 小时或 24 小时制,12 小时时钟模式带有 PM 和 AM 指示,有夏令时功能。

(5) 简单的3线接口。

DS1302 的引脚功能与封装形式

 

41 DS1302 的引脚功能与封装形式

在DS1302的引脚排列其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。

RTC的晶振频率为什么是32768Hz?

(1) RTC时间是以振荡频率来计算的。故它不是一个时间器而是一个计数器。而一般的计数器都是16位的。又因为时间的准确性很重要,故震荡次数越低,时间的准确性越低。所以必定是个高次数。215 = 32768。

(2) 32768 Hz = 215 即分频15次后为1Hz,周期 = 1s。

(3)经过工程师的经验总结32768 Hz,时钟最准确。

(4)规范和统一。

DS1302 的内部结构

42 DS1302 的内部结构

DS1302的工作原理

控制字节

DS1302 的控制字符表示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

输入输出

在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

寄存器

DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表1。

此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。

DS1302 的常见应用原理图

原理图中典型应用如下:

43 DS1302 的常见应用原理图

FPGA中的应用:

CE I/O SCLK引脚只需要链接到FPGA的普通I/O引脚就可以,常见电路如下:

44 DS1302在FPGA中的应用

CPU中的应用:

在CPU中应用时,首先要确定下CPU型号是什么。关键这个CPU有没有SPI接口,如果有,将DS1302的CLK接SPI接口的SCK,将I/O接IIC接口的SDA,RST任意接CPU的IO口。注意IIC接口要有上拉电阻。倘若使用的CPU没有IIC接口,比如STC单片机除最新的STC8以外的其他系列,则任意选择通用IO口均可。

45 DS1302在CPU中的应用

其他电路:

其他电路同上。


下一篇文章进行相关代码设计及分析。



    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多