《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM處理器的LCD控制及觸摸屏接口設計
基于ARM處理器的LCD控制及觸摸屏接口設計
EEworld
摘要: 在嵌入式系統中,LCD作為人機交互的主要設備之一,具有重要的作用。本文完成了S3C44B0X控制LCD及觸摸屏的軟硬件設計,實踐證明該系統穩定可靠, 能夠達到預期效果。本文為人機界面中的LCD的硬件設計與控制驅動提供了一種實用解決方案,本方案可應用于其它嵌入式系統中。
Abstract:
Key words :

隨著信息技術的不斷發展,嵌入式系統正在越來越廣泛的應用到航空航天、消費類電子、通信設備等領域。而在嵌入式系統中,LCD作為人機交互的主要設備之一,顯示系統又是不可缺少的一部分。近年來,隨著微處理器性能的不斷提高,特別是ARM處理器系列的出現,嵌入式系統的功能也變得越來越強大。液晶顯示器由于具有功耗低、外形尺寸小、價格低、驅動電壓低等特點以及其優越的字符和圖形的顯示功能,已經成為嵌入式系統使用中的首選的輸出設備。隨著多媒體技術的發展,單色的LCD已不能滿足人們在各種多媒體應用方面的更高要求,彩色LCD正越來越廣泛地被應用到嵌入式系統中。觸摸屏是人們獲取信息的一種便利工具, 已廣泛應用于工商、稅務、銀行等各種需要對公眾提供信息服務的行業[1]。觸摸屏作為一種特殊的計算機外設,是目前最簡單、方便、自然的一種人機交互方式。它賦予了多媒體以嶄新的面貌,是極富吸引力的全新多媒體交互設備[2]

S3C44B0X是三星公司生產的基于ARM7TDMI內核的RISC微處理器,主頻可達66MHz[3]。它集成了包括LCD控制器在內的等外圍器件。LM7M632是Sharp公司推出的分辨率為640×240的STN型彩色LCD顯示屏,支持256色顯示[4]。本文重點討論了S3C44B0X與LM7M632及ADS7843的接口設計以及LCD和觸摸屏的驅動過程。

1 S3C44B0X中內置LCD控制器介紹

S3C44B0X中內置的LCD控制器可以支持4級灰度、16級灰度的黑白LCD和256級顏色的彩色LCD屏;支持3種LCD驅動器:4位雙掃描,4位單掃描,8位單掃描顯示模式。內置的LCD控制器的作用是將定位在系統存儲器(SDRAM)中的顯示緩沖區中的LCD圖像數據傳送到外部LCD驅動器,并產生必須的LCD控制信號[5]。圖1為LCD控制器內部結構框圖。其中,VCLK是LCD控制器和LCD驅動器之間的像素時鐘信號;VLINE是LCD控制器和LCD 驅動器之間的行同步脈沖信號;VFRAME是LCD控制器和LCD驅動器之間的幀同步信號。VM是LCD驅動器的AC信號。VD[3∶0 ]和VD[ 7∶4 ] 是LCD像素點數據輸出端口。

 

                          圖1:LCD 控制器內部結構圖

2 LCD模塊及硬件接口

LM7M632是按照8位單掃描模式工作的。所謂8位單掃描方式,就是顯示采用8位并行數據線進行“行”數據連續移位輸出,直到整個幀的數據都被移出為止。LCD模塊接口信號線的定義如表1所示,圖2為LCD控制器與LCD的硬件接口的連接圖。在該顯示系統的硬件電路中,S3C44B0中的內置LCD控制器與LCD模塊LM7M632的連接是關鍵。圖3是LM7M632模塊接口時序圖。其中,YD是幀(寫滿整個屏的數據稱為1個“幀”)同步信號,該信號啟動LCD屏的新一幀的數據。兩個YD脈沖之間的時間長度就稱之為“幀周期”。根據LCD模塊的特性,幀刷新周期為12ms到14ms,頻率為70Hz~80Hz。每1幀中包含240個LP脈沖。LP為行(共240行)數據輸入鎖存信號,該信號啟動LCD屏新的一行的數據。也就是行同步脈沖信號。每1行中包括640×3/8個XCK脈沖信號。XCK為行數據輸入信號,也就是每一行中像素點數據傳輸的時鐘信號;每組8位的數據在XCK的下降沿處被輸入鎖存。D0~D7是8位的顯示數據輸入信號。

引腳

引腳描述

引腳

引腳描述

1

YD:掃描開始

8

VDD:logic供電(3.3V)

2

M:交變信號

9

Vcon:對比調節電壓

3

LP:輸入鎖存

10

VSS:地

4

VSS:地

11~14

D0~D3:數據線低四位

5

XCK:時鐘

15

VSS:地

