一種新型視頻字符疊加器的設(shè)計
在多媒體監(jiān)視系統(tǒng)中,切換的視頻信號較多,操作者很難快速判別某一圖像來自何處,因此需要在圖像上疊加地點信息,如攝像機(jī)或漢字地名。現(xiàn)有的監(jiān)視系統(tǒng) 中,在多數(shù)只能疊加有限的漢字字符,應(yīng)用范圍窄,通用性差。本文提出了一種新型的視頻字符疊加器方案,它用一臺微機(jī)作為控制主機(jī),采用RS-485串行通信協(xié)議,可以實現(xiàn)在視頻信號上疊加任意的字符,在不改變?nèi)魏斡布娐返那闆r下,按需要改變字符。 1 視頻字符疊加器設(shè)計方案 由于RS-485總線具有傳輸距離遠(yuǎn)、只用普通雙絞線即可掛接多至256個終端的特點,因此本方案采用RS-485總線,用一臺微機(jī)作為控制主機(jī),16個AT89C52單片機(jī)作為從機(jī)。由主機(jī)實時地向各個從機(jī)傳送待疊加字符的點陣數(shù)據(jù)和控制信號,單片機(jī)接收字符點陣數(shù)據(jù)并存入字符存儲器中,以此來實現(xiàn)任意字符的疊加。同時單片機(jī)還接收主機(jī)傳送過來的控制信息,實現(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芯片主要特點 ·顯示字符數(shù)為12行24列共288個字符; ·最多可顯示8192個字符; ·字符大小共有5種; ·字符顏色有黑、藍(lán)、綠、青、紅、棕、黃、白等8種; ·字符背景顏色有黑、藍(lán)、綠、青、紅、棕、黃、白等8種; ·字符背景顯示方式:3種; ·字符點陣:24(水平)×32(垂直)點; ·顯示位置控制:水平、垂直、行間距可調(diào); ·閃爍:可選擇ON/OFF兩種閃爍狀態(tài)。閃爍比為1:1,閃爍比為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ī)通過CS、SCLK和SIN對MB90092進(jìn)行控制。控制命令主要是對其內(nèi)部的VRAM和寄存器進(jìn)行設(shè)置,包括設(shè)置需要顯示的字符、字符和字符背景的景色的顏色、字符大小、同步方式、屏幕背景顏色、視頻信號制式以及字符顯示的位置等。 3 字符顯示模塊的硬件設(shè)計 字符顯示模塊的硬件電路如圖3所示。MB90092需要外加字符存儲器,其中存放的是MB90092可以識別的待疊加字符的點陣(24×32點陣),根據(jù)機(jī)發(fā)送的命令,MB90092自動發(fā)出讀信號READ,讀取字符存儲器中的點陣并顯示在屏幕上。由于監(jiān)視現(xiàn)場的地點有可能改變,因此要求字符存儲器中存儲的字符點陣也能隨之改變,于是選用電可擦除存儲器Flash Memory。它的最大優(yōu)點在于支持在線編程,允許芯片在不離開電路板的情況下,實施固化和擦除操作,可重復(fù)擦寫10萬次以上,并且存儲的數(shù)據(jù)掉電不丟失,因此可以保證存儲在其中的字符點陣可按需要改變,并且不會丟失。 待疊加字符的點陣是通過串行口由微機(jī)傳送給單片機(jī),再由單片機(jī)傳送給字符存儲器的。這其中存在一個問題,由于單片機(jī)、MB90092和字符存儲器Flash Memory的數(shù)據(jù)總線、地址總線以及讀、寫信號線都連在一起,因此在使用中會出現(xiàn)總線沖突的現(xiàn)象。為了解決這個問題,在設(shè)計中增加了隔離電路將它們隔離開來。在單片機(jī)向字符存儲器傳輸點陣時,將MB90092的數(shù)據(jù)線、地址線以及讀信號線置為高阻,以保證單片機(jī)傳輸點陣正確;而當(dāng)字符存儲器向MB90092傳輸點陣時,將單片機(jī)的數(shù)據(jù)線、地址線以及讀、寫信號線置為高阻,以保證MB90092讀取點陣正確。 字符存儲器Flash Momory的容量為256K,但是采用單片機(jī)89C52的16位地址線,只能尋址64K字節(jié)的存儲器,因此采用了將Flash Momory的最高兩位地址接到89C52的輸出端P1.0和P1.1上的辦法。這實際上是將256K字節(jié)的Flash Momory分為四個部分,每部分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ù)在于通過將待疊加字符的點陣數(shù)據(jù)由主機(jī)傳送給各個從機(jī),來實現(xiàn)任意字符的疊加,因此串行通信模塊是整個軟件的核心。 串行通信程序所要完成的任務(wù)是將256K的字符點陣數(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ù)有限且不可更改的弊端,實現(xiàn)了視頻圖像中任意字符的疊加。該方案已成功地應(yīng)用在多媒體監(jiān)視系統(tǒng)中,設(shè)備運行穩(wěn)定,性能良好。 |
評論