外文翻译

外文翻译
外文翻译

中文译文:

外文原文出处:《The design of touch screen driver based on Linux input subsystem and S3C6410platform》

作者:Liangfeng Fu, LinboXie, Zhigang Zhou

The internet of things Engineering Academy,Jiangnan University,Wuxi, china

摘要

在linux内核2.6或更高版本下,一种基于S3C6410平台和输入子系统的触摸屏驱动程序的开发。为了验证驱动功能,本文也做了它的测试。测试结果表明,触摸屏驱动程序可以正确地捕获触摸坐标信息和是否发生触摸事件的状态。此外,它还可以获得滑动的实时坐标接触状态。该触摸屏驱动程序可以很容易地应用在

嵌入式GUI系统如Android,QT,MiniGUI等。

关键词:输入子系统,S3C6410,驱动

1 简介

输入设备驱动程序的开发过程有其传统的方法,这种方法通常包含对设备操作函数集file_operations()结构中函数的定义和实现。例如、open()、read()、write()、ioctl ()、llseek()等等。然而,file_operations的实现往往占用了大量开发时间,也是一个容易出错的地区。为了避免做这项工作,本文设计了一个触摸屏基于Linux输入子系统和S3C6410驱动平台,并进行了详细的测试过程,验证了其功能。

2 分析Linux2.6内核的输入子系统

A输入子系统的分析

Linux内核在2.6版本引入了输入子系统的框架。这与其他子系统是同一个级别的。例如,文件系统、网络系统。输入子系统的引入能更有效地开发linux鼠标,键盘或触摸屏等驱动软件。对Linux内核各子系统的进一步研究可以看出系统包装常用特定硬件设备的功能设置。Linux输入子系统由输入驱动层、输入核心层和输入事件处理层[ 2 ]构成。在Linux系统中结构如图1所示。

输入驱动层通过配置寄存器和中断处理控制具体硬件。输入设备的动作,如点击,按摸,抽象为一个事件并向输入核心层报告。这一部分应该是开发人员的工作。

输入核心层连接输入设备驱动和输入事件处理两层。当一个输入事件发生时,核心层从输入设备驱动层接收输入信息并通知输入事件处理层,提供输入事件处理调用接口。这部分是由内核实现。

图1 Linux输入子系统的结构

事件处理层通过调用输入设备驱动层的接口获得输入信息,然后将消息转换为具体结构可插入到evdev.c文件的缓冲区client_list中。使得AP(应用程序)可以很容易地得到它。此外,输入事件处理层对于每一个输入设备的驱动软件还定义了统一的事件处理设备文件节点。同时,这一部分也是由内核[ 3 ] [ 4 实现。

关于输入核心层和事件处理层为AP定义统一的文件操作的接口,输入子系统的驱动只需要根据输入核心层提供接口向输入核心层报告输入信息。所以没有必要在乎关于文件的操作接口。

B 输入子系统下驱动程序开发模式

Linux系统下的设备驱动程序与内核的关系密不可分。内核的设备管理系统定义了一个特殊的方式找和管理的设备驱动程序,这种模式可以遵守程序的开发。在该模式下,一些描述设备的结构和功能都有自己的名称和参数,开发者不可修改的。通常,模块化的知识在驱动程序开起着的重要作用。

基于Linux输入子系统的开发模式简单地归纳为[ 5 ]:

1输入设备的描述结构(input_dev):这个结构定义了输入设备。

2输入设备驱动的注册与注销:

intinput_register_device(structinput_dev *dev)

intinput_unregister_device(structinput_dev *dev)

3输入设备驱动程序的事件支持:

set_bit(event type,xxx_dev.evbit)

输入设备驱动用set_bit()通知输入子系统他们支持什么事件。input_dev结构有一个名为evbit成员,表示支持的事件。经常使用的事件类型的课程包括ev_key(按键),ev_rel (相对位置),ev_abs(绝对定位)等。关键事件,鼠标事件和触摸屏事件分为ev_key,分别ev_rel和ev_abs。

4输入设备驱动的事件报告

void input_report_key( structinput_dev *dev,unsignedint code, int value)

void input_report_rel(structinput_dev *dev,unsignedint code, int value)

void input_report_abs( structinput_dev *dev,unsignedint code, int value)

input_sync(input_dev)

这些函数的原型分别用于报告键盘,鼠标和触摸屏事件。”code”是指输入事件。如果事件类型是ev_key,其代表按下或释放键盘上的键的动作,这是在头文件include/linux/input.h 指定的。“value”指的是输入事件的值。如果事件类型是ev_key,值“1”是指“按下”、值“0”是“释放”。input_sync用于事件同步,这将通知事件接收器:一个完整的报告已送过来。

3电阻式触摸屏的工作原理及其与处理器S3C6410的连接

A电阻式触摸屏的工作原理

电阻触摸屏的主体是很薄的多层复合膜。第一层是由玻璃或有机玻璃制成的基本层。第二层是绝缘层,第三层是涂有导电的多羟基树脂层。当手指触摸屏幕时,两绝缘层因承受压力相接触。其中之一是把对坐标Y方向的通电,其电压为5V,一旦电压从0V变化,CPU 控制器检测到的变化,通过比较电压将得到的坐标Y通过A/D变换。相同的的方式得到X坐标。S3C6410如下触摸屏控制器的工作模式:

1正常转化模式

这种模式的操作是与AIN0 ~ AIN3相同的。可以通过配置ADCCON(ADC控制寄存器)和ADCTSC(ADC触摸屏控制寄存器)完成初始化。所有的开关和上拉电阻应关闭(重置0x58使开关关闭)。转换后的数据可以从ADCDAT0(ADC转换的数据寄存器0)中读出。

2分开X/Y坐标转换模式

独立的X / Y位置转换模式有两状态;一个是X坐标测量状态,另一个是Y坐标测量状态。触摸屏可使用任意一种转换状态。独立的X / Y坐标转换具体是:X坐标转换状态时对X 坐标数据寄存器ADCDAT0写操作,Y坐标转换状态时对Y坐标数据寄存器ADCDAT1写操作。每一次转换完成后产生的一个INT_ADC中断。

3自动地X/Y坐标转换模式

在这种模式下,控制器将坐标自动转换后分别写入ADCDAT0和ADCDAT1。转换完成后,INT_ADC中断将被引发。同时,ADC转换将自动关闭。对于下一个转换,应该在手动开启。4等待中断模式

当触摸屏被按下或弹起时,触摸屏控制器产生中断信号(INT_TC)。这个中断信号将自动被清除。

B 触摸屏与处理器S3C6410的连接

四线电阻式触摸屏用于本文中的驱动程序设计。图2显示四线电阻式触摸屏和S3C6410处理器之间的连接。

图2 四线电阻式触摸屏和S3C6410处理器之间的连接

4通过使用Linux输入子系统对触摸屏驱动程序的实现

结合S3C6410的触摸屏控制器的工作模式与Linux输入子系统的工作原理。我们可以很容易地想象在写Linux内核模块(驱动程序是Linux内核模块)时,基于Linux输入子系统设计一个触摸屏驱动程序的主要工作实现包括模块加载/卸载功能、INT_TC/INT_ADC中断处理程序和触摸事件的报告功能。主要工作各功能如下(程序代码由于空间限制省略了)[ 7 ] [ 8 ]。A模块加载功能

这个函数的主要功能:应用和初始化一个输入设备、设置输入设备事件类型、注册INT_TC 和INT_ADC中断、配置寄存器中设置S3C6410的工作模式为等待中断模式、注册输入设备驱动程序。

B INT_TC中断处理函数的模块

根据触摸屏是否被按下或释放判断ADC的开启与关闭。

C INT_ADC中断处理函数模块

转换原始数据后通过功能函数向输入核心层报告。

D数据报告模块

向输入核心层报告数据后并等待下一次触摸事件

E模块卸载

从内核中卸载驱动模块,释放驱动占用的资源,到这一步触摸屏驱动大部分工作已经完成。

module_init(s3c6410ts_init);

module_exit(s3c6410ts_remove);

F触摸屏驱动触摸事件的流程

在S3C6410和Linux 2.6.36基础上作者设计的处理流程如图3所示。

图3 触摸屏驱动的事件流程

图中,虚线表示将有中断或定时器触发的函数调用。虚线”①”指触摸或释放将调用INT_TC 中断处理函数,虚线”②③⑤”的意思ADC转换结束将调用INT_ADC中断处理函数,虚线”

④”的意思定时器超时后调用函数将报告事件。

为了得到更精确的坐标,本文中以八次数据转换的平均值为最终坐标数据。

考虑到对坐标实时获取,触控笔滑动(按下但不释放)屏幕上,作者使用了一个定时器实现这一功能,计时器以10ms为周期向输入核心层报告坐标数据,这可以从图看出,在报告触摸事件后,再次启动ADC转换,定时器的时间长度决定实时坐标在滑动状态的准确性。

5触摸屏驱动的测试

在驱动程序的设计完成后,首先,它应该能被内核兼容,然后编写测试程序

验证触摸屏驱动能否正常工作。

A把触摸屏驱动编译进内核

1)修改Linux的内核配置文件和编译文件。

