当前位置:文档之家› 单片机扩展触摸屏人机接口的应用实例

单片机扩展触摸屏人机接口的应用实例

触摸屏工作时 上下导体层相当于电阻网 络 当某一层电极加上电压时 会在该网络上形 成电压梯度 如有外力使得上下两层在某一点 接触 则在电极未加电压的另一层可以测得接 触点处的电压 从而知道接触点处的坐标 比 如 在顶层的电极(X+,X )上加上电压 则在 顶层导体层上形成电压梯度 当有外力使得上 下两层在某一点接触 在底层就可以测得接触 点处的电压 再根据该电压与电极(X+)之间的
2.期刊论文 胡冰.吴升艳.岳春生 ADS7843触摸屏接口 -国外电子元器件2002,""(7)
Field Design
设计天地
栏目编辑 韩汝水
单片机扩展触摸屏人机接口的 应用实例
Application of Touch Pad in MCU System
杭州电子科技大学 王爱华
摘要 关键词
本文介绍了四线电阻式触摸屏控制器 BBADS7843 与 AVR 单片机 Atmega128 的硬件连接和驱动程序设计 触摸屏 ADS7843
触摸屏控制器驱动程序
驱动程序的编写与硬件的设计是直接相关 驱动程序是以上面所设计的硬件为基础的
根据 ADS7843 的 Datasheet ADS7843 的控
制字及数据传输格式 表 1 ADS7843 的控制字及数据传输格式 如表 1 其中 S 为数据 传输起始标志位 该 位必为 1 A2 ̄A0 进 行通道选择 M O D E 用来选择 A/D 转换的 精度 1 选择 8 位 0 选择 12 位 SER/ 选择参考电压的输入 模式 PD1 PD0 选择 图 4 ADS7843 和触摸屏连接图 省电模式 00 省电模式允许 在两次 A/D 转 换之间掉电 且中断允许 01 同 00 只是 不允许中断 10 保留 11 禁止省电模式
单片机最小系统设计如图2所示 低电压版 本的 Atmega 128 支持 3.3V 5V 两种供电电压 本系统采用 5V 供电 便于供电电压统一 晶振 采用常规直插晶振7.373800M 选用标准晶振的 目的主要是为了提高 USART 通讯波特率的准确 性 使单片机能够使用于比较高的通讯波特率 复位电路采用常规的 RC 复位 没有使用特殊的 复位器件 Atmega 128已经内置了看门狗 并且 可以通过编程使看门狗在程序启动前启动 即 上电后程序启动前 看门狗已经启动 这样系统 的可靠性可以得到保证 看门狗最高分频系数
ad_tem|=SPDR; ad_tem=ad_tem>>4; return(ad_tem); //返回的参数
} 不同的用户还需根据自己设计的系统,做一 个简单的四点校正程序 这样可以获得一个精 确度较高的触摸屏坐标体系
结语
本系统已经在国家重点建设项目扬州二电 厂工程 2 600MW 发电机组的自动化设备中得 到应用 共使用了 64 套 运行一年以来使用情 况良好
1.4V SNR 为 70dB 噪底约为 31.7nV/ P-P
下面一条曲线对应于 2V 输入 SNR 为 70dB P-P
的 ADC 该 ADC 的噪底约为 45.2nV/

图清楚地表示了接收
机噪声系数对这两种
不同 ADC 的影响 同
时还显示了
M A X 2 0 3 7 高达
29.5dB 的最大增益对
图2 单片机最小系统图
2007 年 5 月 29 日 收到修改稿
图1 触摸屏
触摸屏
如图1 典型触摸屏的工作部分一般由三部 分组成 两层透明的阻性导体层 两层导体之间 的隔离层 电极 阻性导体层选用阻性材料 如 铟锡氧化物(ITO)涂在衬底上构成 上层衬底用 塑料 下层衬底用玻璃 隔离层为粘性绝缘液体 材料 如聚脂薄膜 电极选用导电性能极好的材 料(如银粉墨)构成 其导电性能大约为 ITO 的 1000 倍
所以我们选择控制字 0x94-----X+输入得到Y AD值 0xe4----Y+ 输入得到 X AD 值 SPI初始化程序 voids pi_init(void) { SPCR = 0x53; //setup SPI SPSR = 0x00; //setup SPI } SPI主机传输函数 void SPI_MasterTransmit(char cData) { SPDR = cData; /* 启动数据传输 */ while(!(SPSR & (1<<SPIF))); /*等待传输
MAX1437 的噪底为 31.7nV/
当 TGC 增益
最大时 ADC 之前的系统(包括抗混叠滤波
器)增益为 42.5dB 此时 ADC 相对于接收器
输入的噪声只有0.237nV/ 在总共2.3dB的
接收机噪声系数中 ADC 仅占 0.18dB
V G A 的最大增益较低或 A D C 的噪底较高
时会出现什么情况 图 4 给出了 VGA 增益对图
为了完成一次电极电压切换和 A/D 转换 需要先通过串口往 ADS7843 发送控制字 转换 完成后再通过串口读出电压转换值 标准的一 次转换需要 24 个时钟周期 由于串口支持双向 同时进行传送 并且在一次读数与下一次发控 制字之间可以重叠 所以转换速率可以提高到 每次 16 个时钟周期 如果条件允许 CPU 可以 产生 15 个 CLK 的话(比如 FPGA 和 ASIC) 转换 速率还可以提高到每次 15 个时钟周期
在研发具有操作系统的设备时,高质量的设备驱动程序可以大大提高设备的稳定性与可靠性.本文以触摸屏控制器ADS7843为例,介绍了其内部结构、工作原理,并详细阐述了在L inux操作系统的设备文件系统机制中编写设备驱动程序的过程与方法,同时给出基于PXA255微外理器的触摸屏控制器ADS7843中断方式的驱动程序.
距离关系 知道该处 的X坐标 然后 将电 压切换到底层电极 (Y+,Y )上 并在顶 层测量接触点处的电 压 从而知道 Y 坐标 四线制电阻触摸屏也
图3 单片机和触摸屏控制器连接图
是目前最常用的触摸屏产品 本系统中选用 AMT9502
触摸屏控制器硬件设计
Atmega128 单片机是Atmel公司的8位RISC 单片机 片内有 1 2 8 K f l a s h 4 K R A M 4 K EEPROM 两个可编程的 USART 1 个可工作在 主机/从机的SPI串行接口 此外还有丰富的I/O 接口 8 通道 10 位分辨率 ADC 转换器等硬件资 源
参考文献 1. 金春林等编著 AVR 单片机 C 语言编程实例 清华大学出版社 2. BBADS7843 Datasheet www.ti.com
96
图4 图3所示超声接 收机的噪声系数与 VGA 增益的关系曲线
L N A V G A 和 A D C 噪声指标下 本例中整个
接收机系统的噪声系数大约为 2 . 3 d B
接收机噪声系数的改善 V G A 的最大增益较低时 会使 T G C 增益
最大时的接收机总体噪声系数增大 同时还会 降低小信号多普勒检测灵敏度 合理选择低噪 底的 ADC 例如 MAX1437 以及最大增益较 高的 VGA 如 MAX2037 可明显改善噪声系 数
结语
关注 VGA 输出参考噪声 最大 VGA 增益 抗混叠滤波器衰减以及 A D C 噪声对接收机动 态范围和噪声系数的影响十分必要 有助于优 化超声接收机的灵敏度 利用 MAX2037 VGA 优化并合理平衡输出参考噪声和最大增益 使 其满足 12 位 ADC (例如 MAX1437)的性能要求 从而得到最佳的超声接收机指标
3 所示典型超声接收机的小信号噪声系数的影
响 假设接收机系统采用增益为19dB的低噪声
超声 LNA 和衰减为 6dB 的抗混叠滤波器 我们
分别绘出了采用两种不同噪底的 A D C 时所对
应的噪声系数曲线图 图中上面一条曲线对应
于 M A X 1 4 3 7 M A X 1 4 7 3 的最大输入电压为
参考文献(2条) 1.金春林 AVR单片机C语言编程实例 2.BBADS7843 Datasheet
相似文献(10条)
1.期刊论文 李外云.胡文静.刘锦高.LI Wai-yun.HU Wen-jing.LIU Jin-gao 基于PXA255的触摸屏控制器ADS7843驱动程序设计 -电子器
件2005,28(1)
ADS7843是TI公司的触摸屏控制器芯片 专 门应用于四线电阻式触摸屏 最高达到 125K 的 转换率 8 位或者 12 位可编程精度 外部参考电 压范围从 1V 到 VCC 均可 VCC 最高电压为 5V 高速低功耗使得 ADS7843 非常适合于使用电阻 触摸屏的手持设备 宽温度设计使得它很适用 于大量的工业现场
9 8 电子产品世界 2007.7
栏目编辑 韩汝水
Design
Field
设计


是2048K 最小分频系统是16K 系统中PB0(SS) 已经直接接到+5V 这样硬件配置了单片机为主 机 下面所有外挂的均为从机 本系统外挂只有 一个就是 ADS7843 单片机和触摸屏控制器连 接如图3所示 PB1(CLK) 为SPI时钟 PB2(MOSI) 为SPI主机输出从机输入 PB3(MISO)SPI主机输 入从机输出 这三根线为 SPI 总线
1 0 0 电子产品世界
单片机扩展触摸屏人机接口的应用实例
作者: 作者单位: 刊名:
英文刊名: 年,卷(期): 引用次数:
王爱华 杭州电子科技大学
电子产品世界 ELECTRONIC ENGINEERINGቤተ መጻሕፍቲ ባይዱ& PRODUCT WORLD 2007,""(7) 0次
ADS7843 连接触摸屏的示意图如图 4 所示 触摸屏是一个四线电阻屏幕 可以示意出 两个电阻 测量 X 方向的时候 将 X+,X- 之间加 上参考电压 Vref Y- 断开 Y+ 作为 A/D 输入 进行 A/D 转换获得 X 方向的电压 同理测量 Y 方 向的时候 将Y+ Y-之间加上参考电压Vref X- 断开 X+ 作为 A/D 输入 进行 A/D 转换获得 Y 方向的电压 之后再完成电压与坐标的换算 整 个过程类似一个电位器 触摸不同的位置分得 不同的电压 以上所需要的加参考电压断开 A/D 转换等 工作都是 ADS7843 直接完成的 只需要将相应 的命令传输到 ADS7843 即可 等待转换周期完 成 检测到 BUSY 信号不再忙 即可以获得相应 电压的数据 此外 PENIRQ 一般需要一个上拉电阻 因为 ADS7843 是一个 OC 门输出结构 本系统中直接 使用 Atmega 128 内部的上拉电阻 单片机中断 系统中将 INT0 分配给触摸屏控制器 并且设定 成低电平触发 这样可以检测按键时间 可以用 按键长短处理不同的功能
相关主题