引言
目前,在很多嵌入式系統的設計中需要將圖像數據轉換成視頻信號在終端上顯示,這就需要設計一個基于嵌入式系統的視頻顯示接口,以便把圖像數據轉換成適合終端顯示要求的信號,并控制其在終端上的顯示。由于嵌入式系統便攜式的特點,要求視頻顯示電路不但功能強、性能好,而且體積小、重量輕、功耗低,同時要兼顧性價比。
現在東芝、飛利浦、泰鼎(Triend)、愛普生(EPSON)等公司都在生產高性能的圖形顯示控制器。EPSON公司的顯示控制器可分為小規模、中小規模和大規模三大類。其中,小規模控制器用于字符或低分辨率顯示場合;中小規模控制器用于單色640×480,彩色320×240顯示場合,它的顯存一般只有幾十KB;大規模控制器用于800×600顯示場合(64K色),具有高解像度,配用EDO-DRAM,顯存可高達2MB。在實際系統中,選用了EPSON公司的視頻接口芯片SED1356用于顯示圖像數據。
1、 SED1356顯示控制芯片介紹
SED1356(S1D13506)是EPSON大規模顯示控制器家族中較新的一款,是以SED1354為基礎控制器發展起來的更多功能的LCD顯示控制器(SED1354只支持LCD接口,SED1355不支持TV接口)。它內置RAMDAC硬件X-Y軸轉置2維加速器,共有114個寄存器,可以靈活地對各種不同的顯示方式進行設置,功能非常強大,可以和目前市場上流行的多種CPU總線兼容。它主要應用于低功率、低價位的嵌入式系統,如PDA、GPS、商務自動化等。
SED1356支持最高為16位數據寬度的LED接口,使用FRM和調諧(dithering)技術,可以在TFT LCD、CRT和TV上最高顯示64K顏色。它配置一個16位內存接口,可以支持最高2MB的EDO-DRAM。支持6色,256色和真彩色的顏色結構。對于TV電路,它支持TV的NTSC制式和PAL制式顯示。在NTSC制式中它支持從400×396到720×484多種分辨率。圖1所示為SED1356的典型應用框圖。
1.1 總線兼容性能
SED1356可以和多種CPU總線兼容,對于不同的CPU有不同的時序結構,通過對硬件的設計來選擇。SED1356支持以下CPU總線類型(對于其它CPU的時序可以通過選擇類似的時序結構來實現):
*SH-4/SH-3 Bus interface;
*Motorola MC68000/MC68030 Bus;
*Motorola PowerPC MPC82x;
*MIPS/ISA;
*PC Card(PCMCIA);
*Philips PR31500/PR31700/Toshiba TX3912;
*StrongARM;
*通用類型總線。
另外它還可以通過寄存器來設置多種內裝存類型。具體可以使用以下內存:
512KB的EDO-DRAM(25×16);
512KB的FPM-DRAM(256×16);
2MB的EDO-DRAM(1×16);
2MB的FPM-DRMA(1×16)。
1.2 輸出信號的類型和模式
*可以同時輸出數字信號和模擬信號,并且這兩種信號可以是各自獨立的,即可以同時管理LCD和CRT/TV并顯示不同的圖像。它支持16色,256色和真彩色的顏色結構。
*對于TV通道,它通過嵌入式RAMDAC(一種數模轉換方式)支持NTSC制式和PAL制式顯示。對于CRT通道,它通過嵌入式RAMDAC支持最高64K顏色顯示。對于數字RGB LCD通道,它支持最高64K顏色的TFT LCD顯示。
*可以旁通LUT,每個像素可直接映射15/16位顏色深度。
1.3 顯示特性
*它支持光標和墨水層,對于LCD和CRT或復合視頻接口,支持獨立的64×64×2硬光標和2位的黑水層。可以在內存中存儲多個光標圖像,并且通過寄存器的設置,在一定時間,使用其中的一個。通過寄存器的設置可以設定光標在屏幕上的位置。
*具有SwivelView特性,支持圖像翻轉,可以對顯示圖像進行90°、180°、270°的硬翻轉。
*它支持虛擬圖像,可以通過對寄存器的設置在內存中存儲一個比實際圖像大的虛擬圖像,而屏幕就相當于一個窗口,可以移動它來顯示虛擬圖像的一部分。
*在SED1356內部有一個2D的數據加速內核,可以實現數據塊的快速寫、讀、移動、填充等等。用以加速顯示圖像的刷新。
2、 硬件設計
2.1 EP7312的總線接口
選用Cirrus Logic公司ARM720T微處理器的EP7312作為MPU。EP7312的內核電路工作在2.5V,而外圍電路工作3.3V,工業級產品的工作溫度為-40℃~85℃。集成了SDRAM和增強數字音頻接口,可動態編程18MHz、36MHz、49MHz、74MH四種時鐘速率,其中在74MHz時鐘下,其穩定處理能力達到66MIPS,峰值處理能力達到74MIPS,近似等同于100MHz奔騰處理器。EP7312主要為超低功耗所設計,其功耗最大不超過90mW。本平臺選用74MHz時鐘。
EP7312配備以下接口:
①支持兩個外部存儲器接口,第一個是ROM/SRAM/Flash接口,具有可編程等待態和突發模式能力,6個片選控制6個256MB片(section)的可尋址空間,第二個是16或32位寬的可編程SDRAM接口,允許與2個256MB的SDRAM段直接連接。②2個16550兼容UARTs接口;③2個同步串行口;④8×8鍵盤口;⑤2個可編程占空比的96kHz時鐘輸出PWM脈沖寬度調制器(Pulse Width Modulator)接口;⑥四個通用目的輸入/輸出口(GPIO);⑦直接與DAC、ADC和CODEC相連的數字音頻接口。
2.2 SED1356與MPU總線接口
雖然SED1356可以和許多廠家的多種MPU直接相接,但它不支持具有ARM7內核的EP7312。因此通過分析SED1356這幾種現成的總線連接模式,筆者認為PC卡總線連接模式較為簡單,稍加修改,配以必要的時序邏輯轉換關系就可以進行對接。可用MD[0:15]配置所使用的具體總線。
2.3 接口分析及實現
從上述接口信號的定義以及時序關系分析得出,EP7312的A[1:20]、DB[0:15]、NRST、NCS2、EXPRDY、NWR、NRD信號引腳和SED1356的A[1:20]、DB[0:15]、RESET、CS、WAIT、WE0、RD信號引腳可以分別進行連接。對于SED1356的M/R信號引腳,可以用EP7312的A21進行控制。這樣可以選擇不同的地址,進而控制SED1356對應的內存和寄存器。
對于SED1356上的WE1和RD/WR信號引腳,處理起來稍微麻煩。經分析得出:EP7312對外進行讀寫時,根據半字(16位)和字(32位)操作方式的區別,HALFWORD和WORD引腳會產生相應信號變化,由于SED1356的顯存最高為16位,因此這兩個引腳將不加以區分。由于WE1控制高位讀寫,RD/WR控制低位讀寫,可用EP7312的A0信號確定半字和字節的區別。時序轉換關系由CPLD完成。總線連接框圖如圖2所示。
CPLD中的VHDL語言如下:
CPLD_RD/WR=not((not A0)or WORD orHALFWORD);
CPLD_WE1=not(A0 or WORD or HALFWORD);
上述邏輯完全實現了SED1356對字節的讀寫,其中CPLD_RD/WR控制低位的讀寫,CPLD_WE1控制高位的讀寫。
3、 軟件實現
本電路的底層測試軟件均用C語言編程實現。圖3是SED1356的初始化流程圖。
下面對軟件實現中的主要部分進行說明。
3.1 虛擬圖像的設置
在2M內存中開辟2塊顯存,1塊用于虛擬顯示(較大)、1塊用于屏幕尺寸顯示。前1塊主要用于地圖顯示目的,可以通過橫豎2個滾動條實現地圖的全尺寸瀏覽,需開辟的空間主要取決于需要瀏覽的最大圖形尺寸大小;后1塊主要顯示較為固定的信息,像菜單、固定圖像、界面等。本方案如采用每像素16bpp顯示方式,這樣在640×480的屏幕上至少需要開辟614400B的顯示內存。這樣做的好處是不必等待圖像數據的再次寫入,屏幕圖形可以進行快速切換,大大減少了轉向地圖顯示等待的時間。
3.2 調色板的設置
對于真彩色,也即15/16bpp的顏色格式,不必使用調色板,對于4/8bpp顏色格式,SED1356有1個LUT表格,有3組各自表示R-G-B三種顏色,每組有256個位置,每個位置可以存放4位數據。可以通過寄存器來讀寫LUT表。當按照數據格式在內存中寫入數據后,SED1356通過LUT表格來查找與顯示數據相對應的R-G-B顏色,從而在顯示器上顯示出相應的色彩。
3.3 光標圖像的設置
對于光標圖像,采用的是2bpp的顏色格式,SED1356控制的光標是64×64大小的,共有4096個點,也就是使用1024個字節就可以儲存一個光標圖像。光標的起始位置為左上角,可用寄存器設定它的X、Y值,如圖4所示。
在SED1356中有6個寄存器,分成2組,1組3個。每1組寄存器可以設定一種顏色,從而可以設置出兩種默認的顏色:顏色0、顏色1。這兩種默認顏色是按照16bpp的格式設置,即R-G-B:5-6-5。從而,對于光標圖像2bpp表示的顏色如下,00表示默認顏色0,01表示默認顏色1,10表示背景色。這樣用2位就可以設置光標一個點的顏色了,但光標的顏色只能在默認顏色0、1和背景色之間選。如果需要更改顏色,則需要對儲存默認顏色的寄存器進行重新設置。
設置光標的2bpp的數據如圖5所示。
3.4 RGB-565顏色顯示格式
本接口使用RGB-565格式的真彩色顯示數據格式,每種顏色需要占用2個字節,顏色排列并不規律,如圖6所示,圖6顯存設置為小端格式。
本軟件實現的特點是盡量模塊化,盡量將整個程序分成眾多模塊,用子程序來實現,這樣便于調試、修改。
結語
在全天候導航項目中,本液晶顯示模塊占用體積小,功耗低。能夠很好的對存儲的地圖數據進行顯示取得了良好的應用效果。
責任編輯:gt
-
芯片
+關注
關注
453文章
50406瀏覽量
421840 -
控制器
+關注
關注
112文章
16203瀏覽量
177414 -
嵌入式
+關注
關注
5068文章
19019瀏覽量
303294
發布評論請先 登錄
相關推薦
評論