4.5 人机交互接口

107
1 4.5 4.5 人人人人人人 人人人人人人 4.5.1 人人人人人人人 4.5.2 人人人人人人 4.5.3 人人人人人人人 4.5.4 人人人人 人人人人人人

Upload: dima

Post on 11-Jan-2016

83 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 4.5   人机交互接口

1

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

Page 2: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

2

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

4.5.1 LCD4.5.1 LCD 显示器显示器 LCDLCD (( Liquid Crystal DisplayLiquid Crystal Display )是一种耗电少、)是一种耗电少、体积小的数字式显示器件,通过液晶、彩色过滤器体积小的数字式显示器件,通过液晶、彩色过滤器过滤广元。在平面面板上显示字符、文字和图像等过滤广元。在平面面板上显示字符、文字和图像等信息。与阴极射线管信息。与阴极射线管 CRTCRT 相比占用空间小、功耗低、相比占用空间小、功耗低、辐射底、无闪烁,降低视觉疲劳。辐射底、无闪烁,降低视觉疲劳。

Page 3: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

3

11 、液晶显示器(、液晶显示器( LCDLCD )概述 )概述 在在 LCDLCD 显示器中,显示面板薄膜被分成很多显示器中,显示面板薄膜被分成很多小栅格,每个栅格由一个电极控制,通过改变栅格小栅格,每个栅格由一个电极控制,通过改变栅格上的电极就能控制栅格内液晶分子的排列,从而控上的电极就能控制栅格内液晶分子的排列,从而控制光路的导通。彩色显示利用三原色混合的原理显制光路的导通。彩色显示利用三原色混合的原理显示不同的色彩:此时每一个象素都是由示不同的色彩:此时每一个象素都是由 33 个液晶单个液晶单元格构成的。其中每一个单元格前面都分别有红色元格构成的。其中每一个单元格前面都分别有红色RR 、绿色、绿色 GG 或蓝色或蓝色 BB 的过滤片,光线经过过滤片的的过滤片,光线经过过滤片的处理变成不同的色彩。处理变成不同的色彩。

点阵式点阵式 LCDLCD 由矩阵构成,显示文字字符以及由矩阵构成,显示文字字符以及其他符号,常见的点阵其他符号,常见的点阵 LCDLCD 用用 55 行行 88 列的点表示一列的点表示一个字符,使用个字符,使用 1616 行行 1616 列的点表示一个汉字。列的点表示一个汉字。 LCDLCD驱动器将输入数据转换为激发相应的点所需的电信驱动器将输入数据转换为激发相应的点所需的电信号。号。

Page 4: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

4

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

Page 5: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

5

(( 11 )) LCDLCD 的分类的分类 液晶显示的原理是液晶在不同电压的作用下会有液晶显示的原理是液晶在不同电压的作用下会有不同的光特性。一类是不同的光特性。一类是 STNSTN 型液晶属于无源的,这型液晶属于无源的,这类液晶需要有外部提供光源,根据光源的位置又可类液晶需要有外部提供光源,根据光源的位置又可以进一步分成反射式和透射式两种。这种液晶显示以进一步分成反射式和透射式两种。这种液晶显示的成本较低,但有效视角较小,色彩也不够鲜艳。的成本较低,但有效视角较小,色彩也不够鲜艳。它具有省电的最大优势。其屏幕尺寸一般在它具有省电的最大优势。其屏幕尺寸一般在 55 英寸英寸以下(目前较少使用)。以下(目前较少使用)。

另一类是有源发光器件另一类是有源发光器件 TFTTFT 形式。形式。 TFTTFT 是薄膜是薄膜晶体管晶体管 Thin Film TransitorThin Film Transitor 的缩写,每个液晶就的缩写,每个液晶就类似是一个可以发光的晶体管。液晶显示屏就是有类似是一个可以发光的晶体管。液晶显示屏就是有许多液晶排列成阵列而构成的。许多液晶排列成阵列而构成的。

Page 6: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

6

(( 22 )单色与彩色显示器)单色与彩色显示器 在单色液晶显示屏中,一个液晶就在单色液晶显示屏中,一个液晶就是一个象素。是一个象素。

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

Page 7: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

7

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

Page 8: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

8

(( 33 )) LCDLCD 的驱动控制的驱动控制市场上的市场上的 LCDLCD 有两种模块形式,一种是有两种模块形式,一种是 LCLC

DD 显示屏后边有印刷板并在板上带有驱动芯片显示屏后边有印刷板并在板上带有驱动芯片的的 LCDLCD 模块。这种模块。这种 LCDLCD 可以方便的与各种单片可以方便的与各种单片机使用总线方式来驱动,例如机使用总线方式来驱动,例如 80518051 但偏激的显但偏激的显示形式就属于这种。示形式就属于这种。

另一种在微处理器芯片上的内置另一种在微处理器芯片上的内置 LCDLCD 控制控制器来驱动显示模块(如器来驱动显示模块(如 S3C2410)S3C2410) ,它可以支持,它可以支持彩色彩色 // 灰度灰度 // 单色三种模式,灰度模式下可支单色三种模式,灰度模式下可支持持 44 级灰度和级灰度和 1616 级灰度,彩色模式下最多支持级灰度,彩色模式下最多支持256256 色,色, LCDLCD 的实际尺寸可支持到的实际尺寸可支持到 320×240320×240 。。

Page 9: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

9

从系统结构上来讲,由于显示器模块中已经有显示存储器。显存中的每一个单元对应LCD 上的一个点,只要显存中的内容改变,显示结果便进行刷新。于是便存在两种刷新:

① 直接根据系统要求对显存进行修改,一种是只需修改相应的局部就可以,不需要判断覆盖等;另一种就是有覆盖问题,计算起来比较复杂,而且每做一点小的屏幕改变就进行刷新,将增加系统负担。

②专门开辟显示内存,在需要刷新时候由程序进行显示更新。这样,不但可以减轻总线负荷,而且也比较合理,在有需要的时候进行统一的显示更新,界面也可以比较美观,不致由于无法预料的刷新动作导致显示界面闪烁。

( 4 ) LCD 模块的显存控制

Page 10: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

10

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

Page 11: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

11

在常用的嵌入式在常用的嵌入式 LCDLCD 屏幕上实现图像和字符屏幕上实现图像和字符的显示具体步骤如下:的显示具体步骤如下:

首先在程序中配置微处理器首先在程序中配置微处理器 GPIOGPIO 的寄存器,的寄存器,将与将与 LCDLCD 连接的引脚定义为所需的功能;将帧连接的引脚定义为所需的功能;将帧描述符定义在描述符定义在 SDRAMSDRAM 里,在里,在 DMACDMAC 被初始化后供被初始化后供DMACDMAC 提取;配置提取;配置 LCDLCD 控制器的各寄存器;最后控制器的各寄存器;最后建立建立 LCDLCD 屏幕上的每一象素与帧缓冲区对应位屏幕上的每一象素与帧缓冲区对应位置的映射关系,将字符位图转换成字符矩阵数置的映射关系,将字符位图转换成字符矩阵数据,并且写入到帧缓冲器(也成为显存)里。据,并且写入到帧缓冲器(也成为显存)里。

Page 12: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

12

