DS1302包括时钟/日历寄存器和31字节(8位)的数据暂存寄存器,数据通信仅通过一条串行输入输出口。实时时钟/日历提供包括秒、分、时、日期、月份和年份信息。闰年可自行调整,可选择12小时制和24小时制,可以设置AM、PM。只通过三根线进行数据的控制和传递:RST(Reset)、I/O(Data line)、SCLK(Serial clock)。通过备用电源可以让芯片在小于1MW的功率下运作。本文将介绍其的工作原理以及过程:
1.工作过程
主要工作原理图如1所示:移位寄存器,控制逻辑,晶振,时钟和RAM。在进行任何数据传输时,必须被制高电平(注意虽然将它置为高电平,内部时钟还是在晶振作用下走时的,此时,允许外部读写数据),在每个SCLK上升沿时数据被输入,下降沿时数据被输出,一次只能读写一位,适度还是写需要通过串行输入控制指令来实现(也是一个字节),通过8个脉冲便可读取一个字节从而实现串行输入与输出。最初通过8个时钟周期载入控制字节到移位寄存器。如果控制指令选择的是单字节模式,连续的8个时钟脉冲可以进行8位数据的写和8位数据的读操作,SCLK 时钟的上升沿时,数据被写入 DS1302,SCLK脉冲的下降沿读出DS1302 的数据。8个脉冲便可读写一个字节。在突发模式,通过连续的脉冲一次性读写完7个字节的时钟/日历寄存器(注意时钟/日历寄存器要读写完),也可以一次性读写 8~328 位RAM数据(可按实际情况读写一定数量的位,不必全部读写,两者的区别)。
图1 DS1302工作原理
1.1控制指令
控制指令(8位)如2 所示:
控制指令
每个字节的传输是有控制字节指定的,控制字节的最高位 Bit7 必须是‘1’,如果是‘0’,写入将被禁止,因此我们如果将这位置一,可以禁止写入。bit6 为‘0’则指定对时钟/日历寄存器控制读写操作,为‘1’则为RAM区数据的控制读写操作,bir1~bit5 指定相关寄存器待进行输入输出操作,最低位 bit0 指定是输入还是输出,为‘0’则为输入,相反则输入有效,输入输出根据脉冲的上升沿和下降沿串行进行(前面已经提到)。
1.2复位以及时钟控制
所有的数据传输在RST置一时进行(反复强调),RST输入信号有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。数据的传输如图3所示:(注意两种模式)
数据的传输模式
1.3数据输出
经过8个时钟周期的控制读指令的输入,控制指令串行输入后,一个字节的数据将在下个8个时钟周期的下降沿被输出,注意第一位输出是在最后一位控制指令所在脉冲的下降沿被输出,要求RST保持位高电平。
同理8个时钟周期的控制读指令如果指定的是突发模式,将会在脉冲的上升沿读入数据,下降沿读出数据,突发模式一次可进行多字节数据的一次性读写,只要控制好脉冲就行了。
1.4突发模式
上面已经提到过的突发模式可以指定为任何时钟/日历或RAM的寄存器,与以前一样,位6指定时钟或RAM,位0指定读或写。读取或写入的突发模式开始在位0地址0。
对于DS1302来说,在突发模式下写时钟寄存器,起始的8个寄存器用来写入相关数据,必须写完。然而,在突发模式下写RAM数据时,没有必要全部写完。每个字节都将被写入而不论31字节是否写完。
1.5时钟/日历
时钟/日历包含在7个寄存器中,如4所示。数据在时钟/日历寄存器是二进制编码的十进制格式(BCD码)。
时钟日历7个寄存器
1.6时钟停止标志
秒寄存器的bit7是时钟停止标志位,如果这位是‘1’,时钟晶振停止起振,DS1302进入低功耗待命模式,耗用电流小于100nanoamps,如果这是‘0’,晶振开始起振。
2.结论
DS1302 存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。
电话:18923864027(同微信)
QQ:709211280
〈烜芯微/XXW〉专业制造二极管,三极管,MOS管,桥堆等,20年,工厂直销省20%,上万家电路电器生产企业选用,专业的工程师帮您稳定好每一批产品,如果您有遇到什么需要帮助解决的,可以直接联系下方的联系号码或加QQ/微信,由我们的销售经理给您精准的报价以及产品介绍