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

weigaole   2008-2-22 14:31 楼主
新型高精度时钟芯片RTL-4553[ZT] 为方便大家看原程序,给出原文网址:http://www.avrw.com/article/art_105_421.htm 摘要:介绍EPSON公司最新推出的高精度时钟芯片RTC-4553的功能与特点。包括内部结构及引脚、功能控制和单字节的读程序。 关键词:单片机 时钟芯片 RTC-4553 现在流行的串行时钟芯片很多,如DS1302、DS1307、PCF8485等。这些芯片接口简单、价格低廉、使用方便,被广泛地采用,但这些芯片都存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。本文介绍一种EPSON公司最新推出的RTC-4553时钟芯片。该芯片采用内置晶振和独特的数据方法,大大提高了时钟精度和可靠性。RTC-4553配有串行通信接口,另有30×4bit SRAM,有2000~2099的百年日历,采用14脚SOP封装,电池耗电2μA,时钟误差 串行时钟芯片的内部结构如图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为读时序图。 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 ;结束,关芯片 1.实验任务 (1).开机时,显示12:00:00的时间开始计时; (2).P0.0/AD0控制“秒”的调整,每按一次加1秒; (3).P0.1/AD1控制“分”的调整,每按一次加1分; (4).P0.2/AD2控制“时”的调整,每按一次加1个小时; 2.电路原理图                            图4.20.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上; (2).把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上; (3).把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上; 4.相关基本知识 (1).动态数码显示的方法 (2).独立式按键识别过程 (3).“时”,“分”,“秒”数据送出显示处理方法 5.程序框图 6.汇编源程序 SECOND EQU 30H MINITE EQU 31H HOUR EQU 32H HOURK BIT P0.0 MINITEK BIT P0.1 SECONDK BIT P0.2 DISPBUF EQU 40H DISPBIT EQU 48H T2SCNTA EQU 49H T2SCNTB EQU 4AH TEMP EQU 4BH ORG 00H LJMP START ORG 0BH LJMP INT_T0 START: MOV SECOND,#00H MOV MINITE,#00H MOV HOUR,#12 MOV DISPBIT,#00H MOV T2SCNTA,#00H MOV T2SCNTB,#00H MOV TEMP,#0FEH LCALL DISP MOV TMOD,#01H MOV TH0,#(65536-2000) / 256 MOV TL0,#(65536-2000) MOD 256 SETB TR0 SETB ET0 SETB EA WT: JB SECONDK,NK1 LCALL DELY10MS JB SECONDK,NK1 INC SECOND MOV A,SECOND CJNE A,#60,NS60 MOV SECOND,#00H NS60: LCALL DISP JNB SECONDK,$ NK1: JB MINITEK,NK2 LCALL DELY10MS JB MINITEK,NK2 INC MINITE MOV A,MINITE CJNE A,#60,NM60 MOV MINITE,#00H NM60: LCALL DISP JNB MINITEK,$ NK2: JB HOURK,NK3 LCALL DELY10MS JB HOURK,NK3 INC HOUR MOV A,HOUR CJNE A,#24,NH24 MOV HOUR,#00H NH24: LCALL DISP JNB HOURK,$ NK3: LJMP WT DELY10MS: MOV R6,#10 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET DISP: MOV A,#DISPBUF ADD A,#8 DEC A MOV R1,A MOV A,HOUR MOV B,#10 DIV AB MOV @R1,A DEC R1 MOV A,B MOV @R1,A DEC R1 MOV A,#10 MOV @R1,A DEC R1 MOV A,MINITE MOV B,#10 DIV AB MOV @R1,A DEC R1 MOV A,B MOV @R1,A DEC R1 MOV A,#10 MOV @R1,A DEC R1 MOV A,SECOND MOV B,#10 DIV AB MOV @R1,A DEC R1 MOV A,B MOV @R1,A DEC R1 RET INT_T0: MOV TH0,#(65536-2000) / 256 MOV TL0,#(65536-2000) MOD 256 MOV A,#DISPBUF ADD A,DISPBIT MOV R0,A MOV A,@R0 MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P1,A MOV A,DISPBIT MOV DPTR,#TAB MOVC A,@A+DPTR MOV P3,A INC DISPBIT MOV A,DISPBIT CJNE A,#08H,KNA MOV DISPBIT,#00H KNA: INC T2SCNTA MOV A,T2SCNTA CJNE A,#100,DONE MOV T2SCNTA,#00H INC T2SCNTB MOV A,T2SCNTB CJNE A,#05H,DONE MOV T2SCNTB,#00H INC SECOND MOV A,SECOND CJNE A,#60,NEXT MOV SECOND,#00H INC MINITE MOV A,MINITE CJNE A,#60,NEXT MOV MINITE,#00H INC HOUR MOV A,HOUR CJNE A,#24,NEXT MOV HOUR,#00H NEXT: LCALL DISP DONE: RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH END 7.C语言源程序 #include unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00}; unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f}; unsigned char dispbuf[8]={0,0,16,0,0,16,0,0}; unsigned char dispbitcnt; unsigned char second; unsigned char minite; unsigned char hour; unsigned int tcnt; unsigned char mstcnt; unsigned char i,j; void main(void) { TMOD=0x02; TH0=0x06; TL0=0x06; TR0=1; ET0=1; EA=1; while(1) { if(P0_0==0) { for(i=5;i>0;i--) for(j=248;j>0;j--); if(P0_0==0) { second++; if(second==60) { second=0; } dispbuf[0]=second; dispbuf[1]=second/10; while(P0_0==0); } } if(P0_1==0) { for(i=5;i>0;i--) for(j=248;j>0;j--); if(P0_1==0) { minite++; if(minite==60) { minite=0; } dispbuf[3]=minite; dispbuf[4]=minite/10; while(P0_1==0); } } if(P0_2==0) { for(i=5;i>0;i--) for(j=248;j>0;j--); if(P0_2==0) { hour++; if(hour==24) { hour=0; } dispbuf[6]=hour; dispbuf[7]=hour/10; while(P0_2==0); } } } } void t0(void) interrupt 1 using 0 { mstcnt++; if(mstcnt==8) { mstcnt=0; P1=dispcode[dispbuf[dispbitcnt]]; P3=dispbitcode[dispbitcnt]; dispbitcnt++; if(dispbitcnt==8) { dispbitcnt=0; } } tcnt++; if(tcnt==4000) { tcnt=0; second++; if(second==60) { second=0; minite++; if(minite==60) { minite=0; hour++; if(hour==24) { hour=0; } } } dispbuf[0]=second; dispbuf[1]=second/10; dispbuf[3]=minite; dispbuf[4]=minite/10; dispbuf[6]=hour; dispbuf[7]=hour/10; } } http://www.sydzdiy.com/MCU/example/05101910464585819_89797.html

