EP7212處理器的LCD控制及觸摸屏接口設(shè)計(jì)
摘要:介紹EP7212嵌入式處理器上LCD控制器的結(jié)構(gòu)和功能;深入探討ADS7843觸摸屏接口芯片的模式選擇才應(yīng)用技巧;基于該系統(tǒng)給出一個與彩色LCD觸摸屏相接的實(shí)際使用方案。
本文引用地址:http://2s4d.com/article/225731.htm關(guān)鍵詞:嵌入式處理器 LCD 觸摸屏控制器
引言
EP7212是Cirrus Logic公司生產(chǎn)的單片嵌入式高集成度的處理器芯片,所有必需的接口邏輯都集成在芯片上,一個低功耗的系統(tǒng)方案只須增加一些存儲器和外圍器件就可以完成。它的處理器為ARM720T,核為ARM7TDMI CPU。時鐘速率可動態(tài)編程為18 MHz、36MHz、49MHz、74MHz,其穩(wěn)定處理能力達(dá)到66MIPS(百萬條指令每針)(Dhrystone 2.1),峰值處理能力達(dá)到74MIPS,近似等同于一個100MHz奔騰處理器。EP7212主要為超低功耗所設(shè)計(jì),內(nèi)核在2.5V工作電壓下,功耗最大不超過90mW。通過嵌入其上的內(nèi)存管理單元(MMU),允許使用像Microsoft Windows CE或Linux等一樣的高級操作系統(tǒng)。EP7212主要應(yīng)用于PDA、GPS、手機(jī)等超低功耗和低成本場合。
隨著生活中類似于PDA的手持設(shè)備的增多,彩色LCD觸摸屏也越來越普及。本文除了簡單介紹EP7212的特性以外,主要討論EP7212上的LCD控制器如何驅(qū)動彩色LCD,以及觸摸屏控制器的使用技巧,并且給出具體的連接圖和邏輯圖。
1 EP7212特性
*具有先進(jìn)的音頻解碼/解壓縮能力,支持多種音頻解壓縮算法,可以提供與ADCs、DACs和CODECs相連的數(shù)字音頻接口(DAI)。
*內(nèi)置LCD控制器,可以直接與一個單面板單色LCD接口。面板大小可編程,以16像素為增量,可置為32~1024像素的任何寬度(線長度)。視頻制緩沖可最高編程到128KB(字節(jié))。每個像素可編程為1、2或4位。
*支持EDO DRAM(僅在13MHz和18MHz下支持快速頁模式)??勺罡咧С?條,每條256MB的DRAM。DRAM接口可編程為16或32位寬。
*存儲器可以和最高6個獨(dú)立的256 MB的擴(kuò)展段接口,且處于可編程等狀態(tài)。
*LCD控制器和通用應(yīng)用可以共享片上的38 400(0x9600)字節(jié)的片上SRAM。
*所有的外部存儲器和外圍器件與32位數(shù)據(jù)總線和28位地址總線相連,并且使用一些控制信號。
*兩個同步串行接口,支持類似于ADCs等Micro-wire或SPI外圍器件。其中一個接口支持主從模式,另一個僅支持主模式。
*使用已固化的片上引導(dǎo)ROM,用于串行加載引導(dǎo)程序到系統(tǒng)的FLASH存儲器。
*27位通用I/O(3個8位和1個3位GPIO口),支持多路復(fù)用,以提供必要的附加功能,且支持掃描鍵盤矩陣。
*內(nèi)置2個全雙工UART(16550類型),可支持最高位速率到115.2kb/s,擁有2個16字節(jié)的FIFO用于TX和RX,其中UART1支持調(diào)解調(diào)器控制信號。
*具有最高速率為115.2kb/s的紅外數(shù)據(jù)SIR協(xié)議控制器。
*具有直流—直流轉(zhuǎn)換接口(PWM),可提供兩個編程占空比(從1-in-16到15-in-16)的96kHz時鐘輸出,可以驅(qū)動一個直流—直流的轉(zhuǎn)換器。
*擁有2個16位通用目的定時計(jì)數(shù)器。
*1個32位實(shí)時時鐘(RTC)和比較器。
*1個用于與1個或2個Cirrus Logic CL-PS6700 PC卡控制器相連的接口,可支持2個PC卡插槽。
*RTC驅(qū)動專用的LED內(nèi)爍引腳。
*先進(jìn)的系統(tǒng)狀態(tài)控制器和電源管理。
*具有208pin LQFP和256-Ball PBGA兩種封裝。
*帶有ROM、圖表、樣碼和設(shè)計(jì)庫的仿真工具。
*支持全JTAG邊界掃描和嵌入式ICE。
2 EP7212 LCD控制器
EP7212的LCD控制器可以提供所有必需的控制信號,以便直接與一個單面板多像素LCD接口。EP7212使用通用內(nèi)存結(jié)構(gòu)(UMA)存儲視頻幀緩沖,與內(nèi)核處理器(ARM720T)一起共享主內(nèi)存總線,總視頻幀緩存器大小可編程最高達(dá)128KB。該面板大小可編程,可以16像素為增量,置為32~1024像素的任何寬度(線長度)。總的線數(shù)(行)由總的幀緩沖器大小除以面板寬度和顏色深度決定。控制器還可編程提供1、2或4位每像素彩色深度,支持單色灰度顯示或是彩色顯示。
為了支持各種顏色和灰度級,LCD控制器有2個32位調(diào)色板寄存器,被分成8個可設(shè)定地址的半字節(jié)(nibble),共16個半字節(jié),每個半字節(jié)被幀緩沖器中的數(shù)據(jù)尋址。當(dāng)LCD控制器配置成像素點(diǎn)4位時,幀緩沖器中4位數(shù)據(jù)被用于代表1個像素,2個調(diào)色板寄存器中的半字節(jié)用該數(shù)據(jù)尋址,對應(yīng)要顯示的像素。該尋址結(jié)構(gòu)被用于將幀緩沖器中的數(shù)據(jù)映射到實(shí)際的灰度值,該值提供給顯示接口。當(dāng)配置成4 bpp模式時,在調(diào)色板寄存器中的所有16個半字節(jié)被用于映射,這是因?yàn)槊?個位可以提供16個不同的值。同理,2 bpp模式用最低的4個半字節(jié);1 bpp模式用最低的2個半字節(jié)。
每個調(diào)色板寄存器半字節(jié)可以編程為0~15。這16個值對應(yīng)16個不同的顏色深度級。當(dāng)寄存器與灰度級相對應(yīng);當(dāng)不匹配時,能產(chǎn)生一些有趣的顯示模式。例如,若想去觸發(fā)正常和翻轉(zhuǎn)兩種圖像,通過簡單的轉(zhuǎn)換調(diào)色板寄存器中的半字節(jié)值就可以實(shí)現(xiàn),這比在幀緩沖器中轉(zhuǎn)換所有數(shù)據(jù)更快更容易。
LCD控制器有1個9字深的FIFO,被用作幀數(shù)據(jù)的過渡存儲緩沖。DMA控制器被用于從幀緩沖內(nèi)存中取顯示數(shù)據(jù)并且填充到FIFO中。這樣,旦LCD控制器被配置和幀緩沖數(shù)據(jù)被存儲,EP7212就可以接著執(zhí)行其它任務(wù),而不必服務(wù)LCD控制器。
(1)灰度顯示原理
實(shí)際上,LCD顯示屏并不是設(shè)置成不同的亮度去驅(qū)動每一像素的。它對象素要么顯示,要么關(guān)閉。LCD顯示屏的一個常用指標(biāo)是它的反應(yīng)時間,反應(yīng)時間指的是一個像素從顯示到關(guān)閉所花費(fèi)的時間,典型的是幾百ms。一種調(diào)制技術(shù)被用于驅(qū)動每個像素,即用整個固定時間周期的一部分驅(qū)動每個像素。
LCD控制器內(nèi)部有1個16周期計(jì)數(shù)器,用于產(chǎn)生16周期的間隔。當(dāng)驅(qū)動像素時,它讀幀緩沖數(shù)據(jù)所指的,在調(diào)色板寄存器中的半字節(jié)數(shù)據(jù)。該數(shù)據(jù)確定在16周期間隔里像素顯示的次數(shù)。例如該值等于4,則該像素每隔4個時鐘周期顯示1次,等于整個16周期間隔的4/16。裸眠認(rèn)為該像素以最大亮度的1/4進(jìn)行顯示。
(2)彩色顯示原理
彩色顯示時,每個像素點(diǎn)有3個子彩色像素(紅、綠、藍(lán))?;叶蕊@示的技術(shù)應(yīng)用到彩色顯示中,每個子彩色像素有15種濃度的感覺效果??捎眉t、綠、藍(lán)3種顏色的15種濃度中的一種去驅(qū)動1個像素點(diǎn)。如果LCD控制器編程為4 bpp模式,可支持最高15×15×15=3 375種不同的顏色;2 bpp模式時,可支持64種不同的顏色;1 bpp模式時,可支持8種不同的顏色。對于一個1/4VGA顯示屏,實(shí)際像的數(shù)量等于320×400×4=921 600位或115 200字節(jié),小于上面提到的最大幀緩沖的限制(128KB)。
另外一個顯示特性是刷新率,指的是整個數(shù)據(jù)幀被重新寫到顯示屏的頻率。如果數(shù)據(jù)寫得太慢,將影響顯示質(zhì)量;太快則顯示器的反應(yīng)時間跟不上像素驅(qū)動狀態(tài)的改變。大部分顯示屏推薦的速率是70~80Hz。
當(dāng)EP7212使用PLL時,則1個36.864MHz的時鐘提供給LCD控制器。當(dāng)使用1個13MHz的外部時鐘時,則1個13MHz的時鐘提供給LCD控制器。固定時鐘源限制了像素寫到顯示屏的最大速率,即導(dǎo)致了最大刷新率的限制。
(3)LCD顯示接口
LCD顯示接口內(nèi)置于EP7212之中,有如下信號:DD[0:3]、FRM、CL1、CL2、M。
①DD[0:3]是4條數(shù)據(jù)線。LCD控制器輸出數(shù)據(jù)就意味著這些線在同一時刻輸出4個像素。每條數(shù)據(jù)線的高或低對應(yīng)每個像素值的高或低。
②FRM是幀同步信號。它在一幀所有的像素?cái)?shù)據(jù)全部寫出接口后觸發(fā)為高,用于強(qiáng)迫復(fù)位線(行)計(jì)數(shù)器為0。這樣顯示屏將驅(qū)動下一個半字節(jié)數(shù)據(jù)到顯示屏的第一行。
③CL1是行選通信號。它在一行所有的像素?cái)?shù)據(jù)寫出接口后觸發(fā)為高。
④CL2是像素?cái)?shù)據(jù)時鐘。它被顯示屏用于在每個像素?cái)?shù)據(jù)的半字節(jié)定時,它的周期是實(shí)際像素速率的1/4。當(dāng)CL1觸發(fā)時,CL2置低。
⑤M是交流偏壓信號。M的值由所使用的顯示屏確定,可從顯示屏的數(shù)字手冊中得到。
(4)彩色顯示接口
圖1是EP7212LCD控制器與夏普LM057QC1T03 1/4VGA彩色非觸屏LCD顯示模塊的接口連接邏輯圖(如是觸摸屏可加后面所述的觸摸屏轉(zhuǎn)換接口)。該顯示屏是8位數(shù)據(jù)接口。該邏輯的主要目的是將4位接口轉(zhuǎn)換成8位,對應(yīng)2個半字節(jié)。該邏輯不影響LCD控制寄存器的編程,并且有同樣的刷新率和像素彩色深度。圖1的左邊是LCD控制器的所有信號,右邊與顯示屏相連。由于EP7212要輸出2組數(shù)據(jù),為了支持8位數(shù)據(jù),時鐘必須是原來速率的一半,這意味著CL2必須減半。通過用D觸發(fā)器,CL2作為輸入時鐘,則在它的Q端就變成輸入時鐘的1/2。CL1直接連接到顯示屏,它也被用于復(fù)位D觸發(fā)器,使Q端在開始時為低。用74LCX174寄存器存儲8位數(shù)據(jù)的低4位。當(dāng)高4位來到時2個半字節(jié)一起提供給顯示屏,LCD_EN可用1根EP7212的通和I/O引腳控制。
表1為部分兼容的顯示屏。
表1 部分LCD顯示模塊
Sharp LM057QC1T01 | 8bit,6.1',320×240,彩色,非觸屏 |
Sharp LM057QC1T03 | 8bit,6.1',320×240,Color Transmissive,CCTF背光,觸屏 |
Sharp LM038QC1R10 | 8bit,3.8',320×240,Clolor Reflective,無背光,非觸屏 |
Sharp LM038QC1S10 | 8bit,3.8',320×240,Clolor Transflective,背光,非觸屏 |
Sharp LM038QC1TS10 | 8bit,3.8',320×240,Color Transflective,背光,觸屏 |
3 觸摸屏控制器
觸摸屏分電阻、電容、表面表波、紅外線掃描和矢量壓力傳感等幾種類型,其中使用最多的是四線或五線電阻觸摸屏。四線電阻觸摸屏由2個透明電阻膜構(gòu)成,在它的水平和垂直電阻網(wǎng)上施加電壓,A/D轉(zhuǎn)換面板在觸摸點(diǎn)測量出電壓,人而對應(yīng)出坐標(biāo)值。
ADS7843是TI公司生產(chǎn)的四線電阻觸摸屏轉(zhuǎn)換接口芯片。它是一款具有同步串行接口的12位取樣模數(shù)轉(zhuǎn)換器。在125kHz吞吐速率和2.7V電壓下,功耗為750μW。在關(guān)閉模式下,功耗僅為0.5μW。由于具有低功耗和高速等特性,被廣泛應(yīng)用在用電池供電的小型手持設(shè)備上。
ADS7843的連結(jié)關(guān)系如圖2所示。工作電壓Vcc為2.7~5.25V之間,基準(zhǔn)電壓Vref介于1V到+Vcc之間。其準(zhǔn)電壓確定了轉(zhuǎn)換器輸入范圍,輸入數(shù)據(jù)每個數(shù)字位代表的模擬電壓等于基準(zhǔn)電壓除以4096。平均基準(zhǔn)輸入電流由ADS7843的轉(zhuǎn)換率確定。轉(zhuǎn)換器的模擬輸入(X+、Y+、X-、Y-)是一個4通道多路器;DCLK是外部時鐘輸入引腳;CS是片選;DIN是串行輸入,控制數(shù)據(jù)通過該引腳輸入;DOUT是串行數(shù)據(jù)輸出,用于輸出轉(zhuǎn)換后的觸摸位置數(shù)據(jù),最大數(shù)為二進(jìn)制的4095;IN3和IN4是輔助引腳;PENIRQ是PEN中斷;用于觸摸顯示屏后引發(fā)一個中斷。
通過連接觸摸屏X+輸入到A/D轉(zhuǎn)換器,同時打開Y+和Y-驅(qū)動,然后數(shù)字化X+的電壓,從得到當(dāng)前Y位置的測量結(jié)果。同理也可得到X方向的坐標(biāo)。
具體設(shè)置和使用方法見ADS7843數(shù)據(jù)手冊。下面主要討論一下ADS7843的模式設(shè)置、PEN中斷引腳使用、軟件編程等。
(1)模式設(shè)置
ADS7843有差分(differential)和單端(singleended mode)兩種工作模式。這兩種模式對轉(zhuǎn)換后的精度和可靠性有一些影響。如果將A/D轉(zhuǎn)換器配置為讀絕對電壓(單端模式)方式,則驅(qū)動(driver)電壓的下降將導(dǎo)致轉(zhuǎn)換輸入數(shù)據(jù)的錯誤;如果配置為差分模式,可以避免上述錯誤。當(dāng)觸摸屏被按下時,有兩種情況影響接觸點(diǎn)的電壓:一種是當(dāng)觸摸顯示屏?xí)r,導(dǎo)致觸摸屏外層震動;一種是觸摸屏頂屏和低層之間寄存器電容引起的電流震蕩,以及在ADS7843輸入引腳上引起電壓震蕩。這兩種情況都導(dǎo)致了觸摸屏上的電壓發(fā)生震蕩以及增加DC值穩(wěn)定的時間。
在單端模式中,一旦在觸摸屏上檢測到一次觸摸事件,EP7212就發(fā)送一串控制字節(jié)給ADS7843,要求它進(jìn)行一次轉(zhuǎn)換。然后,ADS7843在獲取周期的起始點(diǎn),通過內(nèi)部FET開關(guān)提供電壓給面板,并導(dǎo)致觸摸點(diǎn)電壓的升高。正如上面所介紹的,上升的電壓在最終穩(wěn)定之前會震蕩一段時間。獲取周期結(jié)束后,所有FET開關(guān)將關(guān)閉,A/D轉(zhuǎn)換器將進(jìn)入轉(zhuǎn)換周期。如果在當(dāng)前轉(zhuǎn)換周期間,沒有發(fā)出下一個控制字節(jié),ADS7843將進(jìn)入低功耗模式并等待下一條指令。由于面板上分布大量電容,特別是濾波噪聲,應(yīng)該注意設(shè)置對應(yīng)于X坐標(biāo)或Y坐標(biāo)上的電壓。在單端模式中,輸入電壓必須在Data In word的最后三個時鐘周期期間設(shè)置,否則將產(chǎn)生錯誤。
除了內(nèi)部FET開關(guān)從獲取周期開始到轉(zhuǎn)換周期結(jié)束期間一直保持開發(fā)外,差分模式的操作類似于單端模式。加在面板上的電壓將成為對A/D轉(zhuǎn)換器的基準(zhǔn)電壓,提供一個度量比的操作。這意味著如果加在面板上的電壓發(fā)生變化(由于電源、驅(qū)動電阻、溫度或觸摸屏電阻等改變導(dǎo)致),則A/D轉(zhuǎn)換器的度量比操作可以對這種變化進(jìn)行補(bǔ)償。如果在當(dāng)前轉(zhuǎn)換周期,發(fā)向ADS7843的下一個控制字節(jié)所選擇的通道與前一個控制字節(jié)相同,則在當(dāng)前轉(zhuǎn)換完成后開關(guān)仍然不會關(guān)閉。
在這兩模式中,ADS7843只有3個時鐘周期可以從觸摸屏上獲取(取樣)輸入模擬電壓,因此為了ADS7843可以獲正確的電壓,輸入電壓必須在3個時鐘周期的時間范圍內(nèi)設(shè)置好。打開驅(qū)動將引起觸摸屏的電壓快速升高,然后設(shè)置到最終值。為了得到轉(zhuǎn)換的正確數(shù)據(jù)。獲取必須在觸摸屏完全設(shè)置好時完成。有兩種獲取的方式:一是采用單端模式,用相對較慢的時鐘,這樣擴(kuò)展了獲取時間(3個時鐘周期);二是采用差分械,用相對較快的時鐘,在第一個轉(zhuǎn)換周期設(shè)置電壓,第二個轉(zhuǎn)換周期獲取準(zhǔn)確的電壓。第二種方式的兩個控制字節(jié)相同,內(nèi)部X/Y開關(guān)在首次轉(zhuǎn)換后不會關(guān)閉,由于首次轉(zhuǎn)換期間電壓還不穩(wěn)定,因此要求丟棄首次轉(zhuǎn)換的結(jié)果。使用第二種方式的另一個優(yōu)點(diǎn)是降低功耗,在全部轉(zhuǎn)換后,ADS7843進(jìn)入低功耗模式并且等待下一次取樣周期。對于慢時鐘這種情況,下一次取樣可能在當(dāng)前轉(zhuǎn)換結(jié)束后立即進(jìn)入取樣周期,沒有時間進(jìn)入低功耗模式。
在單端模式下不能使用快速時鐘。
差分模式具有以下特點(diǎn):①能夠在不擴(kuò)展轉(zhuǎn)換器獲取時間的條件下,用很長的設(shè)置時間處理觸摸展,即觸摸屏電壓可以有足夠的時間穩(wěn)定下來。②通過用快速時間,ADS7843可以進(jìn)入低功耗模式,從而可以節(jié)約電池能量。建議使用差分模式。
(2)PEN中斷引腳使用
(3)差分模式下的軟件流程
下面兩種算法假設(shè)ADS7843配置成差分模式,每次轉(zhuǎn)換為16個時鐘,X軸坐標(biāo)的結(jié)果在DATA X中,Y軸的坐標(biāo)在DATA Y中。流程如圖4所示。
圖4(a)中的例子采用判斷兩次的方法來克服觸摸屏信號的抖動。DATA 1存儲當(dāng)前轉(zhuǎn)換的結(jié)果,DATA 2存儲上一次轉(zhuǎn)換的結(jié)果,當(dāng)兩次結(jié)果相同時轉(zhuǎn)換數(shù)據(jù)有效。但是當(dāng)輸入電壓的震動頻率和取樣頻率相近時,可能會漏掉正確結(jié)果。
圖4(b)中的例子采用最后的轉(zhuǎn)換結(jié)果(第n次)作為有效轉(zhuǎn)換。該方式更加簡單,但是只對某一類觸摸屏有效。n的具體值依賴于ADS7843輸入電壓的設(shè)置時間,在確定n值以前需要對一些觸摸屏進(jìn)行測試。
(4)錯誤觸發(fā)
由于X+輸入引腳與PEN中斷輸出相連接,因此,在X+上的噪聲可能引起觸摸屏錯誤觸發(fā)??蓪υ赑EN中斷輸出引腳上連接1個RC濾波器。例如,對地連接1個1Ω電阻和1個0.01μF的電容,可以過濾噪聲脈沖和避免錯誤觸發(fā)。
結(jié)束語
本文主要介紹EP7212的LCD控制器的工作原理和設(shè)計(jì)邏輯,并且探討了觸摸屏控制器的使用技巧,適用于EP7212XX系列嵌入式處理器與單色、非觸摸屏連接的設(shè)計(jì)。觸摸屏部分也適用于與其它處理器的連接。
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
led顯示器相關(guān)文章:led顯示器原理
評論