基于S1D13506顯示控制卡的設(shè)計(jì)及其應(yīng)用
1、引言
隨著LCD技術(shù)的不斷進(jìn)步使得其應(yīng)用變得日益廣泛。手持式設(shè)備、測(cè)試\測(cè)量?jī)x器,工業(yè)儀表、辦公設(shè)備、電子游戲機(jī)、互連網(wǎng)設(shè)備、醫(yī)學(xué)儀器等很多產(chǎn)品都需要LCD,在無線便攜式設(shè)備中應(yīng)用更是廣泛,這就要求有強(qiáng)大的LCD控制器作為支撐。S1D13506是EPSON公司生產(chǎn)的大規(guī)模顯示控制器家族中較新的一款,是以SEDl354控制器為基礎(chǔ)發(fā)展起來的具有更多功能的LCD顯示控制器,支持全類型、大規(guī)模的LCD及CRT/TV[1]。它可以靈活地對(duì)各種不同的顯示方式進(jìn)行設(shè)置,功能非常強(qiáng)大,其豐富的輸出接口兼容目前市場(chǎng)上流行的多種CPU總線。
2、S1D13506芯片介紹
S1D13506是愛普生公司針對(duì)嵌入式系統(tǒng)設(shè)計(jì)的,是彩色LCD/CRT/TV圖象控制器。其主要特性有:該芯片內(nèi)部沒有顯示內(nèi)存,它是通過16位的EDO-DRAM/FPM-DRAM接口,可以連接一個(gè)512K字節(jié)(256K*16)或2M字節(jié)(1M*16)的設(shè)備;兼容多種處理器總線(如:StrongArm,Motorola MC68000/MC68030 總線等);還支持MediaPlug 接口;具有全LCD控制信號(hào),支持4/8位扭曲向列型(TN)、4/8/16位超扭曲向列型(STN)、8/16位雙超扭曲向列型(DSTN))、9/12位TFT/D-TFD,在16bpp下可達(dá)到800*600像素的分辨率面板、18位TFT/D-TFD(最高64K色)、CRT、NTSC和PAL TV輸出[2]。該芯片可以同時(shí)輸出數(shù)字信號(hào)和模擬信號(hào),也就是說,由于LCD和CRT是獨(dú)立的,可以同時(shí)管理和顯示不同的圖象。該芯片內(nèi)置了RAMDAC硬件X-Y軸轉(zhuǎn)置2維加速器,114個(gè)寄存器來配置各種顯示模式,較低的功耗和低工作電壓可以滿足各種手持設(shè)備的圖象控制。基于S1D13506的這些有利的特征,使其在大規(guī)模LCD的控制方面是個(gè)不錯(cuò)的選擇。
3、硬件實(shí)現(xiàn)
本卡S1D13506與處理器的接口采用了通用類型總線(包括數(shù)據(jù)總線、地址總線、控制總線)接口定義見表1。芯片所用象素時(shí)鐘是由同步信號(hào)發(fā)生器ICS1523來提供的,外接1M*16的EDO-RAM(IS41LV16100 )。圖1所示的是顯示卡硬件總體連接圖。連接到CPU的信號(hào)有: A1-A21、D0-D15、WR0#、WR1#、RD#、CS#、RST#、時(shí)鐘、WAIT#;連接到時(shí)鐘發(fā)生器的信號(hào)有:CLK1、CLK2(用于內(nèi)部顯示及外部媒體接口時(shí)鐘);連接到EDO-DRAM的信號(hào)有:DRAM-WE、DRAM-RAS、LCAS、UCAS、MA0-MA9、MD0-MD15(其中MD1/MD2/MD4/MD6/MD15需要外接上拉電阻用于S1D13506初始配置);其他控制信號(hào)連接到LCD/CRT。S1D13506芯片有個(gè)測(cè)試使能引腳TESTEN在芯片正常工作時(shí)接地。如果不使用DAC功能,那么IREF引腳必須接地。圖2為同步信號(hào)發(fā)生器ICS1523的外部連接電路[3]。 ICSl523通過I2C串行總線(TWD、TWCK)接受微處理器MPU對(duì)它進(jìn)行寄存器配置。本顯示卡的ICSl523輸入時(shí)鐘 是50 MHz、輸出CLKl (25 MHz)、CLK2(12.5 MHz)。本卡引出了LCD的全信號(hào)有利于連接不同的LCD屏和CRT的控制信號(hào)。
表1 S1D13506總線接口定義
圖1顯示卡硬件總體連接圖
圖2 ICS1523硬件連接電路圖
4、顯示卡在無線通信考試系統(tǒng)中的應(yīng)用
隨著無線技術(shù)的進(jìn)步,擴(kuò)大了其應(yīng)用的范圍,并且目前嵌入式系統(tǒng)的廣泛應(yīng)用,使得人們對(duì)學(xué)生們的考試硬件條件有了新的想法,采用無線數(shù)據(jù)通信的方法進(jìn)行遠(yuǎn)程試卷發(fā)送及接收答卷,這樣學(xué)生通過這個(gè)嵌入式平臺(tái)顯示終端進(jìn)行考試。方法是使用一臺(tái)主機(jī),通過802.11b無線數(shù)據(jù)傳輸技術(shù)來進(jìn)行遠(yuǎn)程控制,每個(gè)教室安裝有一個(gè)無線接入點(diǎn)(AP),學(xué)生的考題通過AP上傳到 主機(jī)。由于這個(gè)考試系統(tǒng)的顯示平臺(tái)需要較大些的LCD,為此采用了本顯示卡。該系統(tǒng)應(yīng)用于沈陽(yáng)某學(xué)校的學(xué)生考試系統(tǒng)中,控制800*600*16bpp分辨率的TFT液晶顯示器。
4.1 顯示卡初始化
圖3是該顯示卡的初始化流程圖。在微處理器(MPU)控制板上電復(fù)位后,MPU通過I2C總線接口對(duì)ICS1523寄存器設(shè)置,使其產(chǎn)生S1D13506內(nèi)部所用的顯示時(shí)鐘,再對(duì)S1D13506進(jìn)行寄存器初始設(shè)置,確定LCD分辨率、刷新率,對(duì)比度、調(diào)色板及顯示模式等。LCD的顯示方式是以幀模式顯示的。
圖3 顯卡初始化流程圖
初始化結(jié)束后,進(jìn)入任務(wù)中運(yùn)行應(yīng)用程序,把每頁(yè)的考題以幀的形式存放到顯示緩存中,圖象就可以在LCD上顯示,學(xué)生可以通過USB鼠標(biāo)和鍵盤在LCD顯示界面上進(jìn)行答題和提交試卷,然后通過無線接入點(diǎn)(AP)把數(shù)據(jù)傳輸?shù)街鳈C(jī)。
4.2 軟件實(shí)現(xiàn)
該無線通信考試系統(tǒng)運(yùn)行LINUX操作系統(tǒng),在其上運(yùn)行MINIGUI圖形界面軟件。通過對(duì)顯示卡的初始化,生成了S1D13506.h頭文件及各顯示功能的接口函數(shù)S1D13506.c文件。由于LINUX系統(tǒng)本身帶有幀緩存管理,因此只要把S1D13506芯片的驅(qū)動(dòng)文件加入到LINUX系統(tǒng)中driver的文件夾中,更改Makefile文件,然后把Frame-buffer support選項(xiàng)選上,這樣重新編譯系統(tǒng)內(nèi)核。下面是S1D13506基本配置的宏定義:
#define S1D_DISPLAY_WIDTH 800
#define S1D_DISPLAY_HEIGHT 600
#define S1D_DISPLAY_BPP 16
#define S1D_DISPLAY_SCANLINE_BYTES 1600
#define S1D_PHYSICAL_VMEM_ADDR
0x30200000L
#define S1D_PHYSICAL_VMEM_SIZE 0x140000L
#define S1D_PHYSICAL_REG_ADDR 0x30000000L
#define S1D_PHYSICAL_REG_SIZE 0x200
#define S1D_DISPLAY_PCLK 18300
#define S1D_PALETTE_SIZE 256
#define S1D_FRAME_RATE 60
#define S1D_POWER_DELAY_ON 0
#define S1D_POWER_DELAY_OFF 120
#define S1D_REGDELAYOFF 0xFFFE
#define S1D_REGDELAYON 0xFFFF
5、結(jié)論
由于S1D13506其方便的通用類型總線接口及可支持全類型LCD及支持800*600*16bpp的LCD的特性,使得該液晶顯示卡的應(yīng)用范圍十分廣泛。可應(yīng)用于包括公共事業(yè)、醫(yī)院、學(xué)校、金融服務(wù)、物流、制造業(yè)、服務(wù)業(yè)、工業(yè)自動(dòng)化等很多領(lǐng)域,控制不同類型的LCD顯示屏。