引言
BES7456芯片是北京市嵌入式系统重点实验室应珠海安联锐视科技有限公司的要求,开发的一款用于安全视频监控市场的随屏字幕显示芯片。该芯片应具有黑白字幕叠加功能,可以兼容当前市面主流摄像头视频制式,内置RAM与外置非易失性存储器用I2C连接,能够满足大多数情况下监控系统对字幕信息的需求。由于OSD(On Screen Display) 芯片的开发在国内尚处于起步阶段,所以该项目的研究对相关技术的发展有着重要的现实意义。
BES7456是单色单通道随屏显示(OSD)发生器,主要应用于黑白模拟电视信号上叠加字幕。它将外部视频驱动器、同步分离器、视频开关、存储器集成在一起,有效降低成本。BES7456采用符合NTSC和PAL制式的256个用户可编程字符,这些字符预先加载并通过SPI接口进行在线编程。BES7456适用范围广,可以方便地显示任意字符、尺寸的各种信息,例如公司标识、常用图形、日期时间等。BES7456提供LQFP(Lowprofile Quad Flat Package)48封装,外形尺寸较小,寄生参数减小,工作于扩展级(-40~+85 ℃)温度范围。
1OSD显示原理与BES7456芯片
BES7456的内部工作原理是当视频信号经过钳位电路(clamp)时进行“直流重建”,由同步分离电路 (SYNC separator)得到要显示的位置信息,视频时序发生器产生所有内部和外部(Vsync和Hsync)时序信号,经由随屏显示发生器(OSD generator)产生数字信号形式,再经过DAC转换为模拟信号像素,在视频开关(MUX)处切换字符与原电视信号,最后经过功率放大器(driver)输出到电视接收端,在电视中可以看到经过叠加后的混合视频信号。
1.1BES7456的内部结构
BES7456内部集成有产生OSD像素以及将其插入复合视频信号所需的全部功能,与外部EEPROM联合使用。该器件内置有输入箝位、 同步发生器、 视频定时发生器、OSD插入MUX、字符存储器RAM、 显示存储器SRAM、OSD发生器、 晶体振荡器、 可读/写OSD数据的SPI兼容接口以及视频驱动器。BES7456芯片的内部结构如图1所示。
图1BES7456芯片的内部结构图
1.2BES7456主要模拟模块概述
(1) 钳位电路
采用BES7456芯片的OSD系统使用较为流行的交流耦合输入/输出结构,而在随之带来的场—时间失真的问题上,这里通过在输入级内部使用钳位电路的方法来解决。钳位电路需要将VIN的同步脉冲的黑色电平稳定地钳位到相对于模拟地稍高的位置上,使得后续的同步分离电路能正确地分离出同步脉冲。
(2) 同步分离器
在OSD系统中,OSD芯片需要告诉外部控制器何时可以访问芯片内部状态寄存器或更新屏幕上的字符显示,否则就会发生存储器访问的混乱。根据视频扫描原理,如果利用消隐时间对显示存储器的内容进行修改,就可以实现字幕的实时更新。利用行同步信息可以确定字符像素在电视画面中的水平坐标,利用场同步信息可以计算出字符像素在画面中的垂直位置。场同步输出与第一个输入脉冲的锯齿波的上升沿,同步结束于第一个后均衡脉冲的后沿,因此它比2.5 Hz的场同步要稍微宽一些[1]。
(3) 数模转换器(DAC)
在本设计的OSD系统中,DAC的作用是将字符生成器模块产生的OSD数字流转换为模拟电平信号,从而产生实时的字符图像。实际上,正常工作使用内同步信号时字符生成模块会持续输出带有行、场同步信号的黑白视频流,经过DAC转换成1 Vpp的标准黑白视频信号,视频开关只在需要插入OSD图像的时刻才将输入切换到DAC的输出。
为满足常见的OSD 显示的需要,对于DAC,至少需要7位有效位才能区分出所有这些电平来。如果要在电视屏幕上同时并排显示30个字符,每个字符为12列×18行,即每行图像应能分辨出360个像素点, 根据PAL制式每行的图像扫描时间52 μs,DAC的采样时钟频率至少应为6.94 MHz(每个采样点的周期为144 ns) 。由于DAC的下一级为视频开关,并且为直流耦合,DAC所输出的OSD信号(最大1.14 Vpp)需要有合适的偏置电压才能正常通过视频开关和视频驱动器模块。
2OSD芯片应用平台的设计与实现
2.1软件应用平台的建立
2.1.1使用、调试注意事项
在运行整个OSD系统时必须在MCU上运行软件来控制BES7456芯片的时序,本系统的MCU采用的是Maxim公司生产的MAXQ2000单片机,这款单片机主要的好处是有专用的SPI接口。与MCU的在线通信调试可以通过JTAG接口,运 行 于Windows平 台 下 的IAR Embedded Workbench 210A是专门用于MAXQ系列微控制器的集成开发工具之一, 目前已被大多数MAXQ系列芯片开发所使用。在IAR下建立新工程时,应该注意需要设置的编译选项:General Option/Target/Device 并选MAX200X,以及General Option/Debugger/JTAG,并在COM port中选择相应的接口,可以在电脑的设备管理器中查看所安装的接口。
2.1.2SPI接口、时序、使用方法
BES7456支持高达10 MHz接口时钟(SCLK)。图2为写数据时序,图3是从器件读数据的时序。写寄存器时,拉低CS可使能串行接口。在SCLK的上升沿从SDIN读取数据。当CS变为高电平时,数据锁存到输入寄存器。如果传输过程中CS变高,程序终止(即数据不写入寄存器)。CS变低之后,器件等待从SDIN读入第一个字节,以确定正在执行的数据传输类型。
图2写操作
图3读操作
读寄存器时,如上文所述,拉低CS在SCLK的上升沿锁入SDIN。然后数据在SCLK的下降沿从SDOUT输出。SPI命令长度为16位:最高8位(MSB)代表寄存器地址,最低8位(LSB)代表数据(如图2、图3所示)。这种格式有两个例外:
① 自动递增写模式,用于访问显示存储器,是一个8位操作。写数据前必须写入起始地址。对显示存储器执行自动递增写命令时,8位地址由内部产生,串口只需8位数据,如图4所示。
图4自动递增写操作
② 从显示存储器读字符数据时,若处于16位工作模式,应该是24位(8位地址+16位数据)。 执行读操作时,只需要8位地址,如图3所示。
2.1.3应用信息
(1) 字符存储器CM(CharacterMemory)操作
BES7456的字符存储器一次只能写入或读出全部的字符(54字节),这可通过SPI端口,经过MCU(MAXQ2000)实现。这里给出写入字符操作,读出操作类似可以相应得出:写入VM0[3]=0以禁止OSD显示→写入CMAH[7:0]=xxH,选择写入字符(0~255)→写入CMAL[7:0]=xxH,选择写入字符的4个像素字节(0~63)→写入CMDI[7:0]=xxH设置字符所选部分像素值→重复前两步,直到字符数据的54个字节写入RAM中→写入VM0[3]=1,使能OSD图像。
(2) 显示存储器DM(Display Memory)的操作
对显示存储器的操作更多一些,这里给出常用的操作,其他情况对应寄存器表可以很快得出。以下步骤支持对OSD图像的查看,读写显示存储器时不需要这些动作:写入VM0[3]=1,使能OSD图像显示;写入OSDBL[4]=0,使能自动OSD黑电平控制,保证正确的OSD图像亮度,该寄存器包含4个预设为[3:0],不能修改,因此,修改第4位时,首先读取OSDBL[7:0],修改第4位,然后写回更新后的字节。
8位模式下,写入显示存储器的步骤为:向显示存储器写入字符时,8位工作模式最灵活,这一模式支持为每一个字符写入单独的字符属性字节,这一模式与16位工作模式不同,在16位模式下,当写入一个字符时,从DMM[5:3]自动复制其字符属性。写入DMM[6]=1,选择8位工作模式。
16位模式下,读取显示存储器的步骤:写入DMM[6]=0,选择16位工作模式。写入DMAH[0],选择需要读取数据的地址MSB写入DMAL[7:0]=xxH,选择需要读取数据地址的MSB以外的低位数据该地址确定字符在显示器上的位置读取DMDO[7:0],从显示存储器中的所选位置读取数据。
2.2硬件应用平台的建立
用BES7456芯片作为OSD系统的核心部件时, 需要添加相应的外围器件才行。 图5为OSD模块的硬件结构框图 。 其中 ,BES7456负责对输入的模拟视频信号进行加字幕处理;MAXQ2000作为一颗低压微功耗单片机,本身自带SPI接口,可以运行10 Mbps的速率,速度快,为BES7456提供相应的控制信号, 并负责通过串口与PC通信, 以获得用户自定义的字符集和配置信息,也可通过GPIO模拟SPI接口时序,但速度慢;MAX3002是一颗双向电平转换芯片,经过设定,它可在1.2~5.5 V之间的信号进行相互转换,把它作为MAXQ2000的2.5 V系统信号转化为BES7456可以使用的1.2 V数字系统信号,以及3.3 V的模拟信号都绰绰有余;MAX3311是与MAXQ2000配套的串口芯片,提供与PC通信的串口信号转换;MAX8881作为电源转换芯片,在此可将5 V的供电转化为单片机和buffer芯片需要的2.5 V电源,AMS117负责将5 V电源转为3.3 V,而IP3878ADJ则负责将3.3 V电源转为BES7456需要的1.2 V电源。
图5BES7456芯片组成的OSD模块的硬件结构
2.3实现效果
采用BES7456芯片作为OSD核心部件的系统显示,非常稳定适合于模拟电视信号的视频字幕的叠加。而且这一系统能够随时调整显示字幕的内容,方便修改并可通过I2C接口编辑字幕库。
图6中最左边的低电平部分为视频信号的VSYNC信号,右边最高电平的一部分为叠加上去的,其余的是正常视频信号。图7中背景为实验室的测试屋一角,高亮白电平为自己编辑的字幕,可以自由改变其内容。
图6示波器看到的效果图
结语
如上所述,使用自主研发BES7456芯片作为字幕叠加处理芯片完全可以到达很好的显示和应用效果。使用它不仅可以摆脱国外产品对我国此类芯片的垄断,有效节约成本,也能促进我国集成电路产业的发展。图7用电视看到的OSD效果图
图7 用电视看到的OSD效果图