1)初始化程序:
NEC单片机UPD78F0485本身具有丰富的内部资源,可以大大的减少外围器件的数量,也就减少了故障发生的几率。需要初始化的地方主要有:内部RAM,选项字节,中断控制寄存器,串口控制寄存器,定时器控制寄存器,LVI电路控制寄存器,看门狗控制寄存器,IIC电路控制寄存器,液晶驱动控制寄存器等。
2)UART收发程序:
UART的收发是由单片机内部自带的串口模块来完成的,程序里我们只需要查询收发完成标志位,连续收发,检测出错标志位和纠错处理。大大的简化了程序的运行过程,也降低了程序时序的压力。
3)软件校表的程序:
软件校表的过程如下:我们对脉冲的采集,采集ADE7755输出的高频脉冲,1度电的高频脉冲输出个数为低频脉冲的整数倍,软件校表的过程就是通过串口通讯来调节1度电所对应的高频脉冲的个数,已达到计量准确的目的。
通讯协议的设计
规约格式:
图6:字节格式
图7:帧格式
·字节传输格式:0(1位起始位)XXXXXXXX(8位数据位)1(1位结束位),数据传输过程中允许每一个字节的空闲间隙为<500ms,如图6所示。
·通讯波特率:1200波特。
·3到5个FEH作为同步头,一个16H结束字。
·详细命令格式技术局返回格式请参照645规约(DL/T 645—1997)。
·帧格式,如图7所示。
通讯时,如果在限时内没有受到应答帧,则认为传输出错,重发先前的命令帧。重发最多3次,3次重发仍然无法受到应答帧时,则发出相应的故障提示信息。
结束语
有上述可以看出,基于NEC单片机UPD78F0485设计的付费率电表完全符合国家关于多费率电能表的标准GN/T15284-2002和多功能电能表的通讯规约DL/T645-1997的要求,并且具有功能合理,故障率低,外围器件少,计量精度高等特点,并且大大节省了硬件成本,增强了市场推广的可行性,另外,支持C语言的编译环境又为此款电表的实际开发缩短了开发周期。