基于MAX7456的視頻字符疊加系統(tǒng)設(shè)計
目前視頻字符疊加器件主要有日本NEC公司生產(chǎn)的μPD6453,該器件成本較低,但控制字符內(nèi)容和位置的靈活性較差;韓國三星公司生產(chǎn)的KS5514B-XX系列的字符疊加器件,可方便顯示日文,韓文,英文,但使用復雜、不支持中文的顯示;日本FUJITSU公司的MB90092字符疊加器件,使用方便、靈活性好,但需外接視頻分離電路,字符存儲器等;美國美信公司推出的MAX7456字符疊加器件,內(nèi)部集成視頻分離電路,字符存儲器,而且可方便以任意字符、尺寸顯示所需信息,硬件設(shè)計更簡單,成本更低,易于滿足實際需要。因此這里給出一種基于MAX7456的字符疊加系統(tǒng)設(shè)計方案。
1 系統(tǒng)設(shè)計
1.1 MAX7456簡介
MAX7456視頻疊加器件是單通道、單色隨屏顯示(OSD)發(fā)生器,內(nèi)部集成了視頻驅(qū)動、同步分離器、視頻開關(guān)以及EEPROM,采用符合NTSC和PAL制式的256個用戶可編程字符,能夠方便地以任意字符、尺寸顯示各種信息,預先裝載了256個字符和圖形,并可通過SPI接口進行在線編程。器件內(nèi)部包含36個寄存器,通過對寄存器的讀寫可以對屏幕像素,各行字符的亮度,字符的閃爍、反色等進行有效的控制。可應(yīng)用于安全監(jiān)視系統(tǒng),安全監(jiān)控攝像機,室內(nèi)娛樂系統(tǒng),手持測量儀器等領(lǐng)域。MAX7456主要具有特性:1)256個用戶字符或圖形存儲于EEPROM;2)字符大小為12x18像素;3)閃爍、反色和背景控制字符;4)可逐行設(shè)置亮度;5)最多可顯示16行x30列字符;6)視頻驅(qū)動器輸出帶有衰減補償;7)內(nèi)置同步發(fā)生器;8)SPI兼容串行接口。
MAX7456的主要引腳如下::輸入片選信號,低電平有效;SDIN:串行數(shù)據(jù)輸入,數(shù)據(jù)在SCLK上升沿移入;SCLK:串行時鐘輸入,占空比必須在40%到60%之間;SDOUT:串行數(shù)據(jù)輸出,數(shù)據(jù)在SCLK下降沿輸出,當變?yōu)楦唠娖綍r,變?yōu)楦咦杩?;PGND:驅(qū)動器地;PVDD:驅(qū)動器電源輸入;VIN:PAL或者NTSC,CVBS視頻輸入;VOUT:視頻輸出;SAG:電壓衰減修正輸入,不使用時連接至VOUT。
1.2 系統(tǒng)硬件設(shè)計
該字符疊加系統(tǒng)設(shè)計包括4個主要模塊電路:AT89C2051單片機、MAX7456專用字符疊加電路、攝像頭CCD輸入電路、顯示屏。其中AT89C2 051單片機作為控制電路,MAX7456對模擬視頻信號進行字符及圖形疊加產(chǎn)生混合信號,采用顯示屏進行顯示。系統(tǒng)整體設(shè)計框圖如圖1所示.
系統(tǒng)設(shè)計硬件電路如圖2所示。
選擇27 MHz的晶振G1與MAX7456并聯(lián),由于器件內(nèi)部包含振蕩器所需要的電容,所以不需要外部負載電容。視頻信號輸入通過一個RC濾波電路接MAX7456的VIN引腳,視頻輸出信號由VOUT引腳輸出。MAX7456的,SDIN,SCLK,SDOUT引腳分別與單片機的P1.5,P1.4,P1.3,P1.2引腳相連。
在電路設(shè)計中,為了提高系統(tǒng)工作的穩(wěn)定性和抗干擾性,不僅要考慮電路本身以及元件的各種噪聲干擾以及接地干擾等問題。在數(shù)字電路中,由于電路常處于開關(guān)狀態(tài),在電源供電端也會因而產(chǎn)生一些高頻帶噪聲,這些噪聲容易影響到其他電路。該系統(tǒng)設(shè)計連接有C8,C9退耦合電容,可有效過濾掉這些高頻噪聲,使其直接對地回流。由于系統(tǒng)中包含了數(shù)字信號與模擬信號,為了防止高頻數(shù)字噪聲耦合至視頻輸
出,必須對數(shù)字地與模擬地進行一些處理。如果將二者完全隔開,獨立設(shè)置雖然可以解決噪聲干擾問題,但勢必在整個電路中設(shè)置多個參考電位點,也即設(shè)置2個不同標準,所以在實現(xiàn)上很難或者不可能。因此,該設(shè)計采用將所有數(shù)字地與模擬地各自連接,最后在一點將數(shù)字地與模擬地連接。這種接法實現(xiàn)了地之間沒有電流流通,抗干擾性較強。
電路的主要工作原理是單片機通過模擬SPI接口模式向MAX7456發(fā)送控制命令,如顯示模式,讀取字符存儲器等,MAX7456根據(jù)單片機的指令,修改或者讀取字符存儲器中的字符,并將圖像、字符混合后顯示在指定的位置上。
1.3 系統(tǒng)軟件設(shè)計
該系統(tǒng)通過串口接收命令,然后由中斷處理程序顯示疊加字符的軟件流程如圖3所示。
上電后,系統(tǒng)先對串口進行初始化,然后設(shè)置視頻的輸出模式和線程模式,接著單片機就等待串口傳來的命令,當有命令滿足中斷條件時,單片機進入中斷處理程序,將要顯示的字符在指定的位置上以指定的屬性疊加在視頻信號上。
單片機與MAX7456的通信主要是通過SPI接口來實現(xiàn)的,SPI的時序圖如圖4所示。當單片機向MAX7456寫數(shù)據(jù)時,首先拉低使能SPI口,在SCLK上升沿數(shù)據(jù)輸入SDIN。當變?yōu)楦唠娖綍r,數(shù)據(jù)被鎖存至輸入寄存器,如果在傳輸過程中變?yōu)楦唠娖?,則本次操作失敗。變?yōu)榈碗娖胶?,器件等待第一個輸入到SDIN中的字節(jié)。以確定所執(zhí)行數(shù)據(jù)傳輸?shù)念愋?。SPI命令為16位,高8位代表寄存器地址,低8位代表數(shù)據(jù)。
2 創(chuàng)建新字符
由于MAX7456器件內(nèi)部只集成了256個字符,這些字符并不能滿足所有的需要,因此需要創(chuàng)建所需要的字符。用戶定義的字符集結(jié)合輸入視頻流產(chǎn)生CVBS和OSD視頻輸出。最多可存儲256個12×18像素字符,可以進行動態(tài)設(shè)置。在525線模式時,顯示13行x30字符;在625線模式時,顯示16行x30字符。MAX7456 OSD含有兩組存儲器:顯示存儲器(SRAM)和非易失字符存儲器(NVM)。
顯示存儲器(SRAM)存儲480個字符地址,這些地址“指向”存儲在NVM字符存儲器中的字符。顯示存儲器中的內(nèi)容可由用戶編程,具有SPI兼容串行接口。顯示存儲器地址對應(yīng)于監(jiān)視器的固定位置。每一字符都需要兩個字節(jié),第1個字節(jié)含有字符存儲器中的字符數(shù),第2個字節(jié)含有字符屬性狀態(tài)位,字符從左向右,自上而下排序。
非易失字符存儲器存儲要顯示的字符或圖形映射。字符存儲器中的內(nèi)容可由用戶編程,采用SPI兼容串行接口。每一字符含有12行×18列像素。每一像素含有2個比特:00=黑色,不透明;0l=透明;10=白色,不透明;11=透明。因此,每個字符有12×18=216個像素,一個8位字節(jié)表示4個像素,所以每個字符需要216/4=54字節(jié)的數(shù)據(jù)。為方便尋址,存儲器組織結(jié)構(gòu)采用64字節(jié)塊,每前54個字節(jié)表示一個字符,剩余10個字節(jié)沒有使用。所以,字符存儲器長度是64×256=16 384字節(jié)。因此,每個顯示存儲器地址位置包含的數(shù)值實際是對應(yīng)于所選字符的64字節(jié)塊地址。
使用MAX7456提供的GUI軟件,能夠控制器件,下載定制圖形。字符存儲器數(shù)據(jù)在一個文件中,文件的文件擴展名是*.mcm字符存儲器。用記事本打開這個文件可以看到文件共有16 385行,第1行顯示的是MAX7456,第2行到最后一行顯示的都是8個二進制的數(shù)據(jù)。修改這些8位的二進制數(shù)就能夠得到需要的字符或圖形。
3 系統(tǒng)在導航中的應(yīng)用
將攝像頭信號接入所設(shè)計的字符疊加系統(tǒng),視頻輸出接LCD顯示屏,在顯示屏上疊加導航所需要的信息:南京理工大學(NJUST)、日期(2009年12月8日)、緯度(Lat 32.518)、經(jīng)度(Lon 118.137)、速度(V:15 m/s),航向(H:65.86),疊加效果如圖5所示。
從圖5可以看到,字符采用的是白底黑邊,無論光線強弱都可以很清楚地顯示所需要的信息,實際應(yīng)用表明,本文設(shè)計的字符疊加系統(tǒng)操作方便,工作穩(wěn)定,可以在比較復雜的環(huán)境中使用。
4 結(jié)束語
本文設(shè)計的視頻疊加系統(tǒng)具有電路結(jié)構(gòu)簡單,成本較低,使用方便的特點,能實現(xiàn)視頻圖像中任意字符的疊加,當需要大的字符或者圖案顯示的時候,可將一個大的字符分成多個小的字符,也就是用多個54字節(jié)顯示。實際使用證明該系統(tǒng)具有體積小、顯示清晰、工作穩(wěn)定、功耗低等特點,因此該系統(tǒng)可以應(yīng)用于軍事、航空、社會生活等監(jiān)控系統(tǒng)中。
評論