weiqi7777

cortex-a8裸机系列:第十八章 AD与触摸屏

0
阅读(702) 评论(0)

一、            ADC和(电阻式)触摸屏的关系

电阻式触摸屏本身工作依赖于AD转换,所以210soc中电阻触摸屏接口本身和AD

C接口是合二为一的。也就是电阻触摸屏接口使用(复用了)ADC的接口。

二、            S5pv210ADC控制器

1.    ADC特性

clip_image002[4]

2.    ADC的工作时钟框图

clip_image004[4]

ADCCLKADC控制器工作的时钟。通过PCLK_PSYS分频得到。

clip_image006[4]

         MSPS = ADCCLK / 5

 

3.    ADC的通道

ADC支持10个通道。可以并行转换10AD

clip_image008[4]

         AD使用的管脚是专用管脚。类型是analog

clip_image010[4]

         从管脚可以看出,可以支持两个电阻式触摸屏,TSYM0TSYP0TSXM0TSXP0是第一个,TSYM1TSYP1TSXM1TSXP1是第二个

clip_image012[4]

         ADCIN0ADCIN1是两个单独可以接外部待转换的模拟电压。

 

三、            ADC主要的寄存器

1.    TSADCCON

clip_image014[4]

clip_image016[4]

第十六位:设置AD的分辨率选择,10位和12位。

第十五位:只读,判断AD转换是否完成。1完成。当AD开启转换后,需要等待该位为1表示转换完成后,读取的转换的值才是有效的。

         第十四位:预分频是否时能

         第十三到六位:预分频的值        

         第二位:备用模式选择,备用模式下,预分频时能要关闭,减小功耗。在备用模式下,AD转换操作停止,TSDATXTSDATY值保持。

         第一位:读AD数据操作后,自动开启AD转换功能开启/关闭。也就是当读取本次AD转换的AD值后,硬件自动开启下一次AD转换。

         第零位:开启AD转换,硬件会在开始准换后,自动将该位清零。

2.    TSDATX

clip_image018[4]

AD转换的值。对于没有使用触摸屏,直接用AD,默认转换的值放在这个寄存器中。

3.    TSDATY

clip_image020[4]

AD转换的值。

4.    ADCMUX

通道选择。

clip_image022[4]

  因为只有两个寄存器可以存放AD转换的值,所以需要选择当前操作的通道号。

 

关于start by read模式,设置好模式,先读一次数据丢掉,这样就开启下一次AD转换,然后以后就可以不停的读取AD值即可。

clip_image024[4]

 

         初始化

clip_image026[4]

 

 

四、            S5pv210的电阻触摸屏控制器

1.   ADC与触摸屏控制器结构框图

210一共支持10路模拟输入,分别为AIN0-AIN9,其中AIN0AIN1是只做模拟输入的,AIN2-AIN9分别可以支持2个电阻式触摸屏。所以4个负责一个触摸屏

         clip_image028

         AD转换和触摸屏控制部分有两个附属单元。其中一个是反向控制AINn引脚的逻辑,主要作用是在触摸屏获取坐标的过程中分时给xy方向供电和测量;第二个是中断产生部件,如果AD转换完成(主要针对AIN0AIN1这两路)或者是触摸屏被人按下/弹起时,中断产生部件会自动产生一个中断通知CPU来处理时间,这样就不用轮询检测触摸事件了。

2.   Normal operation mode & separate X/Y Position

AD转换器有2种工作模式:正常操作模式和分时X\Y位置转换模式。

正常操作模式用作普通的AD转换,分析X\Y位置转换模式用作电阻式触摸屏(先测x,再测y)。正常AD转化下将AD转化值放入到TSDATX中,在分时X\Y模式下会将X\Y坐标分别放在TSDATXTSDATY中。

对于AIN0AIN1来说没有模式的选择,因为只能工作在普通模式。对于AIN2-AIN9来说,因为被复用,所以才有两种模式。如果要作为普通AD转换,则配置为普通模式,如果配置为电阻式触摸屏检测,则配置成分时X\Y模式。

clip_image030

3.   中断参与

其实普通AD转换和触摸屏AD转换本身可以不在中断参与下完成。

普通AD转换如果不要中断,那就是用查询方式。开启一次转换后然后不断查询标志位,直到AD转换完硬件自动置位标志位后才去读取转换值。这样效率比较低。控制器提供了一个相应的中断给普通AD转换使用。

触摸屏也可以使用或者不使用中断。但触摸屏的按下\弹起对soc来说是纯粹的异步事件。对于这种事件,一般使用中断方式。

4.   主要寄存器

TSDLY0 :延时寄存器,即软件发起AD转换后,硬件要延时多久时间才开始进行AD转换。主要用在start by read下。当程序中读取AD值后,硬件就会自动的开启转换,但是实际我们需要延时一会在进行转换,这个时候这个寄存器的作用就出来了。

clip_image032

5.   电阻式触摸屏和电容式触摸屏的特点对比

1、耐久性     电容式触摸屏不容易坏,   电阻式触摸屏易坏

2、抗干扰性   电容式触摸屏要差一些,   电阻式触摸屏要好一些

3、精准度     电容式触摸屏要差一些,   电阻式触摸屏要好一些

4、用户体验   电容式触摸屏要好一些,   电阻式触摸屏要差一些

5、价格              电容式触摸屏要贵一些,   电阻式触摸屏要便宜很多