6

VSS:地

16~19

D4~D7:數據線高四位

7

DISP:顯示開關

20

VSS:地

 

 

 

 

 

表1:LCD模塊(LM7M632)接口信號線定義             

 

圖3:LM7M632模塊接口時序圖

在該顯示系統中,其顯示方式是以直接操作顯示緩沖區(SDRAM)的內容進行,LCD控制器會通過DMA方式從顯示緩沖區中獲取數據,不需要CPU干預。在256色顯示模式下,顯示緩沖區中的一個字節數據代表LCD上的一個點的顏色信息,因此,所需要的緩沖區的大小為640 ×240 ×1 字節,其中每個字節的RGB數據格式為:由3位紅色(Bit7~Bit5)、3位綠色(Bit4~Bit2)、2位藍色 (Bit1~Bit0) 組成。

3 觸摸屏原理及硬件接口

觸摸屏按其工作原理的不同可分為表面聲波屏、電容屏、電阻屏和紅外屏幾種[6]。其中最常見的是電阻式觸摸屏,其屏體部分是一塊與顯示器表面非常配合的多層復合薄膜。觸摸屏工作時,上下導體層相當于電阻網絡。當某一層電極加上電壓時,會在該網絡上形成電壓梯度。如有外力使得上下兩層在某一點接觸,則在另一層未加電壓的電極上可測得接觸點處的電壓,從而知道接觸點處的坐標。

ADS7843是TI公司生產的四線電阻觸摸屏轉換接口芯片。它是一款具有同步串行接口的12位取樣模數轉換器。在125kHz吞吐速率和2.7V電壓下的功耗為750µW,而在關閉模式下的功耗僅為0.5µW。由于具有低功耗和高速等特性,所以被廣泛應用。圖4是S3C44B0同ADS7843的連接電路。X+、Y+、X- 、Y-是轉換器模擬輸入端,DCLK是外部時鐘輸入;CS 是片選端;DIN 是串行輸入,其控制數據通過該引腳輸入;DOUT是串行數據輸出,用于輸出轉換后的觸摸位置數據.最大數為二進制的4095; IN3、IN4是輔助輸入;PENIRQ是PEN中斷引腳。其中,S3C44B0選取PG口與ADS7843接口,共使用PG2 - PG7的6條口線。

4、彩色液晶顯示及觸摸屏軟件設計

4.1  LCD顯示

4.1.1 初始化LCD端口。

由于LCD模塊與S3C44B0相連,LCD是8位數據線,所以必須初始化S3C44B0X的C口與D口。其程序如下:  rPDATC = rPDATC &~ (1 << 8) | (1 << 8);/ / LCD使能

rPCONC = rPCONC &~ ( 0xff << 8) | ( 0xff <<8);/ / 配置VD[7∶4 ]

rPCOND = 0xaaaa;/ /配置VD[3∶0 ],VCLK,VLINE,VM,VFRAME

rPDATC=0xffff ;

4.1.2 申請大小為640×240字節大小的顯示緩沖區

顯示緩沖區就是在系統存儲器中劃出一塊區域,用來存放要顯示的圖像數據。將要顯示的圖像數據直接放入顯示緩沖區就能直接在LCD顯示屏上顯示出所顯示的圖像。其程序如下:

frameBuffer256= (unsigned char*)malloc(ARRAY_SIZE_COLOR);其中ARRAY_SIZE_COLOR=640×240

4.1.3 初始化LCD控制寄存器

在點亮LCD之前,還應該對LCD控制器相關的寄存器進行初始化[6],使LCD控制器的配置與外接LCD顯示模塊特性相匹配,包括設置LCD分辨率、掃描頻率、顯示模式、產生控制信號和控制時序等。

4.1.4  LCD顯示

LCD初始化之后,由于在S3C44B0X中,CUP不支持文件管理,必須把要顯示的圖片包含到程序中。例如,如果要在LCD顯示640×240大小的圖片,在實際操作中,首先應使用轉換工具(如:Image2Lcd)把圖片轉換成c格式的數組文件,即把每一個像素點的顏色轉換成用一個字節表示,然后把整個文件保存成240×640的數組形式。然后把文件包含在項目工程中,用循環語句即可實現顯示。如要顯示漢字、字符和數字等, 其方法和原理與顯示圖像基本一樣。

4.2 觸摸屏軟件設計

4.2.1觸摸屏模式設置

ADS7843的參考電壓模式設置分為兩種:單端模式和差分模式。在單端模式中,參考輸入電壓選取的是V cc 和GND ,由于內部的開關電阻壓降影響轉換結果帶來誤差,所以轉換器內部的低阻開關對轉換精度有一定影響;差分模式參考輸入由未選中的輸入通道Y + 、Y - 、 X + 、X - 提供參考電源和地,不管內部開關電阻如何變化,其轉換結果總與觸摸屏的電阻成比例,克服了內部開關電阻的影響,但當轉換頻率很高時則增加了功耗,需要考慮低功耗設計。

