4.5.1 显示器接口设计 键盘接口设计 触摸屏接口设计 嵌入式系统其它接口设计

Slides:



Advertisements
Similar presentations
实验四 利用中规模芯片设计时序电路(二).
Advertisements

UI(用户界面)集训班 Illustrator 高级班.
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
三星—SCH-W999 建议零售价格:9380 元 上市时间:2011年12月
UROVO—i6200 外观设计 建议零售价格:XX元 上市时间:2014年 月 12 日 目标人群:快递、物流、医院、零售、快销
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
嵌入式系统讲义 第4章 S3C2410X系统结构 周国运
嵌入式系统讲义 第4章 S3C2410X系统结构 周国运
瑞斯康达—MSG1500 产品类型:路由器 建议零售价格:198元 上市时间:2017 年 3月
AVR单片机软硬件设计教程-入门篇 ——学单片机就要学AVR!
GETAC—PS336-G1-T 外观设计 建议零售价格:13,830元 上市时间:2014年 2月1日 目标人群:户外现场作业人员
Block diagram BB —逻辑 —音频 —电源管理 HW interface. Block diagram BB —逻辑 —音频 —电源管理 HW interface.
Roy Wan PCI MS/s 14-bit 高速数字化仪 Roy Wan
三星S3C2440微处理器.
大学计算机基础 典型案例之一 构建FPT服务器.
华为—E8372h- 155 外观设计 产品类型:数据卡 建议零售价格:299元 上市时间:2017年6月7日 目标人群:大众
SPI驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
乐驾-车载无线终端-CARRO 产品类型:车载无线路由器 建议零售价格:¥599 江苏鸿信
数 控 技 术 华中科技大学机械科学与工程学院.
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
深圳市藏海科技有限公司—CH7852 建议零售价格:140元 上市时间:2017年 12 月 11 日
神讯电脑—Z710-G1-T 建议零售价格: 元 上市时间:2012年 9月 4日 目标人群:巡检人员,公共安全人员,工厂盘点
森锐科技-SR235 外观设计 建议零售价格:2300元 上市时间:2016年 05 月 01 日
AM5728 视频输入端口VIP软件框架 广州创龙电子科技有限公司
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
厂商—型号 海尔-PAD002 外观设计 建议零售价格:2999元 上市时间:2011年3月 目标人群:有移动互联需求的商务人士
CPU结构和功能.
多媒体技术 中南大学信息科学与工程学院 黄东军.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
华为手机介绍.
华为—HUAWEI EC176 外观设计 建议零售价格:339元 上市时间:2012年 6月 10日 目标人群:大众消费群体
微机系统的组成.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
HUAWEI—S7-301c 外观设计 建议零售价格:2899元 上市时间:2012年5 月15日
K60入门课程 02 首都师范大学物理系 王甜.
第四章 团队音乐会序幕: 团队协作平台的快速创建
海信HS-E912 建议零售价格:699元 上市时间:2013年 3 月
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
产品介绍 TOPOLF-T198 产品类型:4G MIFI 建议零售价格:699元 上市时间: 2015年1月 目标人群:差旅人士
(Random Access Memory)
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
Thomson-252G 外观设计 上市时间:2011年1月 目标人群:普通消者,行业用户费 标准配置:一电一充\耳机\数据线\DC充电器
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
华为— S7-201c 外观设计 S7-201c 建议零售价格:2588元 上市时间:2011年 10月 20 日
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
天波—TPS580 外观设计 产品类型:智能信息化终端 建议零售价格:1500元 上市时间:2016年3月
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
HSC高速输出例程 HORNER APG.
苏教版小学信息技术3年级第2课 认识计算机.
华为—HUAWEI EC19 9 建议零售价格:299元 上市时间:2012年4月18日 目标人群:移动办公用户;其它有移动上网需求的用户
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
华为-HUAWEI—EC156 建议零售价格:329元 上市时间:2012年 1 月 1 日 目标人群:大众消费群体 标准配置:无配件
ADC0809并行A/D转换 (实验十) DAC0832并行D/A转换实验 (实验十一) RS232串口通信实验 (实验九)
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
B12 竺越
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
DSP技术与应用 电子与信息技术系.
9.6.2 互补对称放大电路 1. 无输出变压器(OTL)的互补对称放大电路 +UCC
四路视频编码器 快速安装手册 1、接口说明 2、安装连接 3、软件下载 4、注意事项 编码器软件下载地址
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(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等

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

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

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

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

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

(3)LCD控制器专用寄存器 S3C2410的有17个专用寄存器,分为四类,其基地址均为0x4D000000。 控制寄存器(5个,如下表) 描 述 初值 偏址 LCDCON1 LCD控制寄存器1 0x00000000 0x00 LCDCON2 LCD控制寄存器2 0x04 LCDCON3 LCD控制寄存器3 0x08 LCDCON4 LCD控制寄存器4 0x0C LCDCON5 LCD控制寄存器5 0x10

地址寄存器 共3个地址寄存器控制寄存器,如下表所示。 寄存器 描 述 初值 偏址 LCDSADDR1 帧起始地址寄存器1 描 述 初值 偏址 LCDSADDR1 帧起始地址寄存器1 0x00000000 0x14 LCDSADDR2 帧起始地址寄存器2 0x18 LCDSADDR3 虚拟屏地址寄存器 0x1C

共4个颜色配置寄存器,1个抖动模式寄存器,如下表所示。 描 述 初值 偏址 REDLUT 红颜色寄存器 0x00000000 0x20 GREENLUT 绿颜色寄存器 0x24 BLUELUT 蓝颜色寄存器 0x28 DITHMODE 抖动模式寄存器 0x4C TPAL 临时调色存器 0x50

共3个中断寄存器,1个LCD控制器寄存器,如下表所示。 描 述 初值 偏址 LCDSADDR1 中断服务存器 0x0 0x54 LCDSADDR2 中断标志寄存器 0x58 LCDSADDR3 中断屏蔽寄存器 0x3 0x5C LPCSEL LPC3600控制器 控制寄存器 0x4 0x60

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),电源和地线等。

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

