历史上的今天
今天是:2025年02月03日(星期一)
2020年02月03日 | S5PV210的电阻触摸屏&ADC控制器
2020-02-03 来源:eefocus
一、ADC与触摸屏控制器结构框图

1、S5PV210一共支持10路模拟输入,分别为AIN0-AIN9.其中AIN0和AIN1是只做模拟输入的,AIN2-AIN9分别可以支持2个电阻式触摸屏,所以这个就是上个博客中电阻式触摸屏的
第一种接口,将电阻触摸板传感器直接与SoC控制器相连。所以4个模拟输入引脚负责一个电阻式触摸屏。
2、从上面可以看出来,整个控制器由多个部分组成。AD转换和触摸屏控制部分有2个附属单元。其中一个是反向控制AINn引脚的逻辑(图中的箭头),主要作用是在触摸屏获取坐标的过程中分时给xy方向供电和测量;第二个是中断产生部件,对于AIN1和AIN0来说,当AD转换完成之后就会通过INT_ADC0和INT_ADC1中断信号通知CPU可以来读取数据了,而对于两组触摸屏来说,如果X/Y轴数据转化完成之后会通过INT_PEN0和INT_PEN1中断信号来通知CPU读取坐标信息,但是对于触摸屏被按下而产生的中断是另一个中断信号,其实I2C从设备的硬件接口会有一个中断引脚连接到SoC中的一个外部中断引脚上。
3、两种工作模式:Normal Conversion Mode (AUTO_PST = 0, XY_PST = 0) & Separate X/Y Position Conversion Mode (AUTO_PST = 0, XY_PST = control)
(1)AD转换器有2种工作模式:正常操作模式和分时X/Y位置转换模式。
(2)正常操作模式用作普通的AD转换,分时X/Y位置转换模式用作电阻式触摸屏。正常AD转换下将AD转换值放在TSDATX中,在分时X/Y模式下会将X/Y坐标分别放在TSDATX和TSDATY中。
(3)对于AIN0和AIN1来说没有这么多模式,他们只能工作在普通模式;对于AIN2-AIN9来说,因为被复用,所以才有2种模式。如果我们将这........几个引脚用作普通AD转换
则配置为普通模式,如果用作电阻式触摸屏检测,则配置成分时X/Y模式。
4、中断参与
(1)其实普通AD转换和触摸屏AD转换本身都可以不在中断参与下完成。
(2)普通AD转换如果不要中断,那就去查询。开启一次转换后然后不断查询标志位,直道AD转换完硬件自动置位标志位后我们才去读取转换值就不会错。当然也可以用中断,控制器提供了一个相应的中断给普通AD转换。
(3)触摸屏也可以用或者不用中断。对于SoC来说永远不知道人会什么时候按下或者弹起触摸屏,所以触摸屏的按下/弹起对SoC来说是纯粹的异步事件。对于这种情况SOC只有2种解决方案:轮询和中断。
5、主要寄存器
(1)TSADCCONn寄存器

start by read就是当AD转换完成之后,如果CPU从相应的寄存器中读走转换完的数据之后,硬件会自动开启下一次AD转换。
ENABLE_START位,如果我们将该位值1开启一次AD转换之后,该位会被自动置为0
(2)TSCONn:主要是用来控制在测量X轴和Y轴坐标时,两个面板电极供电的问题
(3)TSDLYn:看名字是用来做延时的,这个寄存器主要是用来实现当完成一次AD转换后不要立马就开启下一次AD转换,而是需要延时一段时间。指定TS0 - ADC启动或间隔延迟寄存器
(4)TSDATXn:触摸屏的X轴AD转换完成后的数据放在这个寄存器中,如果我们只是做为普通的AD转换,那么这个数据也是存放这个寄存器中
(5)TSDATYn:触摸屏的Y轴AD转换完成后的数据放在这个寄存器中
(6)CLRINTADCn:清除中断挂起标志位,对应上图中的INT_ADCn
(7)CLRINTPENn:清除中断挂起标识位,对应上图中的INT_PENn
史海拾趣
|
有位研究生网友提出,就是没觉得手机天线行业有什么技术含量,理由是这个行业用不到公式。 在此,我想有必要就此进行一些陈述,这也是长久以来自己的一些想法。 百闻不如一见,在学校里做东西,和在公司里做东西,是有差异的,这个差异有的时候还 ...… 查看全部问答> |
|
有时因为没有电路图,但是自己所从事的行业好歹与电子沾边,于是总喜欢拆开来看看或者动手调调。 有的时候,不小心就被某个地方电一下。 哎,现在有点怕了。 请大家说说你们是否被电过?如何预防?… 查看全部问答> |
|
娱乐界的颁奖晚会、红地毯炒的沸沸扬扬,吸引N多媒体的目光,而为什么没有专门为科学家和工程师举办多一些这种活动? 美国《纽约时报》专栏作家Thomas L. Friedman提出建议,认为应该大力宣传像是“英特尔科学奖”颁奖晚会这样的活动,让其现场实 ...… 查看全部问答> |
|
function gps; sDataPath = \'D:\\s\\\'; sDataFile = dir(sDataPath); %sDataPath这是你存放dat数据文件的路径 m = length(sDataFile); k = 0; for i = 1:m if sDataFile(i).isdir co ...… 查看全部问答> |
|
我要找硬件开发兼职人员(在杭州)急 联系qq 33938019 msn:zhubin@zhubin.net 邮箱:zhubin@zhubin.net … 查看全部问答> |
|
我用LPC2132做AD采样,但其中的几块电路AD采不上数,现象类似于短路,但测试没有短路,除AD外其它运行正常,可不可能是2132的AD坏了呢?… 查看全部问答> |




