应用笔记 4117

使用MAX7456存储器和评估板文件生成定制字符和图形


摘要 : MAX7456是单通道随屏显示(OSD)发生器,用户可以利用它在动态视频上叠加定制的图形。本应用笔记阐述MAX7456的存储器结构,介绍怎样使用该器件产生定制字符和图形。说明了MAX7456评估(EV)板的文件格式。文章还解释了怎样通过使用表格来轻松处理这些文件。

简介

用户可以利用MAX7456单通道随屏显示(OSD)发生器在动态视频上叠加定制图形。MAX7456不需要外部视频驱动器、同步分离器和视频开关,大大降低了系统成本。器件提供525和625线标准的256个用户可编程单色字符,能够服务于所有国家和国际市场。它很容易显示任意字体和大小的公司标识、定制图形、时间和日期等信息。本应用笔记阐述怎样利用MAX7456来生成定制字符和图形。还说明了MAX7456评估(EV)板的文件格式。

MAX7456存储器组织结构

用户定义的字符集结合输入视频流产生CVBS和OSD视频输出。最多可存储256个12 x 18象素字符,可以进行动态设置。在525线模式时,显示13行 x 30字符;在625线模式时,显示16行 x 30字符。

MAX7456 OSD含有两组存储器:显示存储器和非易失字符存储器(NVM)。

显示存储器

显示存储器(SRAM)存储480个字符地址,这些地址“指向”存储在NVM字符存储器中的字符。显示存储器中的内容可由用户编程,具有SPI™兼容串行接口。显示存储器地址对应于监视器的固定位置。请参考下面的图1,每一字符都需要两个字节。第一个字节含有字符存储器中的字符数(参考下面的讨论);第二个字节含有字符属性状态位,如图2所示,字符从左向右,自上而下排序。

图1. 显示存储器的固定位置
图1. 显示存储器的固定位置

图2. 显示存储器的字符属性状态位
图2. 显示存储器的字符属性状态位

字符存储器

非易失字符存储器存储要显示的字符或图形映射。字符存储器中的内容可由用户编程,采用SPI兼容串行接口。每一字符含有12行 x 18列象素。每一象素含有两个比特:
00 = 黑色,不透明
01 = 透明
10 = 白色,不透明
11 = 透明
因此,每个字符有12 x 18 = 216个象素。一个8位字节表示4个象素。所以,每个字符需要216/4 = 54字节的数据(参见图3)。

为方便寻址,存储器组织结构采用64字节块。每前54个字节表示一个字符。剩余10个字节没有使用。所以,字符存储器长度是64 x 256 = 16384字节。

因此,每个显示存储器地址位置包含的数值实际是对应于所选字符的64字节块地址。

图3. 字符存储器配置
图3. 字符存储器配置

评估板的图形用户界面(GUI)软件

MAX7456评估板提供GUI软件,使用户能够控制器件,下载定制图形。

和软件相关的文件组织结构形式与MAX7456存储器相似。字符存储器数据在一个文件中,而显示存储器数据在另一个文件中,这些文件的文件扩展名是:
*.mdm显示存储器
*.mcm字符存储器
Windows®记事本等文本编辑器都可以查看这些ascii文本文件。因此,每一行最后都是一个ASCII字符回车/换行序列。

显示存储器文件组织结构

下面的图4所示为.mdm显示存储器文件的一段。

图4. 显示存储器组织结构
图4. 显示存储器组织结构

在图4中,第一行给出器件类型:MAX7456。第二行给出视频标准:PAL或者NTSC。第三行显示相关字符文件的文件名:Duck.mcm。第四行及其以后各行是行对,给出屏幕上每一位置的字符,如上面的图1所示。

因此,x是图1中的字符位置,说明字符的行如下:
n = 4 + 2 × x字符数
n = 5 + 2 × x字符属性
字符属性如图5所示:

图5. 图1中字符位置的字符属性
图5. 图1中字符位置的字符属性

在这个例子中:

显示器上的字符0使用字符存储器的字符1
字符0没有闪烁、反转或者透明
显示器上的字符1使用字符存储器的字符2
字符1没有闪烁、反转或者透明
显示器上的字符2使用字符存储器的字符2
字符2没有闪烁、反转或者透明


注意,.mdm文件长度取决于视频标准。如果选择了PAL,文件将含有480个行对;在NTSC中,文件含有390个行对。

字符存储器文件的组织结构

*.mcm文件的一段如下面的图6所示。

图6. 显示存储器组织结构
图6. 显示存储器组织结构

第一行给出器件类型。第二行及其以后各行定义了上面图3所示的象素。在这个例子中,字符0的每一象素被设置为“01”,即,透明。

字符存储器说明

并不需要将字符0的每一位设置为“01”。当器件上电时,显示存储器复位后默认为指向字符0。因此,上电时,通过的输入视频并没有错误的叠加图像。器件正确初始化后,将叠加显示正确的字符。

象素为什么显示为灰色或透明

如果在字符存储器中将象素定义为透明(存储器中为“01”或者“11”),那么它可以根据其他条件显示为透明或灰色。

影响象素的条件有三个:
  1. 字符级,由显示存储器中每一个字符集的属性位定义。
  2. 全局级,在视频模式寄存器的背景位(第7位,Reg 01)中定义。
  3. 外部同步检测器的状态。
位也可以是透明的,它取决于输入视频同步检测的状态。真值表如表1所示,假定象素在象素级被定义为透明。如果不透明,象素将显示为黑色或者白色,与任何其他设置无关,当然,假设OSD显示器是打开的。

表1. 灰色象素的字符属性
External Sync Detect
(1 = Yes, 0 = No)
Global Background Mode Character Level Attribute Pixel Appearance
0 X X Gray
1 0 0  
1 0 1  
1 1 X Gray

如果象素显示为灰色,那么,可以通过地址位置90H至9FH的寄存器RB0至RB15逐行设置其亮度。

转换字符存储器文件中的象素颜色

理解了评估板文件的结构后,可以很容易地将象素转换为黑色、白色或透明。

Excel等程序很容易转换字符存储器文件。例子之一如下面的图7所示,装入到评估板软件中时,其字幕如下所示。

图7. 使用Excel改变字符存储器就可以改变象素的颜色
图7. 使用Excel改变字符存储器就可以改变象素的颜色

字母是白色背景下的黑色显示。有一种简单的方式来转换这一颜色方案。
  1. 将.mcm文件装入到Excel中。作为文本文件,打开.mcm文件就可以将其导入。记住,必须将行作为文本来处理,否则,会去掉前导零。因此,在导入过程中,将列数据格式设置为文本。
  2. 为保护格式,最好将数值列复制到新的表格中。
  3. 使用Excel MID功能将行分成4 x 2字符。
  4. 如此,转换两个字符值。
  5. 重新构建行。
  6. 将组合后的列替换原始文件中的列,保存。
  7. 为检验结果,将新的.mdm文件装入到评估板软件中。
在这个例子中,所有黑色字符转换为白色,所有白色字符转换为透明。这样:

"00"成为"10"—黑色转换为白色
"10"成为"01"—白色转换为透明
"01"未变—透明不变

在Excel中很容易实现颜色转换。结果被返回至原始文件,以保留格式。

Excel公式比较简单,如下所示,A列是原始数据。

B列 = MID(Ax, 1, 2) 选择字符1开始的两个字符
C列 = MID(Ax, 3, 2) 选择字符3开始的两个字符
D列 = MID(Ax, 5, 2) 选择字符5开始的两个字符
E列 = MID(Ax, 7, 2) 选择字符7开始的两个字符
F列 = IF(Bx="00","10",IF(Bx="10","01",Bx))
G列 = IF(Cx="00","10",IF(Cx="10","01",Cx))
H列 = IF(Dx="00","10",IF(Dx="10","01",Dx))
I列 = IF(Ex="00","10",IF(Ex="10","01",Ex))
以"10"替代"00",或者以"01"替代"10"
J列 = CONCATENATE(F2,G2,H2,I2) 重新构建新字

J列被复制到原始文件,并保存,以保留格式(图8)。

图8. 上面的公式用于在Excel中转换象素颜色
图8. 上面的公式用于在Excel中转换象素颜色

一旦装入到评估板软件中,新文件如图9所示。

图9. Excel中被改变后的象素颜色
图9. Excel中被改变后的象素颜色

可以下载AN4117.zip,找到上面的Excel表格以及评估板相关文件。
下一步
EE-Mail 订阅EE-Mail,接收关于您感兴趣的新文档的自动通知。
© , Maxim Integrated Products, Inc.
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content, contact us.
APP 4117:
应用笔记 4117,AN4117, AN 4117, APP4117, Appnote4117, Appnote 4117