基于FPGA的视频应用OSD设计

最新更新时间:2011-09-26来源: chinaaet关键字:显示汉字  数据转换  寄存器组  视频处理 手机看文章 扫描二维码
随时随地手机看文章
  近年来,数字视频监控系统在银行、高速公路、楼宇等各个领域取得了广泛的应用。在数字视频监控系统中,OSD(On Screen Display)技术是不可或缺的部分。OSD为用户提供友好的人机界面,能够使用户获得更多的附加信息。

  系统构成

  本文介绍的系统是基于TI DSP TMS320DM6?3与FPGA的完整视频监控系统,支持1路视频的输入和1路视频输出,此外还提供网络接口。

  视频输入采用TI的高性价比视频解码器TVP5150A来实现,TVP5150A可实现两路复合视频输入或一路S-video视频信号的采集。通过I2C进行寄存器配置,输出数字视频信号遵循ITU656标准。

  TVP5150A解码后的数字视频信号通过DM6?3的视频端口1传送给DSP,由DSP进行必要的视频处理,由网络接口输出给远端设备。另一方面,DM6?3把从网络接收的视频数据处理后,通过视频端口2,经过FPGA,由SAA7105显示输出,具体结构如图1所示。

  输出部分采用SAA7105实现。SAA7105是NXP公司的一款高性能视频编码器,可提供复合视频输出、VGA视频输出以及HDTV高清视频信号的输出。SAA7105的控制也通过I2C实现,接收复合ITU656标准的数字视频信号。

  视频处理部分采用的是TI的DSP TMS320DM6 3来实现。DM6 3主频可达600MHz,有2个20位的视频端口,视频端口支持BT.656、Y/C等数字视频接口,DM6 3还集成了网络MAC,可实现网络接入。

  硬件性能的发展速度总是很难满足软件的需求。在视频处理越来越复杂的应用中,DSP承担着繁杂的视频处理任务,资源变得非常紧张,所以在本系统设计中,采用了FPGA实现OSD的设计,可以减轻DSP的负担。

  OSD实现部分选用的是赛灵思公司的XC3S250E。XC3S250E是赛灵思SPARTAN-3E系列的FPGA,有25万个逻辑门。   

图1:基于TMS320DM6?3与FPGA的完整视频监控系统架构示意图

  OSD实现

  SAA7105无法实现OSD功能,而由XC3S250E来实现。主控芯片DM6 3只需要通知FPGA要显示的内容和位置,具体的工作由FPGA执行。OSD的逻辑框图如图2所示。