LED显示器结构原理

LED显示器的连接设计

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

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

键盘抖动示意图

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

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

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

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

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

四线电阻触摸屏原理

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

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

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

触摸屏控制芯片

FM7843与ARM的连接

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

触摸屏与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是液晶屏的宽度与高度。

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

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

4)触摸屏驱动程序剖析 ../ucos-II/add/OSAddTask.c中的任务初始化函数OSAddTask_Init的触摸屏的初始化函数TchScr_init 创建触摸屏任务Touch_Screen_Task 注册系统中断(SetISR_Interrupt) 开启S3C44B0外部中断4567(TS_OPEN_INT) 中断程序Touch_Screen_ISR的实现 触摸屏的查询任务

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 坐标转换模式。

下图为S3C2410 A/D 转换器和触摸屏接口的功能块图。 主要由6部分构成: 信号输入通道 8转1切换开关 A/D转换器 控制逻辑 中断信号发生器 触摸屏接口

1)工作原理 (1)A/D 转换时间计算和分辨率 当PCLK 频率为50MHz,预分频值是49,10 位数字量的转换时间如下: A/D 转换频率=50MHz /(49+1)=1MHz 转换时间=1/(1MHz/5 个周期)=1/200KHz=5us A/D 转换器最大可以工作在2.5MHz 时钟下,所以转换速率可以达到500KSPS。 (2)触摸屏的结构及工作原理 原理:对于电阻式触摸屏,由3层透明薄膜构成,有一层是电阻层,还有一层是导电层,它们中间有一隔离层,当某一点被按压时,在按压点电阻层与导电层接触,如果在电阻层的一边接电源,另一边接地,便可测量出按压点的电压,从而可算出其坐标。 实现方法:

测量X坐标:从XP输出电压给X+端,从XM输出地电位给X-端;从YP脚输入按压点电压。 控制信号: nYPON=1; nYMON=0 nXPON=0; nXMON=1 测Y 测X

测量Y坐标:从YP输出电压给Y+端,从YM输出地电位给Y-端;从XP脚输入按压点电压。 控制信号: nYPON=0; nYMON=1 nXPON=1; nXMON=0 测Y 测X

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坐标转换,其转换结果分别存于ADCDAT0中的XPDATA域中和ADCDAT1中的YPDATA域中,然后产生INT_ADC中断请求。

(4)等待中断转换模式 在该模式下,转换器等待使用者按压触摸屏,一旦触摸屏被按压,则产生INT_TC触摸屏中断请求。 中断后,在中断处理程序中再将转换器设置为分离的X/Y坐标转换模式、或者连续的X/Y坐标转换模式进行处理。 触摸屏接口信号: XP=上拉 XM=高阻 YP=AIN[5] YM=接地 (5)静态模式 当ADCCON中的STDBM设为1时,转换器进入静态模式,停止A/D转换。其数据域的数据保持不变。

4)ADC和触摸屏专用寄存器 有5个专用寄存器 Register Address R/W Description Reset Value ADCCON 0x58000000 ADC控制寄存器 0x3FC4 ADCTSC 0x58000004 触摸屏控制寄存器 0x058 ADCDLY 0x58000008 ADC起始延迟寄存器 0x00FF ADCDAT0 0x5800000C R ADC转换数据0寄存器 - ADCDAT1 0x58000010 ADC转换数据1寄存器

(1)ADCCON---ADC控制寄存器 0:停止预分频器; 1:使能预分频器 15 14 13 …… 6 5 4 3 2 1 13 …… 6 ECFLG PRSCEN PRSCVL 5 4 3 2 1 SEL_MUX STDBM READ_START ENABLE_START ECFLG---转换结束标志(只读) 0:转换操作中; 1:转换结束 PRSCEN---转换器预分频器使能 0:停止预分频器; 1:使能预分频器 PRSCVL---转换器预分频器数值 数值N范围:1---255 注意:(1)实际除数值为N+1 (2)对N数值的要求:转换速率应该<PCLK/5

0:正常工作模式; 1:备用模式,不做A/D转换 5 4 3 2 1 SEL_MUX STDBM READ_START ENABLE_START SEL_MUX ---模拟输入通道选择 000:AIN0; 001:AIN1 010:AIN2 011:AIN3 …… 111:AIN7 STDBM---备用模式设置 0:正常工作模式; 1:备用模式,不做A/D转换 READ_START---通过读取启动转换 0:停止通过读取启动转换;1:使能通过读取启动转换 ENABLE_START---通过设置该位启动转换 0:无效; 1:启动A/D转换(启动后被清0) 注意:如果READ_START为1,则该位无效

(2)ADCTSC---ADC触摸屏控制寄存器 8 7 6 5 4 3 2 1 保留0 YM_SEN YP_SEN XM_SEN XP_SEN PULL_UP AUTO_PST XY_PST 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])

0:普通A/D转换; 1:连续X/Y轴转换模式 00:无操作模式; 01:对X坐标测量; 8 7 6 5 4 3 2 1 保留0 YM_SEN YP_SEN XM_SEN XP_SEN PULL_UP AUTO_PST XY_PST 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:等待中断模式

(3)ADCDLY---ADC起始延迟寄存器 31 …… 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 保留为0 起始延迟数值---分两种情况 第一情况: 对普通转换模式、分离的X/Y轴坐标转换模式、连续的X/Y轴坐标转换模式,为转换延时数值。 第二种情况: 对中断转换模式,为按压触摸屏后到产生中断请求的延迟时间数值,其时间单位为ms。

