基于MB90092的視頻字符疊加系統(tǒng)設(shè)計
摘要:為了滿足某型車栽產(chǎn)品對于操控終端疊加字符信息的需求,根據(jù)視頻字符疊加基本原理,分析了幾種字符疊加方案,提出一種基于字符疊加芯片MB90092的字符疊加系統(tǒng)設(shè)計,并給出該系統(tǒng)的硬件電路設(shè)計及其軟件編程。實驗室運行結(jié)果表明,該系統(tǒng)運行穩(wěn)定,可以將指定字符信息疊加于指定位置,且疊加內(nèi)容根據(jù)需求可快速更換,可以用于工程應(yīng)用。
本文引用地址:http://m.butianyuan.cn/article/201610/307172.htm視頻字符疊加,是指在顯示屏幕的指定區(qū)域以一定的透明度顯示指定的圖像符號或字符。字符疊加在多媒體、監(jiān)控系統(tǒng)、電視等領(lǐng)域有著廣泛需求,以視頻監(jiān)控為例,在監(jiān)控端需要接收外部數(shù)據(jù)并實時的顯示在監(jiān)控屏幕上,如時間、機(jī)號、地點等信息。同時許多工業(yè)應(yīng)用的人機(jī)界面和視頻播放場合也需要能夠疊加各種圖文信息,視頻字符疊加的應(yīng)用可以顯著提高操控終端的操控性能和人機(jī)功效。
本文結(jié)合某型車載產(chǎn)品的要求:電視與熱像可自由切換、疊加器與上位機(jī)通過CAN總線進(jìn)行通信的需求進(jìn)行設(shè)計,給出基于視頻疊加芯片MB90092和單片機(jī)AT89S53的OSD系統(tǒng)設(shè)計,包括硬件電路和軟件設(shè)計兩部分,并通過實驗驗證了方案的可行性。
1 疊加原理
將一系列靜態(tài)圖像以電信號方式加以捕捉、記錄、處理、存儲,利用人眼的視覺暫留特性,以高于人跟閃爍頻率的速度進(jìn)行圖像傳輸就形成了連續(xù)的感覺,在接收端進(jìn)行重現(xiàn)就形成了視頻。
每一幅圖像都是由若干像素組成的,視頻傳輸時按照順序制將一個個像素的光學(xué)信息轉(zhuǎn)換成電信號,用一條通道依次傳輸出去,在接收端再按照同樣的順序?qū)⒏麟娦盘栐谙鄳?yīng)的位置上轉(zhuǎn)換成光學(xué)信息。字符由24x32 dots(象素)構(gòu)成,每個象素對應(yīng)屏幕上一個點,疊加字符的本質(zhì)就是把相應(yīng)的字符象素疊加到用戶指定的位置。屏幕光柵由電子束在水平方向和垂直方向掃描形成,用內(nèi)部時鐘作為點時鐘對屏幕上的象素點進(jìn)行計數(shù),行同步信號為換行信號控制像素的疊加。
2 方案選擇
常用的視頻字符疊加有以下4個方案:1)通用中小規(guī)模集成電路:采用通用中小規(guī)模集成電路實現(xiàn)單路視頻字符及時間疊加,這種方案需過于復(fù)雜,可靠性差;2)基于FPGA的方案:共用一片CPU、字庫ROM和實時時鐘,利用FPGA集成若干獨立的顯示RAM計數(shù)掃描電路,實現(xiàn)多路字符疊加。但在多路顯示中,必須使用多片RAM和大規(guī)模多路開關(guān)解決RAM的時分復(fù)用問題,大大增加了電路的復(fù)雜性,同時提高了成本;3)基于單片機(jī)的方案:利用軟件實現(xiàn)在消隱期內(nèi)對顯示RAM的計數(shù)掃描和點陣數(shù)據(jù)的移位輸出,只適用于字符數(shù)量少的應(yīng)用,容易造成視頻信號的不連續(xù);4)基于專用字符疊加器的方案:專用字符疊加芯片通常允許用戶疊加文字和圖像,同時設(shè)置行距、字符大小等屬性,通常將字符信息做成字符庫存放于外部ROM中以方便調(diào)用。方案功能強(qiáng),適用于顯示字符較多的場合,且價格適中。鑒于以上各方案特點,設(shè)計采用第四種方案,視頻處理流程如圖1所示。
3 系統(tǒng)設(shè)計
3.1 電源電路設(shè)計
系統(tǒng)預(yù)留24 V供電口,設(shè)計中除視頻切換開關(guān)AD8184采用±5 V供電外,其它芯片采用5 V供電。由于24 V與5 V的壓差太大,考慮到轉(zhuǎn)換效率以及散熱問題,設(shè)計選用開關(guān)型穩(wěn)壓器LM2576獲得5 V電壓,利用電源翻轉(zhuǎn)芯片ICL7660獲得負(fù)極性電壓。LM2576電路中電容C2的耐壓值應(yīng)大于額定輸出電壓的1.5~2倍,5 V輸出選擇耐壓16 V的電容。電壓翻轉(zhuǎn)電路中C3、C4采用漏電小、介質(zhì)損耗低的鉭電容提高電源轉(zhuǎn)換效率,如圖2、3所示。
3.2 視頻箝位電路
視頻信號中包含交流和直流分量,信號經(jīng)交流放大器處理時,由于放大器存在耦合電容,在處理過程中信號會丟失直流分量,而直流分量是圖像的黑電平(即同步電平),同步電平無法固定在同一電平上將嚴(yán)重影響視頻信號的行、場同步。選用MAX7452作為完整的前端視頻信號調(diào)節(jié)器,對輸入視頻信號進(jìn)行預(yù)處理。
如圖4所示。將VBPLVL端直接箝位到地,可以省去輸出耦合電容,降低行時間失真的可能性,同時減小板上空間的需求。設(shè)置芯片引腳AGCD=0、GSET=1,可向標(biāo)準(zhǔn)視頻負(fù)載(150Ω)輸出2 Vp—p的滿幅視頻信號,并滿足MB90092需要1 V偏置電壓的要求。MAX7452的輸入至少在15行內(nèi)沒有同步時,其LOS檢測器輸出一個邏輯高電平,與單片機(jī)的外部中斷0連接,可以有效指示攝像機(jī)或線纜的故障狀態(tài)。
3.3 視頻同步分離電路
全電視信號包含有視頻信號、復(fù)合同步信號、復(fù)合消隱信號、槽脈沖信號以及前后均衡脈沖信號,若要對視頻信號進(jìn)行處理,就必須準(zhǔn)確的提取出各信號并把握信號間的邏輯關(guān)系。LM1881是針對電視信號的視頻同步分離芯片,用于從峰峰值0.5~2 V的標(biāo)準(zhǔn)負(fù)極性PAL制視頻信號中提取定時信息。如圖5所示,芯片的2腳接一個復(fù)合輸入耦合電容,6腳接一個電流耦合電容以及一個680 kΩ的電阻用于設(shè)置內(nèi)部電流值,該電阻使LM1881能用于水平掃描頻率不同于15.734 kHz的信號源。
3.4 字符疊加電路設(shè)計
MB9009是一款專用視頻字符疊加芯片,用以顯示控制視頻中的文字和圖像。芯片外部只需連接少量的電子元件就可以顯示漢字和圖形,可方便的嵌入各種數(shù)字視頻監(jiān)控系統(tǒng)中,因而在各個行業(yè)和各種領(lǐng)域得到廣泛應(yīng)用。
MB90092主要通過CS、SCLK、SIN3個引腳與MCU相連來接收外部控制指令和數(shù)據(jù)。MB90092共有13種指令和兩種保留指令,單片機(jī)通過這些指令實現(xiàn)對字符顯示的控制,每個指令由兩個字節(jié)組成,第一個字節(jié)的前5位為命令碼,其余位和第二個字節(jié)為數(shù)據(jù)。
芯片可通過地址和READ信號讀取外部字體存儲器中的字體數(shù)據(jù),最大可控制外部16Mbits的字庫內(nèi)存。時鐘模塊的輸入時鐘作為字符疊加的點時鐘,LM1881輸入的行、同步信號作為X、Y軸的復(fù)位時鐘來控制時序。漢字字庫存儲在外掛Flash存儲器。根據(jù)電路與外部字符存儲器的地址接口關(guān)系及電路讀取點陣數(shù)據(jù)的順序,將所需要疊加字符的點陣生成可燒結(jié)的HEX文件,燒錄到外部存儲器中。外掛的字庫模塊使用戶可以根據(jù)需要隨時更改字符點陣。
通過單片機(jī)向MB90092發(fā)送顯示以及寫數(shù)據(jù)控制指令,視頻信號經(jīng)調(diào)節(jié)后與復(fù)合同步信號以及場同步信號一起被送入MB90092,MB90092根據(jù)微控制器的指令從字庫中調(diào)取字符,將原始視頻信號及疊加字符按一定比例混合,送出疊加后視頻,如圖6所示。
3.5 單片機(jī)系統(tǒng)
單片機(jī)負(fù)責(zé)兩方面的工作:1)通信:單片機(jī)利用SJA1000和TJA1050從CAN總線接收信息及數(shù)據(jù);2)視頻疊加:單片機(jī)根據(jù)操控終端的請求,變換進(jìn)入視頻疊加板的視頻信號,單片機(jī)的P1.2、P1.3端口連接到視頻切換開關(guān)AD8184的A0、A1,編程控制決定要進(jìn)入疊加板的視頻信號,并根據(jù)從CAN總線獲得的數(shù)據(jù)和指令進(jìn)行疊加。
3.6 通信電路設(shè)計
視頻疊加電路通過CAN總線與上位機(jī)進(jìn)行通信,由于AT89S53單片機(jī)沒有自帶CAN總線接口,選擇PHILIPS公司的SJA1000作為CAN總線控制器,TJA1050作為總線驅(qū)動器。二者之間通過電磁隔離器ADum5241相連,可以實現(xiàn)總線上各CAN節(jié)點之間的電氣隔離。
SJA1000作為獨立CAN總線控制器,實現(xiàn)上位機(jī)與現(xiàn)場微處理器之間的數(shù)據(jù)通信。通過CAN總線接收來自上位機(jī)的數(shù)據(jù)進(jìn)行分析組態(tài)然后傳給下位機(jī)的控制電路實現(xiàn)控制功能,當(dāng)CAN總線接口接收到上位機(jī)的下傳數(shù)據(jù),SJA1000就產(chǎn)生一個中斷,引發(fā)微處理器產(chǎn)生中斷,通過中斷處理程序接收每一幀信息。AT89S53是CAN總線接口電路的核心,其承擔(dān)CAN控制器的初始化、CAN的收發(fā)控制等任務(wù)。TJA1050是CAN協(xié)議控制器和物理總線的接口,引腳RS接地默認(rèn)進(jìn)入高速模式。選擇電磁耦合進(jìn)行電氣隔離,相較于光耦隔離,磁隔離降低了功耗,比光耦具有更高的數(shù)據(jù)傳輸速率、時序精度和瞬態(tài)共模抑制能力,同時也消除了光耦不穩(wěn)定的電流傳輸率、溫度和使用壽命等方面的問題。
設(shè)計通信電路時應(yīng)注意:1)SJA1000的中斷輸出漏極開路,驅(qū)動單片機(jī)中斷引腳時應(yīng)加上拉電阻;2)由于使用外接驅(qū)動器,RX1應(yīng)接到CAN電平(比較器電平)的中點以旁路CAN比較器,減少延時;3)阻抗不連續(xù)和阻抗不匹配將導(dǎo)致信號反射,為了消除通信電纜中的信號反射,CAN總線通信時一定要加上120Ω的終端電阻,終端電阻對匹配總線阻抗起著非常重要的作用。忽略此電阻會使數(shù)字通信的抗干擾性和可靠性大大降低,甚至無法通信。
4 軟件設(shè)計
視頻疊加板的軟件分為CAN通信和疊加顯示兩個部分。軟件運行時首先完成單片機(jī)、SJA1000、MB90092芯片的初始化,開CAN中斷等待接收數(shù)據(jù),接收到數(shù)據(jù)后置位標(biāo)志位并進(jìn)入中斷服務(wù)程序,根據(jù)指令完成MB90092的指令與數(shù)據(jù)傳輸,完成字符疊加后清除標(biāo)志位,繼續(xù)等待CAN中斷。
字符疊加程序主要包含模擬SPI總線通信、MB90092的數(shù)據(jù)傳輸、芯片對于顯示字符的屬性設(shè)置、初始化程序以及片外存儲器尋址的一些函數(shù)。軟件流程如圖8所示。
5 結(jié)論
經(jīng)過試驗驗證,該字符疊加器已經(jīng)可以正常使用,在不影響原視頻顯示效果的基礎(chǔ)上,字符及圖形可以以指定的位置、大小準(zhǔn)確的疊加在視頻上。本文設(shè)計的字符疊加器已經(jīng)應(yīng)用在某型車載產(chǎn)品中,可以準(zhǔn)確接收外部指令及數(shù)據(jù),任意切換電視以及熱像視頻,具有廣泛的應(yīng)用價值和很高的性價比。
評論