4.2.2 PENIRQ作用

由于觸摸屏A/D采樣時功耗增加,所以軟件設計中,只有在用戶按下觸摸屏時,才需要進行A/D轉換。為了降低功耗,充分利用該芯片的能力,配合軟件設計,硬件電路設計成按下觸摸屏時,通過PENIRQ 向MCU發出中斷。同時軟件配置ADS7843采用筆中斷功能降低功耗,當按下觸摸屏時,則PENIRQ引腳電位變低,MCU收到中斷請求后可以發出啟動轉換命令,并查詢BUSY引腳直到轉換完成取出坐標。啟動轉換分兩次進行,分別獲得x和y方向的坐標。

4.2.3 觸摸屏程序設計流程

充分權衡單端模式和差分模式的優缺點,本系統選擇參考電壓的輸入模式為差分模式,控制程序使用的狀態字[7]設置為:X通道0x90,Y通道0xD0。觸摸屏程序流程如圖5所示。程序中S3C44B0X的GPG7在下降沿觸發的情況下檢測PENIRQ是否為低電平,若為低電平則認為有按下觸摸屏;否則認為沒有按下觸摸屏。利用I/O口模擬DIN,DOUT和DCLK上的3線串行傳輸時將讀取的x或y軸坐標數值的控制字送入ADS7843,后再串行讀出坐標值。坐標值送給S3C44B0X,CPU經過處理后在LCD上顯示相應的信息并執行相應的參數指令,整個系統都是可以按照LCD上的提示,通過觸摸屏來控制,從而完成人機交互的功能。

5 結束語

    在嵌入式系統中,LCD作為人機交互的主要設備之一,具有重要的作用。本文完成了S3C44B0X控制LCD及觸摸屏的軟硬件設計,實踐證明該系統穩定可靠, 能夠達到預期效果。本文為人機界面中的LCD的硬件設計與控制驅動提供了一種實用解決方案,本方案可應用于其它嵌入式系統中。

參考文獻

[1] 李力,黎敏等.一種基于MIS 的觸摸屏漢字輸入方法的設計[J].微機算機與信息,2006.23:98-91.

[2] 賴誠,觸摸屏原理及在單片機系統的應用[J]. 商場現代化, 2006年6月(下旬刊)總第471期

[3] Samsung Electronics User’s Manual S3C44B0X 32BitRISC Microprocessor [Z]. 2003.

[4] Sharp Microelectronic User’s Manual LM7M632 Passive Matrix LCD Module [Z]. 1998.

[5] 李巖,榮盤祥. 基于S3C44B0X嵌入式µCLinux系統原理及應用[M].北京,清華大學出版社,2005.1

[6] 陳賾.ARM嵌入式實踐教程[M].北京,北京航空航天大學出版社,2005.2. 149-150

