历史上的今天
返回首页

历史上的今天

今天是: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

推荐阅读

史海拾趣

问答坊 | AI 解惑

基于语音芯片ISd4003的程序设计!

c语言编写!编译连接成功!…

查看全部问答>

定时器设计

想设计一个定时器,可以实现如下功能:在固定时间可以有输出,当有外部输入时,定时器不工作??…

查看全部问答>

《谁说手机天线没有技术含量?》理论?实践?

有位研究生网友提出,就是没觉得手机天线行业有什么技术含量,理由是这个行业用不到公式。 在此,我想有必要就此进行一些陈述,这也是长久以来自己的一些想法。 百闻不如一见,在学校里做东西,和在公司里做东西,是有差异的,这个差异有的时候还 ...…

查看全部问答>

动手拆卸电子设备,如何预防被电?

有时因为没有电路图,但是自己所从事的行业好歹与电子沾边,于是总喜欢拆开来看看或者动手调调。 有的时候,不小心就被某个地方电一下。 哎,现在有点怕了。 请大家说说你们是否被电过?如何预防?…

查看全部问答>

电子工程师:改变了人们的生活体验,却降低了自己的社会地位

娱乐界的颁奖晚会、红地毯炒的沸沸扬扬,吸引N多媒体的目光,而为什么没有专门为科学家和工程师举办多一些这种活动? 美国《纽约时报》专栏作家Thomas L. Friedman提出建议,认为应该大力宣传像是“英特尔科学奖”颁奖晚会这样的活动,让其现场实 ...…

查看全部问答>

matlab .dat转换成.mat

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会单独坏掉吗?

我用LPC2132做AD采样,但其中的几块电路AD采不上数,现象类似于短路,但测试没有短路,除AD外其它运行正常,可不可能是2132的AD坏了呢?…

查看全部问答>

好多小工具及资料

这几天逛了论坛100多页找来的,整理了一下,需要的就下载咯....…

查看全部问答>

刚学VHDL的新手求教一段程序

有a,b,c,d四个输入数据,首先让A0=0,A1=0时输出y…

查看全部问答>