(4)ADCDAT0---ADC转换数据0寄存器 15 14 13 12 11 10 9 …… 0 UPDOWN AUTO_PST XY_PST 保留(0) XPDATA或普通ADC值 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

(5)ADCDAT1---ADC转换数据1寄存器 15 14 13 12 11 10 9 …… 0 UPDOWN AUTO_PST XY_PST 保留(0) YPDATA 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

AREA ADC,CODE,READONLY ENTRY START 例题:编写程序,对3通道的模拟量连续做10次转换,用查询方式读取转换结果,其数据存于0x400000开始的区域。 AREA ADC,CODE,READONLY ENTRY START #define rADCCON (*(volatile unsigned *)0x58000000) #define rADCDAT0 (*(volatile unsigned *)0x5800000c) #define pref 49 #define ch 3

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; //再次启动转换 }

4.5.4 通用几种接口标准 1)红外接口 红外接口是新一代手机等智能设备的配置,它支持手机等设备与电脑以及其他数字设备进行数据交流。红外通讯有着成本低廉、连接方便、简单易用和结构紧凑的特点,因此在小型的移动设备中获得了广泛的应用。通过红外接口,各类移动设备可以自由进行数据交换。    红外线是波长在750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。由于红外线的波长较短,对障碍物的衍射能力差,所以更适合应用在需要短距离、无遮挡的无线通讯的场合。   

配备有红外接口的智能设备进行无线上网非常简单,不需要连接线和PC CARD,只要设置好红外连接协议就能直接上网。红外接口被众多的硬件和软件平台所支持;通过数据电脉冲和红外光脉冲之间的相互转换实现无线的数据收发。 红外线通信技术适合于低成本、跨平台、点对点高速数据连接,尤其是嵌入式系统。红外线技术的主要应用:设备互联、信息网关。设备互联后可完成不同设备内文件与信息的交换,信息网关负责连接信息终端和互联网。

(1)红外技术的主要特点 其使手机和电脑间可以无线传输数据; 可以与同样具备红外接口的设备间进行信息交流;  其使手机和电脑间可以无线传输数据; 可以与同样具备红外接口的设备间进行信息交流; 红外接口可以省去下载或其他信息交流所发生的费用; 由于需要对接才能传输信息,安全性较强; 通讯距离短,通讯过程中不能移动,遇障碍物通讯中断;  红外通讯技术的主要目的是取代线缆连接进行无线数据传输,功能单一,扩展性差。

(2)红外( IrDA )接口标准 IrDA是红外数据协会(Infrared Data Association)的简称。 IrDA是一种利用红外光进行短距离点对点通信的技术。 IrDA标准: 1.0版-最高速度115.2kb/s 1.1版-最高速率4Mb/s,与1.0版本的兼容。 IrDA物理层规范 通信速率、数据的调制方式、红外收发器的峰值波长、视角、发光强度、接收灵敏度、抗背景光噪声的能力等。

(3)IrDA的重要指标~速率 SIR:串行红外(SIR)标准,速率覆盖了RS-232通常所支持的速率,如9600bps、19.2kbps、38.4kbps、57.6kbps等。 MIR:指0.576Mbps与1.152Mbps的速率。。 FIR:高速红外(FIR) 指4Mbps的速率,有时也指高于SIR的所有速率。 VFIR:甚高速红外标准,16Mbps。

(4)主板红外接口应用 目前大多数电脑的主板均提供了红外线传输端口,如果能通过主板红外线接口与其他设备实现红外通讯,在不少应用中是会很方便的。 首先要安装好红外线连接器,连接红外接口连接器和主板红外接口时要注意5针插口的方向,方问插反可能会导致主板接口损坏。     ①正确设置主板BIOS 使用主板红外接口时需在BIOS的“INTEGRATED PERIPHERALS”子菜单中,将“Onboard IrDa Port”或相关选项设置成Enable ,“UART2 Use Infrared”项设置为IrDA,一般是将主板的COM2设置为红外线传输接口。因此主板COM2接口将会失去作用。    

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

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传输模式。

1)S3C2410 SPI结构与工作原理 (1)SPI结构

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

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

图 (B) Format CPOL和CPHA 第一位数据输出 其它位数据输出 数据采样 A CPOL=0,CPHA=0 第1个SCK上升沿前

2)SPI专用寄存器 2个UART,每个都有6个专用寄存器,共12个寄存器 Register Address R/W Description Reset Value SPCONn 0x590000x0 SPI控制寄存器 0x00 SPSTAn 0x590000x4 R SPI状态寄存器 0x01 SPPINn 0x590000x8 SPI引脚控制寄存器 0x02 SPPREn 0x590000xC SPI预分频寄存器 SPTDATn SPI数据发送寄存器 SPRDATn SPI数据接收寄存器

Tx Auto Garbage Data Mode (1)SPI控制寄存器(SPCON) Register Address R/W Description Reset Value SPCON0 0x59000000 SPI0 控制寄存器 0x00 SPCON1 0x59000020 SPI1 控制寄存器 字段名 位 意 义 初值 SMOD 6:5 SPI模式选择。00:查询模式; 01:中断; 10:DMA模式; 11:保留 00 ENSCK 4 时钟SCK控制。 0:禁止;1:允许。 MSTR 3 SPI主、从选择。 0:从SPI;1:主SPI CPOL 2 时钟极性选择。0:高电平有效;1:低 CPHA 1 时钟相位选择。0:格式A;1:格式B Tx Auto Garbage Data Mode Enable (TAGD) 仅接收模式控制。0:正常收发; 1:仅接收(此时(自动)发送任意数据)

Data Collision Error Flag (DCOL) Multi Master Error Flag (MULF) (2)SPI状态寄存器(SPSTA) Register Address R/W Description Reset Value SPSTA0 0x59000004 R SPI0 状态寄存器 0x01 SPSTA1 0x59000024 SPI1 状态寄存器 字段名 位 意 义 初值 reserved 7:3 保 留 Data Collision Error Flag (DCOL) 2 数据写碰撞(正在发送时写SPTDAT) 错误标志。 0:无错;1:碰撞错误 Multi Master Error Flag (MULF) 1 多主SPI错误标志。 0:无错;1:多主SPI错误。 Transfer Ready Flag (REDY) 收发就绪标志。 0:未就绪; 1:收或发就绪。 写SPTDAT后该位自动清0

(3) SPI引脚控制寄存器(SPPIN) Register Address R/W Description Reset Value 字段名 0x59000008 SPI0 引脚控制寄存器 0x02 SPPIN1 0x59000028 SPI1 引脚控制寄存器 字段名 位 意 义 初值 reserved 7:3 保 留 Multi Master error detect Enable (ENMUL) 2 引脚多主SPI错误测试设置。 0:禁测;1:允许多主错误测试。 测试结果在SPSTAn中的MULF位 1 该位应该为1 Master Out Keep (KEEP) 1字节发完后MOSI的控制与释放 0:释放;1:保持MOSI原电平

(4) SPI预分频寄存器(SPPRE) Register Address R/W Description Reset Value 字段名 0x5900000C SPI0 预分频寄存器 0x00 SPPRE1 0x5900002C SPI1 预分频寄存器 字段名 位 意 义 初值 Prescaler value 7:0 预分频值 波特率计算: Baud tate = Pclk/2/( Prescaler value + 1 ) 提示:SPI的波特率必须<25MHz。

(5)SPI发送数据寄存器(SPTDAT) Register Address R/W Description Reset Value SPTDAT0 0x59000010 SPI0 发送数据寄存器 0x00 SPTDAT1 0x59000030 SPI1 发送数据寄存器 字段名 位 意 义 初值 Tx data 7:0 SPI所发送的8位数据 0x00 提示:在同时双向传输时,从SPI设备必须先把所发送的数据写到“发送数据寄存器”SPTDATn中,然后再写主SPI设备的“发送数据寄存器”SPTDATn。

(6)SPI接收数据寄存器(SPRDAT) Register Address R/W Description Reset Value SPRDAT0 0x59000014 R SPI0 接收数据寄存器 0x00 SPRDAT1 0x59000034 SPI1 接收数据寄存器 字段名 位 意 义 初值 Tx data 7:0 SPI所接收的8位数据 0x00 提示:在同时双向传输时,启动发送后,应该先读取数据,然后再发送数据。

3)SPI应用方法 (1)一般操作步骤 如果SPI控制寄存器SPCON已经设置过,则写数据发送寄存器SPTDAT启动发送。对SPI卡操作步骤如下: ①设置预分频寄存器SPPRE; ②设置控制寄存器SPCON; ③设置一个GPIO引脚,使选中的MMC或SD卡的片选信号nSS有效; ④向数据发送寄存器SPTDAT写10次0xFF,对MMC或SD卡初始化; ⑤发送数据:先要查询Tx/Rx REDY是否为1,然后向数据发送寄存器SPTDAT写数据;

一般方式(同时收发,TAGD=0):向数据发送寄存器SPTDAT写0xFF,查询并确认Rx REDY为1,然后从数据接收寄存器中读取数据。 ⑥接收数据: 一般方式(同时收发,TAGD=0):向数据发送寄存器SPTDAT写0xFF,查询并确认Rx REDY为1,然后从数据接收寄存器中读取数据。 仅接收方式(TAGD=1):并确认Rx REDY为1,然后从数据接收寄存器中读取数据。读取数据的同时启动一次发送。 ⑦设置GPIO引脚,使选中的MMC或SD卡的片选信号nSS无效,结束传输。

(2)DMA模式发送 对SPI的DMA模式发送操作步骤如下: ①设置预分频寄存器SPPRE; ②设置控制寄存器SPCON,并且设为DMA模式; ③SPI请求DMA服务; ④DMA发送1字节数据给SPI; ⑤SPI给卡发送数据; ⑥返回到③,直到DMA的计数器为0;

