微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于MSP430单片机时钟芯片RTC-4553温度误差软件补偿

基于MSP430单片机时钟芯片RTC-4553温度误差软件补偿

时间:02-16 来源:互联网 点击:

显示时间的方式,置1为24 小时方式,置0 为12小时方式显示,C2寄存器的BUSY为0时芯片为正常状态,可读可写,当为1时,芯片的时钟寄存器禁止读写。

上电时PONC=1,所有寄存器被初始化,时钟指向00/01/01/12:00:00,星期日。并且所有其他寄存器清零。

寄存器C3用于设定工作方式和系统复位标志。其中MS1和MS0设置工作方式,00、01

表示选中时间寄存器和C1 、C2、C3寄存器,10和11时表示选中用户RAM和C3寄存器。

对于时间寄存器和功能寄存器有不同的写操作方法。RTC-4553采用特殊的写指令数据写入,对第0页的0D~0FH及第1页、第2页的寄存器的操作采用常规写法,地址后面的数据将原样写入寄存器中,而对时间寄存器写操作指令只能将内部的内容加1,并自动完成转换,不能直接写入数据。芯片这种独特的设计,防止了时钟区数据被意外干扰出现非法数据的可能,这正是该芯片高可靠性的原因所在。图3为时间寄存器写时序。

WR 和CS0为0时,芯片为写状态。SIN的前4位是寄存器地址,随着SCK脚上的时钟变化,内部寄存器的数据将出现在SOUT输出端口上。数据在SCK上升沿输入,在下降沿输出。前4位是所选寄存器的地址,后4位是寄存器的数据,即时间值。一次操作完成后其内部的内容加1,这是该款时钟芯片的特殊操作所在。

在片选择中芯片,WR置高时,芯片处于读出状态,输入需要8个时钟,4个用来输入地址;输出数据也需要8个时钟,包括4个地址位4个数据位。数据在 SCK上升沿输入,在下降沿输出。寄存器的地址由SIN脚输入,页面由MS0、MS1决定。图4为读时序图。

2.2、软件部分

对于MSP430单片机,由TI 公司自带的嵌入式软件开发平台IAR EMBEDDED WORKBENCH。该软件可对开发系统进行在线调试,带有C 编译器,可采用编程效率很高,维护方便的C语言编程。

1、 MSP430单片机端口功能设置

通过MSP430的P1.1-P1.4和P3.0端口对RTC-4553时钟芯片进行控制和数据传递,其中P1.1端口用于 SIN,P1.4 用于SCK,P1.2用于CS,P1.3用于SOUT,P3.0用于WR。这些端口的设定是基于多费率电表其他功能模块的安排而确定。

2、 主控程序解析

在该时间控制系统中在程序设计上主要涉及到数据的发送、接收、数据补偿。

第一、 数据发送程序流程图

第二、 数据接收程序流程图

第三、 时间数据补偿

其中α参量与温度的平方有关系的量。由温度传感器获取当前温度,与标准温度25℃相差平方 其中θΤ是当前检测到温度,MSP430 单片机有检测温度传感器,可检测当前温度;θx为标准温度25℃,在此温度下芯片可认为没有误差。根据多费率电表在

环境中实际温差,可取五分钟为一个时间间隔对芯片的误差进行累计,程序设计比较简单,把当前温度值代入上面的表达式中即可,设定一个变量存放误差,每24 小时补偿一次,当然,如果误差很小那么误差就忽略不计。对于多费率电能表对时间还有其他操作,比如时间校对,以及时间写许可等一些操作。这些都是软件必须的考虑的问题,以对时钟芯片正确操作。

从整个系统设计过程中发现,如何使用MSP430 单片机控制RTC-4553时钟芯片关键所在是程序算法的设计,数据采用BCD码,对十位和个位有着不同的操作方法,对于小时寄存器的操作又有不同的方法,这些都是必须考虑的问题。其温度误差补偿在测量系统尤其是计时的电能表中也是必须要考虑的温度,涉及到许多问题。否则将影响电表的计时精度,甚至是错误。

3、 结语

时钟集成芯片有很多种,可与许多种单片机组合用于测量时间系统,大多数电能表存在时间误差补偿问题。该测量系统有机的结合了MSP430 单片机、RTC-4553时钟芯片及C语言编程,基于MSP430 单片机已开发出性价比很高的三相多费率电能表,目前已正式投产。当然计量电能的三相多费率多功能表还涉及其他许多功能模块,包括诸如数据处理、数据显示,数据存储,数据通讯等模块。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top