1修改编译文件Makefile,如图4(a)所示:

2 修改配置文件Kconfig,如图4(b)所示:

图4 Makefile与Kconfig文件的修改

2)配置内核

3)编译与运行内核

B 设计测试程序

测试方法:首先,通过调用输入子系统提供的输入事件处理层接口和触摸屏设别驱动节点获得测试数据。然后,在串口终端打印出数据进行分析。测试程序的主要代码如下

int main(void)

{

structinput_eventev_ts;

ts_fd=open(“/dev/event1”,O_RDWR); while(1){

count=read(ts_fd,&ev_ts,sizeof(structinput_event));

for(i=0;i<(int)count/sizeof(structinput_event);i++)

if(EV_KEY==ev_ts.type)

printf(“type:%d,code:%d,value:%d\n”,ev_ts.type,

ev_ts.code,ev_ts.value);

if(EV_ABS==ev_ts.type)

printf(“type:%d,code:%d,value:%d\n”,ev_ts.type,

ev_ts.code,ev_ts.value);

if(EV_SYN==ev_ts.type)

printf(“sys event\n\n\n”);

}close(ts_fd);

}

C 测试

在搭建好软件与硬件平台后,交叉编译测试程序源码。

#arm-linux-gccts_app.c –o ts_app2

把生成的可执行的应用程序ts_app2拷贝到开放上,运行测试程序

#./ts_app2

测试结果如下图:

图5 测试驱动程序结果

从图5可以看出,驱动程序可以很好的工作,能够准确读出触控点的坐标数据

6 结论

通过本文的研究,只需要改动几个寄存器的设计就可使得驱动程序适应于其它处理器架构。开发者不需要对文件操作函数设计。本文中的驱动开发包含对输入子系统的分析、如何开发linux设备驱动程序和在测试程序调用驱动获取数据。最好,比较流行的GUI系统,例如,android、Qt和miniGUI也支持linux2.6版本,所以这个驱动程序可以很好地适用乣这些GUI 系统。

英文原文:

Abstract

A kind of resistive touch screen driver wasdeveloped based on S3C6410 platform and input subsystem inkernel of Linux 2.6 and higher. And to verify the driver?sfunction, this paper also did a test for it in detail. The testresults show that the touch screen driver can properly capturethe information of touching coordinates and up/down state.Besides, it can also obtain the real-time coordinates of slidingtouch state. This touch screen driver can be easily applied inthe embedded GUI systems such as android, Qt, miniGUI andetc.

Keywords:input subsystem, S3C6410, driver

I.INTRODUCTION

The process of developing an input device driver has itstraditional method, that method always contains thedefinition and realizati on of the devices? operationalfunction pointers in the structure of file_operations, such asopen, read, write, ioctl, llseek and etc [1]. However, therealization of the file_operations often occupied a lot ofdevelopment time, and it?s also an error-prone area. In orderto avoid doing this work, this paper designed a touch screendriver based on Linux input subsystem and the S3C6410platform, and a detailed test process was given to verify itsfunction.

II.AN ANALYSIS OF THE INPUT SUBSYSTEM IN LINUX2.6KERNEL

A.Input subsystem?s analysis

The 2.6 edition of the Linux kernel introduced an inputsubsystem framework. It?s on the same level of othersubsystems like file system and network system. Theintroduction of the input subsystem makes it more efficientto develop drive software of mouse, keyboard or touchingscreen in Linux. Further study of the subsystems in theLinux kernel shows that the system packed frequently usedfunction sets for specific hardware devices. Linux inputsubsystem is constructed by input driver layer, input corelayer and input event handle layer [2]. And the structurewithin the Linux system is illustrated in Fig.1.

The input driver layer control the specific hardware byconfiguration of registers and interrupt process. The inputmotion of input devices, such as click, press and touch, isabstracted into an event, which will be reported to the input core layer. And this part shall be developers? work

Input core layer connect two layers of input driver andevent handle. When an input event occurred, the core layerreceive input messages from the input layer and notice theevent handle layer that an input event happened, andprovide event handle a call interface. And this part isrealized by the kernel

Figure.1. Structure of Linux input subsystems

Event handle layer get the input messages by calling the input layer?s interface, an d then pack the messages into aspecific structure which would be inserted into the buffer of client_list in evdev.c so that the APs(application programs)can easily get it. Besides, event handle also defined unifieddevice file node for each input devic es? drive software. And this part is also realized by the kernel [3] [4].

Concerning that input core layer and event handle layerdefined the unified file operation interfaces for AP, thedrives of the input subsystems shall only report the inputmessage to the input core according to the interfaceprovided by the input core la yer. So there?s no need to care about the file operation interface.

B.Driver development mode under the input subsystem

The device drivers under Linux system have aninseparable relationship with the kernel. The EquipmentManagement System in the kernel defined a special mode toseek and manage the device drivers, this mode should beabided by driver developers. In the mode, some structuresand functions that describe the equipment have their ownnames and parameter, which shall not be modified bydevelopers. Usually, the knowledge of the modes plays avery important role in driver development.

The developing mode based on Linux input system issimply concluded as follows [5]:

? Input device?s descriptive structure

input_dev//This structure defines an input device

? Input device drivers? register and unregister

intinput_register_device(structinput_dev *dev)

intinput_unregister_device(structinput_dev *dev)

? Input device drivers? event supporting

set_bit(event type,xxx_dev.evbit)

The drivers use set_bit() to inform inputsubsystem what events they supports. The structureinput_devhas a member named evbitwhichrepresent the supported events. Frequently usedclasses of event types include EV_KEY (press thekeys), EV_REL (relative location), EV_ABS

(absolute location) and etc. The key event, mouseevent and touch screen event are sorted intoEV_KEY, EV_REL and EV_ABS respectively.

? Input device drivers? eve nt reporting

void input_report_key(structinput_dev *dev,unsigned int code, int value)

void input_report_rel(structinput_dev *dev,unsigned int code, int value)

void input_report_abs( structinput_dev *dev,unsigned int code, int value)

input_sync(input_dev)

These function prototypes above are used forreporting keyboard/key, mouse and touch screen event respectively. In which the …code? means the code of the input event. If the event type isEV_KEY, then it represents the pressed/released button?s code on the keyboard, this is specified inthe head file of /include/linux/input.h. And the…value? means the v alue of the input event. If theevent type is EV_KE Y, the value of …1? refers to apress action and …0? refers to a release action.input_sync used for the synchronization of event,which will inform the event receiver that a completereport has been sent over

III.RESISTIVE TOUCH SCREEN?S WORKING PRINCIPLE ANDITS CONNECTION

WITH PROCESSOR S3C6410

A.The working principles of resistive touch screen

The body of the resistive touching screen is a thinmulti-layer composite film that fits the monitorwell. Thefirst layer is the basic layer made by glass or organic glass.The second layer is theinsulate layer and the third layer isthe polyhydric resin layer which is coated with a co nductivelayer. When one?s finger touch the screen, the two insulatedlayer come together under pressure. And one of them is putthrough the uniformed voltage field of the coordinate Y,whose voltage is 5V,which makes the voltage ofdeterminative layer change from 0V. Once the CPU?scontroller detected the change, it would get the coordinateof Y by compare the voltage with 5V through A/Dtransform. The coordinate of X would be got at the sameway.

The operation modes of touch screen controller ofS3C6410 are as follows [6]:

C6410 are as follows [6]:

? Normal Conversion Mode

The operation of this mode is identical with AIN0~AIN3?s. It ca n be initialized by setting theADCCON (ADC Control Register) and ADCTSC(ADC touch screen control register). All of theswitches and pull-up resister should be turned off(reset value 0x58 makes switches turn-off). Theconverted data can be read out from ADCDAT0(ADC conversion data 0 register).

? Separate X/Y position conversion Mode

This mode consists of two states; one isX-position measurement state and the other isY-positionmeasurement state. The touch screen canuse either of the conversion state. A single X/Ycoordinates conversion is describe like this: The XBcoordinate state write the converted X coordinatedata into register ADCDAT0, and the Y coordinatestate write the converted Y coordinate data intoregister ADCDAT1. An INT_ADC interrupt isgenerated each time the conversion is done. ? Automatic mode of X/Y coordinates transform

In this mode, the controller converts thecoordinates automatically and writes them intoADCDAT0 and ADCDAT1 respectively. AnINT_ADC interrupt will be triggered once the

conversion is done, and then the ADC conversionwill be closed up automatically at the same time. Forthe next conversion, it should be turn on manually.

? Waiting for interrupt mode

Touch screen controller generates an interruptsignal (INT_TC) when the stylus pen is down or up.And this interrupt signal will be clearedautomatically.

B.The connections between S3C6410 and touch screen

A four-line resistive touch screen is utilized for the design of its driver in this article. Fig.2

shows theconnections between the four-line resistive touch screen andthe S3C6410 processor.

Figure.2. The circuit connection between touch screen and the S3C6410processor IV.THE REALIZATION OF TOUCH SCREEN DRIVER BYUSING LINUX INPUT

SUBSYSTEM

Combining the operation mode of S3C6410?s touch

screen controller, the principle of Linux input subsystem,and the general rules to write a kernel module in Linux(driver is a kernel module in Linux), we can easily imaginethat the major work of designing a touch screen driver basedon Linux input subsystem include the realization of moduleload/unload functions, the INT_TC/INT_ADC interrupthandler, and the touch-eve nt?s report function. Main workof each function is summarized as follows (program codesare omitted as the space limitations) [7] [8].

A.The function for module loading

The main tasks of this function are as follows: applyingand initializing an input device, setting the event types ofthe input device, registering the INT_TC and INT_ADCinterrupt, configuring registers to set s3c6410 work in theinterrupt mode of wait for touching, registering aninput-device driver.

B. The function of the INT_TC interrupt handler

The INT_TC interrupt will be triggered when touchscreen is touched or released, this interrupt handler function can judge the touch screen?s state(touched or released) byreading the value of touch sc reen controller?s data register on S3C6410 ,this will determine whether to open the ADCconverter or not.

C.The function of the INT_ADC interrupt handler

The INT_ADC interrupt will be triggered at the end ofevery ADC conversion. this interrupt handler function willfirstly convert the original data produced by a touch motionfor eight times, and then it will start a timer to report theaverage coordinates to the input core by calling the datareport function when the timer expires. At last, it will set thetouch screen controller to the interrupt mode of wait forreleasing.

D.The the function for data?s reporting

This function?s major work is to report the touch eventto the input core, after the re port, it will do some necessaryreplacement to wait for the next touch, and then it willrestart the ADC converter to get the coordinates of slidingstate.

E.The function for module?s unloading

This function will be executed with the driver moduleunloading from the kernel. Its major work is to release theresources occupied by the driver, such as unregistering thisinput device, releasing the INT_TC and INT_ADCinterrupts, releasing the IO memory and etc.

At last, the following code should be added to the end ofthe drive source file to let the module load/upload functionbe the inlet/outlet of this kernel module.

module_init(s3c6410ts_init);

module_exit(s3c6410ts_remove);

So far, a full touch screen driver is almost completed

F.The touch-event?s process flow of touch screen driver

The author?s design of processing flow which based onS3C6410 and Linux 2.6.36 is shown in Fig.3.

In Fig.3, the dotted lines indicate there will have afunction-call triggered by interrupt or timer. The dotted line“①”means touching or releasing will call the function for INT_TC interrupt handling, the dotted line “②③⑤”means the ending of ADC conversion will call the function for

INT_ADC interrupt handling, and the dotted line“④”means the timer’s timeout will call the function for event reporting.

Figure.3. Touch screen driver?s event process flow

In order to get more accurate coordinates, this designtake the average data of eight times conversion as the finalcoordinate data.

Considering the demand of getting the real-timecoordinate when the touch-pen is sliding (touched butwithout releasing) on the screen, the author uses a timer toachieve this function, this started timer will report thecoordinate data to the input core at a regular interval(10ms), as can be seen from the Fig.3 that after the touchevent was reported, the ADC conversion is started again,the time-length of the timer determines the accuracy of thereal-time coordinates on the sliding state.

V.THE TOUCH SCREEN DRIVER?S TEST

After the driver is designed, it should be supported bythe kernel at first, and then a test program should be writtento verify whether it can work normally or not.

https://www.360docs.net/doc/dc6369039.html,pile the touch screen driver into the Linux kernel

There are two ways to let the kernel support the newdriver: to compile it into the kernel or to compile it as aloadable module. This paper chooses the first one.

1)Modification of the Linux kernel?s configuration fileand compilation file. Coping the

touch screen driver(6410_ts.c) to the dir(directory, similarly hereinafter)

of/driver/input/touch-screen in linux2.6.36.In the dir, there aresome existed touch

screen drivers based on otherarchitectures, and another two files named

KconfigandMakefilewhich used to decided whether to compile a driverinto the kernel

or not. In order to let the touch screen driver(6410_ts.c) be supported by Linux kernel,

the KconfigandMakefileshould be modified

? to modify the Makefile

Run the command #geditMakefileto open Makefileinthe linux terminal, and then add a

new build option to it.The result is shown at line 56 in Fig.4(a).

? to modify the Kconfig

Run the command #geditKconfigto open Kconfig.Then add two lines (shown at line

192 and 193 inFig.4(b)) to it so as to generate a new configure option inlinux kernel?s

configure menu

Figure.4. The added contents in Makefile and Kconfig

2)Configure the linux kernel. Run command #makemenuconfig ARCH=arm to enter

kernel? configurationmenu. Then choose the “device drivers->input

driverssupport->touch screen” to enter touch screen driver?sconfiguration menu, and

selected “6410 touch screendriver”.

3)Compiling and running the linux kernel. Runcommand #make zImage

ARCH=armCROSS_COMPILE=arm-linux- to cross-compile the kernel.This will