回复评论 (8)

回复:新型高精度时钟芯片RTL-4553[ZT]

楼主啊,这个芯片很垃圾的,而且已经停产了,建议更换啊!
点赞  2008-2-25 13:43

回复:新型高精度时钟芯片RTL-4553[ZT]

用起来不好用,而且很不好买,市场上很多都是拆机片,质量无法保证!
点赞  2008-2-25 13:44

回复: 新型高精度时钟芯片RTL-4553[ZT]

SD2068A时钟IC 特点概述 SD2068A 是一种具有标准IIC 接口的实时时钟芯片,CPU 可使用该接口通过5 位地址寻址来读写片 内32 字节寄存器的数据(包括时间寄存器、报警寄存器、控制寄存器、通用SRAM 寄存器)。 SD2068A 内置单路定时/报警中断输出,报警中断时间最长可设至100 年。 SD2068A 内置时钟精度数字调整功能,可以在很宽的范围内校正时钟的偏差(-189ppm~+189ppm, 分辨力为3.05ppm),并通过外置的温度传感器可设定适应温度变化的调整值,实现在宽温范围内高精 度的计时功能。 SD2068A 具有一个后备电池输入脚VBAT,当芯片检测到主电源VDD 掉到后备电池电压以下,芯片会自 动转为由接在VBAT 的后备电池供电。 内置晶振、电池、两线式串行接口、定时中断输出、高精度、免调校 1.概述 SD2400A 是一种具有内置晶振、两线式串行接口的高精度实时时钟芯片, CPU 可使用该接口通过5 位 地址来寻址读写片内32 字节的数据(包括时间寄存器、报警寄存器、控制寄存器、通用SRAM 寄存器)。该 系列芯片可保证时钟精度为±5ppm(在25±1℃下),即年误差小于2.5 分钟;该芯片内置一次性电池,在电 池使用寿命可在五年左右(工业级和民用级时间不同);该芯片内置时钟精度数字调整功能,可以在很宽的 范围内校正时钟的偏差(分辨力3ppm),通过外置的温度传感器可设定适应温度变化的调整值,实现在宽温 范围内高精度的计时功能;SD2400A 内置单路定时/报警中断输出,报警中断时间可最长设至100 年;该系列 芯片可满足对实时时钟芯片的各种需要,有工业级产品可供选择,且管脚与以前的SD2000A 兼容,是在选用 高精度实时时钟时的理想选择 当您在科研、生产、采购时碰到疑难,当您苦苦寻觅而一筹莫展,请联系我们,或许我们有您急需的产品,或许您的困难将迎刃而解! 全面替代DS1302/DS1307/HT1380/HT1381/PCF8563/PCF8583/R5C372/R8025 可充电电池 非易失储存器 时钟芯片 工业级晶振 数字温度补偿接口 I2C总线接口 年误差不超过2分钟 使用寿命5至10年 详细资料和产品价绍你可以看一下我们的网站: www.whwave.com.cn 深圳兴威帆电子技术有限公司 王子华 0755-83111835 13538258113 wangzh@whwave.com.cn
时钟芯片 王子华 0755-83111835 13538258113
点赞  2008-2-29 09:20

