学海荡舟手机网

主页 > 实用文摘 > 教育文摘_12 > > 详细内容

新型高精度时钟芯片RTL-4553_单片机论文

 摘要:介绍epson公司最新推出的高精度时钟芯片rtc-4553的功能与特点。包括内部结构及引脚、功能控制和单字节的读程序。

    关键词:单片机 时钟芯片 rtc-4553

现在流行的串行时钟芯片很多,如ds1302、ds1307、pcf8485等。这些芯片接口简单、价格低廉、使用方便,被广泛地采用,但这些芯片都存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。本文介绍一种epson公司最新推出的rtc-4553时钟芯片。该芯片采用内置晶振和独特的数据方法,大大提高了时钟精度和可靠性。rtc-4553配有串行通信接口,另有30×4bit sram,有2000~2099的百年日历,采用14脚sop封装,电池耗电2μa,时钟误差<3 min/年且无需调整,是仪器仪表高精度时钟的理想芯片。

1 内部结构及引脚

串行时钟芯片的内部结构如图1所示。它包含i/o控制器、移位寄存器、命令及逻辑控制器,表态ram、实时时钟、计数器、晶振等部分。

图2为rtc-4553的引脚图。cs0为片选脚,低电平选中;wr为读写使能口,高为读,低为写;l1~l5为工厂出厂调整精度和测试用,使用中悬空;cs1为芯片掉电检查口,可直接与系统电源连接,芯片测到该口为低时,自动进入低功耗状态;sck为时钟口,sin为数据输入口,sout为数据输出口。另外,芯片还有1个时钟信号输出口tpout,该口可输出1024hz或1/10hz的信号,以供检测芯片的时钟精度所用。

2 功能及控制

2.1 寄存器

rtc-4553共有46×4bit寄存器。这些寄存器分3页,第1页共16个,分别为时钟寄存器和控制寄存器,如表1所列,用来存放秒、分、时、日、月、年、星期和3个特殊寄存器;第2页、第3页各有15个,共30个sram寄存器,页面的选择通过操作控制寄存器3的ms1、ms0位来实现。

表1

第0页第1页第2页
地址a3a2a1a0功能说明地址a3a2a1a0功能说明地址a3a2a1a0 
0
1
2
3
4
5
6
7
8
9
0a
0b
0c
0d
0e
0f
个位秒
十位秒
个位分
十位分
个位时
十位时
星期
个位天
十位天
个位月
十位月
个位年
十位年
控制寄存器1
控制寄存器2
控制寄存器3
0
1
2
3
4
5
6
7
8
9
0a
0b
0c
0d
0e






ram


0
1
2
3
4
5
6
7
8
9
0a
0b
0c
0d
0e





ram

控制寄存器1:cnt1

 tps-cntr24/12

tps——tpout输出时钟选择位,1输出1024hz,0输出1/10hz;

cntr——时钟寄存器清零标志;

24/12——1为24小时制,0为12小时制。

控制寄存器2:

busyponc--

busy——有进位溢出;

ponc——初始上电检测,为1表示刚上电需校时。

控制寄存器3:

--ms1ms0

ms1、ms0——页面选择位,00和01指向0页,10指向1页,11指向2页。

2.2 数据读出

在片选择中芯片,wr置高时,芯片处于读出状态,随着sck脚上的时钟变化,内部寄存器的数据将出现在sout脚上。输入需要8个时钟,4个用来输入地址;输出数据也需要8个时钟,包括4个地址位4个数据位。数据在sck上升沿输入,在下降沿输出。寄存器的地址由sin脚输入,页面由ms0、ms1决定。图3为读时序图。

    2.3 数据写入

rtc-4553采用特殊的写指令,对第0页的0d~0fh及第1页、第2页的寄存器的操作采用常规写法,地址后面的数据将原样写入寄存器中,而对时间寄存器写操作指令只能将内部的内容加1,并自动完成转换。图4为时间寄存器写时序。芯片这种独特的设计,防止了时钟区数据被意外干扰出现非法数据的可能,这正是该芯片高可靠性的原因所在。

3 应用

rtc-4553采用串行通信,与单片机接口简单,在设计中ram区可放置少量的停电后系统需要保存的数据。cs1也可与单片机的掉电检测口相连,以便能迅速进入低功耗状态。图5以pic单片机为例,给出连接图。

按图5给出单字节的读程序:

入口:fde的低4位存放读地址,w的低4位存放读地址

bsf ra,wr ;读状态

bcf ra,cs0 ;选芯片

movlw 8

movwf count ;准备发8位

loop:bcf ra,sck ;sck低电平

bcf ra,sin

btfss fde,0 ;fde的0位为1

;则sin口为1

goto lll ;否则sin口输出0

bsf ra,sin

lll:

rrf fde,1 ;fde右移,准备发下一位

bsf ra,sck ;sck高电平

decfs2 count

goto loop ;读指令发完

movlw 8 ;准备接收数据

movwf count

loop1:

bcf ra,sck

nop

bsf ra,sck

rrf w,0

bcf w,0

btfss ra,sout ;读判断

goto lll1

bsf w,0

lll1:

decfs2 count

goto loop1

bcf ra,cs0 ;结束,关芯片