MXB7846数据转换器的工作原理及应用分析

1 概述
随着家用电子设备和智能仪器的广泛应用,人们对其人机接口的要求越来越高,人性化的人机接口能大大提高人们的操作水平,更好地发挥装置性能。触摸屏因此而被大量应用于家用电子、检测仪器、通讯设备等装置的人机接口部分。
mxb7846是maxim公司的一款集成了±15kv esd保护的4线工业标准触摸屏数据转换器,广泛应用于电阻式触摸屏输入系统中。它集成了一个12位的同步采样模数转换器,可以采用内部集成的+2.5v参考电源,也可以采用外接参考电源。还集成了片上温度传感器、电源监测通道和辅助ad转换器。电路的所有模拟输入通道都处于esd保护之中,因此使用时不需要额外的静电保护装置。
2 引脚排列及引脚功能
mxb7846采用16脚qsop和tssop封装。其引脚排列如图1所示,各引脚功能如下所述。
vdd:电源输入,电压范围为+2.375v~+5.25v。采用内部参考电源时,参考电源大小由此引脚决定。工作时采用1μf电容器旁路滤波。
gnd:地。
x+、x-、y+、y-:横纵坐标输入,其中x+、y+为adc输入的第1、2通道。
bat:电源监测输入端,为adc的第3通道。
aux:辅助模拟输入端,为adc的第4通道。
ref:参考电压输入/输出通道,为ad转换提供参考电压。当采用内部参考电源时,该引脚提供2.5v的参考电压输出;采用外部参考电源时,参考电压由此输入,可输入1v~vdd的电压。工作时采用0.1μf电容器旁路滤波。
penirq:触摸中断引脚,工作时通过10kω~100kω电阻器上拉。触摸屏被触摸时引起中断,adc开始转换。
din:串行数据输入,dclk的上升沿读入数据。
dout:串行数据输出,dclk的下降沿输出数据,cs为高时,dout为高阻状态。
busy:忙输出标志,在数据转换时持续一个时钟周期的高状态,cs为高时,busy为高阻状态。
cs:片选信号,只有当cs为低时,串行数据才可以从din读入。
dclk:时钟信号输入,输入时钟信号决定电路的转换速度,其占空比必须为40%~60%。
3 工作原理
mxb7846采用逐次逼近型技术来实现模拟信号到12位数字信号的转换。其内部结构如图2所示。当电路工作于单输入模式时,adc将ref做为参考输入;电路工作于差分输入模式时,adc的ref+连接到x+或y+,ref-连接到x-或y-。具体的连续方式如表1所示。
xb7846的控制字格式如表1所列,其中start为数据传输起始标志位,该位必为“1”。a2-a0进行通道选择(见表2)。mode用来选择ad转换的精度,“1”表示8位“0”表示12位。ser/dfr选择参考电压的输入模式,“1”为单输入模式,“0”为差分输入模式。pd1、pd0选择省电模式:“00”表示省电模式允许,在二次a/d转换之间掉电,且中断允许;“01”同“00”,只是不允许中断;“10”为保留;“11”表示禁止省电模式。
4 典型应用
mxb7846用于控制电阻式触摸屏的典型电路原理如图3所示。
触摸屏工作时,上下导体层相当于电阻网络,如图3所示。当某一层电极加上电压时,会在该网络上形成电压梯度。如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道触点处的坐标。比如,在顶层的电极(x+,y-)上加电压,则会在顶层导体导上形成电压梯度,当有外力使得上下两层在某一点接触,就可以在底层测得接触点处的电压,再根据该电压与电极(x+)之间的距离关系算出该处的x坐标。然后,将电压切换到底层电极(y+,y-)上,并在顶层测量接触点处的电压,从而知道y坐标。
为了完成一次电极电压切换和a/d转换,首先应通过串口向mxb7846发送控制字,转换完成后再通过串口读出电压转换值。标准的一次转换需要24个时钟周期。由于串口支持双向同时传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期。如果条件允许,即cpu可以产生15个时钟周期(比如fpgas和asics),转换速率还可以提高到每次15个时钟周期,其转换时序如图4所示。 本文采用altera公司的epm7128lc84-6型cpld生产mxb7846所需的控制逻辑,以使其工作在较高的转换效率。用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” ;yiwei =dout;end
5’b00010:begin din=“datain” ; yiwei =dout;end
5‘b00100:begin din=“datain” ; yiwei =dout;end
5’b01000:begin din=“datain” ;yiwei [11]=dout;dataout=yiwei;flag=1;end
5‘b01010:begin din=“datain”;flag=0;end
5’b01100:din=datain;
5‘b01110:din=datain[0];
5’b10000:if(busy==0)yiwei[0]=dout;
5‘b10010:yiwei=dout;
5’b10100:yiwei=dout;
5‘b10110:yiwei=dout;
5’b11000:yiwei=dout;
5‘b11010:yiwei=dout;
5’b11100:yiwei=dout;
endcase
end
end
endmodule
本程序为cpld模块中mxb7846的控制模块,其主要作用是通过cpld时钟进行分频(分频数可设定)生产mxb7846的时钟,以及通过datain给定mxb7846的控制字。其cs、dout、dclk、din、busy分别与mxb7846的对应管脚相连以对其进行控制。当mxb7846完成一次转换后,cpld读取其中的串行数据并转化为并行数据,待flag为高以后就可以从dataout读取数据了。
5 结束语
mxb7846易于与目前各种常用的cpu接口,其低功耗特性使得非常适用于电源供电的系统,在个人掌上电脑、手机、医用仪器、测量仪表等各种便携式装置中具有广阔的应用前景。

安达发|高级计划APS软件对企业产量和管理的改变
韩国建世界最大氢燃料电池发电厂,耗资2.24亿美元,预计2020年6月正式使用
ML100系列蓝光型光电传感器在硅片检测中的应用
热力膨胀阀的基础知识介绍
利用Simulink Design Optimization估计直流电机参数
MXB7846数据转换器的工作原理及应用分析
云计算技术发展的六大趋势
BOE(京东方)牵头制定国内首个HUD行业标准 引领智能座舱全新范式
AI技术的快速发展让电话机器人应运而生
支持向量机(系统识别的性能度量之ROC曲线)
xnet为零售及金融应用推出新的M2M无线解决方案
英特尔为AZURE保密计算提供强大的基础支持
压敏电阻的防雷击浪涌性能
云脉芯联再获数亿元PreA轮投资光速中国领投 加快网络互联芯片商业化落地
物联网是安防行业的下一个风口
富士康子公司正设法提高MicroLED的产能 欲成为苹果MicroLED供应商
一文解析服务机器人行业发展现状及发展趋势
AMD入主Intel CPU,携手共同发展
码头视频监控系统设计
MICLEDI:计划在300mm晶圆上展示RGB Micro LED显示器