基于AD8113的视频矩阵切换系统的设计
2008-07-28
作者:陈治国1, 李兆军2
摘 要:利用AD8113宽带视频切换" title="视频切换">视频切换集成电路作为切换器件,利用PIC18F458单片机作为核心控制单元,设计了一种视频矩阵切换系统,并介绍了具体的硬件电路设计和软件设计。该系统已成功应用于煤矿监测监控系统" title="监控系统">监控系统中,具有高速度、高性能、高可靠性、实用性好等优点。
关键词: 视频矩阵切换 AD8113 PIC18F458 视频信号
光纤工业电视监控系统自20世纪80年代末以来已在国内外煤矿中得到了广泛应用。中国矿业大学信电学院推出的KJ28光纤工业电视系统是根据矿井特殊环境条件开发研制的,适用于各类大中小型煤矿。该系统的重要组成部分——视频矩阵切换系统经历了几代发展,随着计算机技术和视频技术的发展,要求视频矩阵切换器不仅要切换电视视频信号,还要切换计算机视频信号。原有的以MAX456为核心的GDK-III、GDK-Ⅳ系统有些力不从心,因此需要有相应的宽带视频切换集成电路辅助完成这一任务。本文介绍采用宽带视频切换集成电路AD8113和微控制器" title="微控制器">微控制器PIC18F458实现16×16视频矩阵切换系统。
1 视频切换系统硬件电路设计
视频矩阵切换系统框图如图1所示。该系统主要由单片机控制电路、矩阵切换电路" title="切换电路">切换电路、通讯接口和其它外围电路组成。
1.1 器件的选择
1.1.1 视频矩阵切换芯片的选择
目前,视频矩阵切换集成电路主要有MAX456、MAX4456和本设计采用的AD8113等。AD8113是Analog Device(AD)公司生产的宽带视频切换集成电路。该芯片的容量是16×16,相比较而言,MAX456、MAX4456容量较小,一片AD8113能实现16×16视频矩阵切换,同样的容量却需要四片MAX456(或MAX4456);AD8113将输出缓冲器集成在芯片内,减少了寄生电容,使它的抗干扰能力较强,可以适应许多视频应用;AD8113便于形成更大规模的视频矩阵切换电路,如电视台的256×256的视频矩阵切换电路;另外,它的信号通道带宽是260MHz(-3dB),远远高于MAX456和MAX4456,同时高于计算机视频信号的信号通道带宽,因此AD8113也可切换计算机视频信号。
AD8113主要由80bit的移位寄存器、并行锁存器、解码器、切换矩阵和输出缓冲等部分构成。AD8113工作在±5V或±12V下,消耗电流分别为34mA或31mA,信道切换时间小于60ns,并有0.1%的停顿用于模拟音频或数字音频。AD8113工作在20kHz时,色度亮度干扰为-83dB,隔离度为90dB,它还有16个独立输出缓冲器,可以用在禁止状态,输出阻断功能允许多个器件的输出直接连接。AD8113的增益G设计为2,在通过AD8113之前不需要衰减视频信号。其典型视频输入输出电路如图2所示。
1.1.2 微控制器的选择
本设计的核心控制单元采用Microchip公司生产的PIC18F458。该单片机除具有单片机的通用资源外,还采用哈佛总线结构、16位精简指令集RISC技术及流水线取指令方式,并且带有一个CAN 2.0B智能有源接口,CAN接口带有三个发送缓冲器、两个接收缓冲器、六个接收滤波器及两个接收屏蔽器。PIC18F456还可以借助CAN网络,对系统进行编程,实现远程节点的升级。PIC18F458还拥有256Kbit的自编程FLASH存储器,高达1500×8bit的用户SRAM及256×8bit电可擦写EEPROM数据存储器,其读写操作均由单片机内部时序控制,具有掉电保护数据的特性,把系统参数保存在EEPROM中,就可以实现在掉电后重新上电时恢复掉电前的设置参数。该芯片具有低功耗、高速度、高可靠性、体积小、性价比高等特点,易于实现低功耗设计和抗干扰设计。这对于工作条件相对恶劣的煤矿来说尤为重要。
1.2 硬件电路设计
AD8113有两种工作模式,即并行模式和串行模式。并行模式使用的控制信号多,但速度快;串行模式使用的控制信号少,速度比使用并行模式慢,但是在数据建立后,输出数据时延最长为100ns,完全能够达到设计要求,同时串行模式输出为构建大容量的矩阵切换器提供了方便,因此本设计选用串行工作模式。在串行工作模式下,AD8113使用的管脚主要有CLK、DATA、CE、和SER/PAR等。AD8113和微控制器的硬件连接关系如图3所示。
视频输出信号在短距离传输中可以直接和监视器相连,但在传输距离较长时,最好加上视频驱动器,如MAX470。
2 软件的设计
2.1 串口工作模式的控制逻辑
AD8113的串行模式时序图如图4所示。从时序图中可以看出,时钟信号CLK和锁存数据信号均是下降沿有效,当CE=0时,SER/PAR降为低电平,选择串口工作模式。每个输出端口" title="输出端口">输出端口对应五个bit,即D4~D0,D4先输入。当D4=0时,D3~D0无效,相应的输出阻断,输出端口为16个,第16个输出端口的数据最先输入。当80个bit的数据全部输入完毕时,停止CLK信号,变为低电平,切换矩阵的输入和输出。数据根据刚输入的80bit数据进行修改,若CLK信号没有停止,则切换矩阵数据动态更改。当变为高电平时,80bit的数据锁存完毕。每次更改输入输出配置时,必须提供80bit的串行数据,将整个矩阵数据更改。
2.2 控制程序
根据图4的时序关系可得该系统的程序流程图,如图5所示。
程序中对AD8113的设置主要包括对AD8113的初始化、从键盘获取命令、打开新的通道、发送代码,具体程序如下:
void Init8113() //AD8113的初始化
{
RESET = 1;
CE = 0;
RESET = 0;
UPDATE = 1;
}
void OpenChannel(unsigned char cChannel,unsigned char cVideoNumber) //打开新的通道
{
cOrder[cChannel] = cVideoNumber + 0x10;
}
void Config() //构造要发送控制命令的数组
{
unsigned char cTemp;
for(cTemp=0; cTemp<16; cTemp++)
{
if(cOldChannel[cTemp] != cNewChannel[cTemp])
{
OpenChannel(cHopeChannel);
cOldChannel[cTemp] = cNewChannel[cTemp];
}
}
}
void SendOrder() //发送控制命令
{
unsigned char cTemp;
unsigned char cBit;
for(cTemp=0; cTemp<16; cTemp++)
{
for(cBit=0; cBit<5; cBit++)
{
if((cOrder[cTemp]&(0x01<<cBit) == 0)
{
DATAIN = 0;
}
else
{
DATAIN = 1;
}
CLK = 0;
CLK = 1;
}
}
UPDATE = 0;
UPDATE = 1;
}
如果需要多个AD8113器件级联,则一次更改的切换矩阵的比特数为80和器件数的乘积。该系统已成功地应用在多个煤矿监测监控系统中。该系统具有设计简单、使用方便、可靠性高、实用性好等优点,也可以使用在其它需要视频切换的场合。
参考文献
1 魏雄,于理富,卢力等.宽带视频切换集成电路AD8110/AD8111. 电子技术,2002(7):55~57
2 韩春梅.基于MAX456的视频切换矩阵设计.电视技术,2004(3):91~93