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