[讨论] 新型高精度时钟芯片RTL-4553

rain   2006-7-19 12:53 楼主

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

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

现在流行的串行时钟芯片很多,如DS1302、DS1307、PCF8485等。这些芯片接口简单、价格低廉、使用方便,被广泛地采用,但这些芯片都存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。本文介绍一种EPSON公司最新推出的RTC-4553时钟芯片。该芯片采用内置晶振和独特的数据方法,大大提高了时钟精度和可靠性。RTC-4553配有串行通信接口,另有30×4bit SRAM,有2000~2099的百年日历,采用14脚SOP封装,电池耗电2μA,时钟误差<3 min/年且无需调整,是仪器仪表高精度时钟的理想芯片。
screen.width-460)this.width=screen.width-460" vspace=10 border=0>
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 - CNTR 24/12

TPS——TPOUT输出时钟选择位,1输出1024Hz,0输出1/10Hz;

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

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

控制寄存器2:

BUSY PONC - -

BUSY——有进位溢出;

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

控制寄存器3:

- - MS1 MS0

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

2.2 数据读出

在片选择中芯片,WR置高时,芯片处于读出状态,随着SCK脚上的时钟变化,内部寄存器的数据将出现在SOUT脚上。输入需要8个时钟,4个用来输入地址;输出数据也需要8个时钟,包括4个地址位4个数据位。数据在SCK上升沿输入,在下降沿输出。寄存器的地址由SIN脚输入,页面由MS0、MS1决定。图3为读时序图。
screen.width-460)this.width=screen.width-460" vspace=10 border=0>
    2.3 数据写入

RTC-4553采用特殊的写指令,对第0页的0D~0FH及第1页、第2页的寄存器的操作采用常规写法,地址后面的数据将原样写入寄存器中,而对时间寄存器写操作指令只能将内部的内容加1,并自动完成转换。图4为时间寄存器写时序。芯片这种独特的设计,防止了时钟区数据被意外干扰出现非法数据的可能,这正是该芯片高可靠性的原因所在。
screen.width-460)this.width=screen.width-460" vspace=10 border=0>
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 ;结束,关芯片

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复