您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

高精度的实时时间芯片X1288的原理及应用

时间:2007-1-20栏目:电子通信论文

RWEL:时钟/控制寄存器写入控制位。对控制寄存器进行写操作时,必须先使该位为“1”。

WEL:控制寄存器和内部的EEPROM的写入控制位。在对它们进行写操作时,必须先使该位为“1”。但是要对它进行写,先要写RWE1位为“1”,即先写“02H”到状态寄存器,再写“06H”到状态寄存器才可以。

RTCF:掉电标志位。当全部电源包括Vcc和VBACK失效后,该闰变为“1”;而在系统再次上电后,如果要对RTC进行第一次有效写操作,则应首先使该位为“0”。

2.2 计时精度调节原理

为了实现高精度的定时,X1288主要通过芯片内部的晶振补偿单元的数字微调寄存器和模拟微调寄存器来实现。这两个寄存器为非易失性的,掉电之后数据也不会丢失。数字微调寄存器(DTR)应用3位DTR2、DTR1、DTR0来调节每秒的计算次数和平均错误,获得更好的精度。其中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 应用

3.1 X1288与CPU连接的原理图

X1288与89C92的连接比较简单,如图3所示。有点要注意的是,在SCL、SDA和RESET引脚要接上拉电阻。

3.2 为实现高精度定时的PCB设计

由于X1288的晶振输入引脚X1的输入阻抗非常高,会从电路板上的其它电路中拾取高频信号;同时,输入引脚X2接晶振的另外一个引脚,它也是一个敏感节点。另外,高频的噪声信号能够从两个节点注入晶振电路,产生双倍的时钟或杂乱的时钟信号,严重影响定时器的精确定。因此,需要小心设计的电路的布线,以避免哭声信号的拾取。在设计中,连接到X1、X2的晶振引脚要尽可能的短,而且最好在晶振周围布上宽的地线,以减少噪声的侵入。但是,在X1、X2引脚边要避免布地线,以防止增加X1、X2引脚的输入负载电容。还有,在Vcc与地线之间一定要接上一个非极性的电容。典型的布线如图4所示。

3.3 软件介绍

X1288与CPU的接口方式,遵循标准的I2C总线协议格式。即首先主器件发出启动信号,其次是命令帧、地址帧和数据帧格式。所有的命令、数据和地址字节首先传输最高位。关于I2C总线的格式在各种论文中已有详细描述。以下是C51对X1288进行基本操作的程序。

(1)读X1288的程序

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) /*如果Sda=1;*/

temp=temp|0x01|; /*temp的最低位置1*/

上一页  [1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页