0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于飞利浦公司 PCF8583 I2C总线接口实时时钟芯片实现电压监测仪测量系统的设计方案

基于飞利浦公司 PCF8583 I2C总线接口实时时钟芯片实现电压监测仪测量系统的设计方案

来源: elecfans
2021-04-22
类别:工业控制
eye 29
文章创建人 拍明

原标题:基于PCF8583时钟芯片实现电压监测仪测量系统的设计方案

  引言

  电压监测统计仪是一种在线监测电网电压质量、统计每分钟瞬时电压、每分钟最大电压、每分钟最小电压以及平均电压、电压合格率、电压超上限率、电压超下限率等功能的仪表。从以上功能可得出,电压监测统计仪除了测量电压精度这一因素外,还有一重要因素就是时间的准确性。利用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口作为发送或接收数据信号。

  

基于PCF8583时钟芯片实现电压监测仪测量系统的设计


  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.4RD_NUM: LCALL ST

  SDA BIT P1.5MOV

  A, #0A0H

  year EQU 10HLCALL WRI

  month EQU 11HMOV A, #06H

  date EQU 12HLCALL WRI

  hours EQU 13HLCALL ST

  minutes EQU 14HMOV A, #0A1H

  seconds EQU 15HLCALL WRI

  weekday EQU 16H

  RD_BYTE: MOV R3, #8

  ⑵ 校准写时钟数据SETB SDA

  WR_NUMBER: LCALL STRD_BYTE1: NOP

  MOV A, #0A0HSETB SCL

  LCALL WRIMOV C, SDA

  MOV A , #00HRLC A

  LCALL WRICLR SCL

  MOV A, #80HDJNZ R3, RD_BYTE1

  LCALL WRI LCALL STOP

  MOV A , secondsRET

  LCALL WRI?&nb

  sp;⑷ 写一个字节数据

  mov a , minutesWRI: MOV R3, #8

  lcall wriWRI1: RLC A

  MOV A , hoursMOV SDA , C

  ANL A , #3FHSETB SCL

  MOV hours , ANOP

  lcall wriCLR SCL

  MOV A , YEARDJNZ R3, WRI1

  SWAP ASETB SDA

  RL ASETB SCL

  RL ANOP

  ORL A , DATECLR SCL

  lcall wriRET

  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 SCLSETB SCL

  CLR SDASETB SDA

  CLR SCLNOP

  RETRET

  6 、结束语

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


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案