一、XPT2046中文資料詳解_XPT2046簡介
四線電阻式觸摸屏,主要由兩層鍍有ITO鍍層的薄膜組成。其中一層在屏幕的左右邊緣各有一條垂直總線,另一層在屏幕的底部和頂部各有一條水平總線,如果在一層薄膜的兩條總線上施加電壓,在ITO鍍層上就會形成均勻電場。當使用者觸擊觸摸屏時,觸擊點處兩層薄膜就會接觸,在另一層薄膜上就可以測量到接觸點的電壓值。

為了在X軸方向進行測量,將左側總線偏置為0V,右側總線偏置為VCC。將頂部或底部總線連接到ADC,當頂層和底層相接觸時即可作一次測量。
為了在Y軸方向進行測量,將頂部總線偏置為VCC,底部總線偏置為0V。將ADC輸入端接左側總線或右側總線,當頂層與底層相接觸時即可對電壓進行測量。
如下圖,測量出來的電壓值與接觸點的位置線性相關,即可以由VPX和VPY分別計算出接觸點P的X和Y坐標。
在實際測量中,控制電路會交替在X和Y電極組上施加VCC電壓,進行電壓測量和計算接觸點的坐標。舉例說明測量流程:
第一步,在X+上施加VCC,X-上施加0V電壓,測量Y+(或Y-)電極上的電壓值VPX,計算出接觸點P的X坐標;
第二步,在Y+上施加VCC,Y-上施加0V電壓,測量X+(或X-)電極上的電壓值VPY,計算出接觸點P的Y坐標;
以上兩步組成一個測量周期,可以得到一組(X,Y)坐標。

圖2.1:觸摸屏工作原理示意圖
1、電阻觸摸屏控制器XPT2046
通過以上介紹,可知要實現對某個觸摸點的坐標測量,需要對電阻觸摸屏模組的兩層導電薄膜分時施加電壓,在對其中一個導電薄膜的電極施加電壓時,使用ADC去測量另一層導電薄膜的電極上的電壓。由此可知,觸摸控制器必須能夠支持兩個功能:
1)觸摸控制器能夠對連接的電極施加電壓
2)觸摸控制器能夠測量電極上的電壓(ADC)
即觸摸控制器不僅僅是簡單的ADC,因為其還要能夠給電極提供電壓,所以我們無法使用通用的ADC來完成4線電阻觸摸屏的控制。為了實現對電阻觸摸屏的控制,以TI為代表的眾多廠商推出了專用的觸摸控制器,如TI的TSC2046、ADS7843,兩者功能相同,封裝兼容,可以直接替換。同時,國內也有廠商推出了能夠完全兼容的器件,最典型的如深圳矽普特公司推出的XPT2046,該芯片可完全兼容TI的TSC2046器件。本教程主要以該芯片為依據進行講解。
2、XPT2046特性:
工作電壓范圍為2.2V~5.25V
支持1.5V~5.25V的數字I/O口
內建2.5V參考電壓源
電源電壓測量(0V~6)
內建結溫測量功能
觸摸壓力測量
采用SPI3線控制通信接口
具有自動power-down功能
封裝:QFN-16、TSSOP-16和VFBGA-48
與TSC2046、AK4182A完全兼容
XPT2046在125KHz轉換速率和2.7V電壓下的功耗僅為750μW。XPT2046以其低功耗和高速率等特性,被廣泛應用在采用電池供電的小型手持設備上,比如PDA、手機等。
二、XPT2046中文資料詳解_XPT2046內部框圖
下圖為XPT2046的功能框圖,可見XPT2046內部包含了一個多路選擇器,能夠測量電池電壓、AUX電壓、芯片溫度。一個12位的ADC用于對選擇的模擬輸入通道進行模數轉換,得到數字量,然后送入控制邏輯電路,供主控CPU進行讀取,同時,具體選擇哪個通道進行轉換,也是由主控CPU發(fā)送命令給控制邏輯來設置的。

XPT支持筆觸中斷,即當觸摸屏檢測到觸摸被按下時,可以立即產生筆觸中斷,通知主控制器可以控制開始轉換并讀取數據。在轉換過程中,通過busy信號指示當前忙狀態(tài),以避免主控發(fā)出新的命令中斷之前的命令。
三、XPT2046中文資料詳解_XPT2046引腳圖及功能
1、XPT2046引腳圖

