电磁流量计抗干扰技术探讨 六
为了防止单片机输出口状态被意外修改,定期重新定义输出口状态。MSP430 单片机内部集成很多外围设备,如UART、SPI串口、定时计数器等,为了防止这些设备的相应控制寄存器被意外修改,每次使用时都需重新设置。
指令冗余使“跑飞”的程序安定下来是有前提条件的:程序计算器必须指向程序区。当程序计数器落到非程序区,如ROM中未使用的空间、中断向量表、数据区,则冗余指令失效。采取额外措施就是设立软件陷阱。所谓软件陷阱,就是一条引导指令,强行将捕获的程序引向对程序出错进行处理的程序,一般安排在未使用的中断向量、未使用的ROM等。
MSP430单片机具有多个中断发生源。正常工作时,执行完中断服务程序后,相应的中断标志位会被硬件自动复位;当单片机受到干扰,运行异常时,可能会触发没有使用的中断,导致系统不能正常工作,因此在未被使用的中断向量处插入冗余指令,使中断自动返回,如:“NOP NOP RETI”。对于没有使用的ROM,程序烧录器默认写入字0xffff,该字对于指令系统是一条指令,这条指令会修改单片机内部寄存器值;如果程序“跑飞”进入这段ROM中,可能造成数据运算错误,因此在未使用的ROM中写入代码,使程序跳转到出错处理程序。
电磁流量计