回复:新型高精度时钟芯片RTL-4553[ZT]

我看了!先收下
点赞  2008-3-2 14:37

Re: 新型高精度时钟芯片RTL-4553[ZT]

請問各位, 一般單片機(MCU) 慢慢整合很多功能, RTC 也會被整合進去, 所以各位認為單顆的 RTC IC 還有存在的價值嗎?
点赞  2009-2-25 06:39

什么“新型高精度时钟芯片”?

RTC-4553是停产型号,放这儿不是害人吗?建议清除。:@
点赞  2009-2-25 09:07

Re: 新型高精度时钟芯片RTL-4553[ZT]

呵呵,能否介绍一些更新的芯片
点赞  2009-2-25 10:07

借用一位前辈的话说:应当充分利用互联网

引用: 原帖由 fuerchat 于 2009-2-25 10:07 发表
呵呵,能否介绍一些更新的芯片

做RTC的厂家不少,如Maxim、intersil、Natinal Semiconductor、NXP、ST、德州仪器、Epson Toyocom等等。 其中Epson Toyocom的RTC还是有点特色的:它把振荡器内置并调好了精度。别看就差个32.768kHz晶振,自己选配补偿电容不太容易,配不好的话时钟的积累误差会很大,要求高的时候把这点钱付给厂家还是值得的。
其实这年头网络发达,只要知道厂商名,稍拨弄几下键盘老鼠就能直接进入主页看到最新信息,根本没必要看第3方的资料。此外网络零售商也多,从售价和库存量能大致判断芯片是否流行。
这里搞芯币-鸡粪制的最大弊端之一,就是人为造成了盲目上传大批垃圾文件,铺天盖地的[分享]、[下载]非但容易误导学子,而且显著冲淡了技术讨论的气氛,降低了论坛的质量。

下面是俺去年年底收集的Epson Toyocom公司现在的RTC型号归类供参考(仍请以厂商主页为准):
●RTC-4543、RTC-4574、RX-4574:  串行3线接口
●RTC-4701:  串行3线接口+内置热传感器
●RTC-7301:  4位并行接口
●RTC-8564,RX-8564、RX-8025:  IIC接口
点赞  2009-2-25 16:37
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复