(2)在确认命令正确无误后,要检查对应的输出是否被锁定。若锁定标志为“0”,则直接更改矩阵;若输出被某一主控命令锁定,那么就要比较新接收到命令的优先级与锁定的优先级的高低,高于锁定的优先级则可以更改矩阵,否则更改失败。
(3)在更改矩阵之后,要及时地将更新信息写入存储器。并且将回响主机的标志置为“1”。
退出中断服务子程序后,对主机命令的回响有两种情况。若更改成功,则将主控命令按相反的顺序返回主机;若因优先级低而更改失败,则将锁定的高优先级返回主机,防止主机继续发送此控制命令。
2.4 记时器中断子程序
记时器中断子程序是用来实现分组功能的。控制器接收到主机的第二类命令时,记时器开始记时,然后每隔3分钟该组中的输出通道就会轮流接通所选中的输入,直到主机发出取消本次分组的命令。
3 可靠性分析
为了提高整个系统的可靠性,设计时主要采取了以下措施:
· I2C总线连接的E2PROM使得象在突然掉电这样的异常情况下,能保存住现场信息。
·看门狗电路具有自动复位的功能。
·通过光电耦合与主机的通讯,增强了抗干扰能力。
·应答式的数据通讯,再加上校验字节保证了通讯的可靠性。
·软件设计时对控制命令一系列的判断检查,能够确保对矩阵的正确更新,防止误操作。
该控制器设计思路巧妙,充分利用了所选器材的资源,成本低廉。实际应用表明,该控制器工作稳定,容错能力强,具有很高的实用价值。