(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次接收的是数据的无效的。

对于中断和查询模式,可以延时半个时钟,能够正确读取数据。 (4) SPI从设备以格式B接收的问题 当SPI从设备以格式B接收,DMA的读信号比数据接收的锁存信号早,在数据未锁存之前,读信号就出现了。因此使用DMA模式不能够正确接收。如下图所示。 对于中断和查询模式,可以延时半个时钟,能够正确读取数据。

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、收发

含义:不检测多主错误、保留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 CLK0 MOSI0 MISO0 SPI0引脚 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 GPGCON * CLK1 MOSI1 MISO1 nSS1 nSS0 输出

(4)中断寄存器设置 中断模式寄存器: INTMOD &=~(1<<22) INT_UART2位于第15位,将UART2设置为IRQ中断 中断屏蔽寄存器: INTMSK&=~ (1<<22) 中断优先级寄存器PRIORITY: 不设置,用复位值0x7F,优先级为循环方式。 (5)在中断服务程序中对寄存器的操作 清除中断标志寄存器相应位: SRCPND&=~ (1<<22) 清除中断服务寄存器相应位: INTPND&=~ (1<<22)

#include "2410header.h" void Main(void) { sysinit(); while(1) Uart_Printf("\n 2410 Board SPI TEST!\n"); Test_SPI( ); }

char tran_data0[100], rec_data0[100], num0=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;

rSPTDAT1=tan_data1[num1]; for(;num1<100;) { while(rSPSTA1&1==0); INTMSK |=(1<<22); //关闭SPI0中断 rec_data[num1] = rSPRDAT1; num1++; if(num1<100) INTMSK &=~(1<<22); //打开SPI0中断 } INTMSK |=(1<<22); //关闭SPI0中断 rGPGDAT |= 1; //使GPG0输出1,nSS1为高

SRCPND &=~ (1<<22); //清除中断标志寄存器相应位 void _irq spi_int(void) { rec_data[num0]=rSPRDAT0; num0++; if(num<100) rSPTDAT0 = tran_data[num0]; SRCPND &=~ (1<<22); //清除中断标志寄存器相应位 INTPND &=~ (1<<22); //清除中断服务寄存器相应位 }

#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

3)SD卡接口 SD 卡是Secure Digital Card 卡的简称,直译就是“安全数字卡”, SD卡由松下、东芝和SanDisk联合推出,1999年发布。 通常采用4位并行数据线,具有7针接口。内部采用NAND型的Flash,平均数据传输率达2Mb/S。 SD存储卡是一个完全开放的标准(系统),多用于MP3、数码摄像机、数码相机、电子图书、AV 器材等等,尤其是被广泛应用在超薄数码相机上。

SD卡接口 SD卡最大的特点就是通过加密功能,可以保证数据资料的安全保密。它还具备版权保护技术。 SD总线信号定义如下: ① CLK:时钟信号 ② CMD:命令/响应信号 ③ DAT0-DAT3:双向数据传输信号 ④ VDD,VSS1,VSS2:电源和地信号 为了保证信号的可靠性,SD卡的所有接口引脚需加上拉电阻,具体接口电路如图。

SD卡驱动电路

4)IIS音频设备总线 目前,越来越多的消费电子产品都引入了数字音频系统。这些数字化的声音信号都由一系列的超大规模集成电路处理,常用的数字声音处理需要的集成电路包括A/D和D/A转换器、数字信号处理器DSP、数字滤波器和数字音频输入输出接口等。 IIS总线是菲利普公司提出的音频总线协议,全称是数字音频集成电路通信总线(Intel IC Sound Bus),它是一种串行的数字音频总线协议。IIS总线只处理声音数据,其他信号必须单独传输。该总线只使用了提供分时复用功能的数据线SD;字段选择(声道选择)WS线;时钟信号线SCK共3根串行总线。

IIS音频设备总线 目前,S3C44B0X, S3C2410等处理器中都内置有IIS总线接口电路,能够和其他厂商提供的多媒体编码解码芯片配合使用,读取IIS总线上面的数据。 微处理器上的IIS接口电路有三种工作模式,即正常传输模式、DMA模式和传输/接收模式。它通过4或5个引脚与外部的编解码器连接起来,在回放数字化声音或合成声音时, IIS控制器从IIS LINK端发送至编解码器。编解码器中的D/A转换器把声音数据转换成模拟声音波形。为记录数字化声音, IIS控制器从编解码器(通过IIS LINK)接收数字化采样值,存放在微处理器系统的存储器中。

5)数字音频接口 AC’97(Audio Codec’97的缩写)是Intel公司架构实验室在1997年开发出来的一个标准。它所定义的是一种在主流PC中实现音频特性的方法,后来又扩展了实现Modem的功能。Intel使用“audio codec”来概括数字到模拟以及模拟到数字的编码、解码等这一类的问题,这样audio codec经常和A/D,D/A结合在一起。 在Intel Xscale系列微处理器中都带有AC97控制单元,它被集成到Intel芯片组中的音频器件包括两个芯片,一个是AC’97 Digital controller,另一个是AC’97 codec。AC97控制器支持点到点的全双工同步互联。

数字音频接口 AC’97利用核心芯片组的功能和外围的模拟设备共同实现音频卡/Modem的功能。目前AC’97的规范有2.0,2.2,2.3等版本。 AC’97规范实现了DSP芯片与CODEC芯片分离,模拟与数字电路完全分离;固定采样率;使用标准引脚的CODEC芯片等三方面优点。保证了音频质量,使声卡电路标准化、提高了兼容性能。 嵌入式系统中也经常使用该接口进行语音信号的处理,AC’97控制单元支持音频控制器,通过串口来传输数字音频信号。 注意:AC97控制单元和IIS控制器不能同时使用。