(( 55 )工作原理)工作原理 显存中的每一个单元对应显存中的每一个单元对应 LCDLCD 上的一个点,只上的一个点,只要显存中的内容改变,显示结果便进行刷新。显示要显存中的内容改变,显示结果便进行刷新。显示屏可以以单色或彩色显示,单色用屏可以以单色或彩色显示,单色用 11 位来表示,彩位来表示,彩色可以用色可以用 88 位(位( 256256 色)或色)或 1616 位、位、 2424 位表示其颜色。位表示其颜色。屏幕的大小和显示模式这些因素会影响显存的大小。屏幕的大小和显示模式这些因素会影响显存的大小。

显存通常是从内存空间分配所得,并且它是由显存通常是从内存空间分配所得,并且它是由连续的字节空间组成,而屏幕的显示操作总是从左连续的字节空间组成,而屏幕的显示操作总是从左到右逐点象素扫描,从上到下逐行扫描,直到右下到右逐点象素扫描,从上到下逐行扫描,直到右下角,然后再折返到左上角。而显存里的数据则是按角,然后再折返到左上角。而显存里的数据则是按地址递增的顺序被提取,当显存里的最后一个字节地址递增的顺序被提取,当显存里的最后一个字节被提取后,再返回显存的首地址。被提取后,再返回显存的首地址。

Page 13: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

13

工作原理工作原理

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

Page 14: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

14

(( 66 )调色板技术)调色板技术 在显存与显示器之间还需要有在显存与显示器之间还需要有 LCDLCD 控制器负责控制器负责完成从现存提取数据,进行处理并传输到屏幕上。完成从现存提取数据,进行处理并传输到屏幕上。例如例如 PXA255PXA255 微处理器内部集成有微处理器内部集成有 LCDLCD 控制器,它提控制器,它提供了一个从微处理器到供了一个从微处理器到 Passive(STN)Passive(STN) 或或 Active(TFActive(TFT)T) 显示屏的接口。显示屏的接口。 LCDLCD 控制器由控制器由 LCD DMAC,LCD DMAC, 输入输输入输出出 FIFOFIFO ,内部调色板和寄存器组组成。,内部调色板和寄存器组组成。

当接当接 STNSTN 显示屏,并且显示模式为单色或彩色显示屏,并且显示模式为单色或彩色(小于(小于 88 位位 // 象素)时, 象素)时, LCDLCD 控制器采用调色板技控制器采用调色板技术。当接术。当接 TFT TFT 显示屏时, 显示屏时, LCDLCD 控制器无需加载数控制器无需加载数据到调色板中,通过据到调色板中,通过 DMACDMAC 传输到输入传输到输入 FIFOFIFO 后,数后,数据又立刻被传输到输出据又立刻被传输到输出 FIFOFIFO ,然后在屏幕上进行显,然后在屏幕上进行显示示。。

Page 15: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

15

2 、 S3C2410 LCD 控制器一般功能: S3C2410 LCD 控制器具有一般 LC

D 控制器功能,产生各种信号、传输显示数据到 LCD 驱动器。

1 ) S3C2410特点( 1)基本特点

• 有专用 DMA 用于向 LCD 驱动器传输数据

• 有中断( INT_LCD )

Page 16: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

16

• 显示缓存可以很大系统存储器可以作为显示缓存用

• 支持多屏滚动显示用显示缓存支持硬件水平、垂直滚屏

• 支持多种时序 LCD 屏通过对 LCD 控制器编程,产生适合不同 LC

D 显示屏的扫描信号、数据宽度、刷新率信号等。

• 支持多种数据格式大端、小端格式, WinCE格式。

Page 17: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

17

( 2)支持 STN材料 LCD 单色显示:每像素 2位数据、 4级灰度;每像素 4位数据、 16级灰度。单色扫描: 4位单向、双向扫描, 8位单向扫描。彩色显示:每像素 16位数据、 65536 种色彩,每像素 24位数据真色彩。

支持多种 LCD 屏:640×480、 320×240、 160×160等4MB 显示缓存:支持 256 色的像素数, 409

6×1024, 2048×2048, 1024×4096 等

Page 18: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

18

( 3 )支持 TFT 材料 LCD 单色显示:每像素 1位数据、 2位数据、 4位数据、 8位数据。

彩色显示:每像素 16位数据、 65536 种色彩,每像素 24位数据、 16M种真色彩。

支持多种 LCD 屏:640×480、 320×240、 160×160等4MB 显示缓存: 支持 64K色的像素数, 20

48×1024 等。

Page 19: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

19

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

Page 20: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

20

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

Page 21: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

21

Page 22: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

22

( 2 ) LCD 控制器引脚信号

共 41 个信号VD[23:0] : LCD 数据VDEN :数据使能VCLK :时钟信号VLINE :行扫描信号LEND :行结束信号

Page 23: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

23

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

Page 24: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

24

寄存器 描 述 初值 偏址

LCDCON1 LCD 控制寄存器 1 0x00000000

0x00

LCDCON2 LCD 控制寄存器 2 0x00000000

0x04

LCDCON3 LCD 控制寄存器 3 0x00000000

0x08

LCDCON4 LCD 控制寄存器 4 0x00000000

0x0C

LCDCON5 LCD 控制寄存器 5 0x00000000

0x10

( 3 ) LCD 控制器专用寄存器S3C2410 的有 17 个专用寄存器,分为四类,

其基地址均为 0x4D000000 。控制寄存器( 5 个,如下表)

Page 25: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

25

地址寄存器

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

寄存器 描 述 初值 偏址

LCDSADDR1 帧起始地址寄存器 1 0x00000000

0x14

LCDSADDR2 帧起始地址寄存器 2 0x00000000

0x18

LCDSADDR3 虚拟屏地址寄存器 0x00000000

0x1C

Page 26: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

26

颜色配置寄存器

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

寄存器 描 述 初值 偏址

REDLUT 红颜色寄存器 0x00000000

0x20

GREENLUT 绿颜色寄存器 0x00000000

0x24

BLUELUT 蓝颜色寄存器 0x00000000

0x28

DITHMODE 抖动模式寄存器 0x00000000

0x4C

TPAL 临时调色存器 0x00000000

0x50

Page 27: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

27

中断寄存器

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

寄存器 描 述 初值 偏址

LCDSADDR1

中断服务存器 0x0 0x54

LCDSADDR2

中断标志寄存器 0x0 0x58

LCDSADDR3

中断屏蔽寄存器 0x3 0x5C

LPCSELLPC3600 控制器

控制寄存器 0x4 0x60

Page 28: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

28

33 )) PXA255 LCDPXA255 LCD 控制单元控制单元 PXA255PXA255 处理器集成的处理器集成的 LCDLCD 控制单元,支持单屏或双控制单元,支持单屏或双屏显示,并有专用的二个屏显示,并有专用的二个 DMADMA 控制器、一个控制器、一个 256256 单元调单元调色板色板 RAMRAM 和和 FIFOFIFO 缓冲器等。缓冲器等。

当输入当输入 LCDLCD 控制器的图像数据采用控制器的图像数据采用 11 位(黑白)、位(黑白)、22 位(位( 44 色)和色)和 88 位(位( 256256 色)编码时,需要将这些图色)编码时,需要将这些图像数据的编码转换为像数据的编码转换为 1616 位颜色编码输出。调色板位颜色编码输出。调色板 RAMRAM用于指明图像数据与图像编码的映射关系,内部装有用于指明图像数据与图像编码的映射关系,内部装有 252566 个调色单元,每个单元保存一个个调色单元,每个单元保存一个 1616 位颜色值。其中位颜色值。其中 55位表示红色,位表示红色, 66 位表示绿色,位表示绿色, 55 位表示蓝色。 位表示蓝色。

