时钟芯片在电压监测仪校验装置中的应用

2007-06-14 10:25:35来源: 微计算机信息

0 引言

电压监测统计仪是一种在线监测电网电压质量、统计每分钟瞬时电压、每分钟最大电压、每分钟最小电压以及平均电压、电压合格率、电压超上限率、电压超下限率等功能的仪表。从以上功能可得出,电压监测统计仪除了测量电压精度这一因素外,还有一重要因素就是时间的准确性。利用PCF8583串行时钟芯片成功的应用在电压监测仪校验装置中,既实现了电压的可程控信号输出,从而可测量电压监测统计仪的电压精度指标,又实现了一个标准时钟,从而可对电压监测统计仪的时间进行比对,实现校准。

1 PCF8583的基本功能特点

PCF8583是飞利浦公司推出的I2C总线接口实时时钟芯片,它可独立于CPU工作,不受CPU主晶振及共电容的影响,且计时准确。具有4年日历时钟,12或24小时格式,时基可用32.768KHz或50Hz,带可编程的闹钟,定时和中断功能的日历时钟芯片。芯片具有体积小、硬件连线少、带有256字节的静态RAM等特点。对于PCF8583在电压监测仪校验装置中的应用,主要是用它的实时时钟计数功能,以及标准脉冲输出功能。

2?PCF8583的寄存器结构

在时钟方式下,PCF8583中的寄存器结构地址分配为:00H~07H为时间寄存器地址编码; 08H~0FH为定时器起闹寄存器地址编码,作起闹时间或通用RAM之用;10H~FFH为通用静态RAM。其中00H为控制状态寄存器,01H为1/100秒寄存器,02H为秒寄存器,03H为分寄存器,04H为时寄存器,05H为年/日寄存器,06H为星期/月寄存器,07H为定时寄存器。有关控制寄存器、时寄存器、年/日寄存器、星期/月寄存器的内部格式详述如下:

  数据格式为:

  ⑴ 控制寄存器(00H)

   D7位:计数、停止计数位。D7=0,启动对脉冲计数;D7=1,停止计数。

   D6位:保持最新计数位。D6=0,计数;D6=1,保持和存储最新计数值到捕捉寄存器中。

   D5D4位:功能方式选择位。D5D4=00,选择32.768KHz时钟方式。

               D5D4=01,选择50Hz时钟方式。

               D5D4=10,事件计数方式。

               D5D4=11,测试方式。

   D3位:标志位。D3=0,读05H、06HRAM单元时不屏蔽。

          D3=1,对05H、06HRAM单元只读出月、日计数值。

   D2位:起闹使能位。D2=0,不能起闹;D2=0,允许起闹寄存器使能。

   D1位:起闹标志位。D1=0,占空比为50%的分标志 。

   D0位:定时器标志位。D0=0,占空比为50%的秒标志 。

  ⑵ 时寄存器(04H)

   D7位:计时格式。D7=0,24小时制,AM、PM标志不变。

   D7=1,12小时制,AM、PM标志更新。

   D6位:上午(AM)、下午(PM)标志。D6=0,AM;D6=1,PM。

   D5D4位:钟点十位(二进制0~2)。

   D3D2D1D0位:钟点个位(BCD码)。

  ⑶ 年/日寄存器(05H)

  D7D6位:年份(二进制0~3)。

  D5D4位:日期十位(二进制0~3)。

  D3D2D1D0位:日期个位(BCD码0~9)。

  ⑷ 星期/月寄存器(06H)

  D7D6D5位:星期(二进制0~6)。

  D4位:月份十位( 0~1)。

  D3D2D1D0位:月份个位(BCD码0~9)。

3 硬件接口电路

PCF8583作为I2C总线接口芯片,采用二线通信传输方式。即主要通过时钟线SCL和数据线SDA进行双向传输。由于I2C总线是同步串行数据传输总线,其内部为双向传输电路,端口输出为开漏结构,故总线上必须有上拉电阻,通常可取5~10KΩ。PCF8583与AT89C52单片机的硬件接口电路如图1所示。采用了内带恒温槽、高稳定度的DS32KHz标准晶体振器,代替了使用32.768KHz普通晶振的方案。虽然这二种方案都能产生PCF8583时钟芯片所需要的频率,但是利用DS32KHz产生的晶振频率精度为±1分钟/年。而PCF8583时钟芯片时间的准确性完全取决于晶振频率的准确稳定性。因此,经过图1电路改进后的方案确保了电压监测仪校验装置的时间标准,同时还可把32.768KHz频率输出,作为利用比较法校验电压监测统计仪的标准脉冲。由于考虑到PCF8583内部不带锂离子电池,故外带锂离子电池来保证PCF8583的时钟供电。图1中R1和R2为I2C总线所需要的上拉电阻。P1.4口作为发送时钟信号,P1.5口作为发送或接收数据信号。

4 PCF8583接口程序设计格式

4.1 PCF8583I2C总线上的信号说明

