新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种单片机实现的嵌入式视频切换器

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

作者:时间:2009-06-17来源:网络收藏

2 设计
  根据会议电视系统的整体要求,主要由主程序和串口中断服务子程序组成。编程时着重考虑了以下几方面:对整个控制器正确地初始化;对上级主控命令正确地分析、判断、处理;对矩阵的正确更新,对数据的及时保存(主程序流程如图4)。

本文引用地址:http://www.eepw.com.cn/article/173714.htm

2.1 主机控制命令
  主机发出的控制命令有两种。第一种是定长的,包含8个字节(见图5)。C3H是开始字节,5AH表示结束;地址1、地址2表示控制器在整个系统中所处的位置;数据1、数据2包含了对矩阵输入输出更新的具体信息;优先级代表了本次命令的优先级别,00H级别最高;校验字节为前6个字节之和。第二种命令是分组控制命令,长度不定(见图6),C5H 表示第二种控制命令的开始;地址1、地址2同第一类控制命令;数据0是本次分组命令所控制的输出通道;数据1至数据n是本次分组中的输入通道;校验字节为前几个字节之和对FFH取余;55H 表示本次命令的结束。

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

一旦控制器检测到串口有数据到来,就会发出中断请求信号。在执行完当前的指令后,会转向服务子程序(流程如图7)。在子程序内要完成对主控命令的判断、分析、处理,完成对矩阵的更改及信息的保存等任务。中断服务子程序也是设计的核心部分与难点之处。在接收完主机发送的命令之后,要处理的事务有:
  (1)判断命令是否正确。这包括判断命令是否正确;检查命令是第一类还是第二类。若是第一类命令,要检查其起始、结束字节和校验字节是否正确;输入输出是否在规定的范围之内。若是第二类命令,要保存分组信息,开启记时器。若检查有一点不对,将放弃该命令,恢复现场,退出服务子程序。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