LCDLCD 模块接口包含有模块接口包含有 1616 位数据(位数据( 55 ,, 66 ,, 55 )线,)线,时钟线(时钟线( 33 ),数据使能线(),数据使能线( 11 ),电源和地线等。 ),电源和地线等。

Page 29: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

29

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

Page 30: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

30

LEDLED 显示器结构原理显示器结构原理

Page 31: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

31

LEDLED 显示器的连接设计显示器的连接设计

Page 32: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

32

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

Page 33: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

33

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

•消抖算法:消抖算法:•组合键处理组合键处理

(1)(1) 键盘扫描方法键盘扫描方法

Page 34: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

34

键盘抖动示意图键盘抖动示意图

处理器I/O口

VCC

5-30ms

1

0

Page 35: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

35

(( 22 )键盘驱动程序组成)键盘驱动程序组成../ucos-II/add/OSAddTask.c../ucos-II/add/OSAddTask.c 中的任务初中的任务初始化函数始化函数 OSAddTask_InitOSAddTask_Init 的创建键盘任务的创建键盘任务Key_Scan_TaskKey_Scan_Task

键盘初始化函数键盘初始化函数 KeyBoard_init();KeyBoard_init();中断程序中断程序 ISR_KeyISR_Key 的实现的实现键盘的查询任务键盘的查询任务键盘映射表键盘映射表 KeyBoard_MapKeyBoard_Map

Page 36: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

36

4.5.3 4.5.3 触摸屏设计触摸屏设计 触摸屏是一种简单、方便的输入设备,应用的越触摸屏是一种简单、方便的输入设备,应用的越来越广泛。人们用触摸屏代替鼠标或键盘,根据触笔点来越广泛。人们用触摸屏代替鼠标或键盘,根据触笔点击的位置来定位选择信息输入。它广泛的应用在自助取击的位置来定位选择信息输入。它广泛的应用在自助取款机、款机、 PDAPDA 设备、媒体播放器、汽车导航器、智能手机设备、媒体播放器、汽车导航器、智能手机医疗电子设备等方面。它是嵌入式设备最常用的输入接医疗电子设备等方面。它是嵌入式设备最常用的输入接口之一。口之一。

触摸屏和触摸屏和 LCDLCD 不是同一个物理设备,触摸屏是覆不是同一个物理设备,触摸屏是覆盖在盖在 LCDLCD 的表面,检测用户电击的位置。触摸屏的输入的表面,检测用户电击的位置。触摸屏的输入是一个模拟信号,通过触摸屏控制器将模拟信号转换为是一个模拟信号,通过触摸屏控制器将模拟信号转换为数字信号,再送给处理器进行处理。数字信号,再送给处理器进行处理。

触摸屏分类有如下触摸屏分类有如下 44 种形式:种形式: 电阻式触摸屏 ;表面声波触摸屏;电阻式触摸屏 ;表面声波触摸屏; 红外式触摸屏 ;电容式触摸屏。红外式触摸屏 ;电容式触摸屏。

Page 37: 4.5   人机交互接口
Page 38: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

38

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

Page 39: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

39

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

Page 40: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

40

触摸屏驱动开发•芯片 : BB公司的 ADS7846 、接口 SPI

•工作在笔中断模式•驱动模型 :本机设备驱动,分层驱动 (MDD 、PDD)

供电测量

电路网络

ADC

串行数据输出

X+X-Y+Y-

PENIRQ#DOUTBUSYCS#DCLKDIN

Page 41: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

41

四线电阻触摸屏原理四线电阻触摸屏原理

Page 42: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

42

测量原理测量原理

在触摸点在触摸点 XX 、、 YY坐标的测量过坐标的测量过程中,测量电压与测量点的等效程中,测量电压与测量点的等效电路图所示,图中电路图所示,图中 PP 为测量点 为测量点 X

V

Y

Y

Page 43: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

43

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

Page 44: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

44

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

Page 45: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

45

触摸屏控制芯片触摸屏控制芯片

Page 46: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

46

FM7843FM7843 与与 ARMARM 的连的连接接

Page 47: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

47

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

Page 48: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

48

触摸屏与触摸屏与 LCDLCD 坐标匹配公式坐标匹配公式• x=(x-TchScr_Xmin)*LCDWIDTH/(TchScr_Xmax-x=(x-TchScr_Xmin)*LCDWIDTH/(TchScr_Xmax-

TchScr_Xmin)TchScr_Xmin)• y=(y-TchScr_Ymin)*LCDHEIGHT/(TchScr_Ymy=(y-TchScr_Ymin)*LCDHEIGHT/(TchScr_Ym

ax-TchScr_Ymin)ax-TchScr_Ymin)• 其中,其中, TchScr_XmaxTchScr_Xmax、、 TchScr_XminTchScr_Xmin 、、 TchScrTchScr

_Ymax_Ymax和和 TchScr_YminTchScr_Ymin 是触摸屏返回电压值是触摸屏返回电压值 xx、、yy轴的范围,轴的范围, LCDWIDTHLCDWIDTH 、、 LCDHEIGHTLCDHEIGHT 是液晶屏是液晶屏的宽度与高度。的宽度与高度。

Page 49: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

49

33 )编程实现)编程实现利用连接好的电路设置利用连接好的电路设置 PCONGPCONG 寄存器如下:寄存器如下: rPCONG = Ox015frPCONG = Ox015f;; 其中,其中, PENIRQPENIRQ最好加上内部上拉,设置为最好加上内部上拉,设置为 : : rPUPGrPUPG&=&= Ox80Ox80 。。(( 11 )读取触摸点坐标程序)读取触摸点坐标程序 :: 首先检测首先检测 PENIRQPENIRQ 端,如果为低电平,则认端,如果为低电平,则认为有接触;否则认为触摸屏没有接触。利用软件为有接触;否则认为触摸屏没有接触。利用软件模拟模拟 DIN, DOUTDIN, DOUT 和和 DCLKDCLK 上的上的 33 线串行传输时序,线串行传输时序,将读取的将读取的 xx 或或 YY 坐标数值的控制字串行送入坐标数值的控制字串行送入 ADS7ADS7843,843, 然后再串行读出坐标值,送串口显示即可。然后再串行读出坐标值,送串口显示即可。

(( 22 )送控制字并读取结果子程序。 )送控制字并读取结果子程序。

Page 50: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

50

产生中断 ?

关中断、清中断标志

发送测量 X的控制字

SPI忙 ?

读取 X座标转换数据

发送测量 Y的控制字

读取 Y座标转换数据

中断使能

SPI忙 ?

SPI忙 ?

NO

NOYES

YES

NOYES

YESNO

DdsiTouchPanelPowerHandler

当电源状态变化时发出通知

DdsiTouchPanelDisable/DdsiTouchPanelEnable

禁止触摸屏 /使能触摸屏

DdsiTouchPanelGetDeviceCaps

返回关于触摸屏性能的信息

DdsiTouchPanelGetPoint

获取触摸点坐标

TouchPanelCalibrateAPoint

把没校准的点转换为校准后的点

TouchPanelSetMode

设置触摸屏设备的模式信息

开始

结束

Page 51: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

51

44 )触摸屏驱动程序剖析)触摸屏驱动程序剖析• ../ucos-II/add/OSAddTask.c../ucos-II/add/OSAddTask.c 中的任务初始化中的任务初始化函数函数 OSAddTask_InitOSAddTask_Init 的触摸屏的初始化函数的触摸屏的初始化函数 TcTchScr_inithScr_init