圖 ?XPT2046引腳圖
2、XPT2046引腳功能
XPT2046通過SPI接口與主控制器進行通信,其與主控制器的接口包括以下信號:
PENIRQ_N:筆觸中斷信號,當設置了筆觸中斷信號有效時,每當觸摸屏被按下,該引腳被拉為低電平。當主控檢測到該信號后,可以通過發(fā)控制信號來禁止筆觸中斷,從而避免在轉換過程中誤觸發(fā)控制器中斷。該引腳內部連接了一個50K的上拉電阻。
CS_N:芯片選中信號,當CS_N被拉低時,用來控制轉換時序并使能串行輸入/輸出寄存器以移出或移入數據。當該引腳為高電平時,芯片(ADC)進入掉電模式。
DCLK:外部時鐘輸入,該時鐘用來驅動SARADC的轉換進程并驅動數字IO上的串行數據傳輸。
DIN:芯片的數據串行輸入腳,當CS為低電平時,數據在串行時鐘DCLK的上升沿被鎖存到片上的寄存器。
DOUT:串行數據輸出,在串行時鐘DCLK的下降沿數據從此引腳上移出,當CS_N引腳為高電平時,該引腳為高阻態(tài)。
BUSY:忙輸出信號,當芯片接收完命令并開始轉換時,該引腳產生一個DCLK周期的高電平。當該引腳由高點平變?yōu)榈碗娖降臅r刻,轉換結果的最高位數據呈現在DOUT引腳上,主控可以讀取DOUT的值。當CS_N引腳為高電平時,BUSY引腳為高阻態(tài)。
四、XPT2046中文資料詳解_XPT2046工作原理
XPT2046是一種典型的逐次逼近型模數轉換器(SARADC),包含了采樣/保持、模數轉換、串口數據輸出等功能。同時芯片集成有一個2.5V的內部參考電壓源、溫度檢測電路,工作時使用外部時鐘。XPT2046可以單電源供電,電源電壓范圍為2.7V~5.5V。參考電壓值直接決定ADC的輸入范圍,參考電壓可以使用內部參考電壓,也可以從外部直接輸入1V~VCC范圍內的參考電壓(要求外部參考電壓源輸出阻抗低)。X、Y、Z、VBAT、Temp和AUX模擬信號經過片內的控制寄存器選擇后進入ADC,ADC可以配置為單端或差分模式。選擇VBAT、Temp和AUX時可以配置為單端模式;作為觸摸屏應用時,可以配置為差分模式,這可有效消除由于驅動開關的寄生電阻及外部的干擾帶來的測量誤差,提高轉換準確度。
下圖為XPT2046的典型工作電路:

XPT2046有四個引腳,用于連接到四線制電阻屏的FPC上,分別為XP、XN、YP、YN,連接到對應的四線制電阻屏的X電極的正端、負端和Y電極的正端、負端。此四個引腳每個都能工作于兩種狀態(tài),分別為電源/GND輸出、ADC輸入。例如設置ADC工作在差分模式,當測量X方向的坐標時,XP輸出VCC、XN連接到GND,此時,YP和YN作為ADC的差分輸入腳連接到ADC上,通過測量YP和YN之間的電壓差來得到當前觸摸點的X位置。同理,當測量Y方向的坐標時,YP輸出VCC、YN連接到GND、此時,XN和XP作為ADC的差分輸入腳連接到ADC上,通過測量YP和YN之間的電壓差來得到當前觸摸點的Y位置。
五、XPT2046中文資料詳解_XPT2046典型應用
一)24時鐘周期轉換
1、讀寫時序
了解了XPT2046的接口電路,接下來我們就可以通過主控MCU或FPGA來控制該芯片實現坐標的讀取了。要想正確的讀到X、Y坐標,需要按照芯片規(guī)定的控制協(xié)議進行數據的讀寫。XPT2046實現一次X、Y坐標的讀取需要完成兩次轉換,單一一次轉換只能得到單一X或Y的坐標,因此,我們必須通過兩次控制才能到到結果。至于每一次轉換的對象為X或Y坐標,由控制器發(fā)出的控制字決定。ADC在轉換時能夠被配置為單端或差分模式,具體的控制字在每次傳輸開始的時候,由主控MCU驅動DIN信號傳輸。下圖為XPT2046典型的24時鐘周期轉換控制時序:

