85历时钟芯片原理及应用设计.docx

上传人:b****8 文档编号:10949909 上传时间:2023-02-23 格式:DOCX 页数:23 大小:51.77KB
下载 相关 举报
85历时钟芯片原理及应用设计.docx_第1页
第1页 / 共23页
85历时钟芯片原理及应用设计.docx_第2页
第2页 / 共23页
85历时钟芯片原理及应用设计.docx_第3页
第3页 / 共23页
85历时钟芯片原理及应用设计.docx_第4页
第4页 / 共23页
85历时钟芯片原理及应用设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

85历时钟芯片原理及应用设计.docx

《85历时钟芯片原理及应用设计.docx》由会员分享,可在线阅读,更多相关《85历时钟芯片原理及应用设计.docx(23页珍藏版)》请在冰豆网上搜索。

85历时钟芯片原理及应用设计.docx

85历时钟芯片原理及应用设计

PCF8563日历时钟芯片原理及应用设计

一、概述

PCF8563是PHILIPS公司推出的一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟/日历芯片。

PCF8563的多种报警功能、定时器功能、时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。

内部时钟电路、内部振荡电路、内部低电压检测电路(1.0V)以及两线制I2C总线通讯方式,不但使外围电路及其简洁,而且也增加了芯片的可靠性。

同时每次读写数据后,内嵌的字地址寄存器会自动产生增量。

当然作为时钟芯片,PCF8563亦解决了2000年问题。

因而,PCF8563是一款性价比极高的时钟芯片,它已被广泛用于电表、水表、气表、电话、传真机、便携式仪器以及电池供电的仪器仪表等产品领域。

特性

●宽电压范围1.0~5.5V,复位电压标准值Vlow=0.9V;

●超低功耗:

典型值为0.25μA(VDD=3.0V,Tamb=25℃);

●可编程时钟输出频率为:

32.768KHz、1024Hz、32Hz、1Hz;

●四种报警功能和定时器功能;

●内含复位电路、振荡器电容和掉电检测电路;

●开漏中断输出;

●400kHzI2C总线(VDD=1.8—5.5V),其从地址:

读,0A3H;写,0A2H。

PCF8563的管脚排列及描述如图1及表1所示。

表1PCF8563管脚描述

符号

管脚号

描述

OSCI

1

振荡器输入

OSCO

2

振荡器输出

/INT

3

中断输出(开漏;低电平有效)

VSS

4

SDA

5

串行数据I/O

SCL

6

串行时钟输入

CLKOUT

7

时钟输出(开漏)

VDD

8

正电源

图1PCF8563管脚排列图

 

二、PCF8563的基本原理

PCF8563有16个8位寄存器:

一个可自动增量的地址寄存器,一个内置32.768KHz的振荡器(带有一个内部集成的电容),一个分频器(用于给实时时钟RTC提供源时钟),一个可编程时钟输出,一个定时器,一个报警器,一个掉电检测器和一个400KHzI2C总线接口。

所有16个寄存器设计成可寻址的8位并行寄存器,但不是所有位都有用。

前两个寄存器(内存地址00H,01H)用于控制寄存器和状态寄存器,内存地址02H~08H用于时钟计数器(秒~年计数器),地址09H~0CH用于报警寄存器(定义报警条件),地址0DH控制CLKOUT管脚的输出频率,地址0EH和0FH分别用于定时器控制寄存器和定时器寄存器。

秒、分钟、小时、日、月、年、分钟报警、小时报警、日报警寄存器,编码格式为BCD,星期和星期报警寄存器不以BCD格式编码。

当一个RTC寄存器被读时,所有计数器的内容被锁存,因此,在传送条件下,可以禁止对时钟/日

历芯片的错读。

1.报警功能模式

一个或多个报警寄存器MSB(AE=AlarmEnable报警使能位)清0时,相应的报警条件有效,这样,一个报警将在每分钟至每星期范围内产生一次。

设置报警标志位AF(控制/状态寄存器2的位3)用于产生中断,AF只可以用软件清除。

2.定时器

8位的倒计数器(地址0FH)由定时器控制寄存器(地址0EH,参见表23)控制,定时器控制寄存器用于设定定时器的频率(4096,64,1,或1/60Hz),以及设定定时器有效或无效。

