嵌入式Linux中触摸屏驱动的设计与实现
基于嵌入式Linux的TFT LCD IP及驱动的设计

{ 因版 面有限 ,本文 已做部 分删 节 ,完 整 版 请 登 陆 W W. p c r. W e w. n c e o n查 闽1
维普资讯
I 目辑 l 怡 莫欣 栏 编
FF IO模块实现
画
。 Ae 国大学生电子设计竞赛 lr中 ta
高校 园
处开始读取数据 ,并按照 T 的格式输出。图 实现 f 中各模块 由 A ao u 连接在一起。A ao v lnB s v ln AvlnB s MA Matr ao u D s 负责按照控制模 e
B s 一种 简单 的 总 线 结构 ,N o 处理 器 和 块的指令 ,读取 S AM 中的数据 ,并写入到 u是 is I I DR
4 0×2 ye, G 5 5 i存入帧缓冲 , 8 B ts R B 6 ,1bt 6 ) 然 用于控 制 L D控 制器的工作和指示其 工作状 C 后将帧缓冲的首地址写入到L D控 制器 , C 并启 态 。
动 L D控 制器 。 控 制器 自动从 传 来 的首 地 址 C 该
A ao u A Ma tr v lnB sDM se主设备接 口模块
各种外设都是通过 A a nB s 接在一起。由 FF 中 ,其 核 心 部分 是 D A地址 累加 器 。 当 vl u 连 o IO M
图 1 以 看 出 , 为 Sae的 S A C n ol 条 件 满 足 时 ,地 址 累加 器 开 始 在 10 z 时 可 作 l r DR M o t l r v r e 0 MH 的 分 别要 受 到 Poesr C o t l r 控 制 , 钟 下 以 4 为 单 位 开 始 累 加 用 于 生 成 读 取 rc s 和L DC n ol 的 o r e
嵌入式Linux中NVRAM的实现方案及驱动设计

162010,31(1)计算机工程与设计Computer Engineering and Design0引言NVRAM (non-volatile random access memory ,非易失性随机访问存储器)是广泛应用于网络路由器的一种存储器件。
它如同PC 上的CMOS ,作用是存放路由器的配置参数。
目前常见的NVRAM ,大都是静态SRAM ,即带有备用电源的SRAM ,它的实现最简单,同普通内存操作一样。
但是在实际应用中,不是所有的开发板都配备有静态SRAM 。
在这种情况下,如果使用该方案开发网络路由器,重新加入配备电源的SRAM 必须要重新排版,布线。
开发周期与开发成本将会大大增加。
因此,可以考虑在现有的硬件资源基础上,通过新的方式来实现NVRAM [1]。
本文就是以神州龙芯开发的CQ8401开发板为硬件平台,在自行裁剪和移植的嵌入式Linux 平台下,利用Nor Flash 来实现网络路由器的NVRAM 功能。
1NVRAM 新的实现方案分析由于NVRAM 仅用于保存启动配置文件(Startup-Config ),故其容量较小,通常在路由器上只配置32KB~128KB 大小的NVRAM 。
配备电源的SRAM 速度较快,是目前读写最快的存储设备,而成本也比较高。
一般的开发板所配备的Nor Flash空间足够大,在系统性能得到满足的前提下,可以把Nor Flash 分出一个区来当作NVRAM 使用。
SRAM 和Nor Flash 的对比分析,如表1所示。
网络路由器中的NVRAM 用于存放配置参数。
正常启动路由器后,NVRAM 中的内容会拷贝到内存一份,我们对路由器的设置实际上就是修改内存中的参数。
所以内存和NVRAM 中的内容可以不一样,直到使用write memory 将内存设置保存到NVRAM 。
在系统起来以后,我们可以根据需要修改配备参收稿日期:2009-07-17;修订日期:2009-09-18。
触摸屏程序设计

