摘? 要: 提出一種新型的視頻字符疊加器的設(shè)計方案,采用RS-485總線方式,用微機(jī)作為控制平臺,實(shí)現(xiàn)視頻圖像中任意字符的疊加,該方案已應(yīng)用在多媒體監(jiān)視系統(tǒng)上。
關(guān)鍵詞: 多媒體監(jiān)視系統(tǒng)? 字符疊加? RS-485串行通信
?
在多媒體監(jiān)視系統(tǒng)中,切換的視頻信號較多,操作者很難快速判別某一圖像來自何處,因此需要在圖像上疊加地點(diǎn)信息,如攝像機(jī)號或漢字地名。現(xiàn)有的監(jiān)視系統(tǒng)中,大多數(shù)只能疊加有限的漢字字符,應(yīng)用范圍窄,通用性差。本文提出了一種新型的視頻字符疊加器方案,它用一臺微機(jī)作為控制主機(jī),采用RS-485串行通信協(xié)議,可以實(shí)現(xiàn)在視頻信號上疊加任意的字符,在不改變?nèi)魏斡布娐返那闆r下,按需要改變字符。
1 視頻字符疊加器設(shè)計方案
由于RS-485總線具有傳輸距離遠(yuǎn)、只用普通雙絞線即可掛接多至256個終端的特點(diǎn),因此本方案采用RS-485總線,用一臺微機(jī)作為控制主機(jī),16個AT89C52單片機(jī)作為從機(jī)。由主機(jī)實(shí)時地向各個從機(jī)傳送待疊加字符的點(diǎn)陣數(shù)據(jù)和控制信號,單片機(jī)接收字符點(diǎn)陣數(shù)據(jù)并存入字符存儲器中,以此來實(shí)現(xiàn)任意字符的疊加。同時單片機(jī)還接收主機(jī)傳送過來的控制信息,實(shí)現(xiàn)對顯示字符屬性(如顏色,大小等等)的控制。主機(jī)的RS-232串行口通過外差式的RS-232/RS-485轉(zhuǎn)換器轉(zhuǎn)換成RS-485的數(shù)字信號總線。單片機(jī)的串行口通過MAX1483芯片轉(zhuǎn)換成RS-485規(guī)程。微機(jī)與單片機(jī)之間通過RS-485數(shù)字信號總線進(jìn)行串行通信。系統(tǒng)原理圖如圖1所示。
?
?
2 OSD芯片簡介
OSD(On Screen Display)專用集成電路芯片是專門為在屏幕上顯示字符設(shè)計的,本方案選用的MB90092是FUJITSU公司生產(chǎn)的OSD芯片,它能和各種單片機(jī)一起來設(shè)計字符疊加器,使用方便。
2.1 OSD芯片主要特點(diǎn)
· 顯示字符數(shù)為12行24列共288個字符;
· 最多可顯示8192個字符;
· 字符大小共有5種;
· 字符顏色有黑、藍(lán)、綠、青、紅、棕、黃、白等8種;
· 字符背景顏色有黑、藍(lán)、綠、青、紅、棕、黃、白等8種;
· 字符背景顯示方式:3種;
· 字符點(diǎn)陣:24(水平)×32(垂直)點(diǎn);
· 顯示位置控制:水平、垂直、行間距可調(diào);
· 閃爍:可選擇ON/OFF兩種閃爍狀態(tài)。閃爍比為1:1 ,閃爍頻率可在1Hz、2Hz、0.5Hz中任選;
· 視頻制式:NTSC/PAL;
· 可與單片機(jī)直接接口,帶有8位串行輸入接口;
· 封裝形式:QFP-80
2.2 OSD芯片內(nèi)部功能結(jié)構(gòu)
MB90092由串行輸入控制單元、同步分離電路、視頻信號發(fā)生器、VRAM、外部字符存儲器控制單元、模擬開關(guān)以及時鐘振蕩器七個主要部分組成,其內(nèi)部功能結(jié)構(gòu)框圖如圖2所示。
?
2.3 編程命令
MB90092的控制命令是雙字節(jié)命令,采用8位串行輸入形式。單片機(jī)通過、SCLK和SIN對MB90092進(jìn)行控制??刂泼钪饕菍ζ鋬?nèi)部的VRAM和寄存器進(jìn)行設(shè)置,包括設(shè)置需要顯示的字符、字符和字符背景的顏色、字符大小、同步方式、屏幕背景顏色、視頻信號制式以及字符顯示的位置等。
3 字符顯示模塊的硬件設(shè)計
字符顯示模塊的硬件電路如圖3所示。MB90092需要外加字符存儲器,其中存放的是MB90092可以識別的待疊加字符的點(diǎn)陣(24×32點(diǎn)陣),根據(jù)單片機(jī)發(fā)送的命令,MB90092自動發(fā)出讀信號READ,讀取字符存儲器中的點(diǎn)陣并顯示在屏幕上。由于監(jiān)視現(xiàn)場的地點(diǎn)有可能改變,因此要求字符存儲器中存儲的字符點(diǎn)陣也能隨之改變,于是選用電可擦除存儲器Flash Memory。它的最大優(yōu)點(diǎn)在于支持在線編程,允許芯片在不離開電路板的情況下,實(shí)施固化和擦除操作,可重復(fù)擦寫10萬次以上,并且存儲的數(shù)據(jù)掉電不丟失,因此可以保證存儲在其中的字符點(diǎn)陣可按需要改變,并且不會丟失。
?
?
待疊加字符的點(diǎn)陣是通過串行口由微機(jī)傳送給單片機(jī),再由單片機(jī)傳送給字符存儲器的。這其中存在一個問題,由于單片機(jī)、MB90092和字符存儲器Flash Memory的數(shù)據(jù)總線、地址總線以及讀、寫信號線都連在一起,因此在使用中會出現(xiàn)總線沖突的現(xiàn)象。為了解決這個問題,在設(shè)計中增加了隔離電路將它們隔離開來。在單片機(jī)向字符存儲器傳輸點(diǎn)陣時,將MB90092的數(shù)據(jù)線、地址線以及讀信號線置為高阻,以保證單片機(jī)傳輸點(diǎn)陣正確;而當(dāng)字符存儲器向MB90092傳輸點(diǎn)陣時,將單片機(jī)的數(shù)據(jù)線、地址線以及讀、寫信號線置為高阻,以保證MB90092讀取點(diǎn)陣正確。
字符存儲器Flash Memory的容量為256K,但是采用單片機(jī)89C52的16位地址線,只能尋址64K字節(jié)的存儲器,因此采用了將Flash Memory的最高兩位地址接到89C52的輸出端P1.0和P1.1上的辦法。這實(shí)際上是將256K字節(jié)的Flash Memory分為四個部分,每部分64K字節(jié),對每一部分依次傳輸數(shù)據(jù)。
另外,還需要外加同步分離電路將輸入視頻信號的行、場同步信號送給MB90092,以此來保證視頻信號與字符信息的同步。輸入的復(fù)合視頻信號經(jīng)過視頻放大電路將電壓由1Vp-p(峰峰值)轉(zhuǎn)換為2Vp-p(峰峰值)后,再送至MB90092的視頻信號輸入端,而從MB90092的視頻信號輸出端輸出的電壓為2Vp-p(峰峰值)的復(fù)合視頻信號要將其電壓轉(zhuǎn)換為1Vp-p(峰峰值)后,再送至顯示設(shè)備。
4 視頻字符疊加器的軟件設(shè)計
軟件主要包括系統(tǒng)復(fù)位初始化模塊、串行通信模塊和字符顯示模塊。由于本方案的關(guān)鍵技術(shù)在于通過將待疊加字符的點(diǎn)陣數(shù)據(jù)由主機(jī)傳送給各個從機(jī),來實(shí)現(xiàn)任意字符的疊加,因此串行通信模塊是整個軟件的核心。
串行通信程序所要完成的任務(wù)是將256K的字符點(diǎn)陣數(shù)據(jù)由微機(jī)傳送給單片機(jī),它包括兩方面:一方面是89C52單片機(jī)的通信程序,另一方面為PC機(jī)的通信程序。PC主機(jī)的串行通信程序采用Visual Basic(簡稱VB)編程,程序框圖如圖4所示。用VB提供的一個具有強(qiáng)大功能的通信控件MSCOMM,利用該控件設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,并且對串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置。單片機(jī)89C52采用MCS51系列的匯編語言編程,程序框圖如圖5所示。它的數(shù)據(jù)通信由串行口完成,定時器1作為波特率發(fā)生器,其工作方式設(shè)置為方式2,串行口設(shè)置為工作方式1。系統(tǒng)中每臺單片機(jī)都給定了確定的地址碼,當(dāng)某臺單片機(jī)的地址碼與PC主機(jī)發(fā)出的地址碼相同時,這臺單片機(jī)發(fā)出應(yīng)答信號給PC機(jī),而其它未被尋址的單片機(jī)不發(fā)應(yīng)答信號。因此,在某一時刻,PC機(jī)只與一臺單片機(jī)通信,從根本上避免了通信總線上的競爭。
?
?
本文提出的方案解決了目前大多數(shù)字符疊加器顯示字符數(shù)有限且不可更改的弊端,實(shí)現(xiàn)了視頻圖像中任意字符的疊加。該方案已成功地應(yīng)用在多媒體監(jiān)視系統(tǒng)中,設(shè)備運(yùn)行穩(wěn)定,性能良好。
?
參考文獻(xiàn)
1 趙堅勇,施一飛.時間日期疊加器的設(shè)計.電視技術(shù),1997;(2)
2 何立民. MCS-51系列單片機(jī)應(yīng)用設(shè)計——系統(tǒng)配置與接口技術(shù).北京:航空航天大學(xué)出版社,1990