上一篇文章当中,我为大家介绍了爱普生公司的实时时钟模块,以及它内部的数字式TCXO晶振,从中可以看出实时时钟对人们生活的影响有多大,而且时刻存在着。但这点基础知识是远远不够让人充分的了解,因此接下来,我会详细的说明两种不同的实时时钟模块的高精准度对时方案,并且是以1秒时间的调节为例。4803和8803是爱普生晶振公司两大实时时钟模块产品,过程中会用这两款做为参照。
4803系列与8803系列爱普生晶振公司实时时钟模块可使用以下两种方法,对低于1秒的时间进行高精度调节:
1.使用RESET位对时:应用软件的对时方法
2.使用ERST位对时:应用硬件的对时方法
下文详细说明使用上述两种对时方法相关的寄存器、重置的动作及设定例。使用上述方法之前,务必先从外部输入已同步的时
间信息。
1.使用RESET位对时例
以软件进行的RESET位对时可通过操作实时时钟模块的寄存器调节时间。除了4803系列与8803系列以外,很多爱普生晶振公司的实时时钟模块产品采用了该手法。
·关联寄存器
●4803系列(Bank1、2)
●8803系列(Bank1、2)
·RESET位与动作说明(含时序图例)
RESET位设定为“1”后,计时电路的低于1秒的计时器将在命令结束时被重置。欲在特定时间开始准确计时时,可在设定时间后进行重置,之后将每秒更新秒位计时器。
·使用RESET位的注意点
RESET位在下列前提条件之下执行动作:
只将RESET位设定为“1”,计时器不停止(继续计时);
重置与其它命令相对独立,单独动作。写入RESET位后,命令输入结束后低于1秒的计时器被重置。
执行重置时不清除进位信息,为此请在设定秒寄存器后不到1秒的时间内重置低于1秒的计时器;
2.使用ERST位对时例
以硬件进行的ERST位对时可事先设定寄存器后输入事件信号,以此调节时间。该方法与之前说明的使用RESET位对时相比,不会因软件处理时间而产生时间偏差,因此能够以更准确的时间实现同步。
·关联寄存器
●4803系列(Bank3)
●8803系列(Bank3)
·ERST位与动作说明(含时序图例)
ERST位设定为“1”后,计时电路的低于1秒的计时器将在检测出输入EVIN端子的外部事件的同时被重置。欲在特定时间开始准确计时时,可在设定时间后向EVIN端子输入事件,之后将每秒更新秒位计时器。EHL位为“0”时,向EVIN端子输入信号的事件检测结果为低电平;EHL位为“1”时则检测出高电平(*a)。以下是EHL位设定为“1”(检测出高电平)时的动作例。
·使用ERST位的注意点
ERST位在下列前提条件之下执行动作:
只将ERST位设定为“1”,计时器不停止(继续计时);
ERST与其它命令相对独立,单独动作。写入ERST位后,输入事件时低于1秒的计时器被重置;执行ERST时不清除进位信息,为此请在设定秒寄存器后不到1秒的时间内重置低于1秒的计时器;
将ERST位设定为“1”后,只要在事件发生之前将ERST位设定为“0”,就可使ERST功能失效。(*a)进行高精度对时时的信号检测不去除输入切跳,但最小脉冲宽度保持时间必须达到367微秒以上,以便在内部时钟实现计时动作和EVIN端子输入的同步。
·使用ERST位的高精度对时设定例
时间与日历的设定例【设定值:2014年4月18日[周五]15:30:00】
*1)ERST位为“1”时低于1秒的计时器进入重置待命状态,又进入等待外部事件输入的状态。
*2)、*3)数据是二进制编码十进制。
*4)查看写入的数据,确认是否写入了需要的数据(可省略)。
*5)当EVIN端子输入所需的外部事件时,低于1秒计时器被重置。
不受ET0和ET1位所设定的去除EVIN端子输入切跳的设定所限,将立即执行计时器的重置(但受内部元件延误的影响将产生几十毫微秒的延误)。