• 创建触摸屏任务创建触摸屏任务 Touch_Screen_TaskTouch_Screen_Task• 注册系统中断(注册系统中断( SetISR_InterruptSetISR_Interrupt ))• 开启开启 S3C44B0S3C44B0 外部中断外部中断 45674567(( TS_OPEN_INTTS_OPEN_INT ))• 中断程序中断程序 Touch_Screen_ISRTouch_Screen_ISR 的实现的实现• 触摸屏的查询任务触摸屏的查询任务

Page 52: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

52

2 、 S3C2410X 的 A/D 转换器概述S3C2410X中集成了一个8通道 10 位 A/D 转

换器, A/D 转换器自身具有采样保持功能。并且 S3C2410X的 A/D 转换器支持触摸屏接口。

A/D 转换器的主要特性:–分辨率: 10 位;精度:±1LSB –线性度误差: ±1.5---2.0LSB;–最大转换速率: 500KSPS;–输入电压范围: 0~3.3v ;–系统具有采样保持功能;–常规转换和低能源消耗功能;–独立 /自动的 X/Y 坐标转换模式。

Page 53: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

53

下图为 S3C2410 A/D 转换器和触摸屏接口的功能块图。

主要由 6部分构成:

• 信号输入通道• 8 转 1 切换开关• A/D 转换器• 控制逻辑• 中断信号发生器• 触摸屏接口

Page 54: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

54

1 )工作原理( 1) A/D 转换时间计算和分辨率当 PCLK 频率为 50MHz,预分频值是 49, 10 位

数字量的转换时间如下:A/D 转换频率 =50MHz /( 49+1 ) =1MHz转换时间 =1/( 1MHz/5 个周期) =1/200KHz=5u

sA/D 转换器最大可以工作在 2.5MHz 时钟下,所

以转换速率可以达到 500KSPS 。

( 2)触摸屏的结构及工作原理原理:对于电阻式触摸屏,由 3层透明薄膜构成,

有一层是电阻层,还有一层是导电层,它们中间有一隔离层,当某一点被按压时,在按压点电阻层与导电层接触,如果在电阻层的一边接电源,另一边接地,便可测量出按压点的电压,从而可算出其坐标。

实现方法:

Page 55: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

55

测量 X 坐标:从 XP 输出电压给 X+ 端,从 XM 输出地电位给 X- 端;从 YP 脚输入按压点电压。

控制信号: nYPON=1 ; nYMON=0nXPON=0 ; nXMON=1

测 Y

测 X

Page 56: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

56

测量 Y 坐标:从 YP 输出电压给 Y+ 端,从 YM 输出地电位给 Y- 端;从 XP 脚输入按压点电压。

控制信号: nYPON=0 ; nYMON=1nXPON=1 ; nXMON=0

测 Y

测 X

Page 57: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

57

3 ) S3C24120X A/D 转换器的工作模式有 5种:普通转换模式、分离的 X/Y坐标转换模式、连续

的 X/Y坐标转换模式、等待中断模式、静态模式。第 2---4 种是用于触摸屏。

( 1)普通转换模式用于一般 A/D 转换,不是用于触摸屏。转换结束后,其数

据在 ADCDAT0中的 XPDATA域。( 2)分离的 X/Y坐标转换模式分两步进行 X/Y坐标转换,其转换结果分别存于 ADCDAT0

中的 XPDATA域中和 ADCDAT1 中的 YPDATA域中,并且均会产生 INT_ADC 中断请求。

( 3)自动(连续)的 X/Y坐标转换模式X坐标转换结束启动 Y坐标转换,其转换结果分别存于 AD

CDAT0中的 XPDATA域中和 ADCDAT1 中的 YPDATA域中,然后产生INT_ADC 中断请求。

Page 58: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

58

( 4 )等待中断转换模式在该模式下,转换器等待使用者按压触摸屏,

一旦触摸屏被按压,则产生 INT_TC 触摸屏中断请求。中断后,在中断处理程序中再将转换器设置为

分离的 X/Y坐标转换模式、或者连续的 X/Y坐标转换模式进行处理。

触摸屏接口信号:XP=上拉 XM= 高阻YP=AIN[5] YM=接地

( 5)静态模式当 ADCCON 中的 STDBM设为 1时,转换器进入

静态模式,停止 A/D 转换。其数据域的数据保持不变。

Page 59: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

59

4 ) ADC 和触摸屏专用寄存器

有 5 个专用寄存器

Register

Address R/W Description Reset Value

ADCCON0x580000

00 R/W ADC 控制寄存器 0x3FC4

ADCTSC 0x580000

04 R/W 触摸屏控制寄存器 0x058

ADCDLY0x580000

08 R/W ADC 起始延迟寄存器 0x00FF

ADCDAT0

0x5800000C

R ADC 转换数据 0 寄存器 -

ADCDAT1

0x58000010

R ADC 转换数据 1 寄存器 -

Page 60: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

60

ECFLG--- 转换结束标志(只读)0 :转换操作中; 1 :转换结束

PRSCEN--- 转换器预分频器使能0 :停止预分频器; 1 :使能预分频器

PRSCVL--- 转换器预分频器数值 数值 N 范围: 1---255注意:( 1 )实际除数值为 N+1

( 2 )对 N 数值的要求:转换速率应该 <PCLK/5

( 1 ) ADCCON---ADC 控制寄存器

15 1413 ……

6ECFLG PRSCEN PRSCVL

5 4 3 2 1 0

SEL_MUX STDBMREAD_STAR

TENABLE_START

Page 61: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

61

SEL_MUX --- 模拟输入通道选择000 : AIN0 ; 001 : AIN1 010 : A

IN2011 : AIN3 …… 111 : AIN7

STDBM--- 备用模式设置0 :正常工作模式; 1 :备用模式,不做 A/D 转换

READ_START--- 通过读取启动转换0 :停止通过读取启动转换; 1 :使能通过读取启动转换

ENABLE_START--- 通过设置该位启动转换0 :无效; 1 :启动 A/D 转换(启动后被清

0 )注意:如果 READ_START 为 1 ,则该位无效

5 4 3 2 1 0

SEL_MUX STDBMREAD_STAR

TENABLE_START

Page 62: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

62

YM_SEN--- 选择 YMON 的输出值0 :输出 0 ( YM= 高阻); 1 : 输出 1 ( YM=

GND )YP_SEN--- 选择 nYPON 的输出值

0 :输出 0 ( YP= 外部电压); 1 :输出 1 ( YP 连接 AIN[5] )

XM_SEN--- 选择 XMON 的输出值0 :输出 0 ( XM= 高阻); 1 : 输出 1 ( XM=

GND )XP_SEN--- 选择 nXP 的输出值

0 :输出 0 ( XP= 外部电压); 1 :输出 1 ( XP 连接 AIN[7] )

( 2 ) ADCTSC---ADC 触摸屏控制寄存器

8 7 6 5 4 3 2 1 0

保留 0 YM_SEN

YP_SEN

XM_SEN

XP_SEN

PULL_UPAUTO_PS

TXY_PST

Page 63: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

63

PULL--- 上拉切换使能0 : XP 上拉使能; 1 : XP 上拉禁止

AUTO_PST--- 自动连续转换 X 轴和 Y 轴坐标模式选择0 :普通 A/D 转换; 1 :连续 X/Y 轴转

换模式XY_PST--- 手动测量 X 轴和 Y 轴坐标模式选择