generate a file named “zImage”, and thendownload it to S3C6410 hardware platform

through tftp server. After the kernel is started, An item named “event1”can be found in

the dir of file list which depict theinput-devices in kernel?s sysfsvirtual file system [9],

this is generated by Linux input subsystem fortouch screen driver. Besides, a device

node named “event1”also can be found under the dir of “/dev”.

B. The design of the test program

Test approach: firstly, geting test dada by calling touch screen driver?s device n ode and APIs which supported by input subsystem?s event h andle. And then, printing thesedata on the console to m ake an analysis. Test program?s major codes are as follows.

int main(void)

{

structinput_eventev_ts;

ts_fd=open(“/dev/event1”,O_RDWR); while(1){

count=read(ts_fd,&ev_ts,sizeof(structinput_event));

for(i=0;i<(int)count/sizeof(structinput_event);i++)

if(EV_KEY==ev_ts.type)

printf(“type:%d,code:%d,value:%d\n”,ev_ts.type,

ev_ts.code,ev_ts.value);

if(EV_ABS==ev_ts.type)

printf(“type:%d,code:%d,value:%d\n”,ev_ts.type,

ev_ts.code,ev_ts.value);

if(EV_SYN==ev_ts.type)

printf(“sys event\n\n\n”);

}close(ts_fd);

}

In this program, “while(1)” here is for waiting the touch screen being touched. Once touched, the input subsystemwill quickly save the coordinates and status informationreported by touch screen driver to a memory buffer in aformat of input event struct ure. “read()” ( which is an API provided by input subsystem) is for getting theseinformation, and the “for” loop is for resolving this information and printing them on the super console.

C. Testing

After the system?s so ftware and hardware environmentwere built. We copy the test program (ts_app.c) to dir of/home/fuliangfeng/touch-test. And then run command#arm-linux-gccts_app.c –o ts_app2 to cross compile thetest program.

After that, copying the executable file (ts_app2.exe) tothe root dir of NFS file system, this file will be shared byS3C6410 hardware platform [10]. At last, run command#./ts_app2 to execute the test program in the super console.When the screen is touched, results will be printed on theconsole, as shown in Fig.5.

Figure.5. Printing information of once touch

As we can see from Fig.7, the touch screen driver didthree-times data report (sys event is the ending mark of eachreport), the first report occurred quickly when touching, thesecond report occurred 10ms later after the first one, and thethird report occurred when releasing the touch pen. …type=3?means the driver reported an absolute coordinate event(EV_ABS), …type=1?refers it reported a key event(EV_KEY, press the touch screen can also generate a key event). …code=0? refers to X-a xis coordinate, …code=1? refers to Y-axis coordinate, …code=330? refers the key value is330, …code=24? refers the pressure is 24. …value=1? meanstouching state, …value=0? m eans releasing state, for othervalue, it refers to the value of absolute coordinate

The test results show that the touch screen driver notonly can capture coordinates and touch-release states, butalso can obtain real-time coordinates under the long-timetouching state.

VI.CONCLUSION

On the basis of this paper?s work, a touch screen driverbased on other CPU arch can be easily developed just bychanging some differe nt register?s configuratio n andinterrupt handler. Developer no longer needs to care aboutthe definition and realization of device operation functionswhich occupied a lot of work in driver developing. Besides,this paper?s driver devel opment includes the analysis ofinput subsystem, the detailed elaboration of driverdevelopment, and the procedure of how to compile a driverinto the Linux kernel as well as how to call the driver in thetest program. This will be conductive for a developer tounderstand the input subsystem and the mechanism of datainteraction between APP and driver. Finally, the popularGUI systems such as android, Qt and miniGUI all supportthe linux2.6 and higher, so this touch screen driver can beapplied in these embedded GUI systems easily.

工业设计专业英语英文翻译

工业设计原著选读 优秀的产品设计 第一个拨号电话1897年由卡罗耳Gantz 第一个拨号电话在1897年被自动电器公司引入,成立于1891年布朗强,一名勘萨斯州承担者。在1889年,相信铃声“中央交换”将转移来电给竞争对手,强发明了被拨号系统控制的自动交换机系统。这个系统在1892年第一次在拉波特完成史端乔系统中被安装。1897年,强的模型电话,然而模型扶轮拨条的位置没有类似于轮齿约170度,以及边缘拨阀瓣。电话,当然是被亚历山大格雷厄姆贝尔(1847—1922)在1876年发明的。第一个商业交换始建于1878(12个使用者),在1879年,多交换机系统由工程师勒罗伊B 菲尔曼发明,使电话取得商业成功,用户在1890年达到250000。 直到1894年,贝尔原批专利过期,贝尔电话公司在市场上有一个虚拟的垄断。他们已经成功侵权投诉反对至少600竞争者。该公司曾在1896年,刚刚在中央交易所推出了电源的“普通电池”制度。在那之前,一个人有手摇电话以提供足够的电力呼叫。一个连接可能仍然只能在给予该人的名义下提出要求达到一个电话接线员。这是强改变的原因。 强很快成为贝尔的强大竞争者。他在1901年引进了一个桌面拨号模型,这个模型在设计方面比贝尔的模型更加清晰。在1902年,他引进了一个带有磁盘拨号的墙面电话,这次与实际指孔,仍然只有170度左右在磁盘周围。到1905年,一个“长距离”手指孔已经被增加了。最后一个强的知名模型是在1907年。强的专利大概过期于1914年,之后他或他的公司再也没有听到过。直到1919年贝尔引进了拨号系统。当他们这样做,在拨号盘的周围手指孔被充分扩展了。 强发明的拨号系统直到1922年进入像纽约一样的大城市才成为主流。但是一旦作为规规范被确立,直到70年代它仍然是主要的电话技术。后按键式拨号在1963年被推出之后,强发明的最初的手指拨号系统作为“旋转的拨号系统”而知名。这是强怎样“让你的手指拨号”的。 埃姆斯椅LCW和DCW 1947 这些带有复合曲线座位,靠背和橡胶防震装置的成型胶合板椅是由查尔斯埃姆斯设计,在赫曼米勒家具公司生产的。 这个原始的概念是被查尔斯埃姆斯(1907—1978)和埃罗沙里宁(1910—1961)在1940年合作构想出来的。在1937年,埃姆斯成为克兰布鲁克学院实验设计部门的领头人,和沙里宁一起工作调查材料和家具。在这些努力下,埃姆斯发明了分成薄片和成型胶合板夹板,被称作埃姆斯夹板,在1941年收到了来自美国海军5000人的订单。查尔斯和他的妻子雷在他们威尼斯,钙的工作室及工厂和埃文斯产品公司的生产厂家一起生产了这批订单。 在1941年现代艺术博物馆,艾略特诺伊斯组织了一场比赛用以发现对现代生活富有想象力的设计师。奖项颁发给了埃姆斯和沙里宁他们的椅子和存储碎片,由包括埃德加考夫曼,大都会艺术博物馆的阿尔弗雷德,艾略特诺伊斯,马尔塞布鲁尔,弗兰克帕里什和建筑师爱德华达雷尔斯通的陪审团裁决。 这些椅子在1946年的现代艺术展览博物馆被展出,查尔斯埃姆斯设计的新的家具。当时,椅子只有三条腿,稳定性问题气馁了大规模生产。 早期的LCW(低木椅)和DWC(就餐木椅)设计有四条木腿在1946年第一次被埃文斯产品公司(埃姆斯的战时雇主)生产出来,被赫曼米勒家具公司分配。这些工具1946年被乔治纳尔逊为赫曼米勒购买,在1949年接手制造权。后来金属脚的愿景在1951年制作,包括LCW(低金属椅)和DWC(就餐金属椅)模型。配套的餐饮和咖啡桌也产生。这条线一直

外文翻译

Load and Ultimate Moment of Prestressed Concrete Action Under Overload-Cracking Load It has been shown that a variation in the external load acting on a prestressed beam results in a change in the location of the pressure line for beams in the elastic range.This is a fundamental principle of prestressed construction.In a normal prestressed beam,this shift in the location of the pressure line continues at a relatively uniform rate,as the external load is increased,to the point where cracks develop in the tension fiber.After the cracking load has been exceeded,the rate of movement in the pressure line decreases as additional load is applied,and a significant increase in the stress in the prestressing tendon and the resultant concrete force begins to take place.This change in the action of the internal moment continues until all movement of the pressure line ceases.The moment caused by loads that are applied thereafter is offset entirely by a corresponding and proportional change in the internal forces,just as in reinforced-concrete construction.This fact,that the load in the elastic range and the plastic range is carried by actions that are fundamentally different,is very significant and renders strength computations essential for all designs in order to ensure that adequate safety factors exist.This is true even though the stresses in the elastic range may conform to a recognized elastic design criterion. It should be noted that the load deflection curve is close to a straight line up to the cracking load and that the curve becomes progressively more curved as the load is increased above the cracking load.The curvature of the load-deflection curve for loads over the cracking load is due to the change in the basic internal resisting moment action that counteracts the applied loads,as described above,as well as to plastic strains that begin to take place in the steel and the concrete when stressed to high levels. In some structures it may be essential that the flexural members remain crack free even under significant overloads.This may be due to the structures’being exposed to exceptionally corrosive atmospheres during their useful life.In designing prestressed members to be used in special structures of this type,it may be necessary to compute the load that causes cracking of the tensile flange,in order to ensure that adequate safety against cracking is provided by the design.The computation of the moment that will cause cracking is also necessary to ensure compliance with some design criteria. Many tests have demonstrated that the load-deflection curves of prestressed beams are approximately linear up to and slightly in excess of the load that causes the first cracks in the tensile flange.(The linearity is a function of the rate at which the load is applied.)For this reason,normal elastic-design relationships can be used in computing the cracking load by simply determining the load that results in a net tensile stress in the tensile flange(prestress minus the effects of the applied loads)that is equal to the tensile strength of the concrete.It is customary to assume that the flexural tensile strength of the concrete is equal to the modulus of rupture of the

世界贸易和国际贸易【外文翻译】

外文翻译 原文 World Trade and International Trade Material Source:https://www.360docs.net/doc/dc6369039.html, Author: Ted Alax In today’s complex economic world, neither individuals nor nations are self-sufficient. Nations have utilized different economic resources; people have developed different skills. This is the foundation of world trade and economic activity. As a result of this trade and activity, international finance and banking have evolved. For example, the United States is a major consumer of coffee, yet it does not have the climate to grow any or its own. Consequently, the United States must import coffee from countries (such as Brazil, Colombia and Guatemala) that grow coffee efficiently. On the other hand, the United States has large industrial plants capable of producing a variety of goods, such as chemicals and airplanes, which can be sold to nations that need them. If nations traded item for item, such as one automobile for 10,000 bags of coffee, foreign trade would be extremely cumbersome and restrictive. So instead of batter, which is trade of goods without an exchange of money, the United State receives money in payment for what it sells. It pays for Brazilian coffee with dollars, which Brazil can then use to buy wool from Australia, which in turn can buy textiles Great Britain, which can then buy tobacco from the United State. Foreign trade, the exchange of goods between nations, takes place for many reasons. The first, as mentioned above is that no nation has all of the commodities that it needs. Raw materials are scattered around the world. Large deposits of copper are mined in Peru and Zaire, diamonds are mined in South Africa and petroleum is recovered in the Middle East. Countries that do not have these resources within their own boundaries must buy from countries that export them. Foreign trade also occurs because a country often does not have enough of a particular item to meet its needs. Although the United States is a major producer of sugar, it consumes more than it can produce internally and thus must import sugar.

网络营销外文翻译

E---MARKETING (From:E--Marketing by Judy Strauss,Adel El--Ansary,Raymond Frost---3rd ed.1999 by Pearson Education pp .G4-G25.) As the growth of https://www.360docs.net/doc/dc6369039.html, shows, some marketing principles never change.Markets always welcome an innovative new product, even in a crowded field of competitors ,as long as it provides customer value.Also,Google`s success shows that customers trust good brands and that well-crafted marketing mix strategies can be effective in helping newcomers enter crowded markets. Nevertheless, organizations are scrambling to determine how they can use information technology profitably and to understand what technology means for their business strategies. Marketers want to know which of their time-ested concepts will be enhanced by the Internet, databases,wireless mobile devices, and other technologies. The rapid growth of the Internet and subsequent bursting of the dot-com bubble has marketers wondering,"What next?" This article attempts to answer these questions through careful and systematic examination of successful e-mar-keting strategies in light of proven traditional marketing practices. (Sales Promotion;E--Marketing;Internet;Strategic Planning ) 1.What is E--Marketing E--Marketing is the application of a broad range of information technologies for: Transforming marketing strategies to create more customer value through more effective segmentation ,and positioning strategies;More efficiently planning and executing the conception, distribution promotion,and pricing of goods,services,and ideas;andCreating exchanges that satisfy individual consumer and organizational customers` objectives. This definition sounds a lot like the definition of traditional marketing. Another way to view it is that e-marketing is the result of information technology applied to traditional marketing. E-marketing affects traditional marketing in two ways. First,it increases efficiency in traditional marketing strategies.The transformation results in new business models that add customer value and/or increase company profitability.

工业设计外文翻译

Interaction design Moggridge Bill Interaction design,Page 1-15 USA Art Press, 2008 Interaction design (IxD) is the study of devices with which a user can interact, in particular computer users. The practice typically centers on "embedding information technology into the ambient social complexities of the physical world."[1] It can also apply to other types of non-electronic products and services, and even organizations. Interaction design defines the behavior (the "interaction") of an artifact or system in response to its users. Malcolm McCullough has written, "As a consequence of pervasive computing, interaction design is poised to become one of the main liberal arts of the twenty-first century." Certain basic principles of cognitive psychology provide grounding for interaction design. These include mental models, mapping, interface metaphors, and affordances. Many of these are laid out in Donald Norman's influential book The Psychology of Everyday Things. As technologies are often overly complex for their intended target audience, interaction design aims to minimize the learning curve and to increase accuracy and efficiency of a task without diminishing usefulness. The objective is to reduce frustration and increase user productivity and satisfaction. Interaction design attempts to improve the usability and experience of the product, by first researching and understanding certain users' needs and then designing to meet and exceed them. (Figuring out who needs to use it, and how those people would like to use it.) Only by involving users who will use a product or system on a regular basis will designers be able to properly tailor and maximize usability. Involving real users, designers gain the ability to better understand user goals and experiences. (see also: User-centered design) There are also positive side effects which include enhanced system capability awareness and user ownership. It is important that the user be aware of system capabilities from an early stage so that expectations regarding functionality are both realistic and properly understood. Also, users who have been active participants in a product's development are more likely to feel a sense of ownership, thus increasing overall satisfa. Instructional design is a goal-oriented, user-centric approach to creating training and education software or written materials. Interaction design and instructional design both rely on cognitive psychology theories to focus on how users will interact with software. They both take an in-depth approach to analyzing the user's needs and goals. A needs analysis is often performed in both disciplines. Both, approach the design from the user's perspective. Both, involve gathering feedback from users, and making revisions until the product or service has been found to be effective. (Summative / formative evaluations) In many ways, instructional

外文翻译

Journal of Industrial Textiles https://www.360docs.net/doc/dc6369039.html,/ Optimization of Parameters for the Production of Needlepunched Nonwoven Geotextiles Amit Rawal, Subhash Anand and Tahir Shah 2008 37: 341Journal of Industrial Textiles DOI: 10.1177/1528083707081594 The online version of this article can be found at: https://www.360docs.net/doc/dc6369039.html,/content/37/4/341 Published by: https://www.360docs.net/doc/dc6369039.html, can be found at:Journal of Industrial TextilesAdditional services and information for https://www.360docs.net/doc/dc6369039.html,/cgi/alertsEmail Alerts: https://www.360docs.net/doc/dc6369039.html,/subscriptionsSubscriptions: https://www.360docs.net/doc/dc6369039.html,/journalsReprints.navReprints: https://www.360docs.net/doc/dc6369039.html,/journalsPermissions.navPermissions: https://www.360docs.net/doc/dc6369039.html,/content/37/4/341.refs.htmlCitations: - Mar 28, 2008Version of Record >>

国际贸易英文文献

Strategic transformations in Danish and Swedish big business in an era of globalisation, 1973-2008 The Danish and Swedish context In the difficult inter-war period, a state-supported, protected home market orientation had helped stabilise both Denmark’s and Sweden’s economies, but after WorldWar II priorities changed. Gradually and in accordance with the international economic development, restrictions on foreign trade were removed, and Danish and Swedish industry was exposed to international competition. As a consequence, several home market oriented industries –such as the textile and the shoe industry –were more or less outperformed, while in Sweden the engineering industry soon became the dominant leader of Swedish industry, with companies such as V olvo, Ericsson, Electrolux, ASEA and SKF. In the Danish case, the SMEs continued to be dominant but in combination with expanding export oriented industrial manufacturers such as Lego, Danfoss, Carlsberg and the shipping conglomerates ok and A.P. moller-Marsk. In Sweden and Denmark stable economic growth continued into the 1970s, but due to the problems during the oil crises, the economies came into fundamental structural troubles for the first time since World War II. In the beginning this was counteracted by traditional Keynesian policy measures. However, because of large budget deficits, inflation and increasing wages, both the Danish economy from 1974 and the Swedish economy from 1976 encountered severe problems. Towards the late 1970s Denmark’s and Sweden’s economic policies were thus increasingly questioned. It was clear that Keynesian policy could not solve all economic problems. Expansive fiscal policies in terms of continued deficits on the state budget could not compensate for the loss of both national and international markets and step by step the Keynesian economic policy was abandoned. The increased budget deficit also made it difficult for the state to support employment and regional development. These kinds of heavy governmental activities were also hardly acceptable under the more market oriented policy that developed first in Great Britain and the USA, but in the 1980s also in Denmark and Sweden (Iversen & Andersen, 2008, pp. 313–315; Sjo¨ gren, 2008, pp. 46–54). These changes in political priorities were especially noticeable in the financial market. After being the most state regulated and coordinated sector of the economy since the 1950s, then between 1980 and 1985 the Danish and Swedish financial markets underwent an extensive deregulation resulting in increased competition. Lending from banks and other credit institutes was no longer regulated, and neither were interest rates. The bond market was also opened as the issuance of new bond loans was deregulated in Sweden in 1983. When the control of foreign capital flows was liberalised in the late 1980s the last extraordinary restriction was now gone. Together with the establishment of the new money market with options and derivates, this opened up to a much larger credit market and the possibility for companies to finance investments and increase business domestically as well as abroad (Larsson, 1998, pp. 205–207). Another important part of the regulatory changes in the early 1980s were new rules for the Copenhagen and Stockholm stock exchanges. Introduction on the stock exchange was made much

工业设计产品设计中英文对照外文翻译文献

(文档含英文原文和中文翻译) 中英文翻译原文:

DESIGN and ENVIRONMENT Product design is the principal part and kernel of industrial design. Product design gives uses pleasure. A good design can bring hope and create new lifestyle to human. In spscificity,products are only outcomes of factory such as mechanical and electrical products,costume and so on.In generality,anything,whatever it is tangibile or intangible,that can be provided for a market,can be weighed with value by customers, and can satisfy a need or desire,can be entiled as products. Innovative design has come into human life. It makes product looking brand-new and brings new aesthetic feeling and attraction that are different from traditional products. Enterprose tend to renovate idea of product design because of change of consumer's lifestyle , emphasis on individuation and self-expression,market competition and requirement of individuation of product. Product design includes factors of society ,economy, techology and leterae humaniores. Tasks of product design includes styling, color, face processing and selection of material and optimization of human-machine interface. Design is a kind of thinking of lifestyle.Product and design conception can guide human lifestyle . In reverse , lifestyle also manipulates orientation and development of product from thinking layer.

外文翻译中文版(完整版)

毕业论文外文文献翻译 毕业设计(论文)题目关于企业内部环境绩效审计的研究翻译题目最高审计机关的环境审计活动 学院会计学院 专业会计学 姓名张军芳 班级09020615 学号09027927 指导教师何瑞雄

最高审计机关的环境审计活动 1最高审计机关越来越多的活跃在环境审计领域。特别是1993-1996年期间,工作组已检测到环境审计活动坚定的数量增长。首先,越来越多的最高审计机关已经活跃在这个领域。其次是积极的最高审计机关,甚至变得更加活跃:他们分配较大部分的审计资源给这类工作,同时出版更多环保审计报告。表1显示了平均数字。然而,这里是机构间差异较大。例如,环境报告的数量变化,每个审计机关从1到36份报告不等。 1996-1999年期间,结果是不那么容易诠释。第一,活跃在环境审计领域的最高审计机关数量并没有太大变化。“活性基团”的组成没有保持相同的:一些最高审计机关进入,而其他最高审计机关离开了团队。环境审计花费的时间量略有增加。二,但是,审计报告数量略有下降,1996年和1999年之间。这些数字可能反映了从量到质的转变。这个信号解释了在过去三年从规律性审计到绩效审计的转变(1994-1996年,20%的规律性审计和44%绩效审计;1997-1999:16%规律性审计和绩效审计54%)。在一般情况下,绩效审计需要更多的资源。我们必须认识到审计的范围可能急剧变化。在将来,再将来开发一些其他方式去测算人们工作量而不是计算通过花费的时间和发表的报告会是很有趣的。 在2000年,有62个响应了最高审计机关并向工作组提供了更详细的关于他们自1997年以来公布的工作信息。在1997-1999年,这62个最高审计机关公布的560个环境审计报告。当然,这些报告反映了一个庞大的身躯,可用于其他机构的经验。环境审计报告的参考书目可在网站上的最高审计机关国际组织的工作组看到。这里这个信息是用来给最高审计机关的审计工作的内容更多一些洞察。 自1997年以来,少数环境审计是规律性审计(560篇报告中有87篇,占16%)。大多数审计绩效审计(560篇报告中有304篇,占54%),或组合的规律性和绩效审计(560篇报告中有169篇,占30%)。如前文所述,绩效审计是一个广泛的概念。在实践中,绩效审计往往集中于环保计划的实施(560篇报告中有264篇,占47%),符合国家环保法律,法规的,由政府部门,部委和/或其他机构的任务给访问(560篇报告中有212篇,占38%)。此外,审计经常被列入政府的环境管理系统(560篇报告中有156篇,占28%)。下面的元素得到了关注审计报告:影响或影响现有的国家环境计划非环保项目对环境的影响;环境政策;由政府遵守国际义务和承诺的10%至20%。许多绩效审计包括以上提到的要素之一。 1本文译自:S. Van Leeuwen.(2004).’’Developments in Environmental Auditing by Supreme Audit Institutions’’ Environmental Management Vol. 33, No. 2, pp. 163–1721

相关文档
最新文档