XPT2046數據接口是串行接口,其典型工作時序如上圖所示,圖中展示的信號來自帶有基本串行接口的單片機或數據信號處理器。處理器和轉換器之間的的通信需要8個時鐘周期,可采用SPI、SSI和Microwire等同步串行接口。一次完整的轉換需要24個串行同步時鐘(DCLK)來完成。
前8個時鐘用來通過DIN引腳輸入控制字節(jié)。當轉換器獲取有關下一次轉換的足夠信息后,接著根據獲得的信息設置輸入多路選擇器和參考源輸入,并進入采樣模式,如果需要,將啟動觸摸面板驅動器。3個多時鐘周期后,控制字節(jié)設置完成,轉換器進入轉換狀態(tài)。這時,輸入采樣-保持器進入保持狀態(tài),觸摸面板驅動器停止工作(單端工作模式)。接著的12個時鐘周期將完成真正的模數轉換。如果是度量比率轉換方式(SER/DFR——=0),驅動器在轉換過程中將一直工作,第13個時鐘將輸出轉換結果的最后一位。剩下的3個多時鐘周期將用來完成被轉換器忽略的最后字節(jié)(DOUT置低)
2、控制字的設置
表3控制字段的每一位功能

控制字節(jié)由DIN輸入的控制字如下表所示,它用來啟動轉換,尋址,設置ADC分辨率,配置和對XPT2046進行掉電控制。
起始位:第一位,即S位。控制字的首位必須是1,即S=1。在XPT2046的DIN引腳檢測到起始位前,所有的輸入將被忽略。
地址:接下來的3位(A2、A1和A0)選擇多路選擇器的現行通道(見表1、表2),觸摸屏驅動和參考源輸入。
MODE:模式選擇位,用于設置ADC的分辨率。MODE=0,下一次的轉換將是12位模式;MODE=1,下一次的轉換將是8位模式。
SER/DFR:SER/DFR位控制參考源模式,選擇單端模式(SER/DFR=1),或者差分模式(SER/DFR=0)。在X坐標、Y坐標和觸摸壓力測量中,為達到最佳性能,首選差分工作模式。參考電壓來自開關驅動器的電壓。在單端模式下,轉換器的參考電壓固定為VREF相對于GND引腳的電壓(更詳細的說明,見表1和表2)。
表1單端模式下的地址與通道對應關系

表2差分模式下的地址與通道對應關系

PD0和PD1:表5展示了掉電和內部參考電壓配置的關系。ADC的內部參考電壓可以單獨關閉或者打開,但是,在轉換前,需要額外的時間讓內部參考電壓穩(wěn)定到最終穩(wěn)定值;如果內部參考源處于掉電狀態(tài),還要確保有足夠的喚醒時間。ADC要求是即時使用,無喚醒時間的。另外還得注意,當BUSY是高電平的時候,內部參考源禁止進入掉電模式。XPT2046的通道改變后,如果要關閉參考源,則要重新對XPT2046寫入命令。
表4 ?控制字段每一位功能的具體說明

表5 PD位功能說明

上述通過24時鐘周期的轉換時序講解了單次轉換的時序,在實際應用中,為了提高轉換效率,XTP2046提供了16時鐘轉換模式和15時鐘轉換模式。
二)16時鐘周期轉換
第n+1次轉換的控制位可以與第n次轉換部分重疊,所以可以用16個時鐘周期完成一次轉換,如圖16所示。圖16也說明了處理器和轉換器之間的串行通信是可以雙向獨立進行的。此時,每次轉換必須在開始后(接收到start)的1.6mS內完成,否則輸入采樣保持電路取樣的信號會逐漸被放電衰減,影響轉換結果。另外,在轉換過程中另一串行通信的存在會使XPT2046工作于全功耗狀態(tài)下。

8位總線接口,無DCLK時鐘延遲16時鐘周期轉換時序
該模式下,DCLK的時鐘高電平和低電平均要求最小值為200ns,即DCLK的時鐘周期為2.5MHz。
三)15時鐘周期轉換
下圖給出了XPT2046的最快時序。這種方法不支持大部分的微控制器和數字信號處理器的串行接口,因為它們一般都不提供15周期的串行傳輸方式。但是,這種方法適用于FPGA和ASIC。需要注意的是,這樣有效地提高了轉換器的最大轉換速率。

最快轉換速率,15時鐘周期轉換
在不影響輸出精度的前提下提高數據吞吐量,XPT2046可以采用8位的轉換模式。切換到8位轉換模式,完成提前4個時鐘完成一次轉換。不僅每次轉換縮短了都4位(數據吞吐量提高了25%),而且由于精度的降低,可以工作在更快的轉換速率下,時鐘速度可以提高50%,時鐘速度的提高和轉換周期的減少,共同可以使轉換速率提高2倍。
?
電子發(fā)燒友App

















































評論