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

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

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved