《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 視頻字符疊加技術(shù)的發(fā)展及四種實(shí)現(xiàn)方案

視頻字符疊加技術(shù)的發(fā)展及四種實(shí)現(xiàn)方案

2009-07-22
作者:孫泓波 顧 紅 蘇為民

  摘 要: 分析了視頻字符疊加的作用和發(fā)展現(xiàn)狀,,介紹基于中小規(guī)模集成電路,、FPGA、單片機(jī)和專用芯片的四種實(shí)現(xiàn)方案,并對(duì)它們各自的特點(diǎn)簡要地作了分析和比較,。
  關(guān)鍵詞: 視頻字符疊加 單片機(jī) 現(xiàn)場可編程門陣列(FPGA)


  視頻字符及時(shí)間疊加器是在視頻信號(hào)中混入字符或時(shí)間信號(hào),從而在屏幕的特定位置上與圖像信號(hào)同時(shí)進(jìn)行顯示的設(shè)備。這項(xiàng)技術(shù)是應(yīng)用電視技術(shù)中的一個(gè)重要領(lǐng)域,在應(yīng)用電視系統(tǒng)中發(fā)揮著重要的作用,。從視頻字符及時(shí)間疊加器的工作方式及本身電路的構(gòu)成來看,已經(jīng)歷了三個(gè)不同的發(fā)展階段[1][2],。
  第一階段是“圖解顯示控制”即GDC階段,。它是利用中小規(guī)模數(shù)字集成電路來實(shí)現(xiàn)各部分所要求的嚴(yán)格的時(shí)序關(guān)系,并將形成的字符信號(hào)與視頻信號(hào)在預(yù)定的時(shí)間關(guān)系上混合并顯示在屏幕上,。在這種方式中,,字符的產(chǎn)生有兩種辦法:
  ·專用字符發(fā)生器:它是一種專用的ROM,常用的有MK36000,、MCM6670P,、8678、MN1217A等,。它們將字符或數(shù)字以點(diǎn)陣的方式存入存儲(chǔ)器中,,在外加恰當(dāng)?shù)刂泛蟊隳茌敵鱿鄳?yīng)的數(shù)據(jù)信號(hào)。這種方式中一旦選定了某種器件,,所顯示的字符也就確定了,缺乏靈活性,,且不能顯示圖形,,通常稱此為“文本方式”。
  ·“圖形方式”:在這種方式中,,是用EPROM來存儲(chǔ)字符或圖形的點(diǎn)陣數(shù)據(jù),,其點(diǎn)陣形式由設(shè)計(jì)者自己決定,,具有更大的靈活性。
  第二階段是用CRT控制器這類專用集成電路的階段,。常用的有8350,、8275、MC6845等,。它將“圖解顯示控制方式”中的中小規(guī)模集成器件構(gòu)成的電路集成化,。字符(或圖形)等以點(diǎn)陣方式存儲(chǔ)在外圍的ROM或RAM中。它使電路大為簡化,,因而使用較為方便,。
  第三階段是單片“屏幕顯示”器件階段:因?yàn)樵谂c電視有關(guān)的產(chǎn)品上,并不需要顯示很多的字符或圖形,,因此將以上CRT控制器中的外部存儲(chǔ)器與其集成在一起而形成所謂單片屏幕顯示器件。這類器件主要是為家用電視這類產(chǎn)品而設(shè)計(jì)的,,并得到了廣泛的應(yīng)用,。
  考慮到實(shí)際使用中用戶所需的功能和指標(biāo)的多樣性,我們先后開發(fā)了四種典型的實(shí)現(xiàn)方案,,每種方案各有特點(diǎn),。本文將其分別作簡要介紹,以供大家參考,。
1 通用中小規(guī)模集成電路實(shí)現(xiàn)方案
  本方案屬上面的“圖解顯示控制”型,,全部采用邏輯門、計(jì)數(shù)器,、移位寄存器等通用中小規(guī)模集成電路實(shí)現(xiàn)單路視頻字符及時(shí)間疊加,。其基本工作原理如下:CPU從ROM字庫中取出要顯示字符的點(diǎn)陣數(shù)據(jù),根據(jù)所設(shè)定的在屏幕上的顯示位置,,送到顯示RAM的對(duì)應(yīng)位置中去,;然后由計(jì)數(shù)電路對(duì)顯示RAM進(jìn)行掃描,將字符點(diǎn)陣信號(hào)并行讀出,;最后經(jīng)過并串變換電路轉(zhuǎn)化為串行碼輸出,;再與視頻圖象信號(hào)疊加后送監(jiān)視器屏幕顯示。限于篇幅,,這里對(duì)整體電路結(jié)構(gòu)不作過多描述,,只對(duì)其中我們設(shè)計(jì)中的幾點(diǎn)考慮作一介紹。
  一是視頻同步信號(hào)提取電路?,F(xiàn)在市場上已有不少可實(shí)現(xiàn)行,、場同步信號(hào)分離的專用集成電路,如LM1881等,,但成本較高,。我們使用分立模擬元件設(shè)計(jì)了該電路,,性能十分穩(wěn)定可靠,同時(shí)大大降低了成本,。原理圖如圖1所示。


  關(guān)于字符點(diǎn)陣數(shù)據(jù)在顯示RAM中的存放,,一般的作法是一種稱之為“屏幕存儲(chǔ)映像”的方式,,其特點(diǎn)是屏幕上每一個(gè)象素點(diǎn)都與一位RAM存儲(chǔ)單元對(duì)應(yīng),要對(duì)屏幕上字符的顯示進(jìn)行編輯十分簡單,。但這種方式占用RAM單元較多,,需要大容量RAM。我們考慮到一般情況下要在屏幕上顯示的字符較少(大多為一行標(biāo)題,、一行時(shí)間),,屏幕上的大部分地方都是空白的。所以我們只在顯示RAM中生成屏幕上兩行字符的映像,,字符在屏幕上顯示的行位置取決于其在RAM區(qū)的存儲(chǔ)位置,,而列位置則由單片機(jī)單獨(dú)發(fā)出控制脈沖來控制,這樣就大大節(jié)省了顯示RAM的存儲(chǔ)單元,。我們稱之為“行存儲(chǔ)映像”,。以上兩點(diǎn)可供大家借鑒。
2 基于FPGA的多路實(shí)現(xiàn)方案
  上面介紹的方案要實(shí)現(xiàn)單路字符疊加需用中小規(guī)模集成電路十余片,,顯然要實(shí)現(xiàn)多路顯示過于復(fù)雜,,可靠性差。現(xiàn)在隨著大規(guī)??删幊踢壿嬈骷钠占?,其價(jià)格也在不斷降低。我們就有可能在共用一片CPU,、字庫ROM和實(shí)時(shí)時(shí)鐘的前提下,,利用FPGA集成若干路獨(dú)立的顯示RAM計(jì)數(shù)掃描電路,實(shí)現(xiàn)多路時(shí)間字符疊加,。
  多路顯示中要求每一路有獨(dú)立的顯示RAM區(qū),,最簡單的辦法是設(shè)置多片RAM,但是這樣大大增加了電路的復(fù)雜性,,成本也比較高。我們也可以采用一片大容量的RAM,,在其中分別劃出四個(gè)區(qū)域作為四個(gè)屏幕的顯示RAM。但一片RAM不可能同時(shí)輸出四路的字符點(diǎn)陣數(shù)據(jù),,也就是說必須解決RAM的時(shí)分復(fù)用問題,,才能做到多路的同時(shí)顯示。這里簡要介紹一下我們的實(shí)現(xiàn)方案(以四路為例),。設(shè)字符數(shù)據(jù)串行輸出移位時(shí)鐘為5MHz,,則移位寄存器的置數(shù)時(shí)鐘應(yīng)為5MHz的8分頻,,即625kHz,。要實(shí)現(xiàn)四路連續(xù)顯示,就應(yīng)以625kHz的4倍頻——2.5MHz的頻率分別從顯示RAM中的各個(gè)存儲(chǔ)區(qū)域中取出字符點(diǎn)陣數(shù)據(jù),,經(jīng)過鎖存置入四個(gè)輸出移位寄存器。這種方法必須使RAM的地址具有各路計(jì)數(shù)掃描控制下的快速跳轉(zhuǎn)能力,,這就要求采用一個(gè)大規(guī)模的多路開關(guān)(如果RAM用62256的話就需15路四選一開關(guān))來實(shí)現(xiàn)RAM地址線的切換,。以上方案的原理框圖如圖2。我們采用ALTERA公司的FLEX10K10(1萬門FPGA)實(shí)現(xiàn)了四路時(shí)間字符疊加,,性能十分穩(wěn)定,。


3 基于AT90S1200單片機(jī)的實(shí)現(xiàn)方案
  以上兩種方案都是用硬件電路實(shí)現(xiàn)對(duì)顯示RAM的計(jì)數(shù)掃描和點(diǎn)陣數(shù)據(jù)的移位輸出,實(shí)際上,,我們完全可以利用軟件實(shí)現(xiàn)這樣的功能,。如果要用軟件實(shí)現(xiàn)字符點(diǎn)陣數(shù)據(jù)的輸出,其速度必須滿足以下兩個(gè)條件:一是能夠以5MHz的頻率將數(shù)據(jù)串行輸出,;二是在視頻信號(hào)行場消隱期內(nèi)要完成字符數(shù)據(jù)的讀取和與主控CPU的通訊等操作,。常用的51系列單片機(jī)外接12MHz時(shí)鐘時(shí)一條單周期指令的執(zhí)行時(shí)間為1μs,顯然無法滿足上面的要求,。因此我們選用ATMEL公司新推出的AT90S1200型單片機(jī),。其內(nèi)部有1K的FLASH程序存儲(chǔ)器和64字節(jié)E2PROM數(shù)據(jù)存儲(chǔ)器,內(nèi)置有模擬比較器和看門狗,,通過SPI口可以串行下載程序而不必通過專用的編程器,。更重要的是,它是一種RISC精簡指令集單片機(jī),,其大部分指令為單周期指令。外接16MHz時(shí)鐘時(shí)每條指令僅需0.06~0.12μs,,完全可以滿足視頻字符疊加數(shù)據(jù)串行輸出的要求,。
  當(dāng)然,采用單片機(jī)軟件實(shí)現(xiàn)字符疊加時(shí)也有許多具體的問題要考慮,。AT90S1200單片機(jī)的指令執(zhí)行速度完全能夠滿足要求,,但是它內(nèi)部沒有大容量的RAM存儲(chǔ)器,無法實(shí)現(xiàn)前面提到的“屏幕存儲(chǔ)映像”或“行存儲(chǔ)映像”的內(nèi)置化,,也不易外接存儲(chǔ)器,,只能以串行通訊的方式由外部主控機(jī)發(fā)給,。為了保證顯示的連續(xù)性,通訊只能在視頻信號(hào)消隱期內(nèi)完成(當(dāng)然還要完成其他必要的操作),。要在消隱期內(nèi)完成大量字符點(diǎn)陣數(shù)據(jù)的傳輸顯然是不可能的,。幸運(yùn)的是,實(shí)際使用中監(jiān)視器上顯示的漢字標(biāo)題信息一般是不變的,,只有以數(shù)字表示的時(shí)間信息是每秒鐘變化,。針對(duì)這種情況,我們利用AT90S1200單片機(jī)內(nèi)部的可以按字節(jié)尋址的64字節(jié)E2PROM來存儲(chǔ)0~9十個(gè)數(shù)字以及“:”,、“—”等用于時(shí)間顯示的字符點(diǎn)陣,,還有其它的諸如顯示位置等不經(jīng)常修改的變量。片內(nèi)1K字節(jié)FLASH不能按字節(jié)尋址,,用作程序存儲(chǔ)器,,要顯示的漢字點(diǎn)陣數(shù)據(jù)包含在程序中。這樣在使用時(shí)主控CPU只需將當(dāng)前時(shí)間值傳給AT90S1200,,大大減少了通訊的數(shù)據(jù)量,,使之可以在場消隱期內(nèi)完成,保證時(shí)間的連續(xù)顯示,。當(dāng)顯示的漢字標(biāo)題要更改時(shí),,由主控CPU從外部字庫ROM中取出新的點(diǎn)陣數(shù)據(jù),將其拼接在AT90S1200程序代碼的對(duì)應(yīng)位置,,再通過SPI口對(duì)AT90S1200進(jìn)行串行編程,,編程完畢后恢復(fù)正常顯示。我們采用ATMEL 89C51單片機(jī)作主控機(jī),,6片AT90S1200單片機(jī)作顯示執(zhí)行機(jī),,行場同步信號(hào)分別利用AT90S1200模擬比較器和I/O口輸入。由于AT90S1200沒有標(biāo)準(zhǔn)的UART串口,,我們利用其I/O管腳自定義了一種串行通訊協(xié)議,,從而實(shí)現(xiàn)了六路時(shí)間字符疊加。這種方案電路非常簡單,,并且多路實(shí)現(xiàn)時(shí)成本很低,,是一種值得推廣的方法。
4 基于μPD6453字符疊加專用芯片的實(shí)現(xiàn)方案
  μPD6453是NEC公司推出的專用視頻字符疊加芯片,,它最多可以同時(shí)顯示12行24列12×18點(diǎn)陣的字符,。芯片內(nèi)部固化了240個(gè)日文、英文字母和數(shù)字等字符的字模,,還有16個(gè)字符的空RAM區(qū)供用戶添入自定義字符,。μPD6453的顯示編輯功能非常強(qiáng)大,它的控制方式也非常靈活簡單。它共有5條單字節(jié)指令,、6條雙字節(jié)指令和1條三字節(jié)指令,,所有的指令均串行輸入μPD6453,使用非常方便,。限于篇幅,,有關(guān)μPD6453的性能不再贅述,這里只簡要介紹一些我們設(shè)計(jì)過程中的經(jīng)驗(yàn),。
  首先,對(duì)于我國的用戶來說,,大量的漢字都沒有固化在μPD6453芯片內(nèi)部,,需要將其先寫入片內(nèi)16個(gè)字符的空RAM區(qū),再發(fā)出指令讓其顯示出來,。μPD6453內(nèi)部的字模(包括16個(gè)字符的空RAM區(qū))均為12×18點(diǎn)陣,,而12×18點(diǎn)陣的漢字字庫很難找到。我們考慮了兩種方案:一是利用12×12點(diǎn)陣字庫數(shù)據(jù)直接寫入片內(nèi)RAM區(qū),,這樣兩行漢字之間會(huì)有一些間隔,,但多數(shù)情況下只需顯示一行漢字,在顯示精度要求不高的情況下可以采用這種方法,。二是利用16×16點(diǎn)陣或更高的點(diǎn)陣字庫寫入,,使幾個(gè)字符拼成一個(gè)漢字,這樣顯示精度很高,,但軟件處理較為復(fù)雜,。在實(shí)際使用中我們提取出UCDOS中的12×12點(diǎn)陣一級(jí)字庫,將其固化在128K ROM 27010中,,利用鍵盤控制可以將任意字符送到屏幕上顯示,。第二,μPD6453顯示字符的大小有單倍,、雙倍,、三倍和四倍模式,但有時(shí)單倍顯示的字符仍然嫌大,。我們注意到μPD6453外接的電感電容振蕩電路對(duì)顯示字符的橫向長度影響很大,,但芯片手冊上并未給出具體的參數(shù)值。經(jīng)過反復(fù)試驗(yàn),,我們認(rèn)為電感取15μH,,電容取56pF比較合適。若稍微調(diào)整電感值,,則可改變顯示字符橫向尺寸,,使用時(shí)可根據(jù)自己的需要選用。
  以上介紹了四種視頻時(shí)間字符疊加的方案和我們在設(shè)計(jì)中的一些經(jīng)驗(yàn)。相比較而言,,第一種中小規(guī)模集成電路的方案電路較為復(fù)雜,,只適用于單路設(shè)計(jì)。隨著專用芯片和單片機(jī)技術(shù)的發(fā)展,,這種實(shí)現(xiàn)方案應(yīng)逐漸被淘汰,。第二種基于FPGA的實(shí)現(xiàn)方案在原理上與第一種類似,只是利用可編程邏輯器件集成了大量中小規(guī)模集成電路,,電路規(guī)模簡化了不少,,實(shí)現(xiàn)也較為方便,但還受到價(jià)格的制約,。第三種基于單片機(jī)的實(shí)現(xiàn)方案利用軟件實(shí)現(xiàn)了硬件掃描電路的功能,,并且十分靈活,成本也很低,。它的缺點(diǎn)是只適用于顯示字符相對(duì)較少的場合,,若顯示字符很多軟件就過于復(fù)雜,很難保證連續(xù)顯示,。第四種基于專用字符疊加芯片的方案功能很強(qiáng),,適用于顯示字符較多的場合,并且價(jià)格適中,。我們認(rèn)為在要求顯示字符較少的情況下(例如僅顯示一行標(biāo)題,、一行時(shí)間),可以選用第三種基于單片機(jī)的實(shí)現(xiàn)方案,;若顯示的字符較多且位置復(fù)雜,,第四種方案較為合適。這四種方案我們都實(shí)現(xiàn)了產(chǎn)品化的批量生產(chǎn),,技術(shù)上是成熟的,,性能也都十分穩(wěn)定可靠,讀者可以根據(jù)具體情況選用,。
參考文獻(xiàn)
1 傅萬鈞,,張維力.應(yīng)用電視技術(shù).北京:國防工業(yè)出版社,1996
2 中國廣播電視設(shè)備工業(yè)協(xié)會(huì)應(yīng)用電視專業(yè)協(xié)會(huì).應(yīng)用電視——設(shè)備原理與工程實(shí)踐.北京:電子工業(yè)出版社,,1992

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。