摘要:提出一种新型的视频字符叠加器的设计方案,采用RS-485总线方式,用微机作为控制平台,实现视频图像中任意字符的叠加,该方案已应用在多媒体监视系统上。
关键词:多媒体监视系统 字符叠加 RS-485 串行通信
在多媒体监视系统中,切换的视频信号较多,操作者很难快速判别某一图像来自何处,因此需要在图像上叠加地点信息,
如摄像机或汉字地名。现有的监视系统
中,在多数只能叠加有限的汉字字符,应用范围窄,通用性差。本文提出了一种新型的视频字符叠加器方案,它用一台微机作为控制主机,采用RS-485串行通信协议,可以实现在视频信号上叠加任意的字符,在不改变任何硬件电路的情况下,按需要改变字符。
![](http://www.mcu99.com/Article/UploadFile/200806/20080612161023790.gif)
1 视频字符叠加器设计方案
由于RS-485总线具有传输距离远、只用普通双绞线即可挂接多至256个终端的特点,因此本方案采用RS-485总线,用一台微机作为控制主机,16个AT89C52单片机作为从机。由主机实时地向各个从机传送待叠加字符的点阵数据和控制信号,单片机接收字符点阵数据并存入字符存储器中,以此来实现任意字符的叠加。同时单片机还接收主机传送过来的控制信息,实现对显示字符属性(如颜色,大小等等)的控制。主机的RS-232串行口通过外差式的RS-232/RS-485转换器转换成RS-485的数字信号总线。单片机的串行口通过MAX1483芯片转换成RS-485规程。微机与单片机之间通过RS-485数字信号总线进行串行通信。系统原理图如图1所示。
![](http://www.mcu99.com/Article/UploadFile/200806/20080612161024493.gif)
2 OSD芯片简介
OSD(On Screen Display)专用集成电路芯片是专门为在屏幕上显示字符设计的,本方案选用的MB90092是FUJITSU公司生产的OSD芯片,它能和各种单片机一起来设计字符叠加器,使用方便。
2.1 OSD芯片主要特点
·显示字符数为12行24列共288个字符;![](http://www.mcu99.com/Article/UploadFile/200806/20080612161024851.gif)
·最多可显示8192个字符;
·字符大小共有5种;
·字符颜色有黑、蓝、绿、青、红、棕、黄、白等8种;
·字符背景颜色有黑、蓝、绿、青、红、棕、黄、白等8种;
·字符背景显示方式:3种;
·字符点阵:24(水平)×32(垂直)点;
·显示位置控制:水平、垂直、行间距可调;
·闪烁:可选择ON/OFF两种闪烁状态。闪烁比为1:1,闪烁比为1:1,闪烁频率可在1Hz、2Hz、0.5Hz中任选;
·视频制式:NTSC/PAL;
·可与单片机直接接口,带有8位串行输入接口;
·封装形式:QFP-80
2.2 OSD芯片内部功能结构
MB90092由串行输入控制单元、同步分离电路、视频信号发生器、VRAM、外部字符存储器控制单元、模拟开关以及时钟振荡器七个主要部分组成,其内部功能结构框图如图2所示。
2.3 编程命令
MB90092的控制命令是双字节命令,采用8位串行输入形式。单片机通过CS、SCLK和SIN对MB90092进行控制。控制命令主要是对其内部的VRAM和寄存器进行设置,包括设置需要显示的字符、字符和字符背景的景色的颜色、字符大小、同步方式、屏幕背景颜色、视频信号制式以及字符显示的位置等。
3 字符显示模块的硬件设计
字符显示模块的硬件电路如图3所示。MB90092需要外加字符存储器,其中存放的是MB90092可以识别的待叠加字符的点阵(24×32点阵),根据机发送的命令,MB90092自动发出读信号READ,读取字符存储器中的点阵并显示在屏幕上。由于监视现场的地点有可能改变,因此要求字符存储器中存储的字符点阵也能随之改变,于是选用电可擦除存储器Flash Memory。它的最大优点在于支持在线编程,允许芯片在不离开电路板的情况下,实施固化和擦除操作,可重复擦写10万次以上,并且存储的数据掉电不丢失,因此可以保证存储在其中的字符点阵可按需要改变,并且不会丢失。![](http://www.mcu99.com/Article/UploadFile/200806/20080612161024459.gif)
待叠加字符的点阵是通过串行口由微机传送给单片机,再由单片机传送给字符存储器的。这其中存在一个问题,由于单片机、MB90092和字符存储器Flash Memory的数据总线、地址总线以及读、写信号线都连在一起,因此在使用中会出现总线冲突的现象。为了解决这个问题,在设计中增加了隔离电路将它们隔离开来。在单片机向字符存储器传输点阵时,将MB90092的数据线、地址线以及读信号线置为高阻,以保证单片机传输点阵正确;而当字符存储器向MB90092传输点阵时,将单片机的数据线、地址线以及读、写信号线置为高阻,以保证MB90092读取点阵正确。
字符存储器Flash Momory的容量为256K,但是采用单片机89C52的16位地址线,只能寻址64K字节的存储器,因此采用了将Flash Momory的最高两位地址接到89C52的输出端P1.0和P1.1上的办法。这实际上是将256K字节的Flash Momory分为四个部分,每部分64K字节,对每一部分依次传输数据。
另外,还需要外加同步分离电路将输入视频信号的行、场同步信号送给MB90092,以此来保证视频信号与字符信息的同步。输入的复合视频信号经过视频放大电话将电压由1Vp-p(峰峰值)转换为2Vp-p(峰峰值)后,再送至MB90092的视频信号输入端,而从MB90092的视频信号输出端输出的电压为2Vp-p(峰峰值)的复合视频信号要将其电压转换为1Vp-p(峰峰值)后,再送至显示设备。
4 视频字符叠加器的软件设计
软件主要包括系统复位初始化模块、串行通信模块和字符显示模块。由于本方案的关键技术在于通过将待叠加字符的点阵数据由主机传送给各个从机,来实现任意字符的叠加,因此串行通信模块是整个软件的核心。
串行通信程序所要完成的任务是将256K的字符点阵数据由微机传送给单片机,它包括两方面:一方面是89C52单片机的通信程序,另一方面为PC机的通信程序。PC主机的串行通信程序采用Visual Basic(简称VB)编程,程序框图如图4所示。用VB提供的一个具有强大功能的通控件MSCOMM,利用该控件设置串行通信的数据发送和接收,并且对串口状态及串口通信的信息格式和协议进行设置。
单片机89C52采用MCS51系列的汇编语言编程,程序框图如图5所示。它的数据通信由串行口完成,定时器1作为波特率发生器,其工作方式设置为方式2,串行口设置为工作方式1。系统中每台单片机都给定了确定的地址码,当某台单生机的地址码与PC主机发出的地址码相同时,这台单片机发出应答信号给PC机,而其它未被寻址的单片机不发应答信号。因此,在某一时刻,PC机只与一台单片机通信,从根本上避免了通信总线上的竞争。
本文提出了方案解决了目前大多数字符叠加器显示字符数有限且不可更改的弊端,实现了视频图像中任意字符的叠加。该方案已成功地应用在多媒体监视系统中,设备运行稳定,性能良好。