[7] ADS7843 Datasheet[Z]. TI, JULY.2001

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩国产欧| 在线观看一区视频| 欧美成人一区二区三区片免费| 香蕉av777xxx色综合一区| 一本色道久久综合亚洲精品不| 久久精品国产成人| 欧美一区二区日韩一区二区| 亚洲影视中文字幕| 亚洲影视在线播放| 亚洲自拍高清| 亚洲在线中文字幕| 亚洲一区二区三区在线| 亚洲一区999| 亚洲一区二区三区欧美| 亚洲性图久久| 亚洲专区一区| 先锋影音国产精品| 欧美一区二区久久久| 欧美呦呦网站| 亚洲国产精品第一区二区三区| 亚洲大片在线观看| 亚洲国产精品日韩| 亚洲精品一区二区在线| 日韩一级大片在线| 亚洲四色影视在线观看| 一区二区三区偷拍| 亚洲自拍16p| 亚洲欧美一区二区三区久久| 亚洲欧美精品中文字幕在线| 午夜精品久久| 久久国产手机看片| 免费观看成人| 欧美日韩国产在线| 国产精品国产一区二区| 国产农村妇女毛片精品久久莱园子| 国产麻豆成人精品| 精品91久久久久| 91久久在线| 亚洲视频一区在线观看| 亚洲欧美日韩综合| 亚洲成人资源| 一区二区冒白浆视频| 亚洲专区一区| 久久久777| 模特精品裸拍一区| 欧美日韩在线播放三区| 国产女人精品视频| 在线播放中文一区| 一区二区三区四区五区在线| 亚洲综合视频网| 久久精品五月婷婷| 在线中文字幕一区| 久久精品国产精品| 欧美国产另类| 国产九九精品视频| 亚洲国产精品尤物yw在线观看| 亚洲伦伦在线| 欧美一区二区三区精品电影| 亚洲三级免费观看| 午夜在线电影亚洲一区| 麻豆精品在线视频| 欧美偷拍另类| 一区二区视频免费完整版观看| 99在线精品视频| 久久gogo国模裸体人体| 一区二区三区视频在线观看| 久久久91精品国产一区二区精品| 欧美激情国产日韩| 国产日韩av一区二区| 亚洲人体影院| 欧美一级片一区| 一区二区欧美在线观看| 欧美在线免费观看视频| 欧美精品尤物在线| 国产色综合久久| 日韩一区二区精品在线观看| 久久精品国产亚洲高清剧情介绍| 亚洲视频在线二区| 巨乳诱惑日韩免费av| 国产精品久久久久久久久借妻| 亚洲第一色在线| 亚洲欧美一区二区激情| 一区二区三区久久久| 老牛影视一区二区三区| 国产精品亚洲视频| 日韩亚洲在线| 最新国产精品拍自在线播放| 欧美伊人影院| 欧美性事在线| 亚洲精品一区二区三区av| 久久精品国产精品亚洲综合| 亚洲欧美国产精品专区久久| 欧美成人国产一区二区| 国产欧美日韩视频一区二区| 一本色道久久加勒比精品| 亚洲精品中文字幕女同| 久久综合一区二区| 国产真实乱偷精品视频免| 亚洲一区免费| 亚洲图片欧洲图片日韩av| 欧美成人69av| 在线播放亚洲| 久久精品噜噜噜成人av农村| 欧美一区二区视频观看视频| 欧美香蕉视频| 一本色道久久综合| 一区二区三区欧美激情| 欧美金8天国| 亚洲黄色一区二区三区| 亚洲激精日韩激精欧美精品| 欧美一区二区三区视频在线观看| 欧美午夜精品理论片a级按摩| 亚洲精品在线二区| 在线一区二区三区四区| 欧美区在线播放| 亚洲欧洲一区二区三区久久| 久久精品视频在线| 久久亚洲视频| 激情综合在线| 久久精品女人| 美腿丝袜亚洲色图| 亚洲丰满在线| 亚洲精品老司机| 欧美激情四色| 亚洲日韩欧美视频| 一区二区欧美在线观看| 欧美日韩国产美| 亚洲美女黄网| 亚洲影院在线观看| 国产精品美女www爽爽爽| 亚洲视频免费在线| 香蕉久久精品日日躁夜夜躁| 国产精品亚洲人在线观看| 亚洲专区欧美专区| 欧美一区影院| 国产一区二区三区成人欧美日韩在线观看| 午夜精品福利一区二区蜜股av| 欧美一区二区三区在线| 国产亚洲欧洲| 亚洲国产综合视频在线观看| 噜噜噜在线观看免费视频日韩| 激情成人综合网| 亚洲欧洲日本国产| 欧美日韩一区在线观看| 亚洲午夜久久久| 久久国产婷婷国产香蕉| 精品不卡视频| 亚洲另类一区二区| 欧美日韩色一区| 亚洲欧美另类在线观看| 久久综合成人精品亚洲另类欧美| 亚洲成在线观看| 9久re热视频在线精品| 欧美午夜一区二区| 欧美一级理论性理论a| 另类欧美日韩国产在线| 最新中文字幕一区二区三区| 亚洲午夜精品一区二区| 国产欧美在线看| 亚洲国产经典视频| 欧美日韩视频| 午夜精品久久久久久久| 老司机免费视频一区二区三区 | 国产精品一级二级三级| 久久精品国产2020观看福利| 欧美精品一区二区三区蜜桃 | 国产精品美女在线| 久久精品亚洲精品国产欧美kt∨| 欧美激情四色| 亚洲欧美日韩国产| 欧美福利视频在线观看| 亚洲无亚洲人成网站77777 | 日韩亚洲精品在线| 欧美在线视频一区| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久亚洲精选| 在线一区二区三区四区| 久久尤物视频| 一区二区三区四区五区在线| 久久久另类综合| 一本在线高清不卡dvd| 久久在线观看视频| 亚洲精品影院在线观看| 久久成人免费电影| 在线免费日韩片| 亚洲五月六月| 免费在线亚洲| 国模私拍一区二区三区| 一区二区三区在线免费视频| 99视频在线观看一区三区| 国产精品外国| 亚洲麻豆国产自偷在线| 国产日韩一区二区| 亚洲五月六月| 欧美视频免费在线观看| 亚洲欧美精品在线| 悠悠资源网久久精品| 午夜天堂精品久久久久| 亚洲美女在线视频| 欧美jjzz|