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.显示存储器的固定位置。
图2.显示存储器的字符属性状态位。
字符记忆
非易失性字符存储器存储要显示的字符或图形图像。字符存储器的内容可通过SPI兼容串行接口进行用户编程。每个字符由 12 个水平 x 18 个垂直像素组成。每个像素由两个位表示:
00 = 黑色,不透明
01 = 透明 10 = 白色,不透明
11 = 透明
因此,每个字符有 12 x 18 = 216 像素。一个 8 位字节描述四个像素。因此,每个字符需要 216/4 = 54 字节的数据。(请参阅图 3。
图3.字符内存配置。
为了使寻址更容易,内存以 64 字节的块进行组织。前 54 个字节中的每一个都描述一个字符。剩余的 10 个字节未使用。因此,字符存储器的长度为 64 x 256 = 16384 字节。
因此,每个显示存储器地址位置中包含的数字实际上是与所选字符对应的 64 字节块的地址。
评估板图形用户界面(GUI)软件
MAX7456评估板提供GUI软件,允许用户控制器件并下载自定义图形。
与软件相关的文件组织类似于MAX7456的存储器。字符存储器的数据保存在一个文件中,而显示存储器的数据保存在另一个文件中。这些文件的文件扩展名是:
*.mdm 显示内存 *.mcm 字符内存
这些 ascii 文本文件可以使用任何文本编辑器(如 Windows® 记事本)查看。因此,每行都以 ASCII 字符返回/换行序列结尾。
显示内存文件的组织
.mdm 显示内存文件的一部分如图 4 所示。
图4.显示内存组织。
在图4中,第1行给出了器件类型:MAX7456。第 2 行给出视频标准:PAL 或 NTSC。第 3 行显示关联字符文件的文件名:Duck.mcm。第 4 行及以下行是行对,它们在屏幕上的每个位置提供字符,如上面的图 1 所示。
因此,其中 x 是图 1 中的字符位置,描述字符的行由下式给出:
n = 4 + 2 × x 字符数
n = 5 + 2 × x 字符属性
字符属性如图 5 所示:
图5.字符位置的字符属性如图 1 所示。
在此示例中:
显示中的字符 0 使用字符记忆中的字符 1。
字符 0 不闪烁、反转或透明
显示中的字符 1 使用字符记忆中的字符 2。
字符 1 不闪烁、反转或透明
显示中的字符 2 使用字符记忆中的字符 2。
字符 2 不闪烁、反转或透明
等。
请注意,.mdm 文件的长度取决于视频标准。如果选择 PAL,则文件将有 480 行对;该文件在 NTSC 中将有 390 行对。
字符记忆文件的组织
下面的图 6 显示了 *.mcm 文件的一段。
图6.显示存储器的组织。
第 1 行给出了设备类型。第 2 行及以下行定义了像素,如上图 3 所示。在此示例中,字符 0 的每个像素都设置为“01”,即透明。
人物记忆提示
不必将字符 0 的每个位都设置为“01”。但是,当设备通电时,显示存储器将默认重置为指向字符 0。因此,在上电时,输入视频将通过,没有错误的叠加。正确初始化设备后,普通字符可以正常覆盖。
为什么像素显示为灰色或透明
如果字符存储器中将像素定义为透明(内存中的“01”或“11”),则根据其他几种情况,它可以显示为透明或灰色。
有三个条件会影响像素:
字符级别,由显示存储器中每个字符集的属性位定义。
全局级别,在视频模式寄存器的背景位中定义(位 7,Reg 01)。
外部同步检测器的状态。
位也可以是透明的,具体取决于输入视频同步检测的状态。真值表如表 1 所示,它假设像素在像素级别定义为透明。如果不透明,则像素将显示为黑色或白色,与任何其他设置无关。当然,也假设 OSD 显示设置为打开。
外部同步检测(1 = 是,0 = 否) | 全局背景模式 | 角色级别属性 | 像素外观 |
0 | X | X | 灰色 |
1 | 0 | 0 | |
1 | 0 | 1 | |
1 | 1 | X | 灰色 |
如果像素显示为灰色,则可以使用地址位置 90H 到 9FH 中的寄存器 RB0 到 RB15 逐行设置亮度。
转换字符内存文件中的像素颜色
通过了解评估板文件的结构,可以很容易地将像素转换为黑色、白色或透明色。
字符内存文件很容易通过Excel等程序转换。下面的图 7 中显示了这方面的一个示例。加载到评估板软件时,标题如下所示。
图7.可以使用 Excel 更改字符内存来更改像素的颜色。
标题字体为白色背景上的黑色。有一种简单的方法可以转换此配色方案。
将 .mcm 文件加载到 Excel 中。作为文本文件,只需打开即可导入.mcm文件。请记住,这些行必须被视为文本,否则将删除前导零。因此,在导入过程中将列数据格式设置为文本。
若要保留格式,最好将值列复制到新的电子表格中。
现在使用 Excel MID 功能将行切成 4 x 2 个字符。
在此之后,转换两个字符值。
重建线路。
现在,将原始文件中的列替换为组装的列,然后保存它。
为了证明所取得的成就,将新的.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))
将“00”替换为“10”或将“10”替换为“01”
列 J = 连接(F2,G2,H2,I2) 重建新单词
J列被复制到原始文件并保存以保留格式(图8)。
图8.上面的公式用于在Excel中转换像素颜色。
加载到评估软件后,新文件如图9所示。
图9.更改后的像素颜色在 Excel 中的显示方式的图示。
审核编辑:郭婷
-
驱动器
+关注
关注
52文章
8149浏览量
145946 -
存储器
+关注
关注
38文章
7447浏览量
163586 -
编辑器
+关注
关注
1文章
800浏览量
31108
发布评论请先 登录
相关推荐
评论