00 :无操作模式; 01 :对 X 坐标测量;10 :对 X 坐标测量; 11 :等待中断模

8 7 6 5 4 3 2 1 0

保留 0 YM_SEN

YP_SEN

XM_SEN

XP_SEN

PULL_UPAUTO_PS

TXY_PST

Page 64: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

64

31 …… 16

1514

13

12

11

10

9 8 8 7 6 5 4 3 2 1 0

保留为 0 起始延迟数值 --- 分两种情况第一情况:

对普通转换模式、分离的 X/Y 轴坐标转换模式、连续的 X/Y 轴坐标转换模式,为转换延时数值。

第二种情况:对中断转换模式,为按压触摸屏后到产生中

断请求的延迟时间数值,其时间单位为 ms 。

( 3 ) ADCDLY---ADC 起始延迟寄存器

Page 65: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

65

UPDOWN--- 等待中断模式的按压状态0 :触笔点击; 1 :触笔提起

AUTO_PST--- 自动 X/Y 轴转换模式指示0 :普通转换模式; 1 : X/Y 轴坐标连续转换

XY_PST--- 手动 X/Y 轴转换模式指示00 :无操作; 01 :为 X 轴坐标转换10 :为 Y 轴坐标转换 11 :为等待中断转换

XPDATA[9 : 0] :为 X 轴坐标转换数值、或普通 ADC 转换数值具体意义由其它位指示。其值为: 0---0x3FF

( 4 ) ADCDAT0---ADC 转换数据 0 寄存器

15 14 13 12 11 109 ……

0UPDOW

NAUTO_PS

TXY_PST

保留( 0 ) XPDATA 或普通 ADC 值

Page 66: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

66

UPDOWN--- 等待中断模式的按压状态0 :触笔点击; 1 :触笔提起

AUTO_PST--- 自动 X/Y 轴转换模式指示0 :普通转换模式; 1 : X/Y 轴坐标连续转换

XY_PST--- 手动 X/Y 轴转换模式指示00 :无操作; 01 :为 X 轴坐标转换11 :为 Y 轴坐标转换 11 :为等待中断

转换YPDATA[9 : 0] :为 10 位 Y 轴坐标转换结果

其值为: 0---0x3FF

( 5 ) ADCDAT1---ADC 转换数据 1 寄存器

15 14 13 12 11 109 ……

0UPDOW

NAUTO_PS

TXY_PST

保留( 0 ) YPDATA

Page 67: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

67

例题:编写程序,对 3通道的模拟量连续做 10 次转换,用查询方式读取转换结果,其数据存于 0x400000 开始的区域。

AREA ADC , CODE, READONLYENTRY

START#define rADCCON (*(volatile unsigned

*)0x58000000)#define rADCDAT0 (*(volatile unsigned

*)0x5800000c)#define pref 49#define ch 3

Page 68: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

68

void adc(void){ int adc_data[10], i; rADCCON=(1<<14)|(pref<<6)|(ch<<3)|1//允许预分频for(i=0;i<10;i++){ while(rADCCON&0x8000==0); //查询转换结束否

adc_data[i]=rADCDAT0&0x3ff; // 读取转换结果

rADCCON|=1; //再次启动转换}}

Page 69: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

69

4.5.4 4.5.4 通用几种接口标准通用几种接口标准 11 )红外接口)红外接口

红外接口是新一代手机等智能设备的配置,它支持手机等设备与电脑以及其他数字设备进行数据交流。红外通讯有着成本低廉、连接方便、简单易用和结构紧凑的特点,因此在小型的移动设备中获得了广泛的应用。通过红外接口,各类移动设备可以自由进行数据交换。

红外线是波长在 750nm至 1mm 之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。由于红外线的波长较短,对障碍物的衍射能力差,所以更适合应用在需要短距离、无遮挡的无线通讯的场合。

Page 70: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

70

配备有红外接口的智能设备进行无线上网非常简单,不需要连接线和 PC CARD ,只要设置好红外连接协议就能直接上网。红外接口被众多的硬件和软件平台所支持;通过数据电脉冲和红外光脉冲之间的相互转换实现无线的数据收发。

红外线通信技术适合于低成本、跨平台、点对点高速数据连接,尤其是嵌入式系统。红外线技术的主要应用:设备互联、信息网关。设备互联后可完成不同设备内文件与信息的交换,信息网关负责连接信息终端和互联网。

Page 71: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

71

( 1 )红外技术的主要特点• 其使手机和电脑间可以无线传输数据; • 可以与同样具备红外接口的设备间进行信息交流; • 红外接口可以省去下载或其他信息交流所发生的费用;

• 由于需要对接才能传输信息,安全性较强; • 通讯距离短,通讯过程中不能移动,遇障碍物通讯中断;

• 红外通讯技术的主要目的是取代线缆连接进行无线数据传输,功能单一,扩展性差。

Page 72: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

72

(( 22 )红外( )红外( IrDA IrDA )接口标)接口标准准

IrDAIrDA 是红外数据协会是红外数据协会 (Infrared Data Association)(Infrared Data Association)的简称。 的简称。 IrDAIrDA 是一种利用红外光进行短距离点对点是一种利用红外光进行短距离点对点通信的技术。通信的技术。

IrDAIrDA标准:标准:1.01.0版-最高速度版-最高速度 115.2kb/s115.2kb/s1.11.1版-最高速率版-最高速率 4Mb/s4Mb/s ,与,与 1.01.0版本的兼容。版本的兼容。IrDAIrDA物理层规范物理层规范 通信速率、数据的调制方式、红外收发器的峰值通信速率、数据的调制方式、红外收发器的峰值波长、视角、发光强度、接收灵敏度、抗背景光噪声波长、视角、发光强度、接收灵敏度、抗背景光噪声的能力等。的能力等。

Page 73: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

73

(( 33 )) IrDAIrDA 的重要指标~速率的重要指标~速率SIRSIR :串行红外:串行红外 (SIR)(SIR) 标准,速率覆盖了标准,速率覆盖了 RRS-232S-232 通常所支持的速率,如通常所支持的速率,如 9600bps9600bps 、、19.2kbps19.2kbps 、、 38.4kbps38.4kbps 、、 57.6kbps57.6kbps 等。等。

MIRMIR :指:指 0.576Mbps0.576Mbps 与与 1.152Mbps1.152Mbps 的速率。。的速率。。FIRFIR :高速红外:高速红外 (FIR) (FIR) 指指 4Mbps4Mbps 的速率,的速率,有时也指高于有时也指高于 SIRSIR 的所有速率。的所有速率。

VFIRVFIR :甚高速红外标准,:甚高速红外标准, 16Mbps16Mbps 。。

Page 74: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

74

( 4 )主板红外接口应用 目前大多数电脑的主板均提供了红外线传输端口,如果能通过主板红外线接口与其他设备实现红外通讯,在不少应用中是会很方便的。

首先要安装好红外线连接器,连接红外接口连接器和主板红外接口时要注意 5针插口的方向,方问插反可能会导致主板接口损坏。

①正确设置主板 BIOS 使用主板红外接口时需在 BIOS 的“ INTEGRATED PERIPHERALS”子菜单中,将“ Onboard IrDa Port”或相关选项设置成 Enable ,“ UART2 Use Infrared”项设置为 IrDA,一般是将主板的 COM2 设置为红外线传输接口。因此主板 COM2 接口将会失去作用。

Page 75: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

75

在有关红外线传输模式“ UART Mode Select”中,如果选“ HPSIR”,只能通过标准的速度 115.2Kbps传输数据,选“ ASKIR”就能享受红外线的最高速度 4Mbps 。“ HPSIR”建议在不能通过 4Mbps 相连接时才选用。 ②系统软件和协议安装设置 安装成功后,双击“我的电脑”,你会发现多出一个“红外线接收者”的图标。进入“控制面板”后,你可以通过新增的“红外线”选项来修改它的状态。再进入“网络”,你又会发现多安装了一个“红外线端口”和“快速红外线协议”。这些都表明,你的红外线收发器已正常安装。

Page 76: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

76

2 、 SPI 接口概述• SPI接口: SPI( Serial Peripheral Interface,串行外设接口)是 Motorola公司开发的一种同步串行外设接口标准。

• SPI接口信号:有 4个信号:数据发送、数据接收、时钟和片选。在时钟信号的作用下,发送的同时,接收对方发来的数据;也可以只发送、或者只接收。 SPI的波特率可以达到 20Mb/s 以上。

S3C2410 ARM9有 2个 SPI接口,既可以作为主 SPI使用,也可以作为从 SPI使用。

• 主要特点:– 与 SPI 协议 (ver. 2.11) 兼容;– 8位发送移位寄存器; – 8位接收移位寄存器;– 8位预分频器;– 具有查询、中断、 DMA 传输模式。

Page 77: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

77

1 ) S3C2410 SPI 结构与工作原理( 1 ) SPI 结构SPI主要由 4部分构成:时钟分频器、发送移位寄存器、

接收移位寄存器、控制逻辑等。如下图所示。

Page 78: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

78

( 2 ) SPI 设备系统组成

系统可以多个 SPI设备组成,任何一个设备都可以为主 SPI,但是任一时刻只能有一个主 SPI设备。如下图所示。

主SPI设备

从 SPI 1 从 SPI 2 从 SPI n……

SCK MOSIMISO

nSS

Page 79: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

79

( 3 ) SPI 工作时序下图为时序的一部分。

图( A

Page 80: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

80

图( B )

Format

CPOL 和 CPHA 第一位数据输出 其它位数据输出 数据采样

ACPOL=0,CPHA

=0第 1 个 SCK 上升沿

前 SCK 下降沿 SCK 上升沿

BCPOL=0,CPHA

=1第 1 个 SCK 上升沿 SCK 上升沿 SCK 下降沿

ACPOL=1,CPHA

=0第 1 个 SCK 下降沿

前 SCK 上升沿 SCK 下降沿

BCPOL=1,CPHA

=1第 1 个 SCK 下降沿 SCK 下降沿 SCK 上升沿

Page 81: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

81

2 ) SPI 专用寄存器2 个 UART ,每个都有 6 个专用寄存器,共 12 个寄存器

Register Address R/W Description Reset Value

SPCONn 0x590000x0

R/W SPI 控制寄存器 0x00

SPSTAn 0x590000x4

R SPI 状态寄存器 0x01

SPPINn 0x590000x8

R/W SPI 引脚控制寄存器 0x02

SPPREn 0x590000xC

R/W SPI 预分频寄存器 0x00

SPTDATn 0x590000x0

R/W SPI 数据发送寄存器 0x00

SPRDATn 0x590000x4

R SPI 数据接收寄存器 0x00

Page 82: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

82

( 1 ) SPI 控制寄存器( SPCON )Register Address R/W Description

Reset Value

SPCON00x590000

00 R/W SPI0 控制寄存器 0x00

SPCON10x590000

20 R/W SPI1 控制寄存器 0x00字段名 位 意 义 初值

SMOD 6:5 SPI 模式选择。 00 :查询模式; 01 :中断; 10 : DMA 模式; 11 :保

留00

ENSCK 4 时钟 SCK 控制。 0 :禁止; 1 :允许。 0

MSTR 3 SPI 主、从选择。 0 :从 SPI ; 1 :主 S

PI 0

CPOL 2 时钟极性选择。 0 :高电平有效; 1 :低 0

CPHA 1 时钟相位选择。 0 :格式 A ; 1 :格式 B 0

Tx Auto Garbage Data Mode

Enable (TAGD)0

仅接收模式控制。 0 :正常收发; 1 :仅接收(此时 (自动 )发送任意数

据)0

Page 83: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

83

( 2 ) SPI 状态寄存器( SPSTA )Register Address R/W Description

Reset Value

SPSTA00x590000

04R SPI0 状态寄存器 0x01

SPSTA10x590000

24 R SPI1 状态寄存器 0x01字段名 位 意 义 初值

reserved 7:3 保 留

Data Collision Error Flag (DCOL)

2

数据写碰撞 (正在发送时写 SPTDAT)

错误标志。 0 :无错; 1 :碰撞错误

0

Multi Master Error Flag

(MULF)1

多主 SPI错误标志。 0 :无错; 1 :多主 SPI错误。 0

Transfer Ready Flag (REDY)

0 收发就绪标志。 0 :未就绪; 1 :收或发就绪。 写 SPTDAT 后该位自动清 0

1

Page 84: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

84

(3) SPI 引脚控制寄存器( SPPIN )Register Address R/W Description

Reset Value

SPPIN00x590000

08R/W SPI0 引脚控制寄存器 0x02

SPPIN10x590000

28 R/W SPI1 引脚控制寄存器 0x02字段名 位 意 义 初值

reserved 7:3 保 留Multi Master

error detect Enable (ENMUL)

2 引脚多主 SPI错误测试设置。 0 :禁测; 1 :允许多主错误测试。 测试结果在 SPSTAn 中的 MULF 位

0

reserved 1 该位应该为 1 1

Master Out Keep

(KEEP)0

1字节发完后 MOSI 的控制与释放 0 :释放; 1 :保持 MOSI 原电平 0

Page 85: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

85

(4) SPI 预分频寄存器( SPPRE )Register Address R/W Description

Reset Value

SPPRE00x590000

0CR/W SPI0 预分频寄存器 0x00

SPPRE10x590000

2C R/W SPI1 预分频寄存器 0x00字段名 位 意 义 初值

Prescaler value 7:0 预分频值

波特率计算:Baud tate = Pclk/2/( Prescaler value + 1 )

提示: SPI 的波特率必须 <25MHz。

Page 86: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

86

( 5 ) SPI 发送数据寄存器( SPTDAT )

Register Address R/W Description Reset Value

SPTDAT00x590000

10R/W SPI0 发送数据寄存器 0x00

SPTDAT10x590000

30 R/W SPI1 发送数据寄存器 0x00字段名 位 意 义 初值

Tx data 7:0 SPI 所发送的 8 位数据 0x00

提示:在同时双向传输时,从 SPI 设备必须先把所发送的数据写到“发送数据寄存器” SPTDATn 中,然后再写主 SPI 设备的“发送数据寄存器” SPTDATn 。

Page 87: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

87

( 6 ) SPI 接收数据寄存器( SPRDAT )

Register Address R/W Description Reset Value

SPRDAT00x590000

14R SPI0 接收数据寄存器 0x00

SPRDAT10x590000

34 R SPI1 接收数据寄存器 0x00字段名 位 意 义 初值

Tx data 7:0 SPI 所接收的 8 位数据 0x00

提示:在同时双向传输时,启动发送后,应该先读取数据,然后再发送数据。

Page 88: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

88

3 ) SPI 应用方法( 1 )一般操作步骤如果 SPI控制寄存器 SPCON 已经设置过,则写数

据发送寄存器 SPTDAT启动发送。对 SPI卡操作步骤如下:

① 设置预分频寄存器 SPPRE ;② 设置控制寄存器 SPCON;③ 设置一个 GPIO 引脚,使选中的 MMC 或 SD卡的

片选信号 nSS 有效;④ 向数据发送寄存器 SPTDAT写 10 次 0xFF,对

MMC 或 SD卡初始化;⑤ 发送数据:先要查询 Tx/Rx REDY是否为 1,

然后向数据发送寄存器 SPTDAT写数据;

Page 89: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

89

⑥接收数据:一般方式(同时收发, TAGD=0):向数据发

送寄存器 SPTDAT写 0xFF,查询并确认 Rx REDY为1,然后从数据接收寄存器中读取数据。

仅接收方式( TAGD=1 ):并确认 Rx REDY为1,然后从数据接收寄存器中读取数据。读取数据的同时启动一次发送。

⑦设置 GPIO 引脚,使选中的 MMC 或 SD卡的片选信号 nSS 无效,结束传输。

Page 90: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

90

( 2 ) DMA 模式发送对 SPI 的 DMA 模式发送操作步骤如下:①设置预分频寄存器 SPPRE ;②设置控制寄存器 SPCON ,并且设为 DMA

模式;③SPI 请求 DMA 服务;④DMA 发送 1字节数据给 SPI ;⑤SPI 给卡发送数据;⑥返回到③,直到 DMA 的计数器为 0 ;

Page 91: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

91

( 3 ) DMA 模式接收对 SPI的 DMA 模式接收操作步骤如下:①设置预分频寄存器 SPPRE ;②设置控制寄存器 SPCON ,并且设为 DMA 模式;③将 SPI设置为仅接收模式,设置引脚控制寄存

器 SPPIN 中的 TAGD 为 1;④当 SPI从卡接收到 1 字节数据后,请求 DMA服

务;⑤DMA从 SPI读取数据;⑥SPI 自动启动一次无用数据 (0xFF)的发送;⑦返回到( 4),直到 DMA的计数器为 0 ;⑧设置控制寄存器 SPCON ,改设为其它模式,如

查询、中断模式;⑨如果 Rx REDY被设置为 1,则需要读取最后接

收的数据。注意: DMA第 1次接收的是数据的无效的。

Page 92: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

92

( 4 ) SPI 从设备以格式 B 接收的问题当 SPI从设备以格式 B接收, DMA的读信号比数

据接收的锁存信号早,在数据未锁存之前,读信号就出现了。因此使用 DMA 模式不能够正确接收。如下图所示。

对于中断和查询模式,可以延时半个时钟,能够正确读取数据。

Page 93: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

93

4 ) SPI 接口应用举例把 S3C2410的 SPI0设为主设备,同时把 SPI1 设为从设备,

将二者的 MOSI、 MISO交叉相连,二者的 SCL 对连, 用 GPG0 引脚控制 nSS1 。编写程序, SPI0用中断方式、 SPI1 用查询方式,采用格式 B、 1Mb/s 的波特率, SPI0和 SPI1 在发送的同时接收数据,双方都发送、接收 100个字节的数据。设系统 Pclk=50MHz。解:

( 1 ) SPI计算预分频值:由 Baud tate = Pclk/2/( Prescaler value + 1 )

Prescaler value = Pclk/2/Baud tate - 1=24( 2 ) SPI 控制寄存器值SPCON0=0b 01 1 1 0 1 0 = 0x3A

含义:中断模式、使用时钟、主设备、 0极性、格式 B 、一般收发传输。

SPCON1=0b 01 0 0 0 1 0 = 0x22 含义:中断、不用时钟、从设备、 0极性、格式 B 、收发

Page 94: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

94

( 3 ) SPI 引脚控制寄存器SPPIN0=0b 0 1 1 = 0x03含义:不检测多主错误、保留 1 、输出引脚保持输出。SPPIN1=0b 0 1 1 = 0x03( 4 ) SPI 引脚配置GPECON=0b ** ** 10 10 10 ** ……先清 0 : &~(0xFC<<20);再设置: |(0xA8<<20)

GPGCON=0b …… 11 11 11 ** 11 11 ** 01 先清 0 : &~0xFCF3);再设置: |(0xFCF1)

SPI0 引脚 29 28 27 26 25 24 23 22 21 20

GPECON * * 1 0 1 0 1 0 * *

CLK0 MOSI0 MISO0

SPI0 引脚 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

GPGCON 1 1 1 1 1 1 * * 1 1 1 1 * * 0 1

CLK1MOSI

1MISO

1* nSS1 nSS0 * 输出

Page 95: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

95

( 4 )中断寄存器设置中断模式寄存器:

INTMOD &=~(1<<22)INT_UART2 位于第 15 位,将 UART2 设置为 IRQ中断

中断屏蔽寄存器:INTMSK&=~ (1<<22)

中断优先级寄存器 PRIORITY :不设置,用复位值 0x7F ,优先级为循环方式。

( 5 )在中断服务程序中对寄存器的操作清除中断标志寄存器相应位:

SRCPND&=~ (1<<22)清除中断服务寄存器相应位:

INTPND&=~ (1<<22)

Page 96: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

96

#include "2410header.h"

void Main(void){ sysinit(); while(1){ Uart_Printf("\n 2410 Board SPI TEST!\n");

Test_SPI( ); }}

Page 97: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

97

char tran_data0[100], rec_data0[100], num0=0;char tran_data1[100], rec_data1[100], num1=0;void Test_SPI(void){rSPPRE0=24; rSPPRE1=24;rSPCON0=0x3A;rSPCON1=0x22; rSPPIN0=0x03; rSPPIN1=0x03; rGPECON = rGPECON & ~(0xFC<<20)|(0xa8<<20);rGPGCON = rGPGCON & ~0xFCF3 | 0xFCF1;rGPGDAT = rGPGCON & ~1; // 使 GPG0 输出 0

INTMOD &=~(1<<22);INTMSK &=~(1<<22);

pISR_SPI0=(U32)spi0_int;

Page 98: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

98

rSPTDAT1=tan_data1[num1];rSPTDAT0=tan_data0[num0];for(;num1<100;){

while(rSPSTA1&1==0); INTMSK |=(1<<22); // 关闭 SPI0 中断rec_data[num1] = rSPRDAT1;num1++;if(num1<100)

rSPTDAT1=tan_data1[num1];INTMSK &=~(1<<22); //打开 SPI0 中断

}INTMSK |=(1<<22); // 关闭 SPI0 中断rGPGDAT |= 1; // 使 GPG0 输出 1 , nS

S1 为高}

Page 99: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

99

void _irq spi_int(void){rec_data[num0]=rSPRDAT0;num0++;if(num<100)

rSPTDAT0 = tran_data[num0];SRCPND &=~ (1<<22); // 清除中断标志寄存器相应位INTPND &=~ (1<<22); // 清除中断服务寄存器相应位

}

Page 100: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

100

#define rSPTDAT0 (*(volatile unsigned *)0x59000010) //SPI0 Tx data

#define rSPRDAT0 (*(volatile unsigned *)0x59000014) //SPI0 Rx data

#define rSPTDAT1 (*(volatile unsigned *)0x59000030) //SPI1 Tx data

#define rSPRDAT1 (*(volatile unsigned *)0x59000034) //SPI1 Rx data

Page 101: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

101

33 )) SDSD 卡接口卡接口• SD SD 卡是卡是 Secure Digital Card Secure Digital Card 卡的简称,直译就卡的简称,直译就

是“安全数字卡”,是“安全数字卡”,• SDSD卡由松下、东芝和卡由松下、东芝和 SanDiskSanDisk 联合推出,联合推出, 19991999年年

发布。发布。• 通常采用通常采用 44 位并行数据线,具有位并行数据线,具有 77 针接口。内部采针接口。内部采

用用 NANDNAND 型的型的 FlashFlash ,平均数据传输率达,平均数据传输率达 2Mb/S2Mb/S 。。• SDSD 存储卡是一个完全开放的标准(系统),多用于存储卡是一个完全开放的标准(系统),多用于

MP3MP3 、数码摄像机、数码相机、电子图书、、数码摄像机、数码相机、电子图书、 AV AV 器器材等等,尤其是被广泛应用在超薄数码相机上。材等等,尤其是被广泛应用在超薄数码相机上。

Page 102: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

102

SDSD 卡接口卡接口 SDSD 卡最大的特点就是通过加密功能,可以保证卡最大的特点就是通过加密功能,可以保证数据资料的安全保密。它还具备版权保护技术。数据资料的安全保密。它还具备版权保护技术。 SDSD 总线信号定义如下:总线信号定义如下:

① ① CLKCLK :时钟信号:时钟信号② ② CMDCMD :命令:命令 // 响应信号响应信号③ ③ DAT0-DAT3DAT0-DAT3 :双向数据传输信号:双向数据传输信号④ ④ VDDVDD ,, VSS1VSS1 ,, VSS2VSS2 :电源和地信号:电源和地信号为了保证信号的可靠性,为了保证信号的可靠性, SDSD 卡的所有接口引脚需加卡的所有接口引脚需加上拉电阻,具体接口电路如图。上拉电阻,具体接口电路如图。

Page 103: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

103

SDSD卡驱动电路卡驱动电路

Page 104: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

104

44 )) IISIIS 音频设备总线音频设备总线 目前,越来越多的消费电子产品都引入了数字音目前,越来越多的消费电子产品都引入了数字音频系统。这些数字化的声音信号都由一系列的超大频系统。这些数字化的声音信号都由一系列的超大规模集成电路处理,常用的数字声音处理需要的集规模集成电路处理,常用的数字声音处理需要的集成电路包括成电路包括 A/DA/D 和和 D/AD/A 转换器、数字信号处理器转换器、数字信号处理器 DSPDSP 、、数字滤波器和数字音频输入输出接口等。数字滤波器和数字音频输入输出接口等。

IISIIS 总线是菲利普公司提出的音频总线协议,全总线是菲利普公司提出的音频总线协议,全称是数字音频集成电路通信总线(称是数字音频集成电路通信总线( Intel IC Sound Intel IC Sound BusBus ),它是一种串行的数字音频总线协议。),它是一种串行的数字音频总线协议。 IISIIS 总总线只处理声音数据,其他信号必须单独传输。该总线只处理声音数据,其他信号必须单独传输。该总线只使用了提供分时复用功能的数据线线只使用了提供分时复用功能的数据线 SDSD ;字段选;字段选择(声道选择)择(声道选择) WSWS 线;时钟信号线线;时钟信号线 SCKSCK 共共 33 根串行根串行总线。 总线。

Page 105: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

105

IISIIS 音频设备总线音频设备总线 目前,目前, S3C44B0X, S3C2410S3C44B0X, S3C2410 等处理器中都内置有等处理器中都内置有IISIIS 总线接口电路,能够和其他厂商提供的多媒体编总线接口电路,能够和其他厂商提供的多媒体编码解码芯片配合使用,读取码解码芯片配合使用,读取 IISIIS 总线上面的数据。总线上面的数据。

微处理器上的微处理器上的 IISIIS 接口电路有三种工作模式,即接口电路有三种工作模式,即正常传输模式、正常传输模式、 DMADMA 模式和传输模式和传输 // 接收模式。它通过接收模式。它通过44 或或 55 个引脚与外部的编解码器连接起来,在回放数个引脚与外部的编解码器连接起来,在回放数字化声音或合成声音时, 字化声音或合成声音时, IISIIS 控制器从控制器从 IIS LINKIIS LINK 端端发送至编解码器。编解码器中的发送至编解码器。编解码器中的 D/AD/A 转换器把声音数转换器把声音数据转换成模拟声音波形。为记录数字化声音, 据转换成模拟声音波形。为记录数字化声音, IISIIS控制器从编解码器(通过控制器从编解码器(通过 IIS LINKIIS LINK )接收数字化采)接收数字化采样值,存放在微处理器系统的存储器中。 样值,存放在微处理器系统的存储器中。

Page 106: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

106

55 )数字音频接口)数字音频接口 AC’97AC’97 (( Audio Codec’97Audio Codec’97 的缩写)是的缩写)是 IntelIntel公司架构实验室在公司架构实验室在 19971997 年开发出来的一个标准。它年开发出来的一个标准。它所定义的是一种在主流所定义的是一种在主流 PCPC 中实现音频特性的方法,中实现音频特性的方法,后来又扩展了实现后来又扩展了实现 ModemModem 的功能。的功能。 IntelIntel 使用“使用“ audaudio codec”io codec” 来概括数字到模拟以及模拟到数字的编来概括数字到模拟以及模拟到数字的编码、解码等这一类的问题,这样码、解码等这一类的问题,这样 audio codecaudio codec 经常经常和和 A/DA/D ,, D/AD/A 结合在一起。结合在一起。

在在 Intel XscaleIntel Xscale 系列微处理器中都带有系列微处理器中都带有 AC97AC97 控控制单元,它被集成到制单元,它被集成到 IntelIntel 芯片组中的音频器件包芯片组中的音频器件包括两个芯片,一个是括两个芯片,一个是 AC’97 Digital controller,AC’97 Digital controller,另一个是另一个是 AC’97 codecAC’97 codec 。。 AC97AC97 控制器支持点到点控制器支持点到点的全双工同步互联。 的全双工同步互联。

Page 107: 4.5   人机交互接口

4251

0011 0010 1010 1101 0001 0100 1011

107

数字音频接口数字音频接口 AC’97AC’97 利用核心芯片组的功能和外围的模拟设备利用核心芯片组的功能和外围的模拟设备共同实现音频卡共同实现音频卡 /Modem/Modem 的功能。目前的功能。目前 AC’97AC’97 的规范的规范有有 2.02.0 ,, 2.22.2 ,, 2.32.3 等版本。等版本。

AC’97AC’97 规范实现了规范实现了 DSPDSP 芯片与芯片与 CODECCODEC 芯片分离,芯片分离,模拟与数字电路完全分离;固定采样率;使用标准引模拟与数字电路完全分离;固定采样率;使用标准引脚的脚的 CODECCODEC 芯片等三方面优点。保证了音频质量,使芯片等三方面优点。保证了音频质量,使声卡电路标准化、提高了兼容性能。声卡电路标准化、提高了兼容性能。

嵌入式系统中也经常使用该接口进行语音信号的嵌入式系统中也经常使用该接口进行语音信号的处理,处理, AC’97AC’97控制单元支持音频控制器,通过串口来控制单元支持音频控制器,通过串口来传输数字音频信号。传输数字音频信号。

注意:注意: AC97AC97 控制单元和控制单元和 IISIIS 控制器不能同时使用。 控制器不能同时使用。