1 / 107

4.5 人机交互接口

4.5 人机交互接口. 4.5.1 显示器接口设计 4.5.2 键盘接口设计 4.5.3 触摸屏接口设计 4.5.4 嵌入式系统其它接口设计. 4.5 人机交互接口. 为了使嵌入式系统具有友好的人机接口,需要给嵌入式系统配置显示装置,如 LCD 显示器以及必要的声响提示等。另外,要进行人机交互,还得由输入装置,使用户可以对嵌入式系统发出命令或输入必要的参数。如输入设备如键盘、触摸屏等。 4.5.1 LCD 显示器

dima
Download Presentation

4.5 人机交互接口

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 4.5 人机交互接口 4.5.1 显示器接口设计 4.5.2 键盘接口设计 4.5.3 触摸屏接口设计 4.5.4 嵌入式系统其它接口设计

  2. 4.5 人机交互接口 为了使嵌入式系统具有友好的人机接口,需要给嵌入式系统配置显示装置,如LCD显示器以及必要的声响提示等。另外,要进行人机交互,还得由输入装置,使用户可以对嵌入式系统发出命令或输入必要的参数。如输入设备如键盘、触摸屏等。 4.5.1 LCD显示器 LCD(Liquid Crystal Display)是一种耗电少、体积小的数字式显示器件,通过液晶、彩色过滤器过滤广元。在平面面板上显示字符、文字和图像等信息。与阴极射线管CRT相比占用空间小、功耗低、辐射底、无闪烁,降低视觉疲劳。

  3. 1、液晶显示器(LCD)概述 在LCD显示器中,显示面板薄膜被分成很多小栅格,每个栅格由一个电极控制,通过改变栅格上的电极就能控制栅格内液晶分子的排列,从而控制光路的导通。彩色显示利用三原色混合的原理显示不同的色彩:此时每一个象素都是由3个液晶单元格构成的。其中每一个单元格前面都分别有红色R、绿色G或蓝色B的过滤片,光线经过过滤片的处理变成不同的色彩。 点阵式LCD由矩阵构成,显示文字字符以及其他符号,常见的点阵LCD用5行8列的点表示一个字符,使用16行16列的点表示一个汉字。LCD驱动器将输入数据转换为激发相应的点所需的电信号。

  4. 主要用于显示文本及图形信息。它具有重量轻、体积小、耗电量低、无辐射、平面直角显示以及影像稳定不闪烁等特点,因此在许多电子应用系统中,常使用液晶屏作为人机界面,而且已广泛应用与于各类显示器件上如下图所示。主要用于显示文本及图形信息。它具有重量轻、体积小、耗电量低、无辐射、平面直角显示以及影像稳定不闪烁等特点,因此在许多电子应用系统中,常使用液晶屏作为人机界面,而且已广泛应用与于各类显示器件上如下图所示。

  5. (1)LCD的分类 液晶显示的原理是液晶在不同电压的作用下会有不同的光特性。一类是STN型液晶属于无源的,这类液晶需要有外部提供光源,根据光源的位置又可以进一步分成反射式和透射式两种。这种液晶显示的成本较低,但有效视角较小,色彩也不够鲜艳。它具有省电的最大优势。其屏幕尺寸一般在5英寸以下(目前较少使用)。 另一类是有源发光器件TFT形式。TFT是薄膜晶体管Thin Film Transitor的缩写,每个液晶就类似是一个可以发光的晶体管。液晶显示屏就是有许多液晶排列成阵列而构成的。

  6. (2)单色与彩色显示器 在单色液晶显示屏中,一个液晶就是一个象素。 在彩色液晶屏中则每个象素由R红、G绿和B兰色三个液晶共同组成。同时也可以认为每个象素背后都有一个8位的寄存器,寄存器的值决定着三个液晶单元各自的亮度。有些情况下寄存器的值并不直接驱动RGB三个液晶单元的亮度,而是通过一个调色板技术来访问,发出真彩色的效果。

  7. 在实际现实中如果要为每个象素都配备寄存器是不现实的,实际上只配备了一组寄存器,而这些寄存器依次轮流连接到每一行象素并装入该行的内容,使每一行象素都暂短的受到驱动,这样周而复始将所有的象素行都驱动一遍就显示一个完整的画面。一般为了使人不感到闪烁,一秒钟要重复显示数十帧。LCB一般采用并行传输。在实际现实中如果要为每个象素都配备寄存器是不现实的,实际上只配备了一组寄存器,而这些寄存器依次轮流连接到每一行象素并装入该行的内容,使每一行象素都暂短的受到驱动,这样周而复始将所有的象素行都驱动一遍就显示一个完整的画面。一般为了使人不感到闪烁,一秒钟要重复显示数十帧。LCB一般采用并行传输。

  8. (3)LCD的驱动控制 市场上的LCD有两种模块形式,一种是LCD显示屏后边有印刷板并在板上带有驱动芯片的LCD模块。这种LCD可以方便的与各种单片机使用总线方式来驱动,例如8051但偏激的显示形式就属于这种。 另一种在微处理器芯片上的内置LCD控制器来驱动显示模块(如S3C2410),它可以支持彩色/灰度/单色三种模式,灰度模式下可支持4级灰度和16级灰度,彩色模式下最多支持256色,LCD的实际尺寸可支持到320×240。

  9. (4)LCD模块的显存控制 从系统结构上来讲,由于显示器模块中已经有显示存储器。显存中的每一个单元对应LCD上的一个点,只要显存中的内容改变,显示结果便进行刷新。于是便存在两种刷新: ①直接根据系统要求对显存进行修改,一种是只需修改相应的局部就可以,不需要判断覆盖等;另一种就是有覆盖问题,计算起来比较复杂,而且每做一点小的屏幕改变就进行刷新,将增加系统负担。 ②专门开辟显示内存,在需要刷新时候由程序进行显示更新。这样,不但可以减轻总线负荷,而且也比较合理,在有需要的时候进行统一的显示更新,界面也可以比较美观,不致由于无法预料的刷新动作导致显示界面闪烁。

  10. 前后台双重显示缓存的显示模块结构

  11. 在常用的嵌入式LCD屏幕上实现图像和字符的显示具体步骤如下:在常用的嵌入式LCD屏幕上实现图像和字符的显示具体步骤如下: 首先在程序中配置微处理器GPIO的寄存器,将与LCD连接的引脚定义为所需的功能;将帧描述符定义在SDRAM里,在DMAC被初始化后供DMAC提取;配置LCD控制器的各寄存器;最后建立LCD屏幕上的每一象素与帧缓冲区对应位置的映射关系,将字符位图转换成字符矩阵数据,并且写入到帧缓冲器(也成为显存)里。

  12. (5)工作原理 显存中的每一个单元对应LCD上的一个点,只要显存中的内容改变,显示结果便进行刷新。显示屏可以以单色或彩色显示,单色用1位来表示,彩色可以用8位(256色)或16位、24位表示其颜色。屏幕的大小和显示模式这些因素会影响显存的大小。 显存通常是从内存空间分配所得,并且它是由连续的字节空间组成,而屏幕的显示操作总是从左到右逐点象素扫描,从上到下逐行扫描,直到右下角,然后再折返到左上角。而显存里的数据则是按地址递增的顺序被提取,当显存里的最后一个字节被提取后,再返回显存的首地址。

  13. 工作原理 计算机反映自然界的颜色是通过R、G、B值来表示的,如果要在屏幕某一点显示某种颜色,则必须在显存里给出相应每一个象素的R、G、B值。其实现方法有直接从显存中得到和间接得到两种方式。直接得到是指在显存里存放有象素对应的RGB值,通过将该RGB值传输到显示屏上而令屏幕显示。间接得到方式是指显存中存放的并不是RGB值,而是调色板的索引值,调色板里存放的才是RGB值,然后再发送到显示屏上。

  14. (6)调色板技术 在显存与显示器之间还需要有LCD控制器负责完成从现存提取数据,进行处理并传输到屏幕上。例如PXA255微处理器内部集成有LCD控制器,它提供了一个从微处理器到Passive(STN)或Active(TFT)显示屏的接口。LCD控制器由LCD DMAC,输入输出FIFO,内部调色板和寄存器组组成。 当接STN显示屏,并且显示模式为单色或彩色(小于8位/象素)时, LCD控制器采用调色板技术。当接TFT 显示屏时, LCD控制器无需加载数据到调色板中,通过DMAC传输到输入FIFO后,数据又立刻被传输到输出FIFO,然后在屏幕上进行显示。

  15. 2、S3C2410 LCD控制器 一般功能:S3C2410 LCD控制器具有一般LCD控制器功能,产生各种信号、传输显示数据到LCD驱动器。 1)S3C2410特点 (1)基本特点 • 有专用DMA 用于向LCD驱动器传输数据 • 有中断(INT_LCD)

  16. 显示缓存可以很大 系统存储器可以作为显示缓存用 • 支持多屏滚动显示 用显示缓存支持硬件水平、垂直滚屏 • 支持多种时序LCD屏 通过对LCD控制器编程,产生适合不同LCD显示屏的扫描信号、数据宽度、刷新率信号等。 • 支持多种数据格式 大端、小端格式,WinCE格式。

  17. (2)支持STN材料LCD 单色显示:每像素2位数据、4级灰度;每像素4位数据、16级灰度。 单色扫描:4位单向、双向扫描,8位单向扫描。 彩色显示:每像素16位数据、65536种色彩,每像素24位数据真色彩。 支持多种LCD屏: 640×480、320×240、160×160等 4MB显示缓存:支持256色的像素数,4096×1024, 2048×2048, 1024×4096等

  18. (3)支持TFT材料LCD 单色显示:每像素1位数据、2位数据、4位数据、8位数据。 彩色显示:每像素16位数据、65536种色彩,每像素24位数据、16M种真色彩。 支持多种LCD屏: 640×480、320×240、160×160等 4MB显示缓存: 支持64K色的像素数,2048×1024等。

  19. 2)S3C2410 LCD控制器结构与工作原理 (1)控制器结构

  20. (1)LCD控制器结构 主要由6部分组成:时序发生器、LCD主控制器(LPC3600)、DMA、视频信号混合器、数据格式转换器、控制逻辑等。

  21. (2)LCD控制器引脚信号 共41个信号 VD[23:0]:LCD数据 VDEN:数据使能 VCLK:时钟信号 VLINE:行扫描信号 LEND:行结束信号

  22. VFRAME:帧扫描信号 HSYNC:水平同步信号 VSYNC:垂直同步信号 VM:显示驱动交流信号 LCDVF0、LCDVF1、LCDVF2:时序控制信号 LCD_PWREN:面板电源控制信号 LCD_HCLK:时钟面板控制信号 CPV:行同步面板控制信号 STV:帧同步面板控制信号 TP:显示驱动面板控制信号 STH:面板控制信号

  23. (3)LCD控制器专用寄存器 S3C2410的有17个专用寄存器,分为四类,其基地址均为0x4D000000。 控制寄存器(5个,如下表)

  24. 地址寄存器 共3个地址寄存器控制寄存器,如下表所示。

  25. 颜色配置寄存器 共4个颜色配置寄存器,1个抖动模式寄存器,如下表所示。

  26. 中断寄存器 共3个中断寄存器,1个LCD控制器寄存器,如下表所示。

  27. 3)PXA255 LCD控制单元 PXA255处理器集成的LCD控制单元,支持单屏或双屏显示,并有专用的二个DMA控制器、一个256单元调色板RAM和FIFO缓冲器等。 当输入LCD控制器的图像数据采用1位(黑白)、2位(4色)和8位(256色)编码时,需要将这些图像数据的编码转换为16位颜色编码输出。调色板RAM用于指明图像数据与图像编码的映射关系,内部装有256个调色单元,每个单元保存一个16位颜色值。其中5位表示红色,6位表示绿色,5位表示蓝色。 LCD模块接口包含有16位数据(5,6,5)线,时钟线(3),数据使能线(1),电源和地线等。

  28. 2、LED显示器接口 LED(Light Emitting Diode)常称为七段发光二极管, 在专用的微型计算机系统中,特别是在嵌入式控制系统中, 应用非常普遍。它价格低廉、体积小、功耗低,而可靠性又很好,因此,从单板微型机、袖珍计算机到许多微型机控制系统及数字化仪器都用LED作为输出显示。

  29. LED显示器结构原理

  30. LED显示器的连接设计

  31. 4.5.2 键盘工作原理图常用4*4小键盘,也可外加PS/2接口连接标准键盘。

  32. (1)键盘扫描方法 键盘扫描过程有三种控制方法,其一是程序控制方式。其二是定时扫描方法。其三是键盘中断控制方式。键盘上每个键都被分配一个称为扫描码的唯一标识符。是用不同扫描控制方式读取该扫描码,根据按下的键功能来判定应该采取什么行动。注意事项: • 消抖算法: • 组合键处理

  33. 键盘抖动示意图

  34. (2)键盘驱动程序组成 • ../ucos-II/add/OSAddTask.c中的任务初始化函数OSAddTask_Init的创建键盘任务Key_Scan_Task • 键盘初始化函数KeyBoard_init(); • 中断程序ISR_Key的实现 • 键盘的查询任务 • 键盘映射表KeyBoard_Map

  35. 4.5.3 触摸屏设计 触摸屏是一种简单、方便的输入设备,应用的越来越广泛。人们用触摸屏代替鼠标或键盘,根据触笔点击的位置来定位选择信息输入。它广泛的应用在自助取款机、PDA设备、媒体播放器、汽车导航器、智能手机医疗电子设备等方面。它是嵌入式设备最常用的输入接口之一。 触摸屏和LCD不是同一个物理设备,触摸屏是覆盖在LCD的表面,检测用户电击的位置。触摸屏的输入是一个模拟信号,通过触摸屏控制器将模拟信号转换为数字信号,再送给处理器进行处理。 触摸屏分类有如下4种形式: 电阻式触摸屏 ;表面声波触摸屏; 红外式触摸屏 ;电容式触摸屏。

  36. 1、电阻式触摸屏概述 最常见的触摸屏是电阻式触摸屏,其屏体部分是一块与显示屏表面非常配合的多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层上面在盖有一层外表面硬化处理,光滑、防刮的塑料层,它的内表面也涂一层透明导电层。在两个导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔离绝缘。触摸屏负责将受压的位置转换成模拟电信号,再经过A/D转换成为数字量表示的x、y坐标,送入CPU处理,为了可视化还可以在LCD上显示出来。

  37. 1)工作原理 电阻式触摸屏工作时,上下导体层相当于二维精密电阻网络。即等效为沿x方向的电阻Rx和沿y方向的电阻Ry。当某一层电极加上电压时,会在该网络上形成电压梯度。如有外力使得上下两层在某一点接触,则在另一层未加电压的电极上可以测的接触点处的电压。然后用模/数转换器来测量电压,以此得出位置。触摸屏通过交替使用水平X和垂直Y电压梯度来获得x和y的位置。具体常用的有四线电阻式触摸屏。电阻技术触摸屏是一种对外界完全隔离的工作环境,故不怕灰尘、水汽和油污,可以用任何物体来触摸,比较适合工业控制领域及办公室内的使用。

  38. 触摸屏驱动开发 • 芯片: BB公司的ADS7846、接口SPI • 工作在笔中断模式 • 驱动模型:本机设备驱动,分层驱动(MDD、PDD) PENIRQ# DOUT BUSY CS# DCLK DIN 串行数据输出 X+ X- Y+ Y- 供电 测量 电路网络 ADC

  39. 四线电阻触摸屏原理

  40. 测量原理 Y 在触摸点X、Y坐标的测量过程中,测量电压与测量点的等效电路图所示,图中P为测量点 Y V X

  41. 2)触摸屏的硬件接口设计 触模屏控制器ADS7843是一个可编程的模拟到数字转换器。内部有一个12位的A/D转换器,可以准确判断出触点的坐标位置。同时非常适合于四线的触摸屏,以2.7V到5V间供电,转换率高达125KHZ,功耗可达750uW。在自动关闭模式下功耗仅为0.5uW。模拟到数字的转换精度(逐次比较式ADC)可选256级(8位)或4096级(12位)。命令字的写入以及转换后的数字量的读取可通过串行方式操作。

  42. 触摸屏的接口设计 触摸屏的控制采用专用芯片,专门处理是否有笔或手指按下触摸屏,并在按下时分别给两组电极通电,然后将其对应位置的模拟电压信号经过A/D转换送回处理器。S3C44B0选取PG口与ADS7843接口,共使用PG2 - PG7的6条口线,也可以选择其他的I/O口,但注意不要与I/O口上已经设定的功能相冲突.其中,X+、Y+、X-、Y-引脚直接与触摸屏的相应管脚相连。

  43. 触摸屏控制芯片

  44. FM7843与ARM的连接

  45. 触摸屏的接口设计 FM 7843送回控制器的X与Y值仅是对当前触摸点的电压值的A/D转换值。这个值的大小不但与触摸屏的分辨率有关,而且也与触摸屏与LCD贴合的情况有关。而且,LCD分辨率与触摸屏的分辨率一般来说是不一样,坐标也不一样,因此,如果想得到体现LCD坐标的触摸屏位置,还需要在程序中进行转换。转换公式如下:

  46. 触摸屏与LCD坐标匹配公式 • x=(x-TchScr_Xmin)*LCDWIDTH/(TchScr_Xmax-TchScr_Xmin) • y=(y-TchScr_Ymin)*LCDHEIGHT/(TchScr_Ymax-TchScr_Ymin) • 其中,TchScr_Xmax、TchScr_Xmin、TchScr_Ymax和TchScr_Ymin是触摸屏返回电压值x、y轴的范围,LCDWIDTH、LCDHEIGHT是液晶屏的宽度与高度。

  47. 3)编程实现 利用连接好的电路设置PCONG寄存器如下: rPCONG = Ox015f; 其中,PENIRQ最好加上内部上拉,设置为: rPUPG&=Ox80。 (1)读取触摸点坐标程序: 首先检测PENIRQ端,如果为低电平,则认为有接触;否则认为触摸屏没有接触。利用软件模拟DIN, DOUT和DCLK上的3线串行传输时序,将读取的x或Y坐标数值的控制字串行送入ADS7843,然后再串行读出坐标值,送串口显示即可。 (2)送控制字并读取结果子程序。

  48. 开始 DdsiTouchPanelPowerHandler 当电源状态变化时发出通知 DdsiTouchPanelDisable/DdsiTouchPanelEnable 禁止触摸屏/使能触摸屏 DdsiTouchPanelGetDeviceCaps 返回关于触摸屏性能的信息 DdsiTouchPanelGetPoint 获取触摸点坐标 TouchPanelCalibrateAPoint 把没校准的点转换为校准后的点 TouchPanelSetMode 设置触摸屏设备的模式信息 产生中断? NO YES 关中断、清中断标志 发送测量X的控制字 SPI忙? YES NO 读取X座标转换数据 SPI忙? YES NO 发送测量Y的控制字 SPI忙? YES NO 读取Y座标转换数据 中断使能 结束

More Related