STM32与DS1302设计时钟芯片,超详细

更新时间:2023-07-07 17:55:22 阅读: 评论:0

STM32与DS1302设计时钟芯⽚,超详细
DS1302 是DALLAS 公司推出的涓流充电时钟芯⽚,内含有⼀个实时时钟/⽇历和31 字节静态RAM ,通过简单的串⾏接⼝与单⽚机进⾏通信。实时时钟/⽇历电路提供秒、分、时、⽇、周、⽉、年的信息,每⽉的天数和闰年的天数可⾃动调整。时钟操作可通过AM/PM 指⽰决定采⽤24 或12 ⼩时格式。DS1302 与单⽚机之间能简单地采⽤同步串⾏的⽅式进⾏通信,仅需⽤到三个⼝线:(1)RES 复位
(2)I/O 数据线(3)SCLK串⾏时钟。时钟/RAM 的读/写数据以⼀个字节或多达31 个字节的字符组⽅式通信。DS1302 ⼯作时功耗很低保持数据和时钟信息时功率⼩于1mW
DS1302 是由DS1202 改进⽽来增加了以下的特性:双电源管脚⽤于主电源和备份电源供应,Vcc1 为可编程涓流充电电源,附加七个字节存储器。它⼴泛应⽤于电话、传真、便携式仪器以及电池供电的仪器仪表等产品领域下⾯。将主要的性能指标作⼀综合:
★ 实时时钟具有能计算2100 年之前的秒、分、时、⽇、星期、⽉、年的能⼒,还有闰年调整的能⼒
★ 31 8 位暂存数据存储RAM
★ 串⾏ I/O ⼝⽅式使得管脚数量最少
★ 宽范围⼯作电压2.0 5.5V
★ ⼯作电流 2.0V 时,⼩于300nA
★ 读/写时钟或RAM 数据时有两种传送⽅式单字节传送和多字节传送字符组⽅式
rotten什么意思
★ 8 脚DIP 封装或可选的8 脚SOIC 封装根据表⾯装配
★ 简单 3 线接⼝
fob是什么意思★ 与 TTL 兼容Vcc=5V
★ 可选⼯业级温度范围-40 +85
★ 双电源管⽤于主电源和备份电源供应
以上是DS1302的⼀些全⾯的预览,以下为DS1302管脚图:
VCC2:主⽤电源引脚
厕所英文
X1、X2:DS1302外部晶振引脚
insightfulGND:地
RST:复位引脚
I/O:串⾏数据引脚,数据输出或者输⼊都从这个引脚
SCLK:串⾏时钟引脚
VCC1:备⽤电源
我们来看看DS1302的典型外围电路,下⾯是CEPARK AVR的DS1302模块原理图:
我们看到:
1、 VCC为主电源接5V,C1为滤波电容
2、 X1、X2外接32.768K的晶振
3、 5、6、7脚分别与控制器相联,注意外部4.7K上拉电阻
4、 备⽤电源脚,注意是3.3V,DS1302要求备⽤电源电压稍微低于主⽤电源
下⾯讲讲DS1302的具体操作。
操作DS1302的⼤致过程,就是将各种数据写⼊DS1302的寄存器,以设置它当前的时间已经格式。然后使DS1302开始运作,DS1302时钟会按照设置情况运转,再⽤单⽚机将其寄存器内的数据读出。再⽤液晶显⽰,就是我们常说的简易电⼦钟。
所以总的来说DS1302的操作分2步(显⽰部分属于液晶显⽰的内容,不属于DS1302本⾝的内容)但是在讲述操作时序之前,我们要先看看寄存器:
上图是DS1302的寄存器样式,我们看到:
1、 第7位永远都是1
幼儿早教方法2、 第6位,1表⽰RAM,寻址内部存储器地址;0表⽰CK,寻址内部寄存器;
第5到第1位,为RAM或者寄存器的地址;最低位,⾼电平表⽰RD:即下⼀步操作将要“读”;低电平表
⽰W:即下⼀步操作将要“写”。(与AT24C02寄存器类似,这点要理解好)。下⾯是DS1302的内部寄存器和RAM:
上图左边为寄存器和RAM的地址,右边为具体内容。各个寄存器的最⾼位都是1,最低位都是“RD/W”,⽐如要读秒寄存器则命令为1000 0101,反之写为1000 0100,要注意其含义。(图⽚不是很清楚,看不清楚的朋友⽤软件放⼤)我们⼀个⼀个看:
SEC:秒寄存器,注意具体右边内容:低四位为SEC,⾼的次三位为10SEC。最⾼位CH为DS1302的运⾏标志,当CH=0时,DS1302内部时钟运⾏,反之CH=1时停⽌;
MIN:分寄存器;
HR:时寄存器,最⾼位为12/24⼩时的格式选择位,该位为1时表⽰12⼩时格式。当设置为12⼩时显⽰格式时,第5位的⾼电平表⽰下午(PM);⽽当设置为24⼩时格式时,第5位位具体的时间数据。
DATE:⽇寄存器;
MONTH:⽉寄存器;
DAY:周寄存器,注意⼀周只有7天,所以该寄存器只有低三位有效;
YEAR:年寄存器;
CONTROL:写保护寄存器,当该寄存器最⾼位WP为1时,DS1302只读不写,所以要在往DS1302写数据之前确保WP为0;TRICKLE CHARGE REGISTER:涓细电流充电设置寄存器,我们知道,当DS1302掉电时,可以马上调⽤外部电源保护时间数据。该寄存器就是配置备⽤电源的充电选项的。其中⾼四位(4个TCS)只有在1010的情况下才能使⽤充电选项;低四位的情况,与DS1302内部电路有关,有点意思,下⽂详细讲述。
CLOCK BURST:批量读写操作设置寄存器,设置该寄存器后,可以对DS1302的各个寄存器进⾏连续写⼊。DS1302的另外⼀种读写⽅式。笔者还没⽤过,感兴趣的朋友可以尝试。
cappuccino什么意思最后还有⼀点,前⽂说过,DS1302有31个字节的存储空间,但是⼤家要看到的是,这31个存储空间,最后⼀个是RAM BURST的寄存器,设置该寄存器可以达到对RAM连续读写的作⽤。所以DS1302的可⽤存储空间实际上为30个字节。
现在我们来看看DS1302的涓细电流充电的设置:
以下来⾃英⽂原版PDF:
The trickle charge lect (TCS) bits (bits4 -7) control the lection of the trickle charger. In order to prevent accidental enabling, only a pattern of 1010 will enable the trickle charger. All other patterns will disable the trickle charger. The
DS1302 powers up with the trickle charger disabled. The diode lect (DS) bits (bits 2 – 3)lect whether onediode or two diodes are connected between VCC2 and VCC1.If DS is 01, one diode is lected or if DS is10, two diodes are lected. If DS is 00 or 11, the trickle charger is disabled independently of TCS. TheRS bits (bits 0 -1) lect the resistor that is connected between VCC2 and VCC1. The resistor lected by the resistor lect (RS) bits is as follows:
湖北有潜力的二本大学好,英⽂⽔平不好也没关系:
看到这句“The trickle charge lect (TCS) bits (bits4 -7) control the lection of the trickle charger. In order to prevent accidental enabling, only a pattern of 1010 will enable the trickle charger”,这句话是说“TCS为⽤以控制涓细电流充电功能,为了防⽌意外产⽣,只当TCS位(四位)为1010时涓细电流充电功能才会⽣效”所以刚才提到“其中⾼四位(4个TCS)只有在1010的情况下才能使⽤充电选项”。
那DS呢?“If DS is 01, one diode is lected or if DS is10, two diodes are lected. If DS is 00 or 11, the trickle charger is disabled independently of TCS”,既是说,如果两个DS位为01,则只有1个⼆极管接⼊电路,如果DS为10则表⽰有2个⼆极管接⼊,如果DS为00或者11,则充电功能由TCS单独控制”。看到上部电路三个⼆极管处,DS为01时接⼊1个⼆极管,对应上⾯的开关闭合,为10时表⽰2个⼆极管接⼊,对应下⾯的开关闭合为00或者11时笔者认为两个开关都不闭合,充电电流不经过⼆极管。
对应的,RS的设置也相仿:“The RS bits (bits 0 -1) lect the resistor that is connected between VCC2 and VCC1. The resistor lected by the resistor lect (RS) bits is as follows:
意思是:RS位⽤以选择在VCC1和VCC2直接接⼊什么样的电阻:
当RS为00时,不接⼊电阻;
当RS为01时,接⼊典型值为2K电阻,对应电路图中的R1;
当RS为10时,接⼊典型值为4K电阻,对应电路图中的R2;
当RS为11时,接⼊典型值为8K电阻,对应电路图中的R3;
好了,⾄此我们知道了,DS和RS的作⽤是配置接⼊电路中的⼆极管和电阻,有什么⽤呢?
笔者认为这些⼆极管和电阻是分压和限流⽤的,以调整涓细充电电流的⼤⼩。
我们可以看看DS1302的读写时序了:
the beyond上图就是DS1302的三个时序:复位时序,单字节写时序,单字节读时序;
RST:复位时序,即在RST引脚产⽣⼀个正脉冲,在整个读写器件,RST要保持⾼电平,⼀次字节读写完毕之后,要注意把RST返回低电平准备下次读写周期;
SINGLE BYTE READ:单字节读,注意读之前还是要先对寄存器写命令,从最低位开始写;⼤家细⼼看可以看到,写数据是在SCLK的上升沿实现,⽽读数据在SCLK的下降沿实现,所以,在单字节读时序中,写命令的第⼋个上升沿结束后紧接着的第⼋个下降沿就将要读寄存器的第⼀位数据读到数据线上了!这个就是DS1302操作中最特别的地⽅。当然读出来的数据也是最低位开始。
SINGLE BUTE WRITE:单字节写,两个字节的数据配合16个上升沿将数据写⼊即可。
解析内容:
DS1302⼯作时为了对任何数据传送进⾏初始化,需要将复位脚(RST)置为⾼电平且将8位地址和命令信息装⼊移位寄存器。数据在时钟(SCLK)的上升沿串⾏输⼊,前8位指定访问地址,命令字装⼊
移位寄存器,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节⽅式下为8+8(8位地址+8位数据),在多字节⽅式下为8加最多可达248的数据。
1.DS1302的寄存器和控制命令
对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与⽇历、时钟相关,存放的数据位为BCD码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等,如表3-79、表3-80所列。时钟突发寄存器可⼀次性顺序读/写除充电寄存器以外的寄存器。
表3-79 ⽇历时钟相关寄
寄存器名命令字节
范围
位内容
写读D7D6D5D4D3D2D1D0
秒80H81H00~59CH秒的⼗位秒的个位
分82H83H00~590分的⼗位分的个位
时84H85H01~12或00~2312/2401/P HR⼩时个位
⽇86H87H01~3100⽇的⼗位⽇的个位
⽉88H89H01~120000/1⽉的个位
星期8AH8BH01~0700000星期⼏年8CH8DH00~99年的⼗位年的个位
注意:
①秒寄存器的CH位:
置1,时钟停振,进⼊低功耗态;
置0,时钟⼯作。
②⼩时寄存器的D7位:
置1,12⼩时制(D5置1表⽰上午,置0表⽰下午);  置0,24⼩时制(此时D5、D4组成⼩时的⼗位)。表3-80其它寄存器及RAM
寄存器名命令字节
范围
位内容
写读D7D6D5D4D3D2D1D0
写保护8EH8FH00H~80H WP
涓流充underdog
90H91H-TCS DS RS
时钟突
8EH BFH--
RAM突
BEH FFH--
RAMO C0H C1H00H~FFH
RAM数据
………00H~FFH
RAM30FCH FDH00H~FFH
注意:
①WP:写保护位。置为1时,写保护;置为0时,未写保护。
②TCS:1010时慢充电。DS为01,选1个⼆极管;为10,选2个⼆极管;11或00,禁⽌充电。
③RS:与⼆极管串联电阻选择。00,不充电;01,2KΩ电阻;10,4KΩ电阻;11,8KΩ电阻。
2.DS1302内部主要寄存器分布表
DS1302内部的RAM分为两类,⼀类是单个RAM单元,共31个,每个单元为⼀个8位的字节,其命令控制字为COH~FDH,其中奇数为读操作,偶数为写操作;另⼀类为突发⽅式下的RAM,此⽅式下可⼀次性读/写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
我们现在已经知道了控制寄存器和RAM的逻辑地址,接着就需要知道如何通过外部接⼝来访问这些资源。单⽚机是通过简单的同步串⾏⽅式与DS1302通信的,每次通信都必须由单⽚机发起。⽆论是读还是写操作,单⽚机都必须先向DS1302写⼊⼀个命令帧,这个帧的格式如表3-77所列,最⾼位BIT7固定为1。BIT6决定操作是针对RAM还是时钟寄存器,接着的5个BIT是RAM或时钟寄存器在DS1302的内部地址,最后⼀个BIT表⽰这次操作是读操作抑或是写操作。
表3-81 命令帧格式
D7D6D5D4D3D2D1D0
1R/C A4A3A2A1A0R/W
仓木麻衣孙燕姿D7位: 固定为1 ;
R/C位: 为0时选择操作时钟,为1时选择操作RAM;
A4A3A2A1A0: 操作地址;

本文发布于:2023-07-07 17:55:22,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/170188.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:寄存器   数据   时钟   电源   操作
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图