由于PCF8583为I2C总线接口芯片,因此它的数据操作格式是完全按照I2C总线上的信号读、写操作进行的。其中,I2C总线上的信号如图2所示。启动信号(S)出现在时钟脉冲SCL为高电平,且数据线SDA由高电平到低电平的变化时;停止信号(P)出现在时钟脉冲SCL为高电平,且数据线SDA由低电平到高电平的变化时;应答信号(A)出现在I2C总线上的第9个时钟脉冲SCL为高电平,且相应的数据线SDA为低电平时;非应答信号(/A)出现在I2C总线上的第9个时钟脉冲SCL为高电平,且相应的数据线SDA为高电平时;数据位传送为I2C总线启动后或应答信号启动后的第1~8个时钟脉冲所对应的一个字节的8位数据传送。数据传送按照先高后低位的原则进行读或写

4.2 PCF8583读、写操作格式

PCF8583一次数据操作格式包括起始信号(S)、发送读或写寻址字节、 应答信号、发送数据字节、应答信号……直到发送停止信号(P)。在本文应用中,是按以下两种操作格式来编写程序的。

⑴ PCF8583 写操作格式

PCF8583 写操作格式如下所示,是指从指定单元首地址(word address)开始依次写入几个字节数据。其中slave address1为PCF8583器件写地址,date1~daten为n个字节数据。

⑵ PCF8583 读操作格式

PCF8583 读操作格式如下所示,先写入要读出的n个字节数据存入指定单元首地址(word address)开始的RAM单元中,然后才开始读数据,其中slave address2为PCF8583器件读地址。



5 PCF8583软件编程

根据图1所示的接口电路,PCF8583的写地址为#0A0H,读地址为#0A1H。在对PCF8583进行数据写入时,应先将日历时钟信息存放于单片机内部从10H开始的8个RAM单元,而从PCF8583读出的数据同样需存放在其中。下面是根据图1电路编制的读写PCF8583时钟的部分软件:

  ⑴ 变量定义              ⑶ 读时钟数据

  SCL BIT P1.4             RD_NUM: LCALL ST

  SDA BIT P1.5             MOV

A, #0A0H

 year EQU 10H             LCALL WRI

  month EQU 11H            MOV A, #06H

  date EQU 12H             LCALL WRI

  hours EQU 13H             LCALL ST

  minutes EQU 14H            MOV A, #0A1H

  seconds EQU 15H            LCALL WRI

  weekday EQU 16H

  RD_BYTE: MOV R3, #8

⑵ 校准写时钟数据             SETB SDA

  WR_NUMBER: LCALL ST        RD_BYTE1: NOP

  MOV A, #0A0H             SETB SCL

  LCALL WRI               MOV C, SDA

  MOV A , #00H             RLC A

  LCALL WRI               CLR SCL

  MOV A, #80H             DJNZ R3, RD_BYTE1

  LCALL WRI LCALL STOP

  MOV A , seconds           RET

  LCALL WRI?&nb

sp;         ⑷ 写一个字节数据

 mov a , minutes           WRI: MOV R3, #8

  lcall wri               WRI1: RLC A

  MOV A , hours            MOV SDA , C

  ANL A , #3FH            SETB SCL

  MOV hours , A            NOP

  lcall wri               CLR SCL

  MOV A , YEAR            DJNZ R3, WRI1

  SWAP A               SETB SDA

  RL A                 SETB SCL

  RL A                 NOP

  ORL A , DATE            CLR SCL

  lcall wri               RET

  MOV A , WEEKDAY

  SWAP A

  RL A

  ORL A , month

  lcall wri

  LCALL STOP

  RET

  ⑸ 启动I2C总线           ⑹ 停止I2C总线

  ST:&nbs

p; SETB SDA        STOP: CLR SDA

  SETB SCL             SETB SCL

  CLR SDA              SETB SDA

  CLR SCL              NOP

  RET                 RET

6 结束语

本文阐述的PCF8583时钟芯片,应用于单相电压监测仪校验装置,该装置是江西省2003年科技厅重点科技计划课题,编号为10220221,已于2005年6月完成科技成果鉴定。本文在阐述了PCF8583的基本功能特点、寄存器结构的基础上,给出了PCF8583的硬件接口电路、程序设计格式以及相应的接口软件。本文作者创新点是采用了内带恒温槽、高稳定度的DS32KHz晶体振荡器,给PCF8583时钟芯片提供稳定的频率信号,从而实现了标准时钟。虽然采用GPS全球定位系统同样可实现标准时钟,但是它的价格高。因此,本文这种方案的应用是一个提高了产品性价比的成功例子,值得推广。

参考文献

[1]. 何立民著 I2C总线应用系统设计 北京:航空航天大学出版社,1995.
[2]. 寿佳宇,陆阳,张维勇,吴仁炳. 给Lon Works节点加上曰历时钟[J]. 微计算机信息, 1999,4-1:16-18.
[3]. 菅力锐,魏丽娜.自动校时实时曰历时钟的设计[J]. 微计算机信息 ,1999,6-1:44-4

关键字:总线  接口  晶振  静态

编辑: 引用地址:http://www.eeworld.com.cn/Test_and_measurement/zhzx/200706/1716.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
总线
接口
晶振
静态

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved