在任何屏幕視頻顯示系統(tǒng)或字符生成器中,希望在更改顯示信息時提供平滑過渡。顯示時間和日期的應用程序需要在幀之間更新,以獲得明確的記錄。MAX4455任意圖形屏幕顯示發(fā)生器能夠?qū)崿F(xiàn)這些目標,但設計人員需要考慮編程多個像素時可能發(fā)生的大量數(shù)據(jù)傳輸。本文提供確?;贛AX4455的OSD系統(tǒng)具有最佳圖形更新速率的方法。
背景
基于MAX4455的顯示系統(tǒng)的數(shù)字部分由微控制器(主機處理器)、SDRAM存儲器和MAX4455組成,MAX1用作主機和存儲器之間的接口。如圖 <> 所示。
圖1.MAX4455關鍵接口信號
要顯示的圖形數(shù)據(jù)包含在 SDRAM 內(nèi)存中。八個通道的數(shù)據(jù)組織是通過每個通道的 512 x 1024 x 4 的邏輯塊進行的,每個通道總共 2Mbits,所有 16 個通道總共 484Mbits。對于 NTSC 和 PAL 視頻格式,顯示屏上的可見像素映射到內(nèi)存中的方式不同。對于NTSC,一維512位中的484位用于表示712條可見視頻水平掃描線,另一維中1024位中的512位用于表示每行的總可見水平像素。對于PAL格式,所有512位都用于表示712條視頻水平掃描線,每個行分辨率具有與NTSC相同的4個可見水平像素。在這兩種格式中,每個像素都具有 <> 位分辨率來表示亮度。
SDRAM存儲器和主機處理器之間的接口通過MAX4455。用于存儲器的數(shù)據(jù)首先寫入MAX4455。MAX4455反過來將這些數(shù)據(jù)寫入外部SDRAM。如果通道顯示使能(未消隱),MAX4455從外部SDRAM的適當位置讀取數(shù)據(jù),處理數(shù)據(jù),并在OSDKEY上顯示OSDFIL的相應電平和相關時序,通過外部快速復用器驅(qū)動和控制插入。該存儲器讀取序列在視頻信號的活動部分期間連續(xù)工作。由于MAX4455與輸入視頻同步,存儲器讀取周期相對于主機處理器時鐘本質(zhì)上是異步的。
從SDRAM寫入和讀取數(shù)據(jù),方法是將地址寫入地址寄存器,將數(shù)據(jù)寫入數(shù)據(jù)寄存器,然后寫入MAX4455的命令寄存器,對存儲器執(zhí)行寫入(或讀?。I想姇r,MAX4455自動將零值寫入外部存儲器的所有可尋址位置。
主機控制器和MAX4455之間的接口為并行總線,由8條數(shù)據(jù)/地址線(AD0-AD7)組成,具有單獨的地址/數(shù)據(jù)(ADDR/DATA)、讀(RD)、寫(WR)、片選(CS)和就緒/忙(RDY/BSY)控制線。
優(yōu)化圖形更新速率
MAX4455的圖形更新速率受以下因素影響:
圖形的大小。
微控制器 I/O 速度。
使用空白控制功能。
監(jiān)控 RDY/BSY 控制線。
使用自動增量、多次寫入和共享內(nèi)存功能。
創(chuàng)建圖形的策略。
這些問題都會不同程度地影響MAX4455的圖形更新速率。它們大致按其影響的順序列出。表 1 顯示了不同條件下的不同更新時間。電子表格中分析的變量包括:圖形大小、處理器 I/O 速度、消隱使用和自動增量。從表中您可以看到最快的更新速率是使用最小的圖形、最快的處理器以及使用消隱和自動增量實現(xiàn)的。還顯示了每個條件的視頻水平線和垂直字段的等效數(shù)量。這對于確定更新速率的視覺影響非常有用。在 20 條水平線內(nèi)發(fā)生的變化是不可見的,因為這是垂直消隱間隔的時間。顯示器上少于 2 個場(單個視頻幀)中發(fā)生的單個圖形更改通常無法察覺。另一種說法是,人眼-腦組合通常無法感知比一個視頻幀的時間段短的非重復事件。
表 1 中的時間是使用以下假設計算得出的。
自動增量模式 - 所有通道消
隱 2 字節(jié)狀態(tài) + 每行 6 字節(jié) (QPLH+QPLL+QPHORIZ) + 每四個像素 6 字節(jié) (QPH+QPL+命令) 單個地址模式 - 所有通道空白
2 字節(jié)狀態(tài) + 每四個像素 6 個字節(jié) (QPLH+QPLL+QPHORIZ) + 每四個像素 6 個字節(jié) (QPH+QPL+命令)
注:QPLH、QPLL、QPHORIZ、QPH、QPL、COMMAND是MAX4455的內(nèi)部寄存器,與SDRAM的寫入和讀取有關。
公式和表1中的值不包括檢查RDY/BSY信號狀態(tài)的時間,以及處理器準備數(shù)據(jù)所需的任何計算時間。
啟用通道所需的時間是通過使用上述公式計算的,然后將每條掃描線的活動視頻時間相加。
圖 2 中的圖表使用表 1 中的數(shù)據(jù)繪制了執(zhí)行更新的時間與需要寫入內(nèi)存的像素數(shù)的關系。繪制的數(shù)據(jù)適用于所有通道均空白的單個地址模式。這三條不同的線代表三種不同的處理器 I/O 速度。
圖2.MAX4455更新時間與像素數(shù)的關系(所有通道均空白時的獨立地址模式)。
現(xiàn)在,我們將仔細研究影響更新速率的每個問題。
圖形的大小
顯然,較大的圖形包含更多的像素,這意味著必須寫入更多的數(shù)據(jù)。一個簡單的建議是使圖形盡可能小,以實現(xiàn)最快的更新速率,即在文本顯示的情況下使用較小的字體。圖形大小的增加會導致像素數(shù)按比例增加。例如:給定圖形的兩個維度增加 2×會導致像素數(shù)增加 4×。
微控制器 I/O 速度
微控制器的速度對圖形更新速率有直接影響,從表1中可以看出。需要注意的是,關鍵參數(shù)是與MAX4455通信的I/O端口的速度,而不是處理器時鐘速度。在許多處理器中,從 I/O 端口寫入或讀取需要多個時鐘周期。
空白函數(shù)
BLANK 功能由通道狀態(tài)寄存器中的一個位控制,允許處理器基于每個通道啟用或禁用 OSD 輸出。當單個通道被禁用(空白)時,OSDFIL和OSDKEY輸出處于非活動狀態(tài),但更重要的是,該通道的數(shù)據(jù)讀取被暫停。這將釋放主機處理器要使用的內(nèi)存訪問帶寬。使用 BLANK 函數(shù)可以將更新速率提高大約兩倍。使用 BLANK 功能的一個關鍵權衡是 OSD 顯示屏上可能會閃爍。當通道空白時間過長時,會發(fā)生這種情況。如果小于單個幀的消隱時間是隨機發(fā)生的,則不明顯。任何重復的消隱都可能很明顯,并且可能被視為令人反感的閃爍,具體取決于消隱的重復率。實現(xiàn)無感知閃爍的平滑顯示的確切消隱率取決于許多與系統(tǒng)相關的因素,其中最重要的是人類感知。每個系統(tǒng)設計都應針對所需的視覺性能進行評估和優(yōu)化。
就緒/忙碌輸出
MAX4455的RDY/BSY輸出向處理器發(fā)出信號,表明MAX4455已準備好接受用于SDRAM存儲器的另一個地址或數(shù)據(jù)。在此重申此信號與主機處理器是異步的,并且無法預測其斷言或取消斷言。使用此輸出的唯一合理方法是主機連續(xù)監(jiān)視它,通常通過配置為處理器中斷的 I/O。
RDY/BSY信號在上電時初始置位,即使MAX4455連續(xù)從存儲器中讀取數(shù)據(jù)。主機將地址和數(shù)據(jù)值寫入 QPH、QPL、QPHORIZ、QPLINEH、QPLINEL 寄存器。一旦在命令寄存器中設置了寫位,MAX4455檢查存儲器接口的可用性。如果接口可用,MAX4455將數(shù)值寫入存儲器。如果接口不可用,MAX4455取消對RDY/BSY的置位,然后等待下一個可用時隙寫入。一旦它寫入了值,它就會斷言RDY/BSY信號。
自動增量功能、多次寫入功能和共享內(nèi)存功能
自動遞增功能由通道狀態(tài)寄存器中的單個位控制,當順序位置寫入存儲器時,使用該功能,該存儲器表示顯示器上的水平線或垂直線。當設置通道狀態(tài)中的VINC位時,垂直地址在每次讀取或?qū)懭氩僮骱笞詣舆f增。類似地,當設置通道狀態(tài)寄存器中的HIMC位時;每次讀取或?qū)懭氩僮骱?,水平地址會自動遞增到下一個四像素位置。通過這種方式,可以連續(xù)寫入數(shù)據(jù),而不必寫入相應的地址,從而提高更新速率。
由 MWRITE 命令寄存器控制的多寫入功能可用于在同一位置的兩個或多個通道上顯示完全相同圖形的特殊情況。通過在MWRITE寄存器中設置適當?shù)奈粊磉x擇應接收相同數(shù)據(jù)的通道。設置這些位后,MAX4455通過主機處理器的單個寫入命令,自動將相同的數(shù)據(jù)寫入所選通道的相應存儲器位置。與單獨寫入每個通道相比,使用多寫入命令將提高更新速率,并減輕處理器的負擔。
由一組寄存器控制的共享存儲器功能也可用于在多個通道上顯示相同數(shù)據(jù)的特殊情況。通過指定應與多達三個其他指定通道共享的一個通道部分的開始和結束行,必須更新的像素數(shù)可以減少四倍。偶數(shù)編號通道可以與偶數(shù)編號通道共享,奇數(shù)編號通道可以與奇數(shù)編號通道共享。此功能的限制是必須共享整行,而不是單個像素。在極端情況下,可以在四個唯一的通道對之間共享信息,或者在所有八個通道上共享相同的信息。
更改圖形的策略
大多數(shù)圖形圖像具有一定程度的空間冗余或至少是重復出現(xiàn)的模式。通過仔細制作圖形的繪制順序,可以減少一次必須更改的像素總量。以占據(jù)整個屏幕的純色背景菜單為例。首先利用自動增量功能填充整個背景,然后單獨更改與菜單項相關的像素會更有效。
除了自動增量之外,軟件還可以利用MAX4455寄存器內(nèi)容的靜態(tài)特性。首先將地址和數(shù)據(jù)寫入MAX4455的寄存器,將數(shù)據(jù)寫入SDRAM存儲器。軟件例程可以利用這些寄存器中的數(shù)據(jù)是靜態(tài)的這一事實,因為給定寄存器中的數(shù)據(jù)在用戶將新數(shù)據(jù)寫入該寄存器之前不會更改。如果一系列像素的數(shù)據(jù)沒有變化,則在需要更改亮度之前不必再次寫入。
顯示文本字符串時可以進行另一項改進。以時間戳的簡單示例為例。如果選擇表示數(shù)字的字體為等寬字體,而不是比例字體,則可以在不更改整個文本字符串的情況下更新單個字符。
總結
MAX4455是一款非常通用、靈活的屏幕顯示發(fā)生器。用戶可以利用本文中包含的提示和技術來實現(xiàn)最佳更新率和由此產(chǎn)生的流暢和專業(yè)的圖形。
審核編輯:郭婷
-
寄存器
+關注
關注
31文章
5357瀏覽量
120668 -
存儲器
+關注
關注
38文章
7514瀏覽量
164001 -
發(fā)生器
+關注
關注
4文章
1368瀏覽量
61730
發(fā)布評論請先 登錄
相關推薦
評論