精密时钟ISL1208及其在系统中的应用
发布时间:2008/5/28 0:00:00 访问次数:1071
isl1208是intersil公司的一款低功耗实时时钟集成电路,为用户提供了 2个字节的静态存储器。它要求外置一个32.768 khz的晶体振荡器以提供振荡源;提供i2c总线接口以方便与微处理器通信,最高传输速率达400 khz。专用的寄存器用于寄存时、分、秒、年、月、日和星期。日历的有效范围值为2000~2099年,且能自动识别闰年。
与其他类型的实时时钟电路相比,isl1208的突出优点在于:
①频率补偿功能。晶振频率的准确性关系到整个实时时钟的准确性,20 ppm的频率误差在一个月内将会累计产生1 min的误差。晶体振荡器在不同的环境温度下均会产生频率漂移,为此必须根据不同的环境温度对实际工作频率进行补偿以确保振荡信号的准确性。isl1208采用数字式的电容容量调整方式,对晶振频率进行修正,修正范围达-94~+140 ppm。
②备用电源自动切换功能。无需增加额外的元器件就可以在正常工作电源与备用电源之间进行切换。备用电源可以是可充电电池,也可以是大容量电容。
③超低功耗。isl1208在5 v供电下的典型工作电流仅为2μa,一个0.47 f的电容可以维持其正常工作一个月的时间。
x1和x2为内部反相放大器的输入和输出引脚。外置的32.768 khz晶体振荡器连接到x1和x2,以产生实时时钟的基本振荡信号。vbat为备用电源提供端,当vdd电源失效时,vrat端的备用电源立即生效;在外部供电中断的情况下,内部的时钟信号产生电路依旧可以正常工作。sda和scl为连接到i2c总线的两个引脚。sda是开漏输出结构,可双向输入和输出,用于传输串行数据信号;scl为i2c总线上的时钟信号线。irq/fout是一个多功能引脚,通过对配置寄存器的设定,可以定义其为中断输出或固定频率输出端。vdd和gnd分别为电源端和地,isl1208的工作电压为2.0~5.5 v。
2 寄存器描述
isl1208在i2c总线上的器件地址为1101111x,器件内共有20个子地址分别对应于20个寄存器。实时时钟占用00h~06h,控制与状态寄存器占用07h~obh,报警寄存器占用0ch~11h,用户sram占用12h和13h。任何一个寄存器的内容既可以读,也可以写;可以采用单字节读写,也可以采用页地址读写。在对实时时钟寄存器进行写之前,要确保状态寄存器的wrtc位置1。以页为单位读写时,一次不能超过一个区段,例如连续读了7个字节的时钟寄存器之后,不能继续读控制与状态寄存器。表1列出了实时时钟寄存器、控制与状态寄存器的地址和内容。
实时时钟的数字形式为bcd码,例如26日,在03h单元中的数值为26h。在06h单元中,星期日对应于数值00h,星期一到星期六对应于01h~06h。在02h单元中,如果mil位为1,则表示02h单元保存的小时数值为24小时制;如果为0,则表示为12小时制,此时hr21为上/下午的标志位,1代表下午,0代表上午。
3 接口技术
isl1208与单片机的典型接口电路。单片机采用winbond公司的78e58,它在i2c总线上为主器件,isl1208和lm75a为从器件。p10和p11脚分别模拟i2c总线的sda和scl。lm75a是i2c总线的数字温度传感器,在此实时时钟电路的应用中并非是必需的。在需要根据环境温度对晶振频率进行补偿的场合,则需要一个温度传感器来检测环境温度。
sda和scl必须对电源有上拉电阻。当外部电源供电正常时,主电源+5 v通过二极管d1对电容c1进行充电。当主电源电压比后备电源的电压至少低50 mv且主电源电压低于2.2 v时,后备电源开始向isl1208供电。将isl1208的irq/fout输出设定为固定的方波输出,频率设定为1hz。将该信号连接到单片机的中断输入端int1,每产生一次中断表明实时时钟刷新了一次,中断周期为1 s。
4 接口软件
isl1208完全符合i2c总线的通信规范。winbond 78e58没有i2c接口,因此用普通的i/o口采用软件的方式模拟i2c通信。在此应用中它是主器件,由它发起总线传输并提供时钟信号。在任何应用场合,isl1208始终是从器件。
5 注意事项
①在过高或过低的环境温度下,需要对振荡器的频率进行补偿。一般情况下,晶振频率在28℃时的频率偏差为0,高于或低于该温度均会产生频率漂移。漂移的程度与(实际温度-28℃)2成正比。例如在50℃和0℃情况下,频率漂移均约为-20 ppm。因此在要求高精度实时时钟的应用场合,必须要对因温度产生的频率漂移进行修正。修正的方法是,根据实际温度与28℃的差值大小设定atr和dtr的值,这两个寄存器可以共同提供-94~+140 ppm的修正范围。
②抗干
isl1208是intersil公司的一款低功耗实时时钟集成电路,为用户提供了 2个字节的静态存储器。它要求外置一个32.768 khz的晶体振荡器以提供振荡源;提供i2c总线接口以方便与微处理器通信,最高传输速率达400 khz。专用的寄存器用于寄存时、分、秒、年、月、日和星期。日历的有效范围值为2000~2099年,且能自动识别闰年。
与其他类型的实时时钟电路相比,isl1208的突出优点在于:
①频率补偿功能。晶振频率的准确性关系到整个实时时钟的准确性,20 ppm的频率误差在一个月内将会累计产生1 min的误差。晶体振荡器在不同的环境温度下均会产生频率漂移,为此必须根据不同的环境温度对实际工作频率进行补偿以确保振荡信号的准确性。isl1208采用数字式的电容容量调整方式,对晶振频率进行修正,修正范围达-94~+140 ppm。
②备用电源自动切换功能。无需增加额外的元器件就可以在正常工作电源与备用电源之间进行切换。备用电源可以是可充电电池,也可以是大容量电容。
③超低功耗。isl1208在5 v供电下的典型工作电流仅为2μa,一个0.47 f的电容可以维持其正常工作一个月的时间。
x1和x2为内部反相放大器的输入和输出引脚。外置的32.768 khz晶体振荡器连接到x1和x2,以产生实时时钟的基本振荡信号。vbat为备用电源提供端,当vdd电源失效时,vrat端的备用电源立即生效;在外部供电中断的情况下,内部的时钟信号产生电路依旧可以正常工作。sda和scl为连接到i2c总线的两个引脚。sda是开漏输出结构,可双向输入和输出,用于传输串行数据信号;scl为i2c总线上的时钟信号线。irq/fout是一个多功能引脚,通过对配置寄存器的设定,可以定义其为中断输出或固定频率输出端。vdd和gnd分别为电源端和地,isl1208的工作电压为2.0~5.5 v。
2 寄存器描述
isl1208在i2c总线上的器件地址为1101111x,器件内共有20个子地址分别对应于20个寄存器。实时时钟占用00h~06h,控制与状态寄存器占用07h~obh,报警寄存器占用0ch~11h,用户sram占用12h和13h。任何一个寄存器的内容既可以读,也可以写;可以采用单字节读写,也可以采用页地址读写。在对实时时钟寄存器进行写之前,要确保状态寄存器的wrtc位置1。以页为单位读写时,一次不能超过一个区段,例如连续读了7个字节的时钟寄存器之后,不能继续读控制与状态寄存器。表1列出了实时时钟寄存器、控制与状态寄存器的地址和内容。
实时时钟的数字形式为bcd码,例如26日,在03h单元中的数值为26h。在06h单元中,星期日对应于数值00h,星期一到星期六对应于01h~06h。在02h单元中,如果mil位为1,则表示02h单元保存的小时数值为24小时制;如果为0,则表示为12小时制,此时hr21为上/下午的标志位,1代表下午,0代表上午。
3 接口技术
isl1208与单片机的典型接口电路。单片机采用winbond公司的78e58,它在i2c总线上为主器件,isl1208和lm75a为从器件。p10和p11脚分别模拟i2c总线的sda和scl。lm75a是i2c总线的数字温度传感器,在此实时时钟电路的应用中并非是必需的。在需要根据环境温度对晶振频率进行补偿的场合,则需要一个温度传感器来检测环境温度。
sda和scl必须对电源有上拉电阻。当外部电源供电正常时,主电源+5 v通过二极管d1对电容c1进行充电。当主电源电压比后备电源的电压至少低50 mv且主电源电压低于2.2 v时,后备电源开始向isl1208供电。将isl1208的irq/fout输出设定为固定的方波输出,频率设定为1hz。将该信号连接到单片机的中断输入端int1,每产生一次中断表明实时时钟刷新了一次,中断周期为1 s。
4 接口软件
isl1208完全符合i2c总线的通信规范。winbond 78e58没有i2c接口,因此用普通的i/o口采用软件的方式模拟i2c通信。在此应用中它是主器件,由它发起总线传输并提供时钟信号。在任何应用场合,isl1208始终是从器件。
5 注意事项
①在过高或过低的环境温度下,需要对振荡器的频率进行补偿。一般情况下,晶振频率在28℃时的频率偏差为0,高于或低于该温度均会产生频率漂移。漂移的程度与(实际温度-28℃)2成正比。例如在50℃和0℃情况下,频率漂移均约为-20 ppm。因此在要求高精度实时时钟的应用场合,必须要对因温度产生的频率漂移进行修正。修正的方法是,根据实际温度与28℃的差值大小设定atr和dtr的值,这两个寄存器可以共同提供-94~+140 ppm的修正范围。
②抗干