21世纪地产28日在美国上市,高盛、摩根士丹利担任主承销商
06-18
1 简介 21世纪,计算机进入了充满机遇的新后PC时代,人们越来越多地接触到嵌入式的概念。
S3c是韩国三星公司生产的基于ARM的16/32位微控制器ARMT内核的RISC微处理器。
主频可达MHZ[1]。
S3c凭借其卓越的性能和良好的可扩展性,为手持设备和通用应用提供低价、低功耗、高性能的小型嵌入式微控制器解决方案,可应用于智能手机、数码相机、信息家电、PDA、移动终端、GPS等领域。
Linux操作系统具有成本低廉、支持多种硬件平台、源代码开放、内核可定制、性能优良、网络支持良好等优点。
Linux遵守GPL协议,可以在GNU精神下任意修改和裁剪其内核,并且使用了许多GNU开源软件,从而降低了项目的开发成本。
嵌入式Linux继承了Linux的所有优点,成为嵌入式开发中最常用的操作系统之一。
触摸屏因其操作简单、方便灵活、便于携带、占用空间小、操作界面友好等特点,已逐渐取代键盘和普通显示器,成为人机交流的新平台。
本文将讨论S3c平台下Linux操作系统中触摸屏驱动的研究与开发。
2硬件系统组成 2.1触摸屏原理 本文采用的是四线电阻式触摸屏,采用压力传感进行控制。
电阻式触摸屏的主要部分是电阻膜屏,非常适合显示面。
这是一种多层复合薄膜。
它采用一层玻璃或硬塑料板作为基层,表面镀一层透明氧化物金属(透明导电电阻)导电层,外表面覆盖一层硬化处理,光滑、耐刮擦塑料层。
其内表面还涂有一层涂层。
它们之间有许多小的(小于1/英寸)透明隔离。
用绝缘体将两个导电层分开。
当手指触摸屏幕时,两个导电层在触摸点接触,电阻发生变化,并在X和Y方向产生信号,然后发送到触摸屏控制器。
控制器检测到此接触并计算 X 和 Y 位置,然后表现得像模拟鼠标一样。
这就是电阻式技术触摸屏最基本的原理[2]。
四线电阻模拟技术的两个透明金属层在每层添加 5V 恒定电压的情况下工作:一层垂直,一层水平。
总共需要四根电缆。
四线电阻式触摸屏具有高分辨率、高速传输响应、表面硬度处理、减少擦伤、划痕和防化学处理。
具有表面光滑、哑光处理、一次性校正、稳定性高、永不漂移等特点[3]。
2.2S3c芯片介绍 S3c是三星公司开发的16/32位微处理器。
S3c采用ARMT内核,主频高达MHZ。
它为开发者提供了丰富的内部器件(见图1):独立的16KB指令Cache和16KB数据Cache、MMU虚拟内存管理、LCD控制器(支持STN&TFT)、支持Nand Flash系统启动、系统管理器(片选逻辑和SDRAM)控制器)、3通道UART、4通道DMA、4通道PWM定时器、I/O端口、RTC、8通道10位ADC和触摸屏接口、IIC-BUS接口、USB主机、USB设备、SD主卡-MMC卡接口,2通道SPI和内部PLL时钟倍频器[4]。
图1 S3C系统框架 2.3S3c触摸屏控制器 S3C具有10位CMOS模数转换器(ADC),具有8通道模拟输入。
它将输入的模拟信号转换为 10 位二进制数字代码。
在A/D转换器时钟为2.5MHz时,最大转换速率可以达到KSPS。
A/D 转换器支持片上采样和保持功能并支持掉电模式。
S3C的AIN[7]和AIN[5]用于连接触摸屏的模拟信号输入。
触摸屏接口电路一般由触摸屏、4个外部晶体管和外部电压源组成。
触摸屏接口(nYPON、YMON、n??XPON 和 XMON)的控制和选择信号连接到切换 X 坐标和 Y 坐标转换的外部晶体管。
模拟输入引脚(AIN[7]、AIN[5])连接到触摸屏引脚[5]。
触摸屏控制接口包括外部晶体管控制逻辑和带中断生成逻辑的 ADC 接口逻辑(见图 2)。
2.4 触摸屏界面工作模式 2.4.1 普通转换模式 普通转换模式用于一般用途的ADC转换。
该模式可以通过设置ADCCON和ADCTSC来初始化AD转换;然后读取ADCDAT0的XPDATA字段的值来完成转换。