5.实验原理
S3C2410A微控制器内嵌了一个 S3C2410A微控制器内嵌了一个ADC和触摸屏接口,只需要在微控 微控制器内嵌了一个ADC和触摸屏接口 和触摸屏接口, 制器外部外接少量器件,就可以与触摸屏相连,实现触摸功能。 制器外部外接少量器件,就可以与触摸屏相连,实现触摸功能。 Linux操作系统中 该控制器对应的字符型驱动源文件为: 操作系统中, 在Linux操作系统中,该控制器对应的字符型驱动源文件为: s3c2410-ts.c,将该驱动编译为模块后,生成驱动模块:s3c2410ts.ko。 s3c2410-ts.c,将该驱动编译为模块后,生成驱动模块:s3c2410ts.ko。 使用该驱动模块时,只须将该模块用insmod命令插入到内核中即可 命令插入到内核中即可。 使用该驱动模块时,只须将该模块用insmod命令插入到内核中即可。 该模块插入内核后,自动在Linux的 该模块插入内核后,自动在Linux的/dev/目录下创建节点 touchscreen。 touchscreen。 对触摸屏设备的操作除了打开设备、关闭设备操作以外, 对触摸屏设备的操作除了打开设备、关闭设备操作以外,一般 只有读操作。读操作读取触摸屏的触点座标值及动作信息, 只有读操作。读操作读取触摸屏的触点座标值及动作信息,读取结 果保存在一个结构体变量中,该结构体的定义如程序清单1所示。 果保存在一个结构体变量中,该结构体的定义如程序清单1所) 启动MagicARM2410实验箱上的Linux,进行NFS连接,进入触摸屏驱动所 启动MagicARM2410实验箱上的 实验箱上的Linux,进行NFS连接 连接, 在目录,先插入触摸屏驱动模块, 目录,运行应用程序, 在目录,先插入触摸屏驱动模块,然后进入touchscreen目录,运行应用程序, 查看运行结果。 查看运行结果。
嵌入式Linux中NVRAM的实现方案及驱动设计

Abtat h ai t no a p raho N A ,a dtd s no diei e mbd e iu vrn n ae n h Q80 s c:T e el a o f poc f VR M r r zi a n s ei f r rn h eddLnxe i met sd e i g v t e n o b o t C 41
a dte euts e t . T es l ini i l ne ue t Q 4 1 e e p o r d o g o s l . n sl i t e h u o e tdi r t wi C 8 0 v l ad n t o dr ut h r s d o t s mp me no r h d o b a g e s
1 6 2 1, 1 00 1() 3
计 算 机 工程 与设 计 C m u r ni en d e g o pt E g e i a D s n e n r gn i
・嵌 入 式 系统 工程 ・
嵌入式 Ln x N R M 的实现方案及驱动设计 i 中 V A u
徐 立 松 , 郭 晓 金
中 图法分 类号 :P l. T 312 5
文献标识码 : A
文章 编号 :0 072 (0 0 0 。 60 10 —0 4 2 1) 10 1.3
Re l ai n o ai to f z NVRAM r g a a d i rv r e in i mb d e i u p o r m n sd i e s e e d d L n x t d g n
( 庆邮 电 大学 通信 与 测试技 术重 点 实验 室 ,重 庆 4 0 6 ) 重 0 0 5
linux设备驱动程序的设计与实现

linux设备驱动程序的设计与实现
Linux设备驱动程序的设计与实现是一个涉及底层系统编程和硬件交互的复杂过程。
下面是一个简单的步骤指南,以帮助你开始设计和实现Linux设备驱动程序:
1. 了解硬件:首先,你需要熟悉你要驱动的硬件设备的规格和特性。
这包括硬件的内存空间、I/O端口、中断请求等。
2. 选择驱动程序模型:Linux支持多种设备驱动程序模型,包括字符设备、块设备、网络设备等。
根据你的硬件设备和需求,选择合适的驱动程序模型。
3. 编写Makefile:Makefile是一个文本文件,用于描述如何编译和链接你的设备驱动程序。
它告诉Linux内核构建系统如何找到并编译你的代码。
4. 编写设备驱动程序:在Linux内核源代码树中创建一个新的驱动程序模块,并编写相应的C代码。
这包括设备注册、初始化和卸载函数,以及支持读写和配置硬件的函数。
5. 测试和调试:编译你的设备驱动程序,并将其加载到运行中的Linux内核中。
使用各种测试工具和方法来验证驱动程序的正确性和稳定性。
6. 文档和发布:编写清晰的文档,描述你的设备驱动程序的用途、用法和已知问题。
发布你的代码以供其他人使
用和改进。
嵌入式Linux中触摸屏驱动程序的设计

