基于SED1356的嵌入式視頻顯示接口設(shè)計(jì)
摘要:介紹了EPSON公司的視頻接口芯片SED1356,及嵌入式系統(tǒng)中視頻接口電路設(shè)計(jì)的基本原理及其軟硬件實(shí)現(xiàn),給出了本設(shè)計(jì)的結(jié)論。
本文引用地址:http://www.ex-cimer.com/article/225732.htm關(guān)鍵詞:嵌入式系統(tǒng) 視頻顯示接口 SED1356芯片
目前,在很多嵌入式系統(tǒng)的設(shè)計(jì)中需要將圖像數(shù)據(jù)轉(zhuǎn)換成視頻信號(hào)在終端上顯示。這就需要設(shè)計(jì)一個(gè)基于嵌入式系統(tǒng)的視頻顯示接口,以便把圖像數(shù)據(jù)轉(zhuǎn)換成適合終端顯示要求的信號(hào),并控制其在終端上的顯示。由于嵌入式系統(tǒng)便攜式的特點(diǎn),要求視頻顯示接口電路不但功能強(qiáng)、性能好,而且還要體積小、重量輕,同時(shí)要考慮性?xún)r(jià)比。在實(shí)際系統(tǒng)設(shè)計(jì)中,選擇了EPSON公司的視頻接口芯片SED1356來(lái)設(shè)計(jì)視頻顯示了接口電路。
1 SED1356芯片簡(jiǎn)介
SED1356是適用于多種CPU和顯示設(shè)備的彩色LCD和CRT/TV的顯示控制芯片。它共而114個(gè)寄存器,可以靈活地設(shè)置顯示方式,功能非常強(qiáng)大,主要用于低功率、低價(jià)位的嵌入式系統(tǒng),如移動(dòng)通信、手提電腦、商務(wù)自動(dòng)化等。
1.1 SED1356的結(jié)構(gòu)及工作原理
該芯片的內(nèi)部結(jié)構(gòu)框圖如圖1所示。來(lái)自系統(tǒng)總線的圖像數(shù)據(jù)被磅到主機(jī)接口單元。如果數(shù)據(jù)是由攝像機(jī)之類(lèi)的媒體捕捉到傳送進(jìn)來(lái)的,則通過(guò)媒體插件接口單元接收后才送往主機(jī)接口單元。主機(jī)接口單元根據(jù)寄存器的設(shè)置對(duì)圖像數(shù)據(jù)進(jìn)行處理,通過(guò)存儲(chǔ)控制單元送往外部DRAM。外部DRAM內(nèi)的數(shù)據(jù)則通過(guò)LCD通道,經(jīng)LCD調(diào)色板和LCD接口送往LCD顯示設(shè)備;也可通過(guò)CRT/TV接口轉(zhuǎn)換成模擬信號(hào)送往CRT或TV。圖1中的2D加速器的作用類(lèi)似于微機(jī)中的DMA,可以提高數(shù)據(jù)傳送速度,以加快圖像的刷新速率。
1.2 SED1356的特點(diǎn)
(1)顯示緩沖存儲(chǔ)器為16位的DRAM,可以通過(guò)寄存器來(lái)設(shè)置多種存儲(chǔ)器類(lèi)型。其速率對(duì)于EDO-DRAM可達(dá)40MHz(即80MByte/s),對(duì)于FPM-DRAM可達(dá)25MHz(即50Mbyte/s)。存儲(chǔ)器容量一般選擇512KB(256×16bit)或2MB(1M×16bit)。另外可以通過(guò)寄存器編程改變存儲(chǔ)控制接口單元的輸出時(shí)序,使之與存儲(chǔ)器匹配。
(2)支持多種CPU接口,包括EPSON E0C33、ENC MIPS VR41xx、Hitachi SH-4/SH-3、PC Card(PCMCIA)/StrongARM等在內(nèi)的13種接口標(biāo)準(zhǔn)。
(3)可以同時(shí)輸出數(shù)字信號(hào)(在LCD上顯示)和模擬信號(hào)(在TV或CRT上顯示),支持4/8/15/16bpp的顏色深度,最多可達(dá)64K之多的顏色值,最大達(dá)800×600的分辨率。支持TV的NTSC制式和PAL制式。在NTSC制式中支持從400×396到752×484的多種分辨率。
(4)有一個(gè)靈活的時(shí)鐘管理機(jī)制,對(duì)內(nèi)存時(shí)鐘、總線時(shí)鐘和TV的電掃描時(shí)鐘可以靈活地進(jìn)行調(diào)整。它共有三個(gè)輸入時(shí)鐘:CLKI、CLKI2、BUSCLK。內(nèi)部需要的5個(gè)時(shí)鐘:BUSCLK、MCLK、LCD PCLK、CRT/TV PCLK、Mediaplus CLOCK都由三個(gè)輸入時(shí)鐘CLKI、CLKI2、BUSCLK進(jìn)行分頻運(yùn)算得到。
(5)可以通過(guò)設(shè)置寄存器對(duì)圖像的顯示進(jìn)行靈活多樣的選擇??梢栽趦?nèi)存儲(chǔ)存的多個(gè)光標(biāo)圖像中,選擇其中的一個(gè);可以設(shè)定光標(biāo)在屏幕上的位置;可以對(duì)顯示圖像進(jìn)行90°、180°、270°的翻轉(zhuǎn);可以在內(nèi)存中儲(chǔ)存一個(gè)比實(shí)際圖像大的虛擬圖像,而屏幕就相當(dāng)于一個(gè)窗口,可以移動(dòng)它來(lái)顯示虛擬圖像的一部分;在SED1356內(nèi)部的20數(shù)據(jù)加速器可以實(shí)現(xiàn)數(shù)據(jù)塊的快速寫(xiě)、讀、移動(dòng)、填充等操作,以加速顯示圖像的刷新。
2 系統(tǒng)設(shè)計(jì)原理
本系統(tǒng)原理如圖2所示。整個(gè)電路的設(shè)計(jì)以芯片SED1356為核心。CPU將圖像數(shù)據(jù)通過(guò)總線傳給控制芯片SED1356。在CPU命令的控制下,SED1356將圖像數(shù)據(jù)寫(xiě)入EDO-DRAM中,此后則可以通過(guò)對(duì)SED1356的各個(gè)寄存器進(jìn)行設(shè)置,以實(shí)現(xiàn)各種不同的顯示要求,然后輸出符合求的模擬或數(shù)字的顯示信號(hào)。模擬信號(hào)可以送至TV或CRT顯示,數(shù)字信號(hào)可以送至LCD上顯示。另外可以通過(guò)媒體插件接口(MediaPlug Interface)將攝像機(jī)等視頻采集設(shè)備采集到視頻信號(hào)直接送往SED1356進(jìn)行處理,再送至顯示設(shè)備。這在監(jiān)視系統(tǒng)中有著廣泛的應(yīng)用。
3 硬件實(shí)現(xiàn)
硬件電路的實(shí)現(xiàn)如圖3所示,電路分四部分:
第一部分是SED1356與CPU總線的接口,包括地址信號(hào)AB[2:0],數(shù)據(jù)線D[15:0],控制線WE0、WE1、RD、RD/WR、WAIT、RESET以及總線時(shí)鐘BUSCLK。其中CPU地址總線的高位作片選信號(hào)。信號(hào)M/R用作選擇讀寫(xiě)的是存儲(chǔ)器還是寄存器。
第二部分是SED1356和DRAM之間的接口,包括16根數(shù)據(jù)線和11位地址線(2M尋址空間),以及讀寫(xiě)控制線WE、RAS。因?yàn)閿?shù)據(jù)線是16位的,所以還有高低字節(jié)選擇信號(hào)LCASE、UCASE來(lái)確定讀寫(xiě)的是高字節(jié)還是低字節(jié)。
第三部分是SED1356同顯示設(shè)備的連接。送往CRT/TV的是RED、GREEN、BLUE,分別輸出紅、綠、藍(lán)的模擬色度值,同時(shí)還有水平回掃信號(hào)HRTC和垂直回掃信號(hào)VRTC,另外還需要外接內(nèi)部DAC的參考電流,是從引腳IREF輸入的。而SED1356同LCD的連接因?yàn)檩敵龅氖菙?shù)字信號(hào),所以仍包括16位數(shù)據(jù)線,另外還有幀脈沖信號(hào)FPFRAME和行脈沖信號(hào)FPLINE及輸出允許信號(hào)DRDY。
最后是時(shí)鐘信號(hào)。三時(shí)鐘信號(hào)BUSCLK、CLK1、CLK2都外接晶體震蕩器。由這三個(gè)時(shí)鐘信號(hào)經(jīng)過(guò)運(yùn)算可以得到SED1356所需的八個(gè)內(nèi)部時(shí)鐘。
4 軟件設(shè)計(jì)
軟件設(shè)計(jì)包括兩部分:一是對(duì)寄存器進(jìn)行設(shè)置以實(shí)現(xiàn)特定的功能;另一個(gè)是系統(tǒng)主機(jī)CPU向SED1356發(fā)送命令,控制圖像信號(hào)的顯示。
4.1 寄存器設(shè)置
SED1356具有豐富的可編程功能,內(nèi)部有114個(gè)寄存器,對(duì)這些寄存器的設(shè)置可以實(shí)現(xiàn)許多功能。寄存器設(shè)置程序如下,這些操作在圖像顯示之前進(jìn)行。
{
VIDEO_INIT1();
//初始化操作,設(shè)置內(nèi)部時(shí)鐘、DRAM參數(shù),顯示模式等
set_vode(NTSC_752_484);
//設(shè)置NTSC制式的分辨率為752×484
bpp=set_bpp(8);
//設(shè)置顏色值為8位,即可以表示出256種顏色值
set_dram_start_addr(0x00000000);
//設(shè)置DRAM的初始地址為0x00000000。
Set_virtue_image(376);
//設(shè)置虛擬圖像寬度為376個(gè)像素,而實(shí)際圖像可以是該虛擬圖像的一部分
set_LUT(0,0,0,255);
//設(shè)置調(diào)色板值,本參數(shù)位置為0的調(diào)色板的R、C、B值分別為0,0,255
enable_cursor();
//打開(kāi)光標(biāo)顯示
set_cursor_position(0,0);
//設(shè)置光標(biāo)位置為屏幕左上角
}
4.2 圖像顯示控制流程
當(dāng)對(duì)寄存器進(jìn)行設(shè)置完畢后,就可以在CPU的控制下顯示圖像了。如果顯示的是一幅靜止的圖像,則將其發(fā)送到顯存即可,顯示屏就會(huì)按事先的設(shè)置顯示圖像。如果要連續(xù)顯示圖像,一般把顯存分為兩部分,一部分保存當(dāng)前顯示的圖像,另一部分接收下幅圖像數(shù)據(jù),然后輪流交替,其流程如圖4所示。
本系統(tǒng)在GPS系統(tǒng)中得到成功應(yīng)用,已經(jīng)達(dá)到以下技術(shù)指標(biāo):
·可以在PAL制式和NTSC制式之間轉(zhuǎn)換(需要設(shè)置兩個(gè)不同的晶振)。
·使用2M內(nèi)存,儲(chǔ)存多幅圖畫(huà),并且可以在各幅圖畫(huà)之間互相轉(zhuǎn)換。
·可以改變分辨率,可以在400×396到752×484(NTSC制)改變。
·可以選擇16色、256色、真彩色等多種顏色。
·對(duì)于16色和256色可以設(shè)置調(diào)色板,用以對(duì)顯示顏色進(jìn)行設(shè)置。
·可以設(shè)置鼠標(biāo)的圖像和顏色,并可以隨時(shí)調(diào)鼠標(biāo)在屏幕上的位置。
·顯示靜止圖像時(shí),可以通過(guò)寄存器開(kāi)啟SED1356,內(nèi)建閃爍濾波器,以減小圖像抖動(dòng),使圖像顯示效果更好。但在顯示連續(xù)圖像時(shí),為滿(mǎn)足動(dòng)畫(huà)速率要求應(yīng)將其關(guān)閉。
本系統(tǒng)的設(shè)計(jì)雖然是針對(duì)GPS的具體應(yīng)用,但其設(shè)計(jì)方法在嵌入式系統(tǒng)的視頻顯示接口設(shè)計(jì)中具有通用性,對(duì)相關(guān)的電路設(shè)計(jì)有一定的參考價(jià)值。
評(píng)論