2.4.2 独立X/Y 轴坐标转换模式 独立X/Y 轴坐标转换模式可分为两个转换步骤:X 轴坐标转换和Y 轴坐标转换。
每个过程都是独立完成的。
2.4.3 连续X/Y轴坐标转换模式 触摸屏控制器会自动切换X轴坐标和Y轴坐标,并读取两个坐标轴方向的坐标。
2.4.4 中断模式 静态模式实际上是在等待触摸笔点击。
当触摸笔点击触摸屏时,控制器产生中断信号。
中断产生后,可以通过设置适当的转换模式来读取X和Y位置。
2.4.5 静态(待机)模式 当ADCCON 寄存器的STDBM 位置1 时,待机模式被激活。
该模式下,A/D 转换操作停止,ADCDAT0 寄存器的 XPDATA 字段和 ADCDAT1 寄存器的 YPDATA 字段保持上次转换获得的值。
图2 S3c与四线电阻式触摸屏连接电路原理图 3Linux系统中触摸屏驱动的实现 Linux操作系统将硬件设备视为一般文件。
我们可以访问我们想要使用的设备的设备文件。
在Linux操作系统中,设备文件分为字符设备和块设备,触摸屏属于字符设备[6]。
字符设备是指在I/O传输时以字符为单位传输字符的设备。
当字符设备与主机硬件连接时,必须为该设备创建一个特殊的字符文件。
设备与驱动程序通信的方式取决于硬件接口。
当设备上的数据传输完成时,硬件通过总线发送中断信号,使系统执行中断处理程序。
中断处理程序和设备驱动程序共同完成数据传输的底层控制[7]。
3.1 屏幕驱动模块的初始化 S3c触摸屏驱动模块的加载和卸载是通过加载函数module_init(s3c_ts_init)和卸载函数module_exit(s3c_ts_exit)来实现的。
主触摸屏模块初始化流程如下: Ret=register_chrdev(0, DEVICE_NAME, &s3c_fops); //调用register_chrdev()向系统申请,系统动态分配一个主给驱动的设备号 set_GPIO_mode (GPIO_nYPON_MD); set_GPIO_mode (GPIO_YMON_MD); set_GPIO_mode (GPIO_nXPON_MD); set_GPIO_mode (GPIO_XMON_MD); //设置IO口为YM,YP YM ret=request_irq(IRQ_ADC_DONE, s3c_isr_adc, SA_INTERRUPT, DEVICE_NAME, s3c_isr_adc); //设置IRQ_ADC_DONE中断,触摸屏按下时触发。
中断处理函数为s3c_isr_adc ret=request_irq(IRQ_TC, s3c_isr_tc, SA_INTERRUPT, DEVICE_NAME, s3c_isr_tc); //IRQ_TC中断设置,触摸屏释放时触发。
中断处理函数为 s3c_isr_tc devfs_tsraw=devfs_register (devfs_ts_dir, "0raw", DEVFS_FL_DEFAULT , tsMajor, TSRAW_MINOR, S_IFCHR|S_IRUSR|S_IWUSR, &s3c_fops, NULL); //设备驱动注册 静电打击文件操作 s3c_fops= { 所有者::THIS_MODULE; 打开::s3c_ts_open; 读取:s3c_ts_read; 发布:s3c_ts_release; 轮询: ; } //驱动和应用接口文件操作结构体s3c_fops的定义 static int s3c_ts_open (struck inode *inode, struct file *file) { tsdev.head=tsdev.tail=0; tsdev.penStatus=PEN_UP; #ifdef HOOK_FOR_DRAG init_timer (&ts_timer); ts_timer.function=ts_timer_handler; #endif TsEvent=tsEvent_raw; init_waitqueue_head(&(tsdev.wq)); MOD_INC_USE_COUNT; 返回0;} //初始化初始化打开设备时定时器 3.2 中断处理功能 主要是通过分别调用static void s3c_isr_adc(int irq,void *dev_id,struct pt_regs *reg)和static void s3c_isr_tc(int irq,void *dev_id,struct pt_regs *reg)中的s3c_get_XY()函数来实现。
3.3 触摸屏数据的读取、处理和传输 触摸操作时,有PEN_UP、PEN_DOWN、PEN_SAMPLE 三种工作状态。
当触摸屏动作发生时,PEN_DOWN动作启动,定时器开启处理数据。
收集,最终得到LCD的坐标[8]。
主要核心是函数 static inline void s3c_get_XY(void) 来获取坐标。
最终应用程序通过调用read()函数获取触摸屏数据,并将数据传递给应用程序。
count=tsRead(&ts_ret); if (count) copy_to_user(buffer,(char *)&te_ret,count); //读取触摸屏数据并传输给用户 四结论 本文简要介绍了四线电阻式触摸屏的工作原理和S3c的内部组成,并构建了S3c与四线电阻式触摸屏之间的接口电路,开发了Linux操作系统下的触摸屏驱动程序。
系统,并使其成功应用于现场测量检测工作,为现场检测工作提供了稳定、高性能、易于携带的嵌入式平台仪器。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-17
06-17
06-17
06-18
06-18
06-18
06-17
最新文章
PCBA质检员的日常工作内容
美国法院裁定VoIP不属于电信服务,需征税
雷达嵌入式工控主板如何使用?工控主板故障分析
摩托罗拉在西班牙促销Z8手机
中宇买下了一台三星机型,品牌和规模是合作的主要原因
舰载军用加固计算机热设计
谷歌开始对仍由HTC生产的谷歌手机进行内部测试
英国EE分享LTE发展经验教训,面临终端-语音-回传三大挑战