1 引盲 嵌入式Li n u x 是一种开放源码、软实
义的人口 点来进行。 通常, 字符设备驱动程序 能提供如下人口 点: 1为 价入口点。 , 打开设备准备1 0 操作。 / ) l e 2 c os 入口 点。关闭一个设备。 ) e 3 r ad 入口点。从设备上读数据。 ) i e 4 wr t 入口 点。往设备上写数据。 5) o U入口 执行读、写 ic 点。 之外的操作, 实现对设备的控制。 6冲le t 人口 检查设备, c 点。 看数据是否可 读或设备是否可用于写数据。 3. 2 设备的添加和删除 添加设备: 在Li n u x 系统中, 通过调用
T 技 术
SC〔r心 〔 & 下 0 日 工 OG Y 叭 日 I ON 〕 〔 峨 「0 MAT
嵌入式 L I nΒιβλιοθήκη UX中触摸屏驱动程序的设计
4, ) 0003
杨凤年 何文德 黄彩谁 (长沙学院计算机科学与技术系 湖南长沙
摘 要: 简要介绍了L n u x 设备驱动程序的概念、分类、基本工作原理和关键技术, i 以及嵌人式系统中常用的电阻式触摸屏的组成和 工作原理。给出了基于嵌人式L n u x 的触摸屏设备驱动程序的设计和实现方法。 i 关键词:嵌入式系统 L nux 驱动程序 触摸屏 i 中图分类号:T P 3l l . 52 文献标识码: A 文章编号: 1672一 1(20 7)0 (a)一 379 0 6 0135一 02 点处的电压, 从而知道接触点处的坐标。 对触摸屏的控制有专门的芯片, 本文采用 时、多任务的操作系统, 是开发嵌人式产品的 Bu 一 犷 r Bro, n公司生产的触摸屏专用接口 芯片 优秀软件平台, 是在标准Li u 基础上针对嵌 ADS7843。它有两个主要功能: 一、完成电 nx 极 入式系统进行裁减和优化后形成的, 因此它具 电压切换, 二、采集接触点处的电压值, 并进 和纵向导体层之 有Li u 的基本性质。在Li u 系 nx nx 统中, 设备 行A/ D 转换。对电压的横向 驱动程序对用户程序隐藏了 设备的具体细节, 间的切换以及A/ D 转换, 需要先由 微处理器 4 X 或普通1/ 0 口 把设备映射为一个特殊的设备文件, 用户程序 (S3C4 BO )通过510 串行接口 可以像对其他文件一样对设备文件进行操作。 向ADS7843 发送控制字, D 转换完成后, A/ 因此, 对设备文件的操作实质就是对设备的操 微处理器再通过5 0 串行接口 1 或普通1 0 口 / 作。 n u 中的设备可以分为三类:字符设备, 读出 A / D 转换值 。微处理器通过 中断 Li x 块设备和网络设备。其中, 字符设备没有缓冲 (EXINT2 与触摸屏交换数据, ) 触摸屏模块的 区, 以字节为单位顺序处理数据。常见的字符 硬件连接如图1所示。 其中 脚X + , + , 管 Y X 设备有普通打印机、系统的串口、 终端显示 一, 一 Y 与触摸屏连接, PFS、 PF6、 PF7、 S F P 器、 嵌入式设备中的简单按键、 触摸屏、 手写 和EXINTZ与微处理器的 相应管脚连接。
基于ARM-Linux的触摸屏驱动及其应用研究

口及 图形界面 的应用 。
[ 关键词 ]A M一 i x iG I 设 备驱动 R ,n ;mn U; Lu i
[ 中图分类号]T31 P9
【 文献标识码]A
2 系统 设计 与 实现
下 面对 系统 的主要 三个方 面进 行介 绍 , 即触摸 屏驱动 模型 、 iiU 的移 植和 图形界 面应 用 。 mn I G
2 1 基于 A — i x . M R L u 的触摸屏驱动模型 n “ u 系统的一大特点是支持 内核模块的动态加载及卸载[ 从而通过一系列离散的模块来完成各种功 nx 引,
一
起, 完成整个输入输出设备的功能, 因此 , 在图中以硬件部分作为一个整体来描述。
涉及的触摸屏部分主要函数如下 :
・
31 ・
v i u h od t c o
[ 文章编号]10 —1 X 21)3 03 一 4 08 7 (010 — 00 o 8
嵌入式系统在 当今社会信息生活中的作用越来越大, 各种便携式嵌入式平 台进入到人们生活的各个方面 , P A 笔记本、 D、 智能手机等众多消费类电子产品都开始采用触摸屏作为输入设备。触摸屏设备具有优越 的人机 交互特性 , 操作方便灵活 , 输入速度快 , 因而在工控等领域也获得了广泛的应用。嵌入式 L u i x系统 因其成本 n
l 系统 总体 框 架
整个 系统硬件由一块基于 A M 核心 的嵌入式平台 ¥C40 C M R9 3 2 1、 D A模块、 M 00以太网卡和触摸屏组 D 90
成 , 件 结构 如 图 1 示 。¥C 40核 心板 包 括 A M 2T P 、4 B内存 、6 B L S 硬 所 321 R 90 C U 6M 1M F A H存 储 器 、 扩接 口包 括 外
触摸屏嵌入式实训报告

一、引言随着科技的不断发展,触摸屏技术在各个领域的应用越来越广泛。
为了提高我们的实践能力,我们参加了为期一个月的触摸屏嵌入式实训。
通过本次实训,我们学习了触摸屏的工作原理、驱动开发以及实际应用,现将实训过程及心得体会总结如下。
一、实训内容1. 触摸屏基础知识实训首先介绍了触摸屏的工作原理、分类、特点等基础知识。
我们了解到,触摸屏按工作原理分为电阻式、电容式、红外式等;按安装方式分为表面安装、嵌入式安装等。
2. 触摸屏驱动开发实训过程中,我们学习了触摸屏的驱动开发。
以Linux操作系统为例,我们掌握了以下内容:(1)硬件平台搭建:包括触摸屏模块、控制器、PCB板等硬件设备的选择与连接。
(2)驱动框架搭建:了解Linux内核中的触摸屏子系统,包括输入子系统、设备树、驱动框架等。
(3)触摸屏驱动编写:通过学习触摸屏硬件手册,我们了解了触摸屏的接口、寄存器、中断等,并编写了触摸屏驱动程序。
3. 触摸屏实际应用实训最后,我们学习了触摸屏在实际项目中的应用。
以一个智能家居项目为例,我们学习了以下内容:(1)需求分析:分析项目需求,确定触摸屏的功能模块。
(2)硬件选型:根据项目需求,选择合适的触摸屏模块和控制器。
(3)软件开发:编写触摸屏驱动程序,实现触摸屏功能。
(4)系统集成:将触摸屏集成到智能家居项目中,实现人机交互。
二、实训收获1. 提高了动手能力:通过实际操作,我们掌握了触摸屏硬件搭建、驱动开发、系统集成等技能。
2. 深化理论知识:实训过程中,我们对触摸屏基础知识、驱动开发、实际应用等方面有了更深入的了解。
3. 培养团队协作能力:实训期间,我们分组进行项目开发,培养了团队协作精神。
4. 增强了创新意识:在实训过程中,我们不断思考、解决问题,提高了创新意识。
三、实训心得1. 理论与实践相结合:本次实训使我深刻认识到,理论知识是实践的基础,实践是检验理论的唯一标准。
只有将理论与实践相结合,才能更好地掌握知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
input_report_abs(dev, ABS_Y, yp); input_report_key(dev, BTN_TOUCH, 1); input_report_abs(dev, ABS_PRESSURE, 1); /* 事件同步,组成 evdev 包提交 */ input_sync(dev); } /* 设置触摸屏控制器为自动 X/Y 轴坐标转换 模式 , 自动地进行 X 轴和 Y 轴的转换操作,转换 完成后产生 INT_ADC 中断通知转换完毕 */ 代码省略… } else { count = 0; /* 如果触摸笔是弹起状态,则提出报告,并 让触摸屏处于等待触摸的阶段 */ input_report_key(dev, BTN_TOUCH, 0); input_report_abs(dev, ABS_PRESSURE, 0); input_sync(dev); /* 设置触摸屏为等待中断模式,等待触摸笔 按下 */ iowrite32(WAIT4INT(0), base_addr+S3C2410_ ADCTSC); } }
图1
S3C2440 ADC和触摸屏接口结构
2 输入子系统体系结构简介
设备驱动程序 [2] 在 Linux 内核中占很重要地 位,设备驱动以内核模块方式实现,可动态加载 和卸载。Linux 设备驱动的实现只需根据内核提供 的一组相关数据结构和驱动接口标准,完成关键 数据结构初始化和回调函数的编写。对字符设备 驱动内核提供cdev数据结构和file_operations结构 体及操作方法,实现字符设备驱动只需完成 cdev 的初始化、 file_operations 中操作函数的实现并向
收稿日期:2010-12-15 作者简介:周德荣(1978-),男,四川梓潼人,讲师,硕士,研究方向为计算机网络、嵌入式系统。 【144】 第33卷 第2期 2011-2(下)
内核注册。 Linux 输入子系统是对物理形态各异的功能相 似的输入设备的抽象,是内核中字符设备驱动接 口的封装。输入子系统由设备驱动层、核心层和事 件处理层构成。设备驱动层提供对硬件各寄存器的 读写访问和将底层硬件对用户输入访问的响应转 换为标准的输入事件,通过核心层提交给事件处 理层;核心层对设备驱动层提供编程接口,对事 件处理层的也提供编程接口;事件处理层为用户 空间的应用程序提供了统一访问设备的接口和驱 动层提交来的事件处理。基于输入子系统设计驱动 时要实现设备驱动层的驱动和事件处理层的驱动, 而输入子系统在事件处理层为触摸屏提供标准的 事件接口,所以只要须完成设备驱动层的驱动, 即硬件寄存器的操作和提交输入事件信息 [3]。基于 输入子系统的设备驱动层驱动的实现过程如下: 1) 驱动模块加载函数中设置输入设备支持输 入子系统的事件; Linux 内核用 input_dev 代表一 个输入设备,对于触摸屏通过对 input_dev 实例的 evbit[0] 的设置来支持同步 (EN_SYN)、按键 (EN_ KEY) 和绝对坐标 (EV_ABS) 事件。 2) 通过内核提供的input_register_device() 函 数向输入子系统注册输入设备。 3) 输入设备发生输入操作时提交所发生的事 件及对应键值或坐标等状态信息。触摸屏使用输 入子系统提供的通用输入事件驱动程序 Evdev, 将 事件信息打包成 Input_event 类型进行报告。
ts_timer_fire() 是主要完成触点坐标信息向 应 用 层 报 告。updown、count 为 静 态 全 局 变 量, updown 触点状态, count 代表 1 个 jiffies 时间内 ADC 转 换 的 次 数,count 为 0, 设 置 自 动 X/Y 轴 坐标转换模式,转换完成后产生相应的 INT_ADC 中断通知转换完毕。count 不为 0,input_report_ abs() 函数向输入子系统报告 x,y 绝对坐标事件, input_report_key()触摸屏对应按键被按下事件,输 入子系统使用 input_sync() 将报告的事件组成一个 evdev 包,通过 /dev/input/eventX 发送出去,应用 程序通过读取 /dev/input/eventX 即可获得事件信 息。关键代码如下: static void ts_timer_fire(unsigned long data) { if (updown) {/*updown 为 1,触点被按下,为 0 否则抬起 */ if (count != 0) { /* 报告 x,y 绝对坐标值,触摸屏对应按键被 按下,触摸屏的状态 */ input_report_abs(dev, ABS_X, xp);
第33卷 第2期 2011-2(下) 【145】
3 Linux触摸屏驱动的实现
3.1 触摸屏触点数据采集 S3C2440 触摸屏控制器有四种工作模式 [4], 通 过 读 写 ADCTSC、ADCDAT0、ADCDAT1 和 ADCDLY 寄 存 器 完 成 触 摸 屏 控 制 器 工 作 模 式 的 选择和触摸屏触点数据采集。由于触摸动作时间 的随机性,驱动设计时选择中断工作方式。设置 ADCTSC 寄存器为 0xD3 使触摸屏控制器进入等待 中 断 模 式, 设 置 ADCDLY 采 样 延 迟 时 间。 当 触 摸 屏被按下,触摸屏控制器将产生 INT_TC 中断;在 INT_TC 中 断 处 理 程 序 中, 设 置 ADCTSC 寄 存 器 为 0x0C, 触摸屏控制器切换为自动 X/Y 坐标转换模式, 将自动转换触点对应的 x,y 坐标值,并分别写入 ADCDAT0 寄 存 器 和 ADCDTA1 寄 存 器, 发 出 INT_ ADC 中 断 表 示 ADC 转 换 完 成; 进 入 INT_ADC 中
断 处 理 程 序 读 取 ADCDAT0 寄 存 器 和 ADCDTA1 寄 存器中坐标数据并进行相应转换,数据采集后重新 设置 ADCTSC 寄存器为 0xD3 使触摸屏控制器进入 等待中断模式,等待触摸屏被按下。 3.2 驱动初始化模块 Linux 驱动程序以内核模块方式加载运行。实 现驱动加载函数 s3c2440ts_init () 并通过 module_ init(s3c2440ts_init)向内核注册。 在驱动加载函数 主 要 完 成: 启 用 ADC 所 需 要 的 时 钟、 映 射 IO 地 址、初始化 ADC 和触摸屏控制器相关的寄存器、 申请 INT_TS 和 INT_ADC 中断、初始化输入设备、 将输入设备注册到输入子系统。关键代码如下: /* 初 始 化 ADC 控 制 寄 存 器 和 ADC 触 摸 屏 控 制寄存器 */ adc_initialize(); input_dev = input_allocate_device(); /* 设置触摸屏支持的事件 */ dev->evbit[0] = BIT(EV_SYN) | BIT(EV_KEY) | BIT(EV_ABS); /* 设置所支持的按键 */ dev->keybit[BITS_TO_LONGS(BTN_TOUCH)] = BIT(BTN_TOUCH); /* 设置绝对坐标 x、 y 的最小最大值 (0-0x3FF)*/ input_set_abs_params(dev,ABS_X,0,0x3FF,0,0); input_set_abs_params(dev,ABS_Y,0,0x3FF,0,0); input_set_abs_params(dev,ABS_ PRESSURE,0,1,0,0); /* 申请触摸屏中断,触摸屏按下或提笔时触 发 */ request_irq(IRQ_TC,tc_irq,IRQF_SAMPLE_ RANDOM,"s3c2440_ts",1); /* 申请 ADC 中断,AD 转换完成后触发 */ request_irq(IRQ_ADC,adc_irq,IRQF_ SHARED|IRQF_SAMPLE_RANDOM,"s3c2440_ts",1); /* 注册触摸屏输入设备 */ input_register_device(dev); 3.3 中断处理程序及事件报告 用户对触摸屏进行按下、抬起和拖动等操作 时,触发中断 INT_TS,内核进入到中断处理函数 tc_irq () 进行中断处理。 tc_irq () 中,通过 ADC_ LOCK 锁 机 制 保 证 只 有 一 个 驱 动 程 序 使 用 ADC 的 中 断 线, 通 过 读 取 ADCDAT0 和 ADCDAT1 寄 存 器,判断触摸操作的状态,触摸笔按下时调用 ts_
AVDD AGND Pullup XP XM YP YM
(note) (note)
ةఄೡ
8:1 MUX
A/Dገ࣑ഗ
ADCথ੨ ' ةఄೡ
A[3:0] ADC੦ ځڪዐఇ๕
INT_ADC ׂิዐ INT_TC
1 硬件平台
S3C2440 是 三 星 公 司 推 出 的 采 用 ARM920t 内 核 的 MCU, 集 成 了 丰 富 的 外 围 设 备, 其 中 包 括 4 线 电 阻 式 触 摸 屏 控 制 器 和 8 通 道 多 路 复 用 ADC。 触摸屏由触摸检测部件和触摸屏控制器构成,对 应 S3C2440 平台的四线电阻触摸屏的外接电路和 S3C2440 芯片自带的 A/D 转换控制部分。四线电 阻触摸屏的外接电路控制上下两层导电层的通断 情况以及如何取电压,取电压之后由 S3C2440 芯 片中的 A/D 将模拟量转换成数字量。S3C2440 芯 片 的 A/D 转 换 器 有 8 个 输 入 通 道, 转 换 结 果 为 10bit 数字,转换过程在芯片内部自动实现,转
换的结果从寄存器中取值,再进行一定的转后可 直 接 得 到 触 摸 点 的 坐 标。S3C2440 提 供 的 ADC 和 触 摸 屏 接 口 如 图 1 所 示, 触 摸 屏 直 接 与 引 脚 XP,XM,YP 和 YM 连 接, 对 触 摸 屏 两 个 导 电 层 的 通 断 通 过 XP,XM,YP 和 YM 4 个 引 脚 控 制。 通 过 读写指定的特殊寄存器,S3C2440 的触摸屏控制 器将自动控制触摸屏接口打开或关闭,按指定操 作模式完成触点数据的采集。