在监视系统或视频提示系统中有一项重要的技术就是在视频信号中混入字符,从而在屏幕的特定位置上实现与图像信号的同时显示。这样既可以为测量设备提供必要的提示信息,作为数据分析与解算的依据;也可以在视频监控系统中加上日期、时间等,有效地防止在监控端高科技人员的故意造假行为,保证远程监控的真实性与可靠性。
字符叠加系统有两种实现方案,一种是搭建视频叠加的主要电路,如场分离电路,显示内存,时钟振荡电路等,这种方法在实现上比较繁琐,又因分立元件较多而降低了系统的稳定性;另一种是使用专用的字符叠加器件实现,这种方案元件数量少、电路简单容易实现、系统稳定性好。
目前视频字符叠加器件主要有日本NEC公司生产的μPD6453,该器件成本较低,但控制字符内容和位置的灵活性较差;韩国三星公司生产的KS5514B-XX系列的字符叠加器件,可方便显示日文,韩文,英文,但使用复杂、不支持中文的显示;日本FUJITSU公司的MB90092字符叠加器件,使用方便、灵活性好,但需外接视频分离电路,字符存储器等;美国美信公司推出的MAX7456字符叠加器件,内部集成视频分离电路,字符存储器,而且可方便以任意字符、尺寸显示所需信息,硬件设计更简单,成本更低,易于满足实际需要。因此这里给出一种基于MAX7456的字符叠加系统设计方案。
1 系统设计
1.1 MAX7456简介
MAX7456视频叠加器件是单通道、单色随屏显示(OSD)发生器,内部集成了视频驱动、同步分离器、视频开关以及EEPROM,采用符合NTSC和PAL制式的256个用户可编程字符,能够方便地以任意字符、尺寸显示各种信息,预先装载了256个字符和图形,并可通过SPI接口进行在线编程。器件内部包含36个寄存器,通过对寄存器的读写可以对屏幕像素,各行字符的亮度,字符的闪烁、反色等进行有效的控制。可应用于安全监视系统,安全监控摄像机,室内娱乐系统,手持测量仪器等领域。MAX7456主要具有特性:1)256个用户字符或图形存储于EEPROM;2)字符大小为12x18像素;3)闪烁、反色和背景控制字符;4)可逐行设置亮度;5)最多可显示16行x30列字符;6)视频驱动器输出带有衰减补偿;7)内置同步发生器;8)SPI兼容串行接口。
MAX7456的主要引脚如下::输入片选信号,低电平有效;SDIN:串行数据输入,数据在SCLK上升沿移入;SCLK:串行时钟输入,占空比必须在40%到60%之间;SDOUT:串行数据输出,数据在SCLK下降沿输出,当变为高电平时,变为高阻抗;PGND:驱动器地;PVDD:驱动器电源输入;VIN:PAL或者NTSC,CVBS视频输入;VOUT:视频输出;SAG:电压衰减修正输入,不使用时连接至VOUT。
1.2 系统硬件设计
该字符叠加系统设计包括4个主要模块电路:AT89C2051单片机、MAX7456专用字符叠加电路、摄像头CCD输入电路、显示屏。其中AT89C2 051单片机作为控制电路,MAX7456对模拟视频信号进行字符及图形叠加产生混合信号,采用显示屏进行显示。系统整体设计框图如图1所示.
系统设计硬件电路如图2所示。
选择27 MHz的晶振G1与MAX7456并联,由于器件内部包含振荡器所需要的电容,所以不需要外部负载电容。视频信号输入通过一个RC滤波电路接MAX7456的VIN引脚,视频输出信号由VOUT引脚输出。MAX7456的,SDIN,SCLK,SDOUT引脚分别与单片机的P1.5,P1.4,P1.3,P1.2引脚相连。
在电路设计中,为了提高系统工作的稳定性和抗干扰性,不仅要考虑电路本身以及元件的各种噪声干扰以及接地干扰等问题。在数字电路中,由于电路常处于开关状态,在电源供电端也会因而产生一些高频带噪声,这些噪声容易影响到其他电路。该系统设计连接有C8,C9退耦合电容,可有效过滤掉这些高频噪声,使其直接对地回流。由于系统中包含了数字信号与模拟信号,为了防止高频数字噪声耦合至视频输
出,必须对数字地与模拟地进行一些处理。如果将二者完全隔开,独立设置虽然可以解决噪声干扰问题,但势必在整个电路中设置多个参考电位点,也即设置2个不同标准,所以在实现上很难或者不可能。因此,该设计采用将所有数字地与模拟地各自连接,最后在一点将数字地与模拟地连接。这种接法实现了地之间没有电流流通,抗干扰性较强。
电路的主要工作原理是单片机通过模拟SPI接口模式向MAX7456发送控制命令,如显示模式,读取字符存储器等,MAX7456根据单片机的指令,修改或者读取字符存储器中的字符,并将图像、字符混合后显示在指定的位置上。
1.3 系统软件设计
该系统通过串口接收命令,然后由中断处理程序显示叠加字符的软件流程如图3所示。
上电后,系统先对串口进行初始化,然后设置视频的输出模式和线程模式,接着单片机就等待串口传来的命令,当有命令满足中断条件时,单片机进入中断处理程序,将要显示的字符在指定的位置上以指定的属性叠加在视频信号上。
单片机与MAX7456的通信主要是通过SPI接口来实现的,SPI的时序图如图4所示。当单片机向MAX7456写数据时,首先拉低使能SPI口,在SCLK上升沿数据输入SDIN。当变为高电平时,数据被锁存至输入寄存器,如果在传输过程中变为高电平,则本次操作失败。变为低电平后,器件等待第一个输入到SDIN中的字节。以确定所执行数据传输的类型。SPI命令为16位,高8位代表寄存器地址,低8位代表数据。
2 创建新字符
由于MAX7456器件内部只集成了256个字符,这些字符并不能满足所有的需要,因此需要创建所需要的字符。用户定义的字符集结合输入视频流产生CVBS和OSD视频输出。最多可存储256个12×18像素字符,可以进行动态设置。在525线模式时,显示13行x30字符;在625线模式时,显示16行x30字符。MAX7456 OSD含有两组存储器:显示存储器(SRAM)和非易失字符存储器(NVM)。
显示存储器(SRAM)存储480个字符地址,这些地址“指向”存储在NVM字符存储器中的字符。显示存储器中的内容可由用户编程,具有SPI兼容串行接口。显示存储器地址对应于监视器的固定位置。每一字符都需要两个字节,第1个字节含有字符存储器中的字符数,第2个字节含有字符属性状态位,字符从左向右,自上而下排序。
非易失字符存储器存储要显示的字符或图形映射。字符存储器中的内容可由用户编程,采用SPI兼容串行接口。每一字符含有12行×18列像素。每一像素含有2个比特:00=黑色,不透明;0l=透明;10=白色,不透明;11=透明。因此,每个字符有12×18=216个像素,一个8位字节表示4个像素,所以每个字符需要216/4=54字节的数据。为方便寻址,存储器组织结构采用64字节块,每前54个字节表示一个字符,剩余10个字节没有使用。所以,字符存储器长度是64×256=16 384字节。因此,每个显示存储器地址位置包含的数值实际是对应于所选字符的64字节块地址。
使用MAX7456提供的GUI软件,能够控制器件,下载定制图形。字符存储器数据在一个文件中,文件的文件扩展名是*.mcm字符存储器。用记事本打开这个文件可以看到文件共有16 385行,第1行显示的是MAX7456,第2行到最后一行显示的都是8个二进制的数据。修改这些8位的二进制数就能够得到需要的字符或图形。
3 系统在导航中的应用
将摄像头信号接入所设计的字符叠加系统,视频输出接LCD显示屏,在显示屏上叠加导航所需要的信息:南京理工大学(NJUST)、日期(2009年12月8日)、纬度(Lat 32.518)、经度(Lon 118.137)、速度(V:15 m/s),航向(H:65.86),叠加效果如图5所示。
从图5可以看到,字符采用的是白底黑边,无论光线强弱都可以很清楚地显示所需要的信息,实际应用表明,本文设计的字符叠加系统操作方便,工作稳定,可以在比较复杂的环境中使用。
4 结束语
本文设计的视频叠加系统具有电路结构简单,成本较低,使用方便的特点,能实现视频图像中任意字符的叠加,当需要大的字符或者图案显示的时候,可将一个大的字符分成多个小的字符,也就是用多个54字节显示。实际使用证明该系统具有体积小、显示清晰、工作稳定、功耗低等特点,因此该系统可以应用于军事、航空、社会生活等监控系统中。