EP7312的顯示控制器SED1356接口技術(shù)
摘要:通過(guò)對(duì)EPSON公司的大規(guī)模液晶顯示控制器芯片SED1356的介紹,分析嵌入式系統(tǒng)中視頻顯示電路的原理,并給出完整的硬件連接框圖有效的軟件實(shí)現(xiàn)方法。
關(guān)鍵詞:SED1356 EP7312 嵌入式系統(tǒng) 視頻顯示接口
引言
目前,在很多嵌入式系統(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à)比。
現(xiàn)在東芝、飛利浦、泰鼎(Triend)、愛(ài)普生(EPSON)等公司都在生產(chǎn)高性能的圖形顯示控制器。EPSON公司的顯示控制器可分為小規(guī)模、中小規(guī)模和大規(guī)模三大類(lèi)。其中,小規(guī)??刂破饔糜谧址虻头直媛曙@示場(chǎng)合;中小規(guī)??刂破饔糜趩紊?40480,彩色320240顯示場(chǎng)合,它的顯存一般只有幾十KB;大規(guī)模控制器用于800600顯示場(chǎng)合(64K色),具有高解像度,配用EDO-DRAM,顯存可高達(dá)2MB。在實(shí)際系統(tǒng)中,選用了EPSON公司的視頻接口芯片SED1356用于顯示圖像數(shù)據(jù)。
1 SED1356顯示控制芯片介紹
SED1356(S1D13506)是EPSON大規(guī)模顯示控制器家族中較新的一款,是以SED1354為基礎(chǔ)控制器發(fā)展起來(lái)的更多功能的LCD顯示控制器(SED1354只支持LCD接口,SED1355不支持TV接口)。它內(nèi)置RAMDAC硬件X-Y軸轉(zhuǎn)置2維加速器,共有114個(gè)寄存器,可以靈活地對(duì)各種不同的顯示方式進(jìn)行設(shè)置,功能非常強(qiáng)大,可以和目前市場(chǎng)上流行的多種CPU總線(xiàn)兼容。它主要應(yīng)用于低功率、低價(jià)位的嵌入式系統(tǒng),如PDA、GPS、商務(wù)自動(dòng)化等。
SED1356支持最高為16位數(shù)據(jù)寬度的LED接口,使用FRM和調(diào)諧(dithering)技術(shù),可以在TFT LCD、CRT和TV上最高顯示64K顏色。它配置一個(gè)16位內(nèi)存接口,可以支持最高2MB的EDO-DRAM。支持6色,256色和真彩色的顏色結(jié)構(gòu)。對(duì)于TV電路,它支持TV的NTSC制式和PAL制式顯示。在NTSC制式中它支持從400396到720484多種分辨率。圖1所示為SED1356的典型應(yīng)用框圖。
1.1 總線(xiàn)兼容性能
SED1356可以和多種CPU總線(xiàn)兼容,對(duì)于不同的CPU有不同的時(shí)序結(jié)構(gòu),通過(guò)對(duì)硬件的設(shè)計(jì)來(lái)選擇。SED1356支持以下CPU總線(xiàn)類(lèi)型(對(duì)于其它CPU的時(shí)序可以通過(guò)選擇類(lèi)似的時(shí)序結(jié)構(gòu)來(lái)實(shí)現(xiàn)):
*SH-4/SH-3 Bus interface;
*Motorola MC68000/MC68030 Bus;
*Motorola PowerPC MPC82x;
*MIPS/ISA;
*PC Card(PCMCIA);
*Philips PR31500/PR31700/Toshiba TX3912;
*StrongARM;
*通用類(lèi)型總線(xiàn)。
另外它還可以通過(guò)寄存器來(lái)設(shè)置多種內(nèi)裝存類(lèi)型。具體可以使用以下內(nèi)存:
512KB的EDO-DRAM(2516);
512KB的FPM-DRAM(25616);
2MB的EDO-DRAM(116);
2MB的FPM-DRMA(116)。
*可以同時(shí)輸出數(shù)字信號(hào)和模擬信號(hào),并且這兩種信號(hào)可以是各自獨(dú)立的,即可以同時(shí)管理LCD和CRT/TV并顯示不同的圖像。它支持16色,256色和真彩色的顏色結(jié)構(gòu)。
*對(duì)于TV通道,它通過(guò)嵌入式RAMDAC(一種數(shù)模轉(zhuǎn)換方式)支持NTSC制式和PAL制式顯示。對(duì)于CRT通道,它通過(guò)嵌入式RAMDAC支持最高64K顏色顯示。對(duì)于數(shù)字RGB LCD通道,它支持最高64K顏色的TFT LCD顯示。
*可以旁通LUT,每個(gè)像素可直接映射15/16位顏色深度。
*它支持光標(biāo)和墨水層,對(duì)于LCD和CRT或復(fù)合視頻接口,支持獨(dú)立的64642硬光標(biāo)和2位的黑水層??梢栽趦?nèi)存中存儲(chǔ)多個(gè)光標(biāo)圖像,并且通過(guò)寄存器的設(shè)置,在一定時(shí)間,使用其中的一個(gè)。通過(guò)寄存器的設(shè)置可以設(shè)定光標(biāo)在屏幕上的位置。
*具有SwivelView特性,支持圖像翻轉(zhuǎn),可以對(duì)顯示圖像進(jìn)行90、180、270的硬翻轉(zhuǎn)。
*它支持虛擬圖像,可以通過(guò)對(duì)寄存器的設(shè)置在內(nèi)存中存儲(chǔ)一個(gè)比實(shí)際圖像大的虛擬圖像,而屏幕就相當(dāng)于一個(gè)窗口,可以移動(dòng)它來(lái)顯示虛擬圖像的一部分。
*在SED1356內(nèi)部有一個(gè)2D的數(shù)據(jù)加速內(nèi)核,可以實(shí)現(xiàn)數(shù)據(jù)塊的快速寫(xiě)、讀、移動(dòng)、填充等等。用以加速顯示圖像的刷新。
2 硬件設(shè)計(jì)
2.1 EP7312的總線(xiàn)接口
選用Cirrus Logic公司ARM720T微處理器的EP7312作為MPU。EP7312的內(nèi)核電路工作在2.5V,而外圍電路工作3.3V,工業(yè)級(jí)產(chǎn)品的工作溫度為-40℃~85℃。集成了SDRAM和增強(qiáng)數(shù)字音頻接口,可動(dòng)態(tài)編程18MHz、36MHz、49MHz、74MH四種時(shí)鐘速率,其中在74MHz時(shí)鐘下,其穩(wěn)定處理能力達(dá)到66MIPS,峰值處理能力達(dá)到74MIPS,近似等同于100MHz奔騰處理器。EP7312主要為超低功耗所設(shè)計(jì),其功耗最大不超過(guò)90mW。本平臺(tái)選用74MHz時(shí)鐘。
EP7312配備以下接口:
①支持兩個(gè)外部存儲(chǔ)器接口,第一個(gè)是ROM/SRAM/Flash接口,具有可編程等待態(tài)和突發(fā)模式能力,6個(gè)片選控制6個(gè)256MB片(section)的可尋址空間,第二個(gè)是16或32位寬的可編程SDRAM接口,允許與2個(gè)256MB的SDRAM段直接連接。②2個(gè)16550兼容UARTs接口;③2個(gè)同步串行口;④88鍵盤(pán)口;⑤2個(gè)可編程占空比的96kHz時(shí)鐘輸出PWM脈沖寬度調(diào)制器(Pulse Width Modulator)接口;⑥四個(gè)通用目的輸入/輸出口(GPIO);⑦直接與DAC、ADC和CODEC相連的數(shù)字音頻接口。
2.2 SED1356與MPU總線(xiàn)接口
雖然SED1356可以和許多廠(chǎng)家的多種MPU直接相接,但它不支持具有ARM7內(nèi)核的EP7312。因此通過(guò)分析SED1356這幾種現(xiàn)成的總線(xiàn)連接模式,筆者認(rèn)為PC卡總線(xiàn)連接模式較為簡(jiǎn)單,稍加修改,配以必要的時(shí)序邏輯轉(zhuǎn)換關(guān)系就可以進(jìn)行對(duì)接??捎肕D[0:15]配置所使用的具體總線(xiàn)。
2.3 接口分析及實(shí)現(xiàn)
從上述接口信號(hào)的定義以及時(shí)序關(guān)系分析得出,EP7312的A[1:20]、DB[0:15]、NRST、NCS2、EXPRDY、NWR、NRD信號(hào)引腳和SED1356的A[1:20]、DB[0:15]、RESET、CS、WAIT、WE0、RD信號(hào)引腳可以分別進(jìn)行連接。對(duì)于SED1356的M/R信號(hào)引腳,可以用EP7312的A21進(jìn)行控制。這樣可以選擇不同的地址,進(jìn)而控制SED1356對(duì)應(yīng)的內(nèi)存和寄存器。
對(duì)于SED1356上的WE1和RD/WR信號(hào)引腳,處理起來(lái)稍微麻煩。經(jīng)分析得出:EP7312對(duì)外進(jìn)行讀寫(xiě)時(shí),根據(jù)半字(16位)和字(32位)操作方式的區(qū)別,HALFWORD和WORD引腳會(huì)產(chǎn)生相應(yīng)信號(hào)變化,由于SED1356的顯存最高為16位,因此這兩個(gè)引腳將不加以區(qū)分。由于WE1控制高位讀寫(xiě),RD/WR控制低位讀寫(xiě),可用EP7312的A0信號(hào)確定半字和字節(jié)的區(qū)別。時(shí)序轉(zhuǎn)換關(guān)系由CPLD完成。總線(xiàn)連接框圖如圖2所示。
CPLD中的VHDL語(yǔ)言如下:
CPLD_RD/WR=not((not A0)or WORD orHALFWORD);
CPLD_WE1=not(A0 or WORD or HALFWORD);
上述邏輯完全實(shí)現(xiàn)了SED1356對(duì)字節(jié)的讀寫(xiě),其中CPLD_RD/WR控制低位的讀寫(xiě),CPLD_WE1控制高位的讀寫(xiě)。
3 軟件實(shí)現(xiàn)
本電路的底層測(cè)試軟件均用C語(yǔ)言編程實(shí)現(xiàn)。圖3是SED1356的初始化流程圖。
下面對(duì)軟件實(shí)現(xiàn)中的主要部分進(jìn)行說(shuō)明。
3.1 虛擬圖像的設(shè)置
在2M內(nèi)存中開(kāi)辟2塊顯存,1塊用于虛擬顯示(較大)、1塊用于屏幕尺寸顯示。前1塊主要用于地圖顯示目的,可以通過(guò)橫豎2個(gè)滾動(dòng)條實(shí)現(xiàn)地圖的全尺寸瀏覽,需開(kāi)辟的空間主要取決于需要瀏覽的最大圖形尺寸大?。缓?塊主要顯示較為固定的信息,像菜單、固定圖像、界面等。本方案如采用每像素16bpp顯示方式,這樣在640480的屏幕上至少需要開(kāi)辟614400B的顯示內(nèi)存。這樣做的好處是不必等待圖像數(shù)據(jù)的再次寫(xiě)入,屏幕圖形可以進(jìn)行快速切換,大大減少了轉(zhuǎn)向地圖顯示等待的時(shí)間。
3.2 調(diào)色板的設(shè)置
對(duì)于真彩色,也即15/16bpp的顏色格式,不必使用調(diào)色板,對(duì)于4/8bpp顏色格式,SED1356有1個(gè)LUT表格,有3組各自表示R-G-B三種顏色,每組有256個(gè)位置,每個(gè)位置可以存放4位數(shù)據(jù)??梢酝ㄟ^(guò)寄存器來(lái)讀寫(xiě)LUT表。當(dāng)按照數(shù)據(jù)格式在內(nèi)存中寫(xiě)入數(shù)據(jù)后,SED1356通過(guò)LUT表格來(lái)查找與顯示數(shù)據(jù)相對(duì)應(yīng)的R-G-B顏色,從而在顯示器上顯示出相應(yīng)的色彩。
3.3 光標(biāo)圖像的設(shè)置
對(duì)于光標(biāo)圖像,采用的是2bpp的顏色格式,SED1356控制的光標(biāo)是6464大小的,共有4096個(gè)點(diǎn),也就是使用1024個(gè)字節(jié)就可以?xún)?chǔ)存一個(gè)光標(biāo)圖像。光標(biāo)的起始位置為左上角,可用寄存器設(shè)定它的X、Y值,如圖4所示。
圖5和圖6
設(shè)置光標(biāo)的2bpp的數(shù)據(jù)如圖5所示。
3.4 RGB-565顏色顯示格式
本接口使用RGB-565格式的真彩色顯示數(shù)據(jù)格式,每種顏色需要占用2個(gè)字節(jié),顏色排列并不規(guī)律,如圖6所示,圖6顯存設(shè)置為小端格式。
本軟件實(shí)現(xiàn)的特點(diǎn)是盡量模塊化,盡量將整個(gè)程序分成眾多模塊,用子程序來(lái)實(shí)現(xiàn),這樣便于調(diào)試、修改。
結(jié)語(yǔ)
在全天候?qū)Ш巾?xiàng)目中,本液晶顯示模塊占用體積小,功耗低。能夠很好的對(duì)存儲(chǔ)的地圖數(shù)據(jù)進(jìn)行顯示取得了良好的應(yīng)用效果。
評(píng)論