采用ADS7846控制器的電阻式觸摸屏接口電路設計
1 電阻式觸摸屏的結構
電阻式觸摸屏的檢測部件是一塊與顯示器表面緊密配合的多層復合薄膜,由一層玻璃或有機玻璃作為基層,表面涂有一層阻性導體層(如銦錫氧化物ITO),上面再蓋有一層外表面被硬化處理、光滑防刮的塑料層,塑料層的內(nèi)表面也涂有一層阻性導體層。在兩導體層之間有一層具有許多細小隔離點的隔離層,把兩導體層隔開絕緣,如圖1所示。當手指觸摸屏幕時,兩導體層在觸摸點位置產(chǎn)生了接觸,控制器檢測到這個接通點后計算出X,Y坐標,這就是電阻式觸摸屏的檢測原理。
電阻式觸摸屏根據(jù)引出線數(shù)的多少,分為4~8線等多種結構。4線電阻觸摸屏最具代表性,其檢測原理如圖2所示。在外ITO層的上、下兩邊各渡一個狹長電極,引出端為Y+,Y-,在內(nèi)IT0層的左、右兩邊分別渡上狹長電極,引出端為X+,X-。為了獲得觸摸點在X方向的位置信號,在內(nèi)ITO層的兩電極 X+,X-上分別加VREF,0 V電壓,使內(nèi)IT0層上形成了從O~VREF的電壓梯度,觸摸點至X-端的電壓為該兩端電阻對VR-EF的分壓,分壓值代表了觸摸點在X方向的位置,然后將外ITO層的一個電極(如Y-)端懸空,可從另一電極(Y+)取出這一分壓,將該分壓進行A/D轉換,并與VREF進行比較,便可得到觸摸點的X坐標。
為了獲得觸摸點在Y方向的位置信號,需要在外ITO層的兩電極Y+,Y-上分別加VREF,O V電壓,而將內(nèi)ITO層的一個電極(X-)懸空,從另一電極(X+)上取出觸摸點在Y方向的分壓。
2 ADS7846的特性
2.1 基本特性
ADS7846是美國BB公司推出的新一代4線制觸摸屏控制器,他由低導通電阻模擬開關,具有采樣/保持功能的逐次逼近型ADC、異步串行數(shù)據(jù)接口、溫度傳感器等組成。ADC是ADS7846的核心,其轉換速率可達125 kHz,分辨率可編程為8位或12位。該器件不僅具有X,Y坐標測量功能,還具有電池電壓、芯片溫度、觸摸壓力和外模擬量4種測量功能,其工作方式可由控制字決定,片內(nèi)的6選1模擬多路開關可根據(jù)微控制器送來的命令字選擇6個電壓量之一(X+,Y+,Y-,VBAT,TEMP,AUX-IN),并將其送入 A/D轉換器轉換,然后再通過SPI接口將轉換值送入微控制器。ADS7846還集成有觸摸識別電路,當檢測到有觸摸時,該電路會在引腳輸出一個低電平信號,向微控制器提出測量觸點坐標的中斷請求。該芯片采用單電源供電,工作電壓為2.2~5.25 V,且內(nèi)部自帶+2.5 V的參考電壓。
2.2 引腳功能
ADS7846的引腳排列如圖3所示,引腳功能見表1。
2.3 控制字
ADS7846的控制功能主要是實現(xiàn)觸摸屏電極電壓的切換及觸摸點位置信號的A/D轉換。ADS7846的控制字如下:
S:數(shù)據(jù)傳輸起始標志位。為1表示一個新的控制字節(jié)到來;為0則忽略DIN引腳上數(shù)據(jù)。
A2A1A0:通道選擇位。用于控制通道選擇器的輸入,觸摸信號驅動開關及ADC的參考輸入電壓。當A2A1A0=001時,采集Y坐標信號;當A2A1A0=101時,采集X坐標信號。
MODE:用來選擇A/D轉換的精度。為1選擇8位精度;為0選擇12位精度。
用來選擇參考電壓的輸入模式。1為參考電壓非差動輸入模式;O為參考電壓差動輸入模式。
PDl,PD0:低功率模式選擇位。若為11,器件總處于供電狀態(tài);若為OO,器件在兩次變換之間處于低功率模式。
2.4 轉換時序
ADS7846的轉換時序如圖4所示。一次完整的電極電壓切換和A/D轉換,需要ADS7846和微處理器進行3次串行數(shù)據(jù)傳送,每次傳送需要8個時鐘周期。
第一次傳送由微處理器向ADS7846發(fā)送控制字,接下來的兩次傳送是微處理器從ADS7846讀取轉換結果(最后4位自動補O)。由于串口支持雙向同時進行傳送,并且在一次讀數(shù)與下一次發(fā)控制字之間可以重疊,所以轉換速率可以提高到每次16個時鐘周期。
2.5 觸摸坐標計算
由于四線電阻觸摸屏中,Y方向位置電壓從下向上逐漸增加,X方向位置電壓從右向左逐漸增加,因此Y,X位置電壓對應的坐標原點在觸摸屏的右下角。為了獲得工程上使用的X,Y坐標值(即將坐標原點移為左下角),應將X位置電壓轉換值求補。另外,X,Y位置電壓轉換值還必須與顯示屏幕的點陣(采用的液晶為 240×160點陣)相對應。因此校正后的X,Y坐標計算公式為:
式中:Xmax,Xmin為X位置電壓轉換結果的最大、最小值;Ymax,Ymin為Y位置電壓轉換結果的最大、最小值;Y,X為觸摸點位置電壓的轉換值;x,y為校正后的觸摸點坐標。
3 觸摸屏與微機的接口
3.1接口電路
應用ADS7846實現(xiàn)觸摸屏與單片機80C55的接口電路如圖5所示,觸摸屏的X+,X-,Y+,Y-分別與ADS7846的相應端連接,當控制字中 A2A1-A0=001時,通過片內(nèi)模擬開關的切換,將X+接電源VCC,X-接地,將Y+與Y-端以差動形式接到A/D轉換器的輸入端,A/D轉換器的結果就是Y位置電壓。類似當控制字中A2A1A0=101時,A/D轉換器的結果就是X位置電壓。單片機與ADS7846間的數(shù)據(jù)傳送采用串行通信方式時,由于單片機串口方式1~3為異部通信方式,與ADS7846的時序不相配;串口方式0為移存器方式,雖然與ADS7846時序可以配合,但串口數(shù)據(jù)輸入/輸出使用同一端子RXD(TXD)為同步脈沖輸出端),ADS7846數(shù)據(jù)輸入/輸出采用不同端子DIN,DOUT。為了實現(xiàn)正確的數(shù)據(jù)雙向傳送,設計了雙向數(shù)據(jù)芯片GAL,該芯片的功能是當E=O時,數(shù)據(jù)傳送方向為Y到A;當E=1時,傳送方向為B到Y。ADS7846的筆中斷信號接P2.4,當信號有效時,單片機發(fā)送控制字。ADS7846的忙信號BUSY接P2.6,在BUSY信號的下降沿,單片機接收A/D轉換結果。
3.2 接口程序
當觸摸觸摸屏時,ADS7846中斷信號有效,單片機檢測到這一有效信號后,先送測量X坐標控制字,并檢測BUSY信號是否有下降沿到來,下降沿到來后,讀X位置電壓;再送測量Y坐標控制字,獲取Y位置電壓。將得到的X,Y位置電壓用式(1)、式(2)進行計算便得到觸摸點的X,Y坐標。軟件流程如圖6所示。
4 結語
設計的觸摸屏接口電路具有下列優(yōu)點:通過增加雙向傳輸GAL芯片,解決了51系列單片機與觸摸屏控制器ADS7846的串行通信問題;通過對觸摸點位置電壓進行校正,獲得了正確的觸摸坐標;接口電路易于實現(xiàn),實用性強。
評論