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