基于AT73C500/501专用芯片组的电参量测量模块
关键的数据包中断接收代码程序如下:
interrupt[EXT_INT1]voidext_int1_isr(void)
{
#asm("cli")//禁止所有中断
CIMSK=0x40;//禁止int1,允许int0
strobe1:
if(GIFR==0)gotostrobe1;//等待第1个数据选通信号有效
temp_pack0=PINB;//syncls读出同步数据1
GIFR=0xc0;BRDY=0;
strobe2:
if(GIFR==0)gotostrobe2;//等待第2个数据选通信号有效
temp_pack1=PINB;//syncms读出同步数据2
GIFR=0xc0;BRDY=0;
…………
strobe16:
if(GIFR==0)gotostrobe16;//等待第16个数据选通信号有效
temp_pack15=PINB;
BRDY=0;GIMSK=0x80;GIFR=0xc0;//读写16个字节,完成1包数据接收
#asm("sei")
}
在设计调试电参量测量模块过程中发现很多问题。最严重的问题是在测量过程中,当在AT73C501信号输入端出现电压类峰脉冲干扰时,AT73C500/501芯片组出现死机现象。具体表现为AT73C500不再向数据总线发送测量数据。同时AT73C501迅速升沿发烫,而此时芯片组的复位控制信号不再起作用,单片机无法控制AT73C500/501;只有模块停电,再上电之后,才能恢复正常工作。这种故障在实际的工业控制中是必须要解决的。
针对此现象,我们经过反复实验,采用软件和硬件相结合的办法,圆满解决了这个问题。
硬件方面:
*在模块的供电电源上串接电源滤波器,消除从电源侧引入的干扰;
*AT73C501的6路单端A/D输入端接入EMI磁珠,同时输入端并接双向肖特基保护管,对输入的超出输入范围的信号限幅,保护内部电路;
*AT73C500/501芯片组的供电由晶体管电子开关控制,在发生故障时,可由单片机及时切断电路,实现重新上电。
软件方面:
*增加软件看门狗,由AT73C500的数据包传输中断不断清除,一旦出现故障,没有数据包传输中断,则看门狗复位系统;
*软件对采集的数据进行合理性分析,出现异常非法测量数据时,复位AT73C500/501芯片组;
*软件定时对AT73C500的校准参数进行重装载,防止AT73C500内部寄存器校准系统系数失效。
采用以上措施,使电参量测量模块的可靠性大大提高。使因此测量模块的现场安装运行的台变监测设备运行年1来年,稳定可靠,获得用户好评 《基于AT73C500/501专用芯片组的电参量测量模块(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/170557.html
interrupt[EXT_INT1]voidext_int1_isr(void)
{
#asm("cli")//禁止所有中断
CIMSK=0x40;//禁止int1,允许int0
strobe1:
if(GIFR==0)gotostrobe1;//等待第1个数据选通信号有效
temp_pack0=PINB;//syncls读出同步数据1
GIFR=0xc0;BRDY=0;
strobe2:
if(GIFR==0)gotostrobe2;//等待第2个数据选通信号有效
temp_pack1=PINB;//syncms读出同步数据2
GIFR=0xc0;BRDY=0;
…………
strobe16:
if(GIFR==0)gotostrobe16;//等待第16个数据选通信号有效
temp_pack15=PINB;
BRDY=0;GIMSK=0x80;GIFR=0xc0;//读写16个字节,完成1包数据接收
#asm("sei")
}
在设计调试电参量测量模块过程中发现很多问题。最严重的问题是在测量过程中,当在AT73C501信号输入端出现电压类峰脉冲干扰时,AT73C500/501芯片组出现死机现象。具体表现为AT73C500不再向数据总线发送测量数据。同时AT73C501迅速升沿发烫,而此时芯片组的复位控制信号不再起作用,单片机无法控制AT73C500/501;只有模块停电,再上电之后,才能恢复正常工作。这种故障在实际的工业控制中是必须要解决的。
针对此现象,我们经过反复实验,采用软件和硬件相结合的办法,圆满解决了这个问题。
硬件方面:
*在模块的供电电源上串接电源滤波器,消除从电源侧引入的干扰;
*AT73C501的6路单端A/D输入端接入EMI磁珠,同时输入端并接双向肖特基保护管,对输入的超出输入范围的信号限幅,保护内部电路;
*AT73C500/501芯片组的供电由晶体管电子开关控制,在发生故障时,可由单片机及时切断电路,实现重新上电。
软件方面:
*增加软件看门狗,由AT73C500的数据包传输中断不断清除,一旦出现故障,没有数据包传输中断,则看门狗复位系统;
*软件对采集的数据进行合理性分析,出现异常非法测量数据时,复位AT73C500/501芯片组;
*软件定时对AT73C500的校准参数进行重装载,防止AT73C500内部寄存器校准系统系数失效。
采用以上措施,使电参量测量模块的可靠性大大提高。使因此测量模块的现场安装运行的台变监测设备运行年1来年,稳定可靠,获得用户好评 《基于AT73C500/501专用芯片组的电参量测量模块(第3页)》