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