当前位置:首页 >> 技术频道 >> 单片机开发

一种单片机实现的嵌入式视频切换器

来源:电子技术应用 作者:邱兆坤 王伟 发布时间:2009-06-23 10:32:00 发表评论

摘要:电路在系统中的独立性和功能要求,决定选用89C51单片机作为主控CPU实现嵌入式的视频矩阵切换;视频切换电路则根据视频通道的多少,可选用 MAX459、AD8111等不同的视频矩阵切换芯片。

关键词:单片机切换器

 

  2.2主程序

  控制器在没收到主机发送的控制命令时,会一直运行于主程序之中。主程序主要完成对系统的初始化;定时向看门狗电路发送电压翻转信号;对主机的控制命令发送回传信息。

  在初始化时,先从存储器中读取信息,判断读出的数据是否超出了矩阵的输入输出范围。若数据无误,则按此信息(一般是上次关机时控制器的状态)初始化矩阵。若发现某一数据有误,则按预先的约定初始化矩阵。控制器在向主机返回命令之前要判断回响标志,若标志为“1”,则调用回响主机的子程序,否则会跳过这一步,继续向看门狗电路发送电压翻转信号,以示其工作正常。

  2.3 串口中断服务子程序

  

 

  一旦控制器检测到串口有数据到来,就会发出中断请求信号。单片机在执行完当前的指令后,会转向服务子程序(流程如图7)。在子程序内要完成对主控命令的判断、分析、处理,完成对矩阵的更改及信息的保存等任务。中断服务子程序也是软件设计的核心部分与难点之处。在接收完主机发送的命令之后,要处理的事务有:

  (1)判断命令是否正确。这包括判断命令是否正确;检查命令是第一类还是第二类。若是第一类命令,要检查其起始、结束字节和校验字节是否正确;输入输出是否在规定的范围之内。若是第二类命令,要保存分组信息,开启记时器。若检查有一点不对,将放弃该命令,恢复现场,退出服务子程序。

  (2)在确认命令正确无误后,要检查对应的输出是否被锁定。若锁定标志为“0”,则直接更改矩阵;若输出被某一主控命令锁定,那么就要比较新接收到命令的优先级与锁定的优先级的高低,高于锁定的优先级则可以更改矩阵,否则更改失败。

  (3)在更改矩阵之后,要及时地将更新信息写入存储器。并且将回响主机的标志置为“1”。

  退出中断服务子程序后,对主机命令的回响有两种情况。若更改成功,则将主控命令按相反的顺序返回主机;若因优先级低而更改失败,则将锁定的高优先级返回主机,防止主机继续发送此控制命令。

  2.4 记时器中断子程序

  记时器中断子程序是用来实现分组功能的。控制器接收到主机的第二类命令时,记时器开始记时,然后每隔3分钟该组中的输出通道就会轮流接通所选中的输入,直到主机发出取消本次分组的命令。

  3 可靠性分析

  为了提高整个系统的可靠性,设计时主要采取了以下措施:

  · I2C总线连接的E2PROM使得象在突然掉电这样的异常情况下,能保存住现场信息。

  ·看门狗电路具有自动复位的功能。

  ·通过光电耦合与主机的通讯,增强了抗干扰能力。

  ·应答式的数据通讯,再加上校验字节保证了通讯的可靠性。

  ·软件设计时对控制命令一系列的判断检查,能够确保对矩阵的正确更新,防止误操作。

  该控制器设计思路巧妙,充分利用了所选器材的资源,成本低廉。实际应用表明,该控制器工作稳定,容错能力强,具有很高的实用价值。

0
顶一下
0
踩一下

相关文章

发表评论

请自觉遵守互联网相关政策法规,作者管理后台可以删除恶意评论、广告和违禁词语。