高精度的实时时间芯片X1288的原理及应用
■ 华 东 交 通 大 学 袁世英
■ 江西八达电子有限公司 熊水发■ 华 中 科 技 大 学 曹 晖
摘 要
介绍高精度的实时时间芯片X1288的主要特点、工作原理及实际应用。给出具体的内部框图、计时精度调节原理、高精度定时的PCB设计和读写操作的基本程序。RTC X1288 高精度 精度调节
关键词
引 言
X1288 是Xicor 公司最新推出的高精度多功能时间芯片。除了提供高精度的时间外,还提供了片内的32K ×8位的EEPROM 、看门狗、2个警告和备用电源的自动切换、频率输出等大量实用的功能。由于它使用的外部晶振可以选用低价格的32.768kHz 晶体振荡器,所以芯片的价格便宜。它提供的时间分辨率为1/100s,以及小于5×10-6的年变化率,使得它得以在手机、POS 设备、智能仪表、控制装置及其它电子领域中得以广泛的应用,而且还可以作为低精度仪表的时间校准。
引脚为开漏输出,因此需要接上拉电阻,线上的传输速度最高达400kHz 。
SCL :串行时钟输入脚。PHZ/IRQ :多功能复用引脚。
功能1——可编程的频率输出。可以输出 32.768kHz、
100Hz 、1Hz 或不激活四种状态。
功能2——中断输出。提醒上位机一个定时警告已产生,低电平表示激活。
V BACK :后备支撑电源引脚输入端。V CC :主电源。
NC :无内部连接 。
1X1288简介
X1288的引脚如图1所示。
X1X2NC NC NC NC
V CC V BACK
NC NC NC SCL SDA
X1X2NC NC NC RESET V SS
2X1288的内部框图及其工作原理
X1288内部由振荡电路、分频电路、计时单元、晶振补偿单元、时间保存寄存器、警
告寄存器、256Kb EEPROM、状态寄存器、控制寄存器、串行接口译码器、控制译码单元、看门狗定时器、低电压复位电路等组成。内部框图如图2所示。
由于上位机是通过控制X1288的各寄存器对芯片进行操作的。因此,主要介绍内部寄存器及实现高精度定时的调节原理。
V CC V BACK NC NC SCL SDA
RESET V SS
(a)16脚表面贴式 (b)14脚双列直插式
图1 X1288引脚排列示意
X1288共有两种封装形式:一种是16引脚的SOIC 封装(表面贴式) ,另一种为14引脚的TSSOP 封装(双列直插式) 。
X1,X2:外接32.768kHz 晶振的引脚。
复位信号输出,作为看门狗时使用。
Vss :数字地。
SDA : 用于串行传输数据的输入与输出双向引脚。
X1288内部共有可用的寄存器64个,其中0x00~0x37 和0x3f 已经使用。分别为状态寄
存器、时间寄存器、控制寄存器、报警寄存器0、报警寄存器1。
2.1主要寄存器介绍
状态寄存器(SR)是易失性的,其地址是03fH ,命令
格式如下
:
位BAT
位AL1
位AL0
位0
位0
位RWEL
位WEL
位RTCF
缺省值01h
Mi crocontrol
lers & Embedded Systems
43
RT C 进行第一次有效写操作,则应首先使该位为“0”。
2.2 计时精度调节原理
为了实现高精度的定时,X1288主要通过芯片内部的晶振补偿单元的数字微调寄存器和模拟微调寄存器来实现。这两个寄存器为非易失性的,掉电之后数据也不会丢失。数字微调寄存器(DTR) 应用3个位DTR2、DTR1、DTR0来调
图2 X1288内部结构
BAT :后备电源标志。BAT 为“1”,表明器件在使用后备电源。
AL1、AL0:报警选择位。X1288中有两个报警寄存器。若其中的某一报警时间与实时时钟相同时,相应的AL1或AL0位将变为“1”;当读取SR 的值后,该位又变为“0”。
RWEL :时钟/控制寄存器写入控制位。对控制寄存器进行写操作时,必须先使该位为”1”。
WEL :控制寄存器和内部的EEPROM 的写入控制位。在对它们进行写操作时,必须先使该位为“1”。但是要对它进行写,先要写RWEl 位为“1”,即先写“02H ”到状态寄存器,再写“06H ”到状态寄存器才可以。
RTCF :掉电标志位。当全部电源包括V CC 和V BACK 失效后,该位变为“1”;而在系统再次上电后,如果要对
节每秒的计算次数和平均错误,获得更好的精度。其中DTR2为符号位:DTR2=0,频率补偿为正;DTR2=1,频率补偿为负。DTR1、DTR0是数值位,DTR1提供10×10-6的调整范围。DTR0提供20×10-6的调节范围。三个位组合起来提供-30×10-6~+30×10-6的调节。模拟微调寄存器 (ATR) 共有ATR5~ATR0的6个模拟微调位,用于调节芯片内加载电容的大小。加载电容的大小为3.25pF~18.75pF。内部电容大小的计算公式如下:
CATR = (ATR value ×0.25pF) + 11.0pF典型可调节的晶振频率范围上下偏差为+116×10-6 ~-37×10-6。两个微调寄存器相结合,最大可调节+146×10-6,实现高精度的定时微调。
3
3.1
应 用
X1288与CPU连接的原理图
X1288与89C52的连接比较简单,如图3所示。有点要注意的是,在SCL 、SDA 和
引脚要接上拉电阻。
3.2为实现高精度定时的PCB设计
由于X1288的晶振输入引脚X1的输入阻抗非常高,会从电路板上的其它电路中拾取高频信号;同时,输入引脚X2接晶振的另外一个引脚,它也是一个敏感节点。另外,高频的噪声信号能够从两个节点注入晶振电路,产生双倍的时钟或杂乱的时钟信号,严重影响定时器的精确度。因此,需要小心设计电路的布线,以避免噪声信号的拾取。在设计中,连接到X1、X2的晶振引脚要尽可能的短,而且最好在晶振周围布上宽的地线,以减少噪声的侵入。但
图3 X1288的典型应用电路
44
是,在X1、X2引脚边要避免布地线,以防止增加X1、X2引脚的输入负载电容。还有,在V CC 与地线之间一定要接上一个非极性的电容。典型的布线如图4所示。
3.3软件介绍
X1288与CPU 的接口方式,遵循标准的I 2C 总线协议
格式。即首先主器件发出启动信号,其次是命令帧、地址帧和数据帧格式。所有的命令、数据和地址字节首先传输最高位。关于I 2C 总线的格式在各种论文中已有详细描述。以下是C51对X1288进行基本操作的程序。(1)读X1228的程序
uchar Read_x1288(void){
uchar temp=0;uchar BitCounter=8;Scl_x1288=Low;do{
Scl_x1288=Low;_nop_ (); _nop_ ();Scl_x1288=High;_nop_ (); _nop_ ();if(Sda_x1288)
temp=temp|0x01;else
temp=temp&0xfe;if(BitCounter-1)
{ temp=temp
/*否则temp 的最低位清0*//*如果Sda=1;*//*temp的最低位置1*/
123
/*读一个字节的数据*/
参考文献
Xicor Corp. X1288 Application Manual
何立民. 单片机应用系统设计[M]. 北京:北京航空航天马忠梅. 单片机的C 语言应用程序设计[M]. 修订版. 北
大学出版社,1999
京:北京航空航天大学出版社,1998
(收稿日期:2004-04-01)
Mi crocontrol
lers & Embedded Systems
45
高精度的实时时间芯片X1288的原理及应用
■ 华 东 交 通 大 学 袁世英
■ 江西八达电子有限公司 熊水发■ 华 中 科 技 大 学 曹 晖
摘 要
介绍高精度的实时时间芯片X1288的主要特点、工作原理及实际应用。给出具体的内部框图、计时精度调节原理、高精度定时的PCB设计和读写操作的基本程序。RTC X1288 高精度 精度调节
关键词
引 言
X1288 是Xicor 公司最新推出的高精度多功能时间芯片。除了提供高精度的时间外,还提供了片内的32K ×8位的EEPROM 、看门狗、2个警告和备用电源的自动切换、频率输出等大量实用的功能。由于它使用的外部晶振可以选用低价格的32.768kHz 晶体振荡器,所以芯片的价格便宜。它提供的时间分辨率为1/100s,以及小于5×10-6的年变化率,使得它得以在手机、POS 设备、智能仪表、控制装置及其它电子领域中得以广泛的应用,而且还可以作为低精度仪表的时间校准。
引脚为开漏输出,因此需要接上拉电阻,线上的传输速度最高达400kHz 。
SCL :串行时钟输入脚。PHZ/IRQ :多功能复用引脚。
功能1——可编程的频率输出。可以输出 32.768kHz、
100Hz 、1Hz 或不激活四种状态。
功能2——中断输出。提醒上位机一个定时警告已产生,低电平表示激活。
V BACK :后备支撑电源引脚输入端。V CC :主电源。
NC :无内部连接 。
1X1288简介
X1288的引脚如图1所示。
X1X2NC NC NC NC
V CC V BACK
NC NC NC SCL SDA
X1X2NC NC NC RESET V SS
2X1288的内部框图及其工作原理
X1288内部由振荡电路、分频电路、计时单元、晶振补偿单元、时间保存寄存器、警
告寄存器、256Kb EEPROM、状态寄存器、控制寄存器、串行接口译码器、控制译码单元、看门狗定时器、低电压复位电路等组成。内部框图如图2所示。
由于上位机是通过控制X1288的各寄存器对芯片进行操作的。因此,主要介绍内部寄存器及实现高精度定时的调节原理。
V CC V BACK NC NC SCL SDA
RESET V SS
(a)16脚表面贴式 (b)14脚双列直插式
图1 X1288引脚排列示意
X1288共有两种封装形式:一种是16引脚的SOIC 封装(表面贴式) ,另一种为14引脚的TSSOP 封装(双列直插式) 。
X1,X2:外接32.768kHz 晶振的引脚。
复位信号输出,作为看门狗时使用。
Vss :数字地。
SDA : 用于串行传输数据的输入与输出双向引脚。
X1288内部共有可用的寄存器64个,其中0x00~0x37 和0x3f 已经使用。分别为状态寄
存器、时间寄存器、控制寄存器、报警寄存器0、报警寄存器1。
2.1主要寄存器介绍
状态寄存器(SR)是易失性的,其地址是03fH ,命令
格式如下
:
位BAT
位AL1
位AL0
位0
位0
位RWEL
位WEL
位RTCF
缺省值01h
Mi crocontrol
lers & Embedded Systems
43
RT C 进行第一次有效写操作,则应首先使该位为“0”。
2.2 计时精度调节原理
为了实现高精度的定时,X1288主要通过芯片内部的晶振补偿单元的数字微调寄存器和模拟微调寄存器来实现。这两个寄存器为非易失性的,掉电之后数据也不会丢失。数字微调寄存器(DTR) 应用3个位DTR2、DTR1、DTR0来调
图2 X1288内部结构
BAT :后备电源标志。BAT 为“1”,表明器件在使用后备电源。
AL1、AL0:报警选择位。X1288中有两个报警寄存器。若其中的某一报警时间与实时时钟相同时,相应的AL1或AL0位将变为“1”;当读取SR 的值后,该位又变为“0”。
RWEL :时钟/控制寄存器写入控制位。对控制寄存器进行写操作时,必须先使该位为”1”。
WEL :控制寄存器和内部的EEPROM 的写入控制位。在对它们进行写操作时,必须先使该位为“1”。但是要对它进行写,先要写RWEl 位为“1”,即先写“02H ”到状态寄存器,再写“06H ”到状态寄存器才可以。
RTCF :掉电标志位。当全部电源包括V CC 和V BACK 失效后,该位变为“1”;而在系统再次上电后,如果要对
节每秒的计算次数和平均错误,获得更好的精度。其中DTR2为符号位:DTR2=0,频率补偿为正;DTR2=1,频率补偿为负。DTR1、DTR0是数值位,DTR1提供10×10-6的调整范围。DTR0提供20×10-6的调节范围。三个位组合起来提供-30×10-6~+30×10-6的调节。模拟微调寄存器 (ATR) 共有ATR5~ATR0的6个模拟微调位,用于调节芯片内加载电容的大小。加载电容的大小为3.25pF~18.75pF。内部电容大小的计算公式如下:
CATR = (ATR value ×0.25pF) + 11.0pF典型可调节的晶振频率范围上下偏差为+116×10-6 ~-37×10-6。两个微调寄存器相结合,最大可调节+146×10-6,实现高精度的定时微调。
3
3.1
应 用
X1288与CPU连接的原理图
X1288与89C52的连接比较简单,如图3所示。有点要注意的是,在SCL 、SDA 和
引脚要接上拉电阻。
3.2为实现高精度定时的PCB设计
由于X1288的晶振输入引脚X1的输入阻抗非常高,会从电路板上的其它电路中拾取高频信号;同时,输入引脚X2接晶振的另外一个引脚,它也是一个敏感节点。另外,高频的噪声信号能够从两个节点注入晶振电路,产生双倍的时钟或杂乱的时钟信号,严重影响定时器的精确度。因此,需要小心设计电路的布线,以避免噪声信号的拾取。在设计中,连接到X1、X2的晶振引脚要尽可能的短,而且最好在晶振周围布上宽的地线,以减少噪声的侵入。但
图3 X1288的典型应用电路
44
是,在X1、X2引脚边要避免布地线,以防止增加X1、X2引脚的输入负载电容。还有,在V CC 与地线之间一定要接上一个非极性的电容。典型的布线如图4所示。
3.3软件介绍
X1288与CPU 的接口方式,遵循标准的I 2C 总线协议
格式。即首先主器件发出启动信号,其次是命令帧、地址帧和数据帧格式。所有的命令、数据和地址字节首先传输最高位。关于I 2C 总线的格式在各种论文中已有详细描述。以下是C51对X1288进行基本操作的程序。(1)读X1228的程序
uchar Read_x1288(void){
uchar temp=0;uchar BitCounter=8;Scl_x1288=Low;do{
Scl_x1288=Low;_nop_ (); _nop_ ();Scl_x1288=High;_nop_ (); _nop_ ();if(Sda_x1288)
temp=temp|0x01;else
temp=temp&0xfe;if(BitCounter-1)
{ temp=temp
/*否则temp 的最低位清0*//*如果Sda=1;*//*temp的最低位置1*/
123
/*读一个字节的数据*/
参考文献
Xicor Corp. X1288 Application Manual
何立民. 单片机应用系统设计[M]. 北京:北京航空航天马忠梅. 单片机的C 语言应用程序设计[M]. 修订版. 北
大学出版社,1999
京:北京航空航天大学出版社,1998
(收稿日期:2004-04-01)
Mi crocontrol
lers & Embedded Systems
45