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