基于MSP430单片机时钟芯片RTC-4553温度误差软件补偿
1、前言
目前新型的电子式多费率电能表已逐渐取代老式电子电能表。多费率电能表计量不同时间段的用电量,根据不同的电能费率计算出用户使用电能费用。本文基于德州仪器的MSP430F435单片机,结合EPSON公司推出的高精度时钟芯片RTC-4553芯片,对多费率电能表的工作时间进行测量。由于电能表在不同地域及不同季节使用,温差很大,存在一定的温度漂移,造成一定的时间累积误差。因此必须进行适当的误差补偿,本文将基于MSP430单片机采用C 语言编程进行温度补偿方法,提高计时精度。
2、系统介绍
电能表的采用什么MCU有多种方案,不少已经投入实际使用。但是基于MSP430 单片机作为电能表主控模块还没有广泛投产使用。用于系统时间计量的串行时钟芯片很多,如DS1302、DS1307、PCF8485等时钟芯片。
图1是多费率三相电能表的时间计量部分,合理的把TI 的MSP430单片机和EPSON的 RTC-4553集合,发挥各自的优势,避开复杂的外围电路的设计,采用现成的高精度时间计量芯片。
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控制器的帮助下实现程序的下载,方便的完成在线程序调试。
RTC-4553
EPSON公司推出的RTC-4553时钟芯片。该芯片采用内置晶振和独特的数据方法,大大提高了时钟精度和可靠性。 RTC-4553配有串行通信接口,另有30×4bit SRAM,有2000~2099的百年日历,采用14脚SOP封装,电池耗电2μA,时钟误差3 min/年且无需调整,是仪器仪表高精度时钟的理想芯片。
RTC-4553内部结构和引脚
串行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位用于设置
温度 误差 软件 补偿 RTC-4553 芯片 MSP430 单片机 时钟 相关文章:
- 基于TMS320F2812的分布式温度采集记录仪的设计与实现(11-29)
- 基于Fusion的无线扩散炉温度自动监控系统 (06-04)
- 基于CC430F5137的无线温度采集报警系统设计(07-10)
- 基于89C52单片机的温度监测系统设计(10-24)
- 基于DSP的数字温度传感器控制系统(11-28)
- 基于MSP430的温度控制系统的设计与实现(01-03)