基于BES7456芯片的OSD的應(yīng)用平臺設(shè)計(jì)
摘要:重點(diǎn)介紹了北京市嵌入式系統(tǒng)重點(diǎn)實(shí)驗(yàn)室自主研發(fā)的OSD產(chǎn)生芯片BES7456的組成和原理,并給出應(yīng)用該芯片的具體方法和實(shí)現(xiàn)效果。闡述了OSD原理及芯片設(shè)計(jì)的原理,接著給出根據(jù)具體要求需要的外圍設(shè)計(jì)方案,給出了系統(tǒng)軟硬件的設(shè)計(jì)步驟,最后給出實(shí)測結(jié)果。
關(guān)鍵詞:OSD;BES7456;應(yīng)用平臺
引言
BES7456芯片是北京市嵌入式系統(tǒng)重點(diǎn)實(shí)驗(yàn)室應(yīng)珠海安聯(lián)銳視科技有限公司的要求,開發(fā)的一款用于安全視頻監(jiān)控市場的隨屏字幕顯示芯片。該芯片應(yīng)具有黑白字幕疊加功能,可以兼容當(dāng)前市面主流攝像頭視頻制式,內(nèi)置RAM與外置非易失性存儲(chǔ)器用I2C連接,能夠滿足大多數(shù)情況下監(jiān)控系統(tǒng)對字幕信息的需求。由于OSD(OnScreen Display)芯片的開發(fā)在國內(nèi)尚處于起步階段,所以該項(xiàng)目的研究對相關(guān)技術(shù)的發(fā)展有著重要的現(xiàn)實(shí)意義。
BES7456是單色單通道隨屏顯示(OSD)發(fā)生器,主要應(yīng)用于黑白模擬電視信號上疊加字幕。它將外部視頻驅(qū)動(dòng)器、同步分離器、視頻開關(guān)、存儲(chǔ)器集成在一起,有效降低成本。BES7456采用符合NTSC和PAL制式的256個(gè)用戶可編程字符,這些字符預(yù)先加載并通過SPI接口進(jìn)行在線編程。BES7456適用范圍廣,可以方便地顯示任意字符、尺寸的各種信息,例如公司標(biāo)識、常用圖形、日期時(shí)間等。BES7456提供LQFP(Low-pro-file Quad Flat Package)48封裝,外形尺寸較小,寄生參數(shù)減小,工作于擴(kuò)展級(-40~+85℃)溫度范圍。
1 OSD顯示原理與BES7456芯片
BES7456的內(nèi)部工作原理是當(dāng)視頻信號經(jīng)過鉗位電路(clamp)時(shí)進(jìn)行“直流重建”,由同步分離電路(SYNCseparator)得到要顯示的位置信息,視頻時(shí)序發(fā)生器產(chǎn)生所有內(nèi)部和外部(Vsync和Hsync)時(shí)序信號,經(jīng)由隨屏顯示發(fā)生器(OSD generlator)產(chǎn)生數(shù)字信號形式,再經(jīng)過DAC轉(zhuǎn)換為模擬信號像素,在視頻開關(guān)(MUX)處切換字符與原電視信號,最后經(jīng)過功率放大器(driver)輸出到電視接收端,在電視中可以看到經(jīng)過疊加后的混合視頻信號。
1.1 BES7456的內(nèi)部結(jié)構(gòu)
BES7456內(nèi)部集成有產(chǎn)生OSD像素以及將其插入復(fù)合視頻信號所需的全部功能,與外部EEPROM聯(lián)合使用。該器件內(nèi)置有輸入箝位、同步發(fā)生器、視頻定時(shí)發(fā)生器、OSI)插入MUX、字符存儲(chǔ)器RAM、顯示存儲(chǔ)器SRAM、OSD發(fā)生器、晶體振蕩器、可讀/寫OSD數(shù)據(jù)的SPI兼容接口以及視頻驅(qū)動(dòng)器。BES7456芯片的內(nèi)部結(jié)構(gòu)如圖1所示。
1.2 BES7456主要模擬模塊概述
(1)鉗位電路
采用BES7456芯片的OSD系統(tǒng)使用較為流行的交流耦合輸入/輸出結(jié)構(gòu),而在隨之帶來的場一時(shí)間失真的問題上,這里通過在輸入級內(nèi)部使用鉗位電路的方法來解決。鉗位電路需要將VIN的同步脈沖的黑色電平穩(wěn)定地鉗位到相對于模擬地稍高的位置上,使得后續(xù)的同步分離電路能正確地分離出同步脈沖。
(2)同步分離器
在OSD系統(tǒng)中,OSD芯片需要告訴外部控制器何時(shí)可以訪問芯片內(nèi)部狀態(tài)寄存器或更新屏幕上的字符顯示,否則就會(huì)發(fā)生存儲(chǔ)器訪問的混亂。根據(jù)視頻掃描原理,如果利用消隱時(shí)間對顯示存儲(chǔ)器的內(nèi)容進(jìn)行修改,就可以實(shí)現(xiàn)字幕的實(shí)時(shí)更新。利用行同步信息可以確定字符像素
在電視畫面中的水平坐標(biāo),利用場同步信息可以計(jì)算出字符像素在畫面中的垂直位置。場同步輸出與第一個(gè)輸入脈沖的鋸齒波的上升沿,同步結(jié)束于第一個(gè)后均衡脈沖的后沿,因此它比2.5 Hz的場同步要稍微寬一些。
(3)數(shù)模轉(zhuǎn)換器(DAC)
在本設(shè)計(jì)的OSD系統(tǒng)中,DAC的作用是將字符生成器模塊產(chǎn)生的OSD數(shù)字流轉(zhuǎn)換為模擬電平信號,從而產(chǎn)生實(shí)時(shí)的字符圖像。實(shí)際上,正常工作使用內(nèi)同步信號時(shí)字符生成模塊會(huì)持續(xù)輸出帶有行、場同步信號的黑白視頻流,經(jīng)過DAC轉(zhuǎn)換成1 Vp-p的標(biāo)準(zhǔn)黑白視頻信號,視頻開關(guān)只在需要插入OSD圖像的時(shí)刻才將輸入切換到DAC的輸出。
為滿足常見的OSD顯示的需要,對于DAC,至少需要7位有效位才能區(qū)分出所有這些電平來。如果要在電視屏幕上同時(shí)并排顯示30個(gè)字符,每個(gè)字符為12列×18行,即每行圖像應(yīng)能分辨出360個(gè)像素點(diǎn),根據(jù)PAL制式每行的圖像掃描時(shí)間52μs,DAC的采樣時(shí)鐘頻率至少應(yīng)為6.94 MHz(每個(gè)采樣點(diǎn)的周期為144 ns)。由于DAC的下一級為視頻開關(guān),并且為直流耦合,DAC所輸出的OSD信號(最大1.14 Vp-p)需要有合適的偏置電壓才能正常通過視頻開關(guān)和視頻驅(qū)動(dòng)器模塊。[!--empirenews.page--]
2 OSD芯片應(yīng)用平臺的設(shè)計(jì)與實(shí)現(xiàn)
2.1 軟件應(yīng)用平臺的建立
2.1.1 使用、調(diào)試注意事項(xiàng)
在運(yùn)行整個(gè)OSD系統(tǒng)時(shí)必須在MCU上運(yùn)行軟件來控制BES7456芯片的時(shí)序,本系統(tǒng)的MCU采用的是Maxim公司生產(chǎn)的MAXQ2000單片機(jī),這款單片機(jī)主要的好處是有專用的SPI接口。與MCU的在線通信調(diào)試可以通過JTAG接口,運(yùn)行于Windows平臺下的IAR EmbeddedWorkbench 2.10A是專門用于MAXQ系列微控制器的集成開發(fā)工具之一,目前已被大多數(shù)MAXQ系列芯片開發(fā)所使用。在IAR下建立新工程時(shí),應(yīng)該注意需要設(shè)置的
編譯選項(xiàng):General Option/Target/Device 并選MAX200X,以及General Option/Debugger/JTAG,并在COM port中選擇相應(yīng)的接口,可以在電腦的設(shè)備管理器中查看所安裝的接口。
2.1.2 SPI接口、時(shí)序、使用方法
BES7456支持高達(dá)10 MHz接口時(shí)鐘(SCLK)。圖2為寫數(shù)據(jù)時(shí)序,圖3是從器件讀數(shù)據(jù)的時(shí)序。寫寄存器時(shí),拉低可使能串行接口。在SCLK的上升沿從SDIN讀取數(shù)據(jù)。當(dāng)變?yōu)楦唠娖綍r(shí),數(shù)據(jù)鎖存到輸入寄存器。如果傳輸過程中變高,程序終止(即數(shù)據(jù)不寫入寄存器)。變低之后,器件等待從SDIN讀入第一個(gè)字節(jié),以確定正在執(zhí)行的數(shù)據(jù)傳輸類型。
讀寄存器時(shí),如上文所述,拉低CS在SCLK的上升沿鎖入SDIN。然后數(shù)據(jù)在SCLK的下降沿從SDOUT輸出。SPI命令長度為16位:最高8位(MSB)代表寄存器地址,最低8位(LSB)代表數(shù)據(jù)(如圖2、圖3所示)。這種格式有兩個(gè)例外:
①自動(dòng)遞增寫模式,用于訪問顯示存儲(chǔ)器,是一個(gè)8位操作。寫數(shù)據(jù)前必須寫入起始地址。對顯示存儲(chǔ)器執(zhí)行自動(dòng)遞增寫命令時(shí),8位地址由內(nèi)部產(chǎn)生,串口只需8位數(shù)據(jù),如圖4所示。
②從顯示存儲(chǔ)器讀字符數(shù)據(jù)時(shí),若處于16位工作模式,應(yīng)該是24位(8位地址+16位數(shù)據(jù))。執(zhí)行讀操作時(shí),只需要8位地址,如圖3所示。
2.1.3 應(yīng)用信息
(1)字符存儲(chǔ)器CM(Character-Memory)操作
BES7456的字符存儲(chǔ)器一次只能寫入或讀出全部的字符(54字節(jié)),這可通過SPI端口,經(jīng)過MCU(MAxQ2000)實(shí)現(xiàn)。這里給出寫入字符操作,讀出操作類似可以相應(yīng)得出:寫入VM0[3]=0以禁止OSD顯示→寫入CMAH[7:0]-xxH,選擇寫入字符(0~255)→寫入CMAL[7:0]=xxH,選擇寫入字符的4個(gè)像素字節(jié)(0~63)→寫入CMDI[7:0]=xxH設(shè)置字符所選部分像素值→重復(fù)前兩步,直到字符數(shù)據(jù)的54個(gè)字節(jié)寫入RAM中→寫入VM0[3]=1,使能OSD圖像。[!--empirenews.page--]
(2)顯示存儲(chǔ)器DM(Display Memory)的操作
對顯示存儲(chǔ)器的操作更多一些,這里給出常用的操作,其他情況對應(yīng)寄存器表可以很快得出。以下步驟支持對OSD圖像的查看,讀寫顯示存儲(chǔ)器時(shí)不需要這些動(dòng)作:寫入VM0[3]=1,使能OSD圖像顯示;寫入OSDBL[4]=0,使能自動(dòng)OSD黑電平控制,保證正確的OSD圖像亮度,該寄存器包含4個(gè)預(yù)設(shè)為[3:0],不能修改,因此,修改第4位時(shí),首先讀取OSDBL[7:0],修改第4位,然后寫回更新后的字節(jié)。
8位模式下,寫入顯示存儲(chǔ)器的步驟為:向顯示存儲(chǔ)器寫入字符時(shí),8位工作模式最靈活,這一模式支持為每一個(gè)字符寫入單獨(dú)的字符屬性字節(jié),這一模式與16位工作模式不同,在16位模式下,當(dāng)寫入一個(gè)字符時(shí),從DMM[5:3]自動(dòng)復(fù)制其字符屬性。寫入DMM[6]=1,選擇8位工作模式。
16位模式下,讀取顯示存儲(chǔ)器的步驟:寫入DMM[6]=0,選擇16位工作模式。寫入DMAH[0],選擇需要讀取數(shù)據(jù)的地址MSB寫入DMAL[7:0]=xxH,選擇需要讀取數(shù)據(jù)地址的MSB以外的低位數(shù)據(jù)該地址確定字符在顯示器上的位置讀取DMDO[7:0],從顯示存儲(chǔ)器中的所選位置讀取數(shù)據(jù)。
2.2 硬件應(yīng)用平臺的建立
用BES7456芯片作為OSD系統(tǒng)的核心部件時(shí),需要添加相應(yīng)的外圍器件才行。圖5為OSD模塊的硬件結(jié)構(gòu)框圖。其中,BES7456負(fù)責(zé)對輸入的模擬視頻信號進(jìn)行加字幕處理;MAxQ2000作為一顆低壓微功耗單片機(jī),本身自帶SPI接口,可以運(yùn)行10 Mbps的速率,速度快,為BES7456提供相應(yīng)的控制信號,并負(fù)責(zé)通過串口與.PC通信,以獲得用戶自定義的字符集和配置信息,也可通過GPIO模擬SPI接口時(shí)序,但速度慢;MAX-3002是一顆雙向電平轉(zhuǎn)換芯片,經(jīng)過設(shè)定,它可在1.2~5.5 V之間的信號進(jìn)行相互轉(zhuǎn)換,把它作為MAXQ2000的2.5 V系統(tǒng)信號轉(zhuǎn)化為BES-7456可以使用的1.2 V數(shù)字系統(tǒng)信號,以及3.3 V的模擬信號都綽綽有余;MAX3311是與MAXQ2000配套的串口芯片,提供與PC通信的串口信號轉(zhuǎn)換;MAX8881作為電源轉(zhuǎn)換芯片,在此可將5 V的供電轉(zhuǎn)化為單片機(jī)和buffer芯片需要的2.5 V電源,AMS117負(fù)責(zé)將5 V電源轉(zhuǎn)為3.3 V,而IP3878ADJ則負(fù)責(zé)將3.3 V電源轉(zhuǎn)為BES7456需要的1.2 V電源。
2.3 實(shí)現(xiàn)效果
采用BEST456芯片作為OSD核心部件的系統(tǒng)顯示,非常穩(wěn)定適合于模擬電視信號的視頻字幕的疊加。而且這一系統(tǒng)能夠隨時(shí)調(diào)整顯示字幕的內(nèi)容,方便修改并可通過I2C接口編輯字幕庫。
圖6中最左邊的低電平部分為視頻信號的VSYNC信號,右邊最高電平的一部分為疊加上去的,其余的是正常視頻信號。圖7中背景為實(shí)驗(yàn)室的測試屋一角,高亮白電平為自己編輯的字幕,可以自由改變其內(nèi)容。
結(jié)語
如上所述,使用自主研發(fā)BEST456芯片作為字幕疊加處理芯片完全可以到達(dá)很好的顯示和應(yīng)用效果。使用它不僅可以擺脫國外產(chǎn)品對我國此類芯片的壟斷,有效節(jié)約成本,也能促進(jìn)我國集成電路產(chǎn)業(yè)的發(fā)展。