基于MAX7456的视频字符叠加系统设计
目前视频字符叠加器件主要有日本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所示。
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)