S5PV210的电阻触摸屏&ADC控制器
一、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
S5PV210的电阻触摸屏&ADC控制器的更多相关文章
- STM32f103的电阻触摸屏的五点校正算法
源:STM32f103的电阻触摸屏的五点校正算法 STM32f103的触摸屏的设置与使用
- (stm32学习总结)—LCD—液晶显示
显示器简介 显示器属于计算机的 I/O 设备,即输入输出设备.它是一种将特定电子信息输出到屏幕上再反射到人眼的显示工具.常见的有 CRT 显示器.液晶显示器.LED 点阵显示器及OLED 显示器 本章 ...
- JZ2440 裸机驱动 第14章 ADC和触摸屏接口
本章目标: 了解S3C2410/S3C2440和触摸屏的结构: 了解电阻触摸屏的工作原理和等效电路图: 了解S3C2410/S3C2440触摸屏控制器的多种工作模式: ...
- 【团购活动】接口最全最好用的S5PV210开发板Sate210-F 开发板开始团购活动了,一起学习linux!
接口最全最好用的S5PV210开发板Sate210-F 开发板开始团购活动了,一起学习linux!http://bbs.eeworld.com.cn/forum.php?mod=viewthread& ...
- S5PV210之Sate210-F DIY硬件,移植uboot,kernel,android 活动现在已经进入实施阶段吗,欢迎广大网友参与 !
大家一起来diy 超低价四核的exynos4412或者Cortex A8S5pv210开源开发板 商业版Sate210已经完成了好久了.Sate4412 也已经出来.但是这两个接口非常全,主要是针对企 ...
- mini2440触摸屏驱动分析
mini2440驱动分析系列之 ---------------------------------------Mini2440触摸屏程序分析 By JeefJiang July,8th,2009 这是 ...
- 基于FPGA的XPT2046触摸控制器设计
基于FPGA的XPT2046触摸控制器设计 小梅哥编写,未经许可,文章内容和所涉及代码不得用于其他商业销售的板卡 本实例所涉及代码均可通过向 xiaomeige_fpga@foxmail.com 发 ...
- 【STM32H7教程】第54章 STM32H7的LTDC应用之LCD电阻触摸和电容触摸
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第54章 STM32H7的LTDC应用之LCD电阻 ...
- S3C2440触摸屏驱动实例开发讲解
出处:http://www.embeddedlinux.org.cn/html/yingjianqudong/ 一.开发环境 主 机:VMWare--Fedora 9 开发板:Mini2440--6 ...
随机推荐
- NHibernate Demo 和 效率测试
本文关于NHibernate的Demo和效率测试,希望对大家有用. 1.先去官网下载Nhibernate 2.放入到项目中并建立Helper类 private static ISession _Ses ...
- composer.json:项目安装!!!!!!!!!!
基本用法 基本用法 安装 composer.json:项目安装 关于 require Key 包名称 包版本 下一个重要版本(波浪号运算符) 稳定性 安装依赖包 composer.lock - 锁文件 ...
- load()方法---------jQuery动态加载html
jquery代码 $("#div").load("test.html"); test.html ----------------被加载页面(有<HTM ...
- Round() 四舍五入 js银行家算法(转)
首先问一下round(0.825,2) 返回的结果,大家猜一猜, 首先SQL server 返回的是 0.83 js的返回结果 是0.83,code 如下: var b = 0.825; ...
- 集合类 toArray(T[])
HashSet<String> deDupe = new LinkedHashSet<>(Arrays.asList(origParams.getParams(paramNam ...
- cocos2dx day 3 - Chapter5 Scene
写在前面 越来越懒了,才3天,主要是cocos2dx官网的文章写的还是不是太完美,发现一段代码有个笔误,还有好几处写得不是很清楚的,所以有点泄气,不想继续读下去,不过为了我的第一款手游,一切困难都要先 ...
- linux命令-dd {拷贝并替换}
一 命令解释: dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: if=文 ...
- 使用VS2013逆向生成UML类图
引自http://blog.csdn.net/funnyfu0101/article/details/7705173 首先.打开工程,[体系结构]->[新建关系图] 生成一个类图 然后[体系结构 ...
- Python-3 语法
#1 Tab键: 1)控制缩进 2)IDLE智能补全 #2 =等号: 1)=:表示赋值 2)==:表示判断 #3 流程图: print('..........小甲鱼_1..........') tem ...
- 慕课网-Java入门第一季-7-2 Java 中无参无返回值方法的使用
来源:http://www.imooc.com/code/1578 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法. 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名 ...