图2:OSD功能框图

  OSD FPGA通过EMIFA从DSP DM6 3接收OSD数据和控制指令,通过DSP的视频端口1接收视频数据,并将OSD的信息叠加到视频数据上,输出给视频编码器SAA7105。OSD的各功能模块描述如下。

  地址译码模块的数据端口与DSP DM6 3的EMIFA低32位数据接口,接收DM6 3发出的数据与控制信息,这些数据和控制信息是DM6 3发出的原始32位数据。地址译码模块将接收到的OSD数据,如OSD的内容等,以32位数据格式放入到FPGA的内部FIFO中。而控制信息主要是通过一组控制寄存器对OSD实现控制。

  与DSP直接连接的模块还有视频接口模块。视频接口模块与DSP的视频端口2相连,存储来自DSP视频端口的数据与控制信息。这些控制信息被直接传输给OSD多路控制模块,同时控制信息也直接控制视频解码器SAA7105。

  OSD控制逻辑把从控制寄存器组得到的控制信息输出到OSD的各个功能模块,实现对OSD的控制。寄存器组主要分为两个部分:一是异步寄存器组,向OSD发送如复位、OSD使能和选择数据宽度的控制信息;另一个是同步寄存器组,主要控制OSD的位置信息。

  OSD解码模块根据控制逻辑的控制信息,从FIFO中取出要显示的数据,以与视频数据同步的方式输出到OSD CLUT模块。从FIFO中获得的数据是原始的DSP 32位数据,而OSD CLUT模块需要的数据是8/16位的,所以OSD解包模块需要以一定的规则将32位数据解包,以视频端口的频率将32位数据以8/16的宽度传输给OSD CLUT模块。

  FIFO模块的另外一个功能是向DMA事件发生器模块传递FIFO的状态信息,如FIFO满或FIFO空。DMA事件发生器监控这些事件,如果发生,则以中断的模式发送给DM6?3,以实现对FIFO的正确读写操作。

  OSD CLUT模块为从OSD解包模块接收的每个象素的数据查找YCbCr的对应值,并控制这些OSD CLUT数据的输出顺序。这种转换关系是由DSP通过24位的数据端口传送过来的。OSD CLUT模块的数据直接输出给OSD多路控制器模块。

  OSD多路控制模块根据从OSD CLUT模块接收到的Alpha控制位确定输出视频数据,如果当前为OSD信息,即Alpha控制位有效,则输出OSD数据给数据转换模块。否则,输出从视频接口模块接收的原始视频数据,以此来实现OSD功能。

  OSD多路控制器输出的数据并没有直接送给视频解码器,而是通过数据转换模块,根据具体的应用条件,进行必要的数据格式转换。由SAA7105的接口时序可知,当SAA7105配置为复合视频输出时,其要求的数据为单时钟沿数据,此时数据转换模块不作任何工作,将从OSD多路控制模块接收的数据原封不动地传输给SAA7105;如果SAA7105配置为VGA或HDTV输出模式时,需要双时钟沿数据,此时数据转换模块将从OSD控制器接收到的单时钟沿数据转换成双时钟沿数据,输出给视频解码器SAA7105。

  由此可见,FPGA完成了OSD的所有工作。如果要显示OSD内容,DM6 3只需要通过EMFIA口向FPGA发送控制指令即可,这些指令当然包括OSD的内容及位置信息。

  OSD控制

  由XC3S250E实现的OSD设计根据接收到的OSD位置及内容信息进行OSD显示,对OSD显示的内容没有任何限制,非常灵活方便。下面以OSD汉字显示为例说明OSD的控制操作。

  要正确的显示汉字,就必须将输入的汉字内码转换成对应的区位码。这一功能我们通过函数Uint32 Code_Converse(unsigned char *CodeNPointer),其输入为指针,指向要转换汉字。返回值为该汉字对应的区位码。OSD的显示由函数OSDHZ?isplay实现:

  void OSDHZ_ Display{

  Uint8 *pFrame

  Uint32 pitch

  OSDUTIL_Point* loc

  Uint32 CodeQ

  OSDHZ?ont *font

  Uint8 fgColor

  Uint8 bgColor

  }

  其中,Uint8 *pFrame为OSD输出的Buffer缓冲区;Uint32 pitch为每行显示的象素值;OSDUTIL_Point *loc为第一个字符的显示位置;Uint32 CodeQ为要显示汉字的区位码;OSDHZ?ont *font为显示汉字所用的字体;Uint8 fgColor显示汉字的前景色;Uint8 bgColor显示汉字的背景色。

  所以,如果需要显示汉字,只需要将汉字进行必要的码制转换,然后将转换后的区位码,给出显示的位置,输出给OSD FPGA即可。当然要显示汉字,汉字字库是必不可少的。


关键字:显示汉字  数据转换  寄存器组  视频处理 编辑:探路者 引用地址:基于FPGA的视频应用OSD设计

上一篇:安森美半导体持续扩充下一代计算产品平台方案
下一篇:慕尼黑上海电子展:三大举措突破元器件淡季

推荐阅读最新更新时间:2023-10-18 15:49

