- 相關推薦
在Linux下驅動STN彩色LCD
伴隨著高性能嵌入式處理器的飛速發展與普及,特別是ARM處理器系列的出現,嵌入式系統的功能也變得越來越強大。以前的單色LCD已不能滿足現今的各種多媒體應用,彩色LCD被越來越多地應用到嵌入式系統中。同時,在應用需求的促使下,許多工作在Linux下的圖形界面軟件包的開發和移植工作中都涉及到底層LCD驅動的開發問題。在硬件采用Intel ASSABET開發板,軟件采用Linux 2.4.19平臺,編譯器為arm-linux-gcc的交叉編譯器作為開發的前提下,因為ASSABET開發板上使用的是Sharp 3.9英寸320×240 TFT彩色LCD,現改用Kyocera 7.7英寸640×480 STN型彩色LCD,所以通過對其Linux驅動程序進行改寫和調試,成功地實現了對該種屏的驅動和顯示。
LCD
控制器
LCD控制器的功能是顯示驅動信號,進而驅動LCD顯示器。在驅動LCD設計的過程中首要的是配置LCD控制器。在配置LCD控制器中最重要的一步則是幀緩沖區的指定。用戶所要顯示的內容皆是從緩沖區中讀出,從而顯示到屏幕上。幀緩沖區的大小由屏幕的分辨率和顯示色彩數決定。驅動幀緩沖的實現是整個驅動開發過程的重點。
ASSABET開發板采用SA1110作為處理器。SA1110微處理器是Intel公司生產的一種基于StrongARM環境的微處理器。該處理器內部有一LCD驅動控制器,可支持單、雙屏顯示和最大1024×1024dpi。每個像素數據以4、8、12或16位編碼后存儲于外部存儲器內,通過LCD的專用DAM控制器,被裝入至532位的FIFO中。在雙屏顯示時,兩個DMA通道分別負責上下屏幕的顯示,但只有第一個DMA通道有調色板緩沖器。幀緩沖器中的已編碼像素數據是作為指針指向256×12位的調色板。調色板的色調數據控制著抖動邏輯,以產生各種灰度和彩色信號并從LCD數據引腳輸出。
顯示屏
LCD選擇Kyocera公司的7.7英寸STN型LCD。該LCD可在640×480分辨率的情況下提供12位彩色顯示。該屏為雙屏掃描模式,具有兩個8位的數據通道,每種基色都由4位的抖動邏輯來產生15級灰度,因此可以顯示最多153=3375種可能的顏色。
驅動LCD的設計
幀緩沖設備
幀緩沖設備為圖像硬件設備提供了一種抽象化處理。它代表了一些視頻硬件設備,允許應用軟件通過定義明確的界面來訪問圖像硬件設備。這樣軟件無需了解任何涉及硬件底層驅動的東西(如硬件寄存器)。它允許上層應用程序在圖形模式下直接對顯示緩沖區進行讀寫和I/O控制等操作。通過專門的設備節點可對該設備進行訪問,如/dev/fb*。
Linux下可支持多個幀緩沖設備,最多可達32個,即從/dev/fb0到/dev/fb31。通常情況下,缺省的幀緩沖設備為/dev/fb0。
在SA1110處理器的LCD控制器操作中,幀緩沖器用于存放全部屏幕的所有編碼像素數據。在它的最低位地址處是32或512字節的緩沖器,用來存放調色板數據表。32位緩沖器用于4、12或16位像素編碼的16項調色板;512字節緩沖器用于裝入8位像素編碼的256項調色板。在12或16位像素編碼時,不使用調色板,此時的幀緩沖器的起始32字節必須填入全零。
主要結構體
struct fb_fix_screeninfo中記錄了幀緩沖設備和指定顯示模式的不可修改信息。它包含了屏幕緩沖區的物理地址和長度。
struct fb_var_screeninfo中記錄了幀緩沖設備和指定顯示模式的可修改信息。它包括顯示屏幕的分辨率、每個像素的比特數和一些時序變量。其中變量xres定義了屏幕一行所占的像素數,yres定義了屏幕一列所占的像素數,bits_per_pixel定義了每個像素用多少個位來表示。
struct fb_info是Linux為幀緩沖設備定義的驅動層接口。它不僅包含了底層函數,而且還有記錄設備狀態的數據。每個幀緩沖設備都與一fb_info結構相對應。其中成員變量modename為設備名稱,fontname為顯示字體,fbops為指向底層操作的函數的指針。
Linux內核配置與編譯
使用下面的命令啟動Linux內核配置工具:
#make menuconfig
啟動如下內核選項,選擇對應的選項之后,執行下面的命令:
Console drivers --- 【在Linux下驅動STN彩色LCD】相關文章:
STN-LCD彩屏模塊03-21
嵌入式Linux下CAN總線驅動程序設計03-07
Linux下的GTK圖形界面編程12-04
嵌入式Linux系統下Microwindows的應用03-19
任務驅動下物流教學探討論文11-20
在嵌入式linux2.4.18內核中實現CS8900A網卡驅動03-07
基于嵌入式Linux的MPC8271 ATM驅動程序設計03-30
論現代營銷觀念下的驅動消費者03-21
DOS真彩色模式下真彩色圖像顯示技術03-03