新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于MSP430单片机时钟芯片RTC-4553温度误差软件补偿

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

作者:时间:2012-02-16来源:网络收藏

1、前言

本文引用地址:http://www.eepw.com.cn/article/172085.htm

目前新型的电子式多费率电能表已逐渐取代老式电子电能表。多费率电能表计量不同时间段的用电量,根据不同的电能费率计算出用户使用电能费用。本文基于德州仪器的F435,结合EPSON公司推出的高精度,对多费率电能表的工作时间进行测量。由于电能表在不同地域及不同季节使用,温差很大,存在一定的漂移,造成一定的时间累积。因此必须进行适当的,本文将基于采用C 语言编程进行方法,提高计时精度。

2、系统介绍

电能表的采用什么MCU有多种方案,不少已经投入实际使用。但是基于 作为电能表主控模块还没有广泛投产使用。用于系统时间计量的串行很多,如DS1302、DS1307、PCF8485等芯片。

图1是多费率三相电能表的时间计量部分,合理的把TI 的MSP430单片机和EPSON的 集合,发挥各自的优势,避开复杂的外围电路的设计,采用现成的高精度时间计量芯片。

35.jpg

2.1、硬件部分:

MSP430F435

T1公司的MSP430系列单片机是一种具有超低功耗的功能强大的单片机。新开发的F系列具有Flash存储器,在系统设计,开发调试及实际应用上比其他MCU都有比较明显的优势。

1、超低功耗

MSP430F系列运行在1MHZ时钟的条件下时,工作模式不同为0.1~400uA,工作电压为1.8~3.6V。

2、 超强处理能力

8MIPS的CPU内核,16位×16位的硬件乘法器。

3、灵活的配置方法

MSP430 F系列具有丰富的寻址方式,只需要27条指令;片内寄存器数多,可以实现多种运算;有高效的查表处理方法。这一切保证了可以编译出高效的程序。许多中断,可以嵌套,使用方便。

4、片上集成外围功能模块

MSP430 F系列集成了较多的片上外围设备。这些外围设备功能相当强大:12位A/D,精密模拟比较器,硬件乘法器,2组频率可以达到8MHZ的时钟模块,2个带有许多捕获比较的16位定时器,看门狗功能,2个可实现异步和同步及多址访问的串行通信接口,数十个可实现方向的设置及中断功能的并行输入,输出端口,拥有 SPI和UASRT通讯端口。

5、 高效的开发方式。

MSP430FX系列具有FLASH存储器,这一特点使得它的开发工具相当简便。利用单片机自身带有的JTAG接口或片内BOOT ROM内固化的默认的加载程序载入器Bootstrap可以进行串口或并口,通过UART将程序代码装入Flash 存贮器中。

可以在一台PC及一个小JATAG控制器的帮助下实现程序的下载,方便的完成在线程序调试。

EPSON公司推出的RTC-4553时钟芯片。该芯片采用内置晶振和独特的数据方法,大大提高了时钟精度和可靠性。 RTC-4553配有串行通信接口,另有30×4bit SRAM,有2000~2099的百年日历,采用14脚SOP封装,电池耗电2μA,时钟3 min/年且无需调整,是仪器仪表高精度时钟的理想芯片。

RTC-4553内部结构和引脚

36.jpg

串行RTC-4553时钟芯片的内部结构如图2所示。内置32.768khz晶振,它包含I/O控制器、移位寄存器、命令及逻辑控制器,表态RAM、实时时钟、计数器等部分。CS0为片选脚,低电平选中;WR为读写使能口,高为读,低为写;L1~L5为出厂调整精度和测试用,使用中悬空;CS1为芯片掉电检查口,可直接与系统电源连接,芯片测到该口为低时,自动进入低功耗状态;SCK为时钟口,SIN为数据输入口,SOUT为数据输出口。另外,芯片还有1 个时钟信号输出口TPOUT,该口可输出1024Hz或1/10Hz的信号,以供检测芯片的时钟精度所用。其中RTC-4553共有46×4bit寄存器。这些寄存器分3页,第1页共16个,分别为时钟寄存器和控制寄存器,用来存放秒、分、时、日、月、年、星期和3个特殊寄存器;第2页、第3页各有15 个,共30个SRAM寄存器,页面的选择通过操作控制寄存器3的MS1、MS0位来实现。

具体如表一所示:
地址 寄存器名 D3 D2 D1 D0 记数范围 说明
0 S1 s8 s4 s2 s1 0-9 1秒寄存器
1 S10 0 s40 s20 s10 0-5 10秒寄存器
2 MI1 mi8 mi4 mi2 mi1 0-9 1分寄存器
3 M10 0 mi40 mi20 m10 0-5 10分寄存器
4 H1 h8 h4 h2 h1 0-9 1小时 寄存器
5 H10 PM/AM 0 h20 h10 0-2 10小时寄存器
6 W 0 w4 w2 w1 0-6 星期寄存器
7 D1 d8 d4 d2 d1 0-9 1天寄存器
8 D10 0 0 d20 d10 0-3 10天寄存器
9 MO1 mo8 mo4 mo2 mo1 0-9 1月寄存器
A MO10 0 0 0 mo10 0-1 10月寄存器
B Y1 y8 y4 y2 y1 0-9 1年寄存器
C Y10 y80 y40 y20 y10 0-9 10年寄存器
D C1 TPS 30ADJ CNTR 24/12 - 控制寄存器1
E C2 BUSY PONC ------- * - 控制寄存器2
F C3 SYSR TEST MS1 MS0 - 控制寄存器3

RTC-4553时钟芯片各寄存器表一

其中C1寄存器的D0位用于设置显示时间的方式,置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为时间寄存器写时序。

37.jpg

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

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

38.jpg

电能表相关文章:电能表原理
三相异步电动机相关文章:三相异步电动机原理
温湿度控制器相关文章:温湿度控制器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