定时器从软件设置的8位二进制数倒计数,每次倒计数结束,定时器设置标志位TF(参见表5),定时器标志位TF只可以用软件清除,TF用于产生一个中断(/INT),每个倒计数周期产生一个脉冲作为中断信号。

TI/TP(参见表5)控制中断产生的条件。

当读定时器时,返回当前倒计数的数值。

3.CLKOUT输出

管脚CLKOUT可以输出可编程的方波。

CLKOUT频率寄存器(地址0DH;参见表21)决定方波的频率,CLKOUT可以输出32.768KHz(缺省值),1024,32,1Hz的方波。

CLKOUT为开漏输出管脚,上电时输出有效,无效时输出为高阻抗。

4.复位

PCF8563包含一个片内复位电路,当振荡器停止工作时,复位电路开始工作。

在复位状态下,I2C总线初始化,寄存器TF、VL、TD1、TD0、TESTC、AE被置逻辑1,其它的寄存器和地址指针被清0。

5.掉电检测器和时钟监控

PCF8563内嵌掉电检测器(如图2所示),当VDD低于Vlow时,位VL(VoltageLow,秒寄存器的位7)被置1,用于指明可能产生不准确的时钟/日历信息,VL标志位只可以用软件清除.当VDD慢速降低(例如以电池供电)达到Vlow时,标志位VL被设置,这时可能会产生中断。

图2掉电检测

6.PCF8563内部寄存器

PCF8563共有16个寄存器,其中00H~01H为控制方式寄存器、09H~0CH为报警功能寄存器、0DH为时钟输出寄存器、0EH和0FH为定时器功能寄存器、02H~08H为秒~年时间寄存器。

各寄存器的位描述如表2及3.14所示。

表2二进制格式寄存器概况

地址

寄存器名称

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

00H

控制/状态寄存器1

TEST1

0

STOP

0

TESTC

0

0

0

01H

控制/状态寄存器2

0

0

0

TI/TP

AF

TF

AIE

TIE

0DH

CLKOUT输出寄存器

FE

FD1

FD0

0EH

定时器控制寄存器

TE

TD1

TD0

0FH

定时器倒计数

数值寄存器

定时器倒计数数值(二进制)

表3BCD格式寄存器概况

地址

寄存器名称

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

02h

VL

00~59BCD码格式数

03h

分钟

00~59BCD码格式数

04h

小时

00~59BCD码格式数

05h

01~31BCD码格式数

06h

星期

0~6

07h

月/世纪

C

01~12BCD码格式数

08h

00~99BCD码格式数

09h

分钟报警

AE

00~59BCD码格式数

0Ah

小时报警

AE

00~23BCD码格式数

0BH

日报警

AE

01~31BCD码格式数

0CH

星期报警

AE

0~6

注:

标明“-”的位无效

(1)控制/状态寄存器1

表4控制/状态寄存器1位描述(地址00H)

Bit

符号

描述

7

TEST1

TEST1=0,普通模式;TEST1=1,EXT_CLK测试模式

5

STOP

STOP=0,芯片时钟运行;STOP=1,所有芯片分频器异步置逻辑0。

芯片时钟停止运行(CLKOUT在32.768kHz时可用)

3

TESTC

TESTC=0,电源复位功能失效(普通模式时置逻辑0)

TESTC=1,电源复位功能有效

6,4,2,1,0

0

缺省值置逻辑0

(2)控制/状态寄存器2

表5控制/状态寄存器2位描述(地址01H)

Bit

符号

描述

7,6,5

0

缺省值置逻辑0

4

TI/TP

TI/TP=0:

当TF有效时INT有效(取决于TIE的状态)TI/TP=1:

INT脉冲有效,参见表6(取决于TIE的状态)。

注意:

若AF和AIE都有效时,则INT一直有效

3

AF

当报警发生时,AF被置逻辑1;在定时器倒计数结束时,TF被置逻辑1,它们在被软件重写前一直保持原有值,若定时器和报警中断都请求时,中断源由AF和TF决定,若要使清除一个标志位而防止另一标志位被重写,应运用逻辑指令AND,标志位AF和TF值描述参见表7

2

TF

1

AIE

标志位AIE和TIE决定一个中断的请求有效或无效,当AF或TF中一个为“1”时中断是AIE和TIE都置“1”时的逻辑或。

AIE=0,报警中断无效;AIE=1,报警中断有效

TIE=0,定时器中断无效;TIE=1,定时器中断有效

0

TIE

 

表6/INT操作(bitTI/TP=1)