多串口船舶导航数据转换器的低成本实现
1 引言 由于接收信号强弱差别、设备使用状况差异等因素,船舶导航过程中会出现信号不稳、输出中断等问题,给船舶导航带来极大不便。而电罗经和GPS是远洋船舶上常用的导航设备,合理地配合使用这两种设备可以有效地增加导航的可靠性。 为实现电罗经和GPS的配合使用,使用单片机设计了一种新型的船舶导航数据转换器 。在只有一种可靠导航数据的情况下,转换器可以实时地进行两种数据格式的转换,保证电罗经和GPS设备的正常工作,为船舶航行提供可靠导航。 2 串口扩展方案比较分析 数据转换器有两个输入端,分别与电罗经和GPS设备连接,且均为RS422接口 。GPS信号是标准NMEA-0183格式,并包括两种语句,其中HDT语句输出航向信号,ROT语
[单片机]
多串口船舶导航<font color='red'>数据转换</font>器的低成本实现
STC89C52控制74HC595,74HC138双色16x16点阵屏循环显示汉字
简介 常见的LED点阵除了使用MAX7219, 还有一部分是使用74HC595, 前者能主动刷新, 后者需要上位机主动扫描刷新. 手里这块是德飞莱的16x16LED点阵模块, 板上印的型号LY-LED16x16B V2.0, 这个型号有两种配置, 单色或者双色. 双色多一个IO口用于控制另一个颜色. 下图是板子背面, 这个是单色的配置, 有几个焊盘是空的, 8x8LED的引脚也有部分是空的. 运行机制 LED点阵的显示主要是通过74HC595和74HC138这两个逻辑芯片 74HC138 译码器/decoder 74HC138接受3位二进制地址输入(A0, A1, A2), 当使能时提供8个互斥的低有效输出(Y0至Y7
[单片机]
STC89C52控制74HC595,74HC138双色16x16点阵屏循环<font color='red'>显示</font><font color='red'>汉字</font>
GEO推出车内摄像头视频处理
据外媒报道,汽车摄像头视频处理器(CVP)公司GEO Semiconductor宣布,其车内摄像头应用新设计获奖。 (图片来源:GEO Semiconductor) GEO的专用摄像头视频处理器包括GW4和GW5系列产品,采用GEO的eWARP™技术,叠加图形,具有出色的高动态范围图像处理性能和几何处理性能,如用于计算机视觉处理的DSP(数字信号)处理器GW54x0。 最近,汽车市场快速增长的应用之一是车内监测系统(IMS),包括驾驶员监测(DMS)和乘员监测(OMS)应用。DMS可检测到昏昏欲睡或注意力不集中的驾驶员,并作为一项技术功能用于高档汽车。根据Euro NCAP(欧洲新车安全评鉴协会)和欧盟委员会的GSR
[汽车电子]
GEO推出车内摄像头<font color='red'>视频</font><font color='red'>处理</font>器
基于FPGA+DSP的视频处理系统设计
  0 引言   本系统采用基于 FPGA 与 DSP 协同工作进行视频处理的方案,实现视频采集、处理到传输的整个过程。   实时视频图像处理中,低层的预处理算法处理的数据量大,对处理速度要求高,但算法相对比较简单,适合于用FPGA进行硬件实现,这样能兼顾速度及灵活性。高层的处理算法结构复杂,适用于运算速度高、寻址方式灵活、通信机制强的DSP芯片宋实现。   DSP+FPGA架构的最大特点是结构灵活、有较强的通用性、适合于模块化设计,从而能够提高算法效率,同时其开发周期短、系统易于维护和升级,适合于实时视频图像处理。   系统采用模块化的设计方法,将整个系统划分为三部分:视频采集单元、视频处理单元和视频传输单元。   整个系统以F
[嵌入式]
基于FPGA+DSP的<font color='red'>视频</font><font color='red'>处理</font>系统设计
ADI 将携业界领先产品技术亮相 IIC-China 2011
北京2011年2月11日电 /美通社亚洲/ -- Analog Devices, Inc. (ADI),全球领先的高性能信号处理解决方案供应商及数据转换器市场份额领先者*,将于2011年2月24日至26日亮相深圳,参加国际集成电路研讨会暨展览会(IIC-China 2011 Spring),展示其主要针对工业自动化及医疗电子等领域的众多高性能产品和解决方案,并借技术应用论坛的机会与齐聚“鹏城”的电子业各界人士深入交流最新的技术和应用实例。 作为被业内广泛认可的领先企业,ADI 始终将解决各领域实际应用中的设计挑战作为其技术研发的核心目标,在此次大会上 ADI 将重点展示包括电表及自动抄表解决方案、电机控制解决方案、继
[模拟电子]
最新ADI数据转换器基础知识精华集锦三
双极性ADC直流偏移校正   直流指标(理想)   直流指标(微分非线性误差DNL)   直流指标(积分非线性误差INL)   积分非线性:积分非线性(INL)等同于相对精度,类似于运算放大器非线性。
[模拟电子]
最新ADI<font color='red'>数据转换</font>器基础知识精华集锦三
51单片机教程:8*8 点阵显示字符、数字、简单汉字
点阵显示实验 一、什么是点阵? 我们用之前的方法一个IO口只能控制一个led,如果需要用更少的IO口控制更多的led怎么办呢,于是就有了点阵。 8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则1脚接高电平a脚接低电平,则第一个点就亮了; 二、点阵原理图 可以看到点阵是由led按照一定的排列组成 实物图: 我们可以打开protues,用led模仿一下点阵结构,了解一下原理 三、测试点阵 1、 proteus里点阵是MATRIX,选择8*8就行了 发现没有引脚标识,只能自己测试一下了、 先接一个电源试
[单片机]
51单片机教程:8*8 点阵<font color='red'>显示</font>字符、数字、简单<font color='red'>汉字</font>
全新数字世界中模拟IC的ABC
   我们生活在这个世界,依靠视觉、听觉、感觉、嗅觉等感官功能感知一切,而自然界还有光、音、温度、压力等等现象,这一切都是模拟的。而随着电子技术的进步,带来了一个全新的数字世界。我们感知的是模拟信号,电子产品处理的是数字信号,一个完整的信号链,就是来来回回的在数/模之间转换。任何一个信号链系统,都需要传感器来探测来自模拟世界的电压、电流、温度、压力等信号。这些信号被送到放大器中进行放大,然后通过ADC把模拟信号转化为数字信号,经过处理器、DSP或FPGA信号处理后,再经由DAC还原为模拟信号(图1)。在模拟IC中,除了少量的混合信号(约占14%)处理,其余都是标准线性模拟IC。包括电源管理芯片、放大器、数据转换器和接口电路。 图1
[焦点新闻]
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved