MXB7846型4線觸摸屏數(shù)據(jù)轉(zhuǎn)換器的原理及應(yīng)用
關(guān)鍵詞:MXB7846 觸摸屏 A/D轉(zhuǎn)換器ESD保護
1 概述
隨著家用電子設(shè)備和智能儀器的廣泛應(yīng)用,人們對其人機接口的要求越來越高,人性化的人機接口能大大提高人們的操作水平,更好地發(fā)揮裝置性能。觸摸屏因此而被大量應(yīng)用于家用電子、檢測儀器、通訊設(shè)備等裝置的人機接口部分。
MXB7846是Maxim公司的一款集成了±15kV ESD保護的4線工業(yè)標準觸摸屏數(shù)據(jù)轉(zhuǎn)換器,廣泛應(yīng)用于電阻式觸摸屏輸入系統(tǒng)中。它集成了一個12位的同步采樣模數(shù)轉(zhuǎn)換器,可以采用內(nèi)部集成的+2.5V參考電源,也可以采用外接參考電源。還集成了片上溫度傳感器、電源監(jiān)測通道和輔助AD轉(zhuǎn)換器。電路的所有模擬輸入通道都處于ESD保護之中,因此使用時不需要額外的靜電保護裝置。
2 引腳排列及引腳功能
MXB7846采用16腳QSOP和TSSOP封裝。其引腳排列如圖1所示,各引腳功能如下所述。
VDD:電源輸入,電壓范圍為+2.375V~+5.25V。采用內(nèi)部參考電源時,參考電源大小由此引腳決定。工作時采用1μF電容器旁路濾波。
GND:地。
X+、X-、Y+、Y-:橫縱坐標輸入,其中X+、Y+為ADC輸入的第1、2通道。
BAT:電源監(jiān)測輸入端,為ADC的第3通道。
AUX:輔助模擬輸入端,為ADC的第4通道。
REF:參考電壓輸入/輸出通道,為AD轉(zhuǎn)換提供參考電壓。當采用內(nèi)部參考電源時,該引腳提供2.5V的參考電壓輸出;采用外部參考電源時,參考電壓由此輸入,可輸入1V~VDD的電壓。工作時采用0.1μF電容器旁路濾波。
PENIRQ:觸摸中斷引腳,工作時通過10kΩ~100kΩ電阻器上拉。觸摸屏被觸摸時引起中斷,ADC開始轉(zhuǎn)換。
DIN:串行數(shù)據(jù)輸入,DCLK的上升沿讀入數(shù)據(jù)。
DOUT:串行數(shù)據(jù)輸出,DCLK的下降沿輸出數(shù)據(jù),CS為高時,DOUT為高阻狀態(tài)。
BUSY:忙輸出標志,在數(shù)據(jù)轉(zhuǎn)換時持續(xù)一個時鐘周期的高狀態(tài),CS為高時,BUSY為高阻狀態(tài)。
CS:片選信號,只有當CS為低時,串行數(shù)據(jù)才可以從DIN讀入。
DCLK:時鐘信號輸入,輸入時鐘信號決定電路的轉(zhuǎn)換速度,其占空比必須為40%~60%。
3 工作原理
MXB7846采用逐次逼近型技術(shù)來實現(xiàn)模擬信號到12位數(shù)字信號的轉(zhuǎn)換。其內(nèi)部結(jié)構(gòu)如圖2所示。當電路工作于單輸入模式時,ADC將REF做為參考輸入;電路工作于差分輸入模式時,ADC的REF+連接到X+或Y+,REF-連接到X-或Y-。具體的連續(xù)方式如表1所示。
表1 MXB7846控制字格式
BIT7 | BIT6 | BIT5 | NIT4 |
START | A2 | A1 | A0 |
BIT3 | BIT2 | BIT1 | BIT0 |
MODE | SER/DFR | PD1 | PD0 |
MXB7846的控制字格式如表1所列,其中START為數(shù)據(jù)傳輸起始標志位,該位必為“1”。A2-A0進行通道選擇(見表2)。MODE用來選擇AD轉(zhuǎn)換的精度,“1”表示8位“0”表示12位。SER/DFR選擇參考電壓的輸入模式,“1”為單輸入模式,“0”為差分輸入模式。PD1、PD0選擇省電模式:“00”表示省電模式允許,在二次A/D轉(zhuǎn)換之間掉電,且中斷允許;“01”同“00”,只是不允許中斷;“10”為保留;“11”表示禁止省電模式。
表2 MXB7846的控制及工作方式
A2 | A1 | A0 | 測量值 | ADC輸入 | ADC連接 |
0 | 0 | 0 | Temp0 | Temp0 | - |
0 | 0 | 1 | Y坐標 | X+ | Y+、Y- |
0 | 1 | 0 | BAT | BAT | - |
1 | 0 | 1 | X坐標 | Y+ | X+、X- |
1 | 1 | 0 | AUX | AUX | - |
1 | 1 | 1 | Temp1 | Temp1 | - |
4 典型應(yīng)用
MXB7846用于控制電阻式觸摸屏的典型電路原理如圖3所示。
觸摸屏工作時,上下導(dǎo)體層相當于電阻網(wǎng)絡(luò),如圖3所示。當某一層電極加上電壓時,會在該網(wǎng)絡(luò)上形成電壓梯度。如有外力使得上下兩層在某一點接觸,則在電極未加電壓的另一層可以測得接觸點處的電壓,從而知道觸點處的坐標。比如,在頂層的電極(X+,Y-)上加電壓,則會在頂層導(dǎo)體導(dǎo)上形成電壓梯度,當有外力使得上下兩層在某一點接觸,就可以在底層測得接觸點處的電壓,再根據(jù)該電壓與電極(X+)之間的距離關(guān)系算出該處的X坐標。然后,將電壓切換到底層電極(Y+,Y-)上,并在頂層測量接觸點處的電壓,從而知道Y坐標。
為了完成一次電極電壓切換和A/D轉(zhuǎn)換,首先應(yīng)通過串口向MXB7846發(fā)送控制字,轉(zhuǎn)換完成后再通過串口讀出電壓轉(zhuǎn)換值。標準的一次轉(zhuǎn)換需要24個時鐘周期。由于串口支持雙向同時傳送,并且在一次讀數(shù)與下一次發(fā)控制字之間可以重疊,所以轉(zhuǎn)換速率可以提高到每次16個時鐘周期。如果條件允許,即CPU可以產(chǎn)生15個時鐘周期(比如FPGAs和ASICs),轉(zhuǎn)換速率還可以提高到每次15個時鐘周期,其轉(zhuǎn)換時序如圖4所示。
本文采用Altera公司的EPM7128LC84-6型CPLD生產(chǎn)MXB7846所需的控制邏輯,以使其工作在較高的轉(zhuǎn)換效率。用Verilog語言編制的控制程序如下:
module max(DATAIN,CLK,DOUT,BUSY,CS,DCLK,DIN,DATAOUT,FLAG);
input [7:0]DATAIN;
input BUSY,CLK,DOUT;
output[11:0]DATAOUT;
output CS,DCLK,DIN,FLAG;
reg [11:0]DATAOUT;
reg [11:0]yiwei;
reg [5:0]count;
reg [4:0]jishu;
reg shizhong,CS,DCLK,DIN,FLAG;
always @(negedge CLK)
begin
count=count+1;
if(count==6'd2)
begin
shizhong=~shizhong;
count=0;
end
end
always@(negedge shizhong)
begin
if (DATAIN==8'hff)
CS=1;
Else
Begin
CS=0;
jishu=jishu+1;
DCLK=~DCLK;
if(jishu==30)
jishu=0;
case(jishu)
5'b00000:begin DIN=DATAIN [7];yiwei [7]=DOUT;end
5'b00010:begin DIN=DATAIN [6]; yiwei [8]=DOUT;end
5'b00100:begin DIN=DATAIN [5]; yiwei [9]=DOUT;end
5'b01000:begin DIN=DATAIN [3];yiwei [11]=DOUT;DATAOUT=yiwei;FLAG=1;end
5'b01010:begin DIN=DATAIN[2];FLAG=0;end
5'b01100:DIN=DATAIN[1];
5'b01110:DIN=DATAIN[0];
5'b10000:if(BUSY==0)yiwei[0]=DOUT;
5'b10010:yiwei[1]=DOUT;
5'b10100:yiwei[2]=DOUT;
5'b10110:yiwei[3]=DOUT;
5'b11000:yiwei[4]=DOUT;
5'b11010:yiwei[5]=DOUT;
5'b11100:yiwei[6]=DOUT;
endcase
end
end
endmodule
圖4
本程序為CPLD模塊中MXB7846的控制模塊,其主要作用是通過CPLD時鐘進行分頻(分頻數(shù)可設(shè)定)生產(chǎn)MXB7846的時鐘,以及通過DATAIN給定MXB7846的控制字。其CS、DOUT、DCLK、DIN、BUSY分別與MXB7846的對應(yīng)管腳相連以對其進行控制。當MXB7846完成一次轉(zhuǎn)換后,CPLD讀取其中的串行數(shù)據(jù)并轉(zhuǎn)化為并行數(shù)據(jù),待FLAG為高以后就可以從DATAOUT讀取數(shù)據(jù)了。
5 結(jié)束語
MXB7846易于與目前各種常用的CPU接口,其低功耗特性使得非常適用于電源供電的系統(tǒng),在個人掌上電腦、手機、醫(yī)用儀器、測量儀表等各種便攜式裝置中具有廣闊的應(yīng)用前景。