微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 采用FPGA实现视频应用中的OSD设计

采用FPGA实现视频应用中的OSD设计

时间:07-28 来源:互联网 点击:

式时,需要双时钟沿数据,此时数据转换模块将从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即可。当然要显示汉字,汉字字库是必不可少的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top