时钟芯片ds1302的工作原理
侧边栏壁纸
  • 累计撰写 192,421 篇文章
  • 累计收到 3 条评论

时钟芯片ds1302的工作原理

admin
2022-12-18 / 0 评论 / 0 阅读 / 正在检测是否收录...

DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。

工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。ds1302的外部引脚分配如图1所示及内部结构如图2所示。ds1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。

DS1302工作原理解析

ds1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。

对ds1302的操作就是对其内部寄存器的操作,ds1302内部共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,ds1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。

ds1302内部的RAM分为两类,一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为COH~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。

我们现在已经知道了控制寄存器和RAM的逻辑地址,接着就需要知道如何通过外部接口来访问这些资源。单片机是通过简单的同步串行通讯与ds1302通讯的,每次通讯都必须由单片机发起,无论是读还是写操作,单片机都必须先向ds1302写入一个命令帧,这个帧的格式如表1所示,最高位BIT7固定为1,BIT6决定操作是针对RAM还是时钟寄存器,接着的5个BIT是RAM或时钟寄存器在ds1302的内部地址,最后一个BIT表示这次操作是读操作抑或是写操作。

物理上,ds1302的通讯接口由3个口线组成,即RST,SCLK,I/O。其中RST从低电平变成高电平启动一次数据传输过程,SCLK是时钟线,I/O是数据线。具体的读写时序参考图5,但是请注意,无论是哪种同步通讯类型的串行接口,都是对时钟信号敏感的,而且一般数据写入有效是在上升沿,读出有效是在下降沿(ds1302正是如此的,但是在芯片手册里没有明确说明),如果不是特别确定,则把程序设计成这样:平时SCLK保持低电平,在时钟变动前设置数据,在时钟变动后读取数据,即数据操作总是在SCLK保持为低电平的时候,相邻的操作之间间隔有一个上升沿和一个下降沿。

ds1302定时器的优势

主要的原因是ds1302能在非常低功耗的情况下运行,可以用一节纽扣电池做备用电源工作一两年而单片机的话,功耗都比较大,不过现在比较高性能的单片机,也都有RTC功能,也就相当于集成了一个ds1302在芯片内部,就可以省了。

因为单片机本身定时器作用来做时钟是不准的,单片机内部指令执行也是要花一些时间的,而ds1302是专门的时钟芯片,ds1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。

单片机的定时器用的是它自己的晶振,不是专门用来做电子钟的,因其精度不高,而且操作麻烦!而且更正一点,ds1302不是用来定时的,它是一种时钟芯片,内部有专用的寄存器用于存年月日时分秒,用的晶振也是另接的,高精度。当秒改变到一定量是,分会自动加一,写程序比较简单,而单片机要写程序让它加一。

单片机+晶振 的 定时器非常准确,用于 定时 和 时钟在不关闭电源的情况下完全没有问题。 ds1302是专用的时钟芯片+备用电源 可以在断电的时候继续计时。

0

评论 (0)

取消