源时钟

(Hz)

/INT周期

n=1

n>1

4096

1/8192

1/4096

64

1/128

1/64

1

1/64

1/64

1/60

1/64

1/64

注1.TF和/INT同时有效

注2.n为倒计数定时器的数值,当n=0时定时器停止工作。

表7AF和TF值描述

R/W

Bit:

AF

Bit:

TF

描述

描述

Read读

0

1

报警标志无效

报警标志有效

0

1

定时器标志无效

定时器标志有效

Write写

0

1

报警标志被清除

报警标志保持不变

0

1

定时器标志被清除

定时器标志保持不变

(3)秒、分钟和小时寄存器

表8秒/VL寄存器位描述(地址02H)

Bit

符号

描述

7

VL

VL=0:

保证准确的时钟/日历数据

VL=1:

不保证准确的时钟/日历数据

6~0

<秒>

代表BCD格式的当前秒数值,值为00~99

例如:

<秒>=1011001,代表59秒

表9分钟寄存器位描述(地址03H)

Bit

符号

描述

7

无效

6~0

<分钟>

代表BCD格式的当前分钟数值,值为00~59

表10小时寄存器位描述(地址04H)

Bit

符号

描述

7~6

无效

5~0

<小时>

代表BCD格式的当前小时数值,值为00~23

(4)日、星期、月/世纪和年寄存器

表11日寄存器位描述(地址05H)

Bit

符号

描述

7~6

无效

5~0

<日>

代表BCD格式的当前日数值,值为01~31。

当年计数器的值是闰年时,PCF8563自动给二月增加一个值,使其成为29天

表12星期寄存器位描述(地址06H)

Bit

符号

描述

7~3

无效

2~0

<星期>

代表当前星期数值0~6,参见表13,这些位也可由用户重新分配

表13星期分配表

日(Day)

Bit2

Bit1

Bit0

星期日

0

0

0

星期一

0

0

1

星期二

0

1

0

星期三

0

1

1

星期四

1

0

0

星期五

1

0

1

星期六

1

1

0

表14月/世纪寄存器位描述(地址07H)

Bit

符号

描述

7

C

世纪位;C=0指定世纪数为20××,C=1指定世纪数为19××,“××”为年寄存器中的值,参见表16。

当年寄存器中的值由99变为00时,世纪位会改变

6~5

无用

4~0

<月>

代表BCD格式的当前月份,值为01~12;参见表15

表15月分配表

月份

Bit4

Bit3

Bit2

Bit1

Bit0

一月

0

0

0

0

1

二月

0

0

0

1

0

三月

0

0

0

1

1

四月

0

0

1

0

0

五月

0

0

1

0

1

六月

0

0

1

1

0

七月

0

0

1

1

1

八月

0

1

0

0

0

九月

0

1

0

0

1

十月

1

0

0

0

0

十一月

1

0

0

0

1

十二月

1

0

0

1

0

表16年寄存器位描述(地址08H)

Bit

符号

描述

7~0

<年>

代表BCD格式的当前年数值,值为00~99

(5)报警寄存器

向一个或多个报警寄存器写入合法的分钟、小时、日或星期数值并且它们相应的AE(AlarmEnable)位为逻辑0,当这些数值与当前的分钟、小时、日或星期数值相等,标志位AF(AlarmFlag)被设置,AF保存设置值直到被软件清除为止,AF被清除后,只有在时间增量与报警条件再次相匹配时才可再被设置。

报警寄存器在它们相应位AE置为逻辑1时将被忽略。

表17分钟报警寄存器位描述(地址09H)

Bit

符号

描述

7

AE

AE=0,分钟报警有效;AE=1,分钟报警无效

6~0

<分钟报警>

代表BCD格式的分钟报警数值,值为00~59

表18小时报警寄存器位描述(地址0AH)

Bit

符号

描述

7AE

AE

AE=0,小时报警有效;AE=1,小时报警无效

6~0

<小时报警>

代表BCD格式的小时报警数值,值为00~23

表19日报警寄存器位描述(地址0BH)

Bit

符号

描述

7

AE

AE=0,日报警有效;AE=1,日报警无效。

6~0

<日报警>

代表BCD格式的日报警数值,值为00~31

表20星期报警寄存器位描述(地址0CH)

Bit

符号

描述

7

AE

AE=0,星期报警有效;AE=1,星期报警无效

6~0

<星期报警>

代表BCD格式的星期报警数值,值为0~6

(6)CLKOUT频率寄存器

表21CLKOUT频率寄存器位描述(地址0DH)

Bit

符号

描述

7

FE

FE=0,CLKOUT输出被禁止并设成高阻抗

FE=1,CLKOUT输出有效

6~2

无效

1

0

FD1

FD0

用于控制CLKOUT的频率输出管脚(fCLKOUT),

参见表22

表22CLKOUT频率选择表

FD1

FD0

fCLKOUT

FD1

FD0

fCLKOUT

0

0

32.768kHz

1

0

32Hz

0

1

1024Hz

1

1

1Hz

(7)倒计数定时器寄存器

定时器寄存器是一个8位字节的倒计数定时器,它由定时器控制器中位TE决定有效或无效,定时器的时钟也可以由定时器控制器选择,其它定时器功能,如中断产生,由控制/状态寄存器2控制。

为了能精确读回倒计数的数值,I2C总线时钟SCL的频率应至少为所选定定时器时钟频率的两倍。

表23定时器控制器寄存器位描述(地址0EH)

Bit

符号

描述

7

TE

TE=0,定时器无效;TE=1,定时器有效

6~2

无用

1

TD1

定时器时钟频率选择位,决定倒计数定时器的时钟频率,见表24,不用时TD1和TD0应设为“11”(1/60Hz),以降低电源损耗

0

TD0

表24定时器时钟频率选择

TD1

TD0

定时器时钟频率(Hz)

0

0

4096

0

1

64

1

0

1

1

1

1/60

表25定时器倒计数数值寄存器位描述(地址0FH)

Bit

符号

描述

7~0

<定时器倒计数数值>

倒计数数值“n”,

倒计数周期=n/时钟频率

7.EXT_CLK测试模式

 测试模式用于在线测试、建立测试模式和控制RTC的操作。

 测试模式由控制/状态寄存器1的位TEST1设定,这时CLKOUT管脚成为输入管脚。

在测试模式状态下,通过CLKOUT管脚输入的频率信号代替片内的64Hz频率信号,每64个上升沿将产生1秒的时间增量。

 

 注意:

进入EXT_CLK测试模式时时钟不与片内64Hz始终时钟同步,也确定不出预分频的状态。

操作举例

(1)进入EXT_CLK测试模式;设置控制/状态寄存器1的位7(TEST=1)。

(2)设置控制/状态寄存器1的位5(STOP=1)。

(3)清除控制/状态寄存器1的位5(STOP=0)。

(4)设置时间寄存器(秒、分钟、小时、日、星期、月/世纪和年)为期望值。

(5)提供32个时钟脉冲给CLKOUT。

(6)读时间寄存器观察第一次变化。

(7)提供64个时钟脉冲给CLKOUT。

(8)读时间寄存器观察第二次变化;需要读时间寄存器的附加增量时,重复步骤(7)和(8)。

8.电源复位(POR)替换模式

POR的持续时间直接与振荡器的起动时间有关。

一种内嵌的长时间起动的电路可使POR失效,这样可使设备测试加速。

这种模式的设定要求I2C总线管脚SDA和SCL的信号波形如图3所示,图中所有的时间值为所需的最小值。

当进入替换模式时,芯片立即停止复位,操作通过I2C总线进入EXT_CLK测试模式。

设置位TESTC逻辑0可消除替换模式,再次进入替换模式只有在设置TESTC为逻辑1后进行。

在普通模式时设置TESTC为逻辑0没有意义,除非想阻止进入POR替换模式。

图3POR时序图

9.石英晶片频率调整

方法

(1):

定值OSCI电容――计算所需的电容平均值,用此值的定值电容,通电后在CLKOUT管脚上测出的频率应为32.768kHz,测出的频率值偏差取决于石英晶片,电容偏差和器件之间的偏差(平均为±5×10-6)。

平均偏差可达5分钟/年。

方法

(2):

OSCI微调电容――可通过调整OSCI管脚的微调电容使振荡器频率达到精确值,这时可测出通电时管脚CLKOUT上的32.768kHz信号。

方法(3):

OSCI输出—直接测量管脚OSCI的输出。

三、PCF8563与单片机的接口软件及功能应用举例

按I2C总线协议规约,PCF8563有唯一的器件地址0A2H。

如图4所示为PCF8563应用电路原理图,下面首先给出基本的接口软件,然后举例说明各种功能应用。

注:

电容C3的取值范围为1~20pF。

图4PCF8563应用电路原理图

1.时钟的读取和写入

(1)读时钟:

下面的程序将秒~年共七个字节的时间信息读出并放入MRD为首址的接收缓冲区中。

注意,时间读出后需进行整理(屏蔽无效位)方能得出正确的信息。

RCV8563:

MOVSLA,#0A2H;取器件地址

MOVSUBA,#02H;取读时间的首字节地址(从秒开始读)

MOVNUMBYTE,#07H;读七个时间信息

LCALLIRDNBYTE;读取时间并放入接收缓冲区中

MOVA,MRD;取秒字节

ANLA,#7FH;屏蔽无效位

MOVMRD,A

MOVA,MRD+1;取分钟字节

ANLA,#7FH;屏蔽无效位

MOVMRD+1,A

MOVA,MRD+2.;取小时字节

ANLA,#3FH;屏蔽无效位

MOVMRD+2,A

MOVA,MRD+3;取天字节

ANLA,#3FH;屏蔽无效位

MOVMRD+3,A

MOVA,MRD+4;取星期字节

ANLA,#07H;屏蔽无效位

MOVMRD+4,A

MOVA,MRD+5;取月字节

ANLA,#1FH;屏蔽无效位

MOVMRD+5,A

RET

(2)写时钟:

下面的程序将2000年6月20日星期3下午3点(15点)59分30秒的时间写入PCF8563。

SEND8563:

ACALLLOAD8563;将时间装入发送缓冲区(MTD)中

MOVSLA,#0A2H;取器件地址

MOVSUBA,#00H;取写入寄存器的首字节地址(从00H开始写)

MOVNUMBYTE,#09H;写七个时间信息和2个控制命令

LCALLIWRNBYTE;写时间

RET

LOAD8563:

MOVMTD,#00H;启动时钟

MOVMTD+1,#1FH;设置报警及定时器中断,定时器中断为脉冲形式

MOVMTD+2,#30H;以下分别将秒至年的时间写入发送缓冲区中

MOVMTD+3,#59H

MOVMTD+4,#15H

MOVMTD+5,#20H

MOVMTD+6,#02H

MOVMTD+7,#06H

MOVMTD+8,#00H

RET

2.主要功能的应用

PCF8563是一多功能时钟芯片,必须谨慎的使用这些功能(其中最主要的就是正确的设置功能参数),否则会产生意外的错误。

下面给出一些可能会用到的设置程序。

(1)报警功能的设置

PCF8563共有四种报警方式,分别为小时报警(每小时的同一分钟时刻报警)、日报警(每天的同一小时时刻报警)、月报警(每月的同一天时刻报警)和星期报警(每星期的同一天时刻报警)。

发生报警时AF位变为1。

设置报警有效的方法是将相应报警寄存器的最高位AE置0。

若同时置AIE=1,则在AF置1的同时将在/INT引脚产生一个中断(低电平有效),清除中断信号的方法是软件清AF。

由此看出,AIE相当于单片机中的中断允许控制位,而AF相当于中断申请标志位。

例:

让PCF8563在每小时的30分钟时产生报警并在/INT端产生一个中断给单片机P87LPC764。

●取原控制信息(目的是不破坏原来的配置)

MOVSLA,#0A2H;取器件地址

MOVSUBA,#01H;取中断控制字节地址

MOVNUMBYTE,#01H

LCALLIRDNBYTE;读中断控制字节信息

RET

●中断配置

MOVA,MRD

ORLA,#02H;置AIE=1

MOVMTD,A

MOVSUBA,#01H;取中断控制字节地址

MOVNUMBYTE,#01H

LCALLIWRNBYTE;送中断控制字节命令

RET

●报警配置

MOVMTD,#30H;30分报警时刻送发送缓冲区(最高位AE为0,报警有效)

MOVSUBA,#09H;取小时报警控制字节地址

MOVNUMBYTE,#01H

LCALLIWRNBYTE;送报警信息

RET

以上配置完成后,即可在/INT脚产生中断信号,在软件清除AF位之前,该中断信号一直有效。

清除中断信号的程序如下:

●取原控制信息(目的是不破坏原来的配置)

MOVSLA,#0A2H;取器件地址

MOVSUBA,#01H;取中断控制字节地址

MOV

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1