SH79F6431主要资源如下:
工作电压2.4V~3.6V(部分IO支持5V,用于PLC接口);
JTAG在线调试;
64KB FLASH程序存储空间;
256B IRAM,2816 XRAM;
3路UART接口,一路内置红外调制电路;
3路定时器,2路PWM,可用来产生ESAM和CPU卡时钟;
硬件IIC接口,方便与LCD,EEPROM通讯;
内置4通道10 bit ADC,可内部直接测量电池电压;
带补偿低功耗硬件实时时钟;
内置高速PLL;
内置掉电检测基准源,方便准确检测外部掉电;
内置电源切换电路;
内置4*39 LCD driver;
支持ISP。
从资源上看,SH79F6431完全可以满足国网单相电能表的应用,比较特别的是其RTC为硬件RTC,其运行独立于CPU,不受各种复位电路的影响,并可提供两种供电模式下的功耗兼顾和实时性补偿机制。在保证市电供电情况下,每个秒脉冲都准确稳定,而且用户接口统一,非常简单易用,用户只要将需要校正的频率偏差除以2.03并取整后写入校正寄存器(RTCDATA)即可。
图4中Rref,Rntc和C1组成测温电路,用于晶体环境温度的测量。考虑到功耗和自热问题,Rref和Rntc的阻抗较大,这里Rref选用100kΩ/0.1%电阻,Rntc采用50kΩ,C1为1000pF,用于满足ADC输入动态电阻的要求。
振荡器选用Seiko VT-200F及12pF,电容应采用温漂较小的C0G电容。
对于前文提到的各种影响时钟精度的因素,补偿方法如下:
工艺和负载电容的影响:
在常温(25℃左右)下测量出频偏B(单位PPM),将B/2.03写入RTCDATA即可。
老化的影响:
根据晶体实际工作时间和老化率,将老化引起的频偏除以2.03可得到老化补偿值,与常温补偿值和温度补偿值代数求和后,写入RTCDATA,每年补偿一次。
温度的影响:
用测温电路测量出当前的温度值,根据温度和晶振频率随温度变化的曲线,找到对应温度下由温度影响引起的频偏A。全温度范围内,要补偿满足国网要求,需确保温度控制在±1℃以内。
晶振的温度特性并非理想的抛物线,各厂商的温度特性均不相同,需要大量的温度实验来获取温度特性,工作量巨大。实践表明,每5℃一个点进行描绘,既可以保证精度,又可以使工作量得到较大的减轻。
补偿动作在市电供电下,可一分钟进行一次;在电池供电下,考虑到功耗,一般十五分钟一次即可。一次补偿的软件流程如图5所示。
基于SH79F6431的内置RTC补偿SoC方案,简单易行,无需复杂运算,相比较独立RTC芯片成本得到大幅降低。目前该方案通过批量试产验证,性能可优于国网要求,全温度范围内,达到±0.3s/d,补偿效果关键取决于测温精度和物料的一致性。
来源:中颖电子