曹旭东,孙敬晶,张 实
(中国石油大学(北京)地球物理与信息工程学院,北京 102249)
基于ARM及μC/OS-II的RGB视频矩阵设计
曹旭东,孙敬晶,张 实
(中国石油大学(北京)地球物理与信息工程学院,北京 102249)
RGB视频矩阵也叫RGB视频信号切换器。在多媒体视频会议、安防监控、广播电视等领域都起着非常重要的作用。随着某些场合用到切换信号源的不断增多与控制地点的灵活变化,对视频矩阵的控制方式灵活性要求也越来越强烈,一种控制方式远远不能满足人们的需求,因此多种控制方式并存,才能使RGB视频矩阵发挥更大作用空间。该设计用低成本ARM LM3S6911作为主控制芯片,配合MAX232串口收发芯片,网络变压器芯片HR601680,还有本机键盘模块和LCD模块,采用专业视频信号切换芯片ISL59530实现了RGB视频矩阵的按键、串行口、以太网口3种控制方式并存。在软件方面成功地将μC/OS-Π内核移植到微控制器LM3S6911上,保证了系统操作的实时性,并提高了切换速度
视频矩阵;ARM;μC/OS-Π;控制方式
随着市场经济日新月异的发展,交通、会议、建筑等领域对视频系统的需求越来越大。视频矩阵的功能就是从设备的输入端输入来自信号源的视频信号,然后经过矩阵箱体内部的调配,把信号从输出端送出去。整个过程仅仅是一个信号自动流通的过程,并没有对线路进行插拔。一个M×N型矩阵,“×”前面M是输入通道容量,“×”后面N是输出通道容量。
从图1中可以很明显的看出来,整个系统的核心部分是控制板。设备本机键盘可以直接给控制板下达命令,操作人员PC也可以通过串口或网口给控制板下达命令,然后控制板再给切换电路发送切换指令,同时给LCD设备发送显示指令,实现通道切换和切换后的状态显示同步。
本机键盘是用来输入控制命令的,共有18个键,包括0到9数字键、上、下、左、右、查看、确认、取消及主菜单键。如果直接用LM3S6911的I/O口,会占用较多的端口资源,
且给编程带来不便,所以本系统采用的是8位并联负载移位寄存器SN74HC165,将并行数据转换为串行数据来控制键盘矩阵,设计中共用3片SN74HC165。由于SN74HC165可以将8位并行输入数据(A-H)由串行输入(SER)数据串行输出,设计中通过管脚SER将3片SN74HC165级联在一起,可以控制24个按键,这里用了18个,以后可以根据需要进行扩展。
本机键盘的位置是在矩阵的前面板,便于操作人员对其进行操作。前面板自成一家,与控制电路不在一块板子上,它与控制板之间有3根线相连:Key_CLK,Key_Load,Key_OUT。LCD1602液晶接口电路如图2所示。
LM3S6911 通 过 UART 专 用 管 脚 PA1(U0Tx),PA0(U0Rx)与PC机通信,使用标准的RS-232C通信方式,中间需要进行电平转换。转换电路图如图3所示。
图3中采用的串口电平转换芯片是MAX232,它的工作电压是+5 V,由第16管脚给入;它是两路驱动器和接收器的RS-232转换芯片。在芯片内部有一个电压转换器,可以把输入的+5 V电压转换为RS-232接口所需要的±12 V电压。
图2 LCD1602液晶接口Fig.2 LCD1602 interface
图3 串口电平转换电路Fig.3 Level converter circuit of serial
本系统中只用到了一路驱动器和接收器,这里是将第12脚(R1OUT)和第 11 脚(T1IN),分别接 LM3S6911 的 U0Rx和U0Tx;第 13脚(R1IN)将PC机串口的 RS-232数据转换成TTL/CMOS数据后由第12脚输出给LM3S6911;而第14脚(T1OUT)将从LM3S6911输入到第11脚的数据转换成RS-232数据送到PC机。C1、C2、C3、C4与C5是滤波电容。需要强调的是,通信时还要将DB9的“地”线接上,以使PC机和单片机共“地”[1]。
LM3S6911与网络变压器HR601680的电路连接图如图4所示。由于LM3S691的PHY芯片UTP口驱动类型为电压驱动,所以在LM3S6911与网络水晶接头连接的时候,HR601680中心抽头接到了3.3 V电源上。
在发送信号时,HR601680将LM3S6911发送的数据通过其耦合滤波,并通过转换电路转换成与其所在网络相符的电平,最后通过网口水晶接头的TX发送出去;接收信号时,网络信号通过HR601680差模耦合电路和电磁感应原理把其来自信号电平转换成能被芯片所识别的电平。图中的RXN、RXP、TXN、TXP是分别接到 LM3S6911的以太网模块的对应管脚的,RX+、RX-、TX+、TX-是接到 RJ45 对应管脚的;C23、C24、C25和 C26是为了抗干扰,吸收噪声,是电磁兼容设计,如果干扰不大的话,可以不焊接。C22是耐压为2 kV的电容,可以防止静电等,R30是匹配电阻。
视频信号切换板的功能就是完成R、G、B 3路视频信号的切换,切换板的核心就是矩阵开关芯片ISL59530。ISL59530是16×16视频矩阵开关芯片,由专业视频芯片设计厂商美国Intersil公司设计生产。ISL59530这款芯片具有以下特性:①300 MHz带宽;②带有输入输出缓冲的矩阵开关;③0.025%/0.05°dG/dP;④通道×1或×2输出增益调节;⑤输出端可以设置高阻抗状态;⑥-90 dB隔离度(串扰)@6 MHz;⑦SPI数字控制接口;⑧单+5 V供电[2]。
图4 LM3S6911与HR601680电路连接图Fig.4 Circuit connection between LM3S6911 and HR601680
SCLK,SDI和SLATCH 3个数字输入管脚的作用就是对ISL59530进行编程。同时,数据输出管脚SDO是可以进行芯片间的级联的。
图5 RGB切换框图Fig.5 RGB switching block diagram
图5为RGB切换框图。RGB切换用到了3片ISL59530,分别负责 16路 R、G、B视频信号的切换。SCLK、SDI和SLATCH接 LM3S6911,SCLK给 ISL59530提供时钟,SDI给ISL59530输入切换数据,SLATCH负责给ISL59530提供输入数据起始信号,当给SLATCH上升沿的时候,开始由SDI给ISL59530灌入数据切换流。
系统中共有2块同步切换板分别对应H、V两路信号,完成H、V信号的切换。同步信号切换板主要由FPGA芯片EP1C6Q240C6及其外围电路以及电源电路组成。EPCS1模块和JTAG模块为配置电路,信号输入和输出模块中分别是16路输入信号和16路输出信号。
设计中采用的主动串行配置芯片是EPCS1。在AS配置方式下,需要先将编译生成的pof文件烧写到配置芯片中。在系统上电后,EP1C6Q240C6和EPCS1进入上电复位状态POR(Power on Reset),此时 EP1C6Q240C6 驱动 nSTATUS 为低,指示FPGA处于 “忙”状态;同时,EP1C6Q240C6驱动CONF_DONE也为低,表明FPGA还未被配置。经过大约100 ms后,POR结束,EP1C6Q240C6随即释放 nSTATUS信号,被外部上拉电阻拉为高电平后,EP1C6Q240C6就进入了配置模式。在As方式配置中,所有操作均由EP1C6Q240C6发起,它在配置过程中完全处于主动地位[3]。
基于μC/OS-Π的多任务性,控制板的程序主要是建立各个任务,具体按功能来分为:显示、切换、按键、网口、串口。
对五大任务进行初始化和优先级设置,可以动态调用各个任务,保证系统的实时性。系统接收外部命令,根据接收到的数据执行相应的任务[4]。任务一般是个无限循环,看起来像其他C函数一样,都有返回类型,有形式参数变量。但任务是决不会返回的,返回参数必须定义为void。每次执行完毕后会被删除(是?C/OS-Π暂时不理会该任务,并不是真正被删除)或者有更高优先级的任务而进入等待状态,等到再次被调用的时候或者更高优先级的任务执行结束后再执行[5]。
主程序流程图如图6所示。
图6 主程序流程Fig.6 Flow chart of main program
图6开始后先进行的是初始化操作,其中包括μC/OS-Π和系统初始化。初始化μC/OS-Π是调用系统初始化函数OSIint(),对μC/OS-Π所有的变量和数据结构进行初始化。系统初始化主要完成的是系统定时器的初始化、全局变量的初始化、控制芯片LM3S6911的初始化、LCD的初始化、串口初始化、中断使能、视频切换芯片ISL59530的初始化以及系统模块的初始设置。
由于ISL59530都没有断电记忆功能,而所期望的是开机上电后系统进入断电前的工作状态,所以在系统开机后需要根据断电前的状态对各个模块进行一次设置,即进行一次整机切换。整机切换是指控制板将所有输入、输出连接状态进行一次设置的过程。整机切换包括由ISL59530控制的视频信号子程序和FPGA控制的同步信号切换子程序两部分。
对ISL59530不需要单独编程,只要由控制部分对其发送命令进行控制即可。视频信号切换由1片16路的视频切换芯片ISL59530构成,程序中根据各个芯片的端口安排,根据切换命令依次对芯片发送命令。
图7为对芯片ISL59530编程时的SPI串行时序图。
在SCLK上升沿的位置,SDI上的数据移入移位寄存器中(这里不受SLATCH的状态的影响),数据移入的顺序是低字节的低位第一个移进去,高字节的高位最后一个移进去。当16位数据都移入移位寄存器后,在SLATCH的上升沿内部寄存器被更新。而SDO输出的数据可以说是对SDI上数据的拷贝,但是是在15.5个SCLK时钟周期后,且在SCLK下降沿处输出。
图7 SPI串行时序图Fig.7 Timing diagram of SPI
要对ISL59530进行控制,我们需要知道如何对它的进行编程控制。通过5个16位串行控制字来配置ISL59530,这5个控制字分别是:INPUT/OUTPUT WORD,OUTPUT ENABLE FORMAT,GAIN SET FORMAT,BROADCAST FORMAT 和CONTROL WORD FORMAT。通过高字节的高三位 (B15-B13)来确定命令字。 其中,INPUT/OUTPUT是用来配置输入通道切换到哪一输出通道,具体说明如表1所示。其他功能表略。
图8 分量信号R输入输出波形对比图Fig.8 Comparison between input and output of signal R
表1 输入/输出命令字Tab.1 Input/output word
注:此控制字是用来把各个独立的输入通道对应到要切换到的输出通道上去。I3:I0表示输入通道0到16中的一个,同时O3:O0表示和这个输入通道相对应的输出通道,一个输出通道可以对应多个输出,要全编程ISL59530,需要写16 个 INPUT/OUTPUT 字[6]。
切换后信号的质量除了肉眼观察还可以观察五路信号输入端与输出端的波形对比图,在此只列出R、G、B的,分别如图 8,图 9,图 10所示。
图8至图10中,上线为输入信号波形,下线为输出信号波形。由于示波器画面大小的限制,信号线有些部分重叠在一起了,但还可以清楚地看出分量信号的输入与输出波形几乎是一样的,这就说明,在切换过程中,所切换的图像的信号没有发生变化,保证了切换画面的质量,需要说明的是测试时的图像为静态画面。由于设备条件的限制,设计中无法测量切换速度,但是在实验过程中,以肉眼的观察来看,已达到专业矩阵的要求,即切换的过程中稍微出现点黑屏,但没有闪烁。
图9 分量信号G输入输出波形对比图Fig.9 Comparison between input and output of signal G
图10 分量信号B输入输出波形对比图Fig.10 Comparison between input and output of signal B
采用本方法设计的16×16RGB视频矩阵切换器已通过测试,无失真现象,设备可靠稳定。实现了3种控制方式并存,为人们提高了方便性,满足了客户对于多种方式的要求。同样可以此基础上研究 32×32,64×64,72×72 或者更大型设备的控制模式。
[1]张娜娜,钱步仁.64×64RGBHV视频矩阵切换器的设计[J].国外电子测量技术,2010,29(4):78-81.
ZHANG Na-na,QIAN Bu-ren.Design of 64 ×64RGBHV video matrix switch[J].Foreign ElectronicMeasurement Technology,2010,29(4):78-81.
[2]张娜娜.视频矩阵切换器的设计与实现[D].北京:中国石油大学(北京),2010.
[3]蔡雄志.Cyclone FPGA配置模式及应用 [J].中小企业管理与科技,2009(8):270-271.
CAI Xiong-zhi.Cyclone FPGA configuration mode and applications[J].Management&Technology,2009(8):270-271.
[4]Labrosse J J.MicroC/OS-II The Real-Time Kernel[M].(2nd ed)邵贝贝,等译.北京:北京航空航天大学出版社,2003.
[5]王田苗,魏洪兴.嵌入式系统设计与实例开发-基于ARM微处理器与μC/OS-Π实时操作系统[M].3版.北京:清华大学出版社,2008.
[6]intersil.ISL59530-16x16VideoCrosspoint[EB/OL].(2010).[2013-5-10].http://pdf1.alldatasheet.com/datasheet-pdf/view/162950/INTERSIL/ISL59530.html.
Design of RGB video matrix based on ARM and μC/OS-II
CAO Xu-dong, SUN Jing-jing, ZHANG Shi
(College of Geophysics and Information Engineering, China University of Petroleum, Beijing 102249, China)
RGB video signal switchers also called RGB video matrix.In a large video systems engineering as multimedia video conferencing, security monitoring, radio and television and other fields, RBG video matrix is a very important device.With the switching signal source increasing and control locations changing,the requirements to the way of video matrix control have become more demanding.A control method is far from meeting the needs of people,so the coexisting of a variety of control methods on RGBHV video Matrix will have better prospects.In the design,low-cost ARM LM3S6911 as the main control chip,the MAX232 as serial transceiver chip,with the network transformer chip HR601680 and local keyboard module,LCD module and professional video signal switching chip ISL59530, the RGB video matrix achieves the three ways-keys, serial port and Ethernet port together.On the software side, the μC/OS-Π kernel is transplanted to the microcontroller LM3S6911 successfully,so the real-time performance of system can be ensured and switch speed can also be improved.
video matrix switcher;ARM;μC/OS-Π;controlling modes
TN45
A
1674-6236(2014)02-0180-05
2013-05-02 稿件编号:201305013
曹旭东(1968—),男,辽宁黑山人,硕士,副教授。研究方向:信号与通信工程。