嵌入式熱門培訓內容之基于SED1356的嵌入式視頻顯示接口設計

時間:2019-01-15 14:11:23

1 SED1356芯片簡介

SED1356是適用于多種CPU和顯示設備的彩色LCD和CRT/TV的顯示控制芯片。它共而114個寄存器,可以靈活地設置顯示方式,功能非常強大,主要用于低功率、低價位的嵌入式系統,如移動通信、手提電腦、商務自動化等。

1.1 SED1356的結構及工作原理

該芯片的內部結構框圖如圖1所示。來自系統總線的圖像數據被磅到主機接口單元。如果數據是由攝像機之類的媒體捕捉到傳送進來的,則通過媒體插件接口單元接收后才送往主機接口單元。主機接口單元根據寄存器的設置對圖像數據進行處理,通過存儲控制單元送往外部DRAM。外部DRAM內的數據則通過LCD通道,經LCD調色板和LCD接口送往LCD顯示設備;也可通過CRT/TV接口轉換成模擬信號送往CRT或TV。圖1中的2D加速器的作用類似于微機中的DMA,可以提高數據傳送速度,以加快圖像的刷新速率。

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、ENC MIPS VR41xx、Hitachi SH-4/SH-3、PC Card(PCMCIA)/StrongARM等在內的13種接口標準。

(3)可以同時輸出數字信號(在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內部的20數據加速器可以實現數據塊的快速寫、讀、移動、填充等操作,以加速顯示圖像的刷新。

2 系統設計原理

本系統原理如圖2所示。整個電路的設計以芯片SED1356為核心。CPU將圖像數據通過總線傳給控制芯片SED1356。在CPU命令的控制下,SED1356將圖像數據寫入EDO-DRAM中,此后則可以通過對SED1356的各個寄存器進行設置,以實現各種不同的顯示要求,然后輸出符合求的模擬或數字的顯示信號。模擬信號可以送至TV或CRT顯示,數字信號可以送至LCD上顯示。另外可以通過媒體插件接口(MediaPlug Interface)將攝像機等視頻采集設備采集到視頻信號直接送往SED1356進行處理,再送至顯示設備。這在監視系統中有著廣泛的應用。

3 硬件實現

硬件電路的實現如圖3所示,電路分四部分:

第一部分是SED1356與CPU總線的接口,包括地址信號AB[2:0],數據線D[15:0],控制線WE0、WE1、RD、RD/WR、WAIT、RESET以及總線時鐘BUSCLK。其中CPU地址總線的高位作片選信號。信號M/R用作選擇讀寫的是存儲器還是寄存器。

第二部分是SED1356和DRAM之間的接口,包括16根數據線和11位地址線(2M尋址空間),以及讀寫控制線WE、RAS。因為數據線是16位的,所以還有高低字節選擇信號LCASE、UCASE來確定讀寫的是高字節還是低字節。

第三部分是SED1356同顯示設備的連接。送往CRT/TV的是RED、GREEN、BLUE,分別輸出紅、綠、藍的模擬色度值,同時還有水平回掃信號HRTC和垂直回掃信號VRTC,另外還需要外接內部DAC的參考電流,是從引腳IREF輸入的。而SED1356同LCD的連接因為輸出的是數字信號,所以仍包括16位數據線,另外還有幀脈沖信號FPFRAME和行脈沖信號FPLINE及輸出允許信號DRDY。

最后是時鐘信號。三時鐘信號BUSCLK、CLK1、CLK2都外接晶體震蕩器。由這三個時鐘信號經過運算可以得到SED1356所需的八個內部時鐘。

4 軟件設計

軟件設計包括兩部分:一是對寄存器進行設置以實現特定的功能;另一個是系統主機CPU向SED1356發送命令,控制圖像信號的顯示。

4.1 寄存器設置

SED1356具有豐富的可編程功能,內部有114個寄存器,對這些寄存器的設置可以實現許多功能。寄存器設置程序如下,這些操作在圖像顯示之前進行。

    Registers_Proc()

{

VIDEO_INIT1();

//初始化操作,設置內部時鐘、DRAM參數,顯示模式等

set_vode(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);

//設置調色板值,本參數位置為0的調色板的R、C、B值分別為0,0,255

enable_cursor();

//打開光標顯示

set_cursor_position(0,0);

//設置光標位置為屏幕左上角

}

4.2 圖像顯示控制流程

當對寄存器進行設置完畢后,就可以在CPU的控制下顯示圖像了。如果顯示的是一幅靜止的圖像,則將其發送到顯存即可,顯示屏就會按事先的設置顯示圖像。如果要連續顯示圖像,一般把顯存分為兩部分,一部分保存當前顯示的圖像,另一部分接收下幅圖像數據,然后輪流交替,其流程如圖4所示。

本系統在GPS系統中得到成功應用,已經達到以下技術指標:

·可以在PAL制式和NTSC制式之間轉換(需要設置兩個不同的晶振)。

·使用2M內存,儲存多幅圖畫,并且可以在各幅圖畫之間互相轉換。

·可以改變分辨率,可以在400×396到752×484(NTSC制)改變。

·可以選擇16色、256色、真彩色等多種顏色。

·對于16色和256色可以設置調色板,用以對顯示顏色進行設置。

·可以設置鼠標的圖像和顏色,并可以隨時調鼠標在屏幕上的位置。

·顯示靜止圖像時,可以通過寄存器開啟SED1356,內建閃爍濾波器,以減小圖像抖動,使圖像顯示效果更好。但在顯示連續圖像時,為滿足動畫速率要求應將其關閉。

本系統的設計雖然是針對GPS的具體應用,但其設計方法在嵌入式系統的視頻顯示接口設計中具有通用性,對相關的電路設計有一定的參考價值。

? 江苏快3号码表