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文章
8168瀏覽量
146053 -
存儲器
+關注
關注
38文章
7455瀏覽量
163623 -
編輯器
+關注
關注
1文章
803瀏覽量
31129
發布評論請先 登錄
相關推薦
評論