67
NEUSOFT Institute of Information Technology, ChengDu Date: 12. Sept. 2005 嵌嵌嵌嵌 嵌嵌嵌嵌嵌嵌嵌 NEUSOFT Institute of information Technology .Cheng Du 成成成成成成成成成成成成成成 成成成 028-82878167 [email protected] [email protected]

嵌入式系统原理与接口技术

Embed Size (px)

DESCRIPTION

嵌入式系统原理与接口技术. NEUSOFT Institute of information Technology .ChengDu 成都东软信息技术学院计算机系 杨宗德 028-82878167 [email protected] [email protected]. 第 5 章 ARM 接口设计技术. 本章主要内容: 键盘接口 LED 显示器接口 LCD 显示器接口 触摸屏接口 通讯接口 中断接口 A/D 和 D/A 转换器接口 ARM 的 JTAG 接口. 芯片 S3C44B0X. - PowerPoint PPT Presentation

Citation preview

Page 1: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

嵌入式系统原理与接口技术

NEUSOFT Institute of information Technology .ChengDu

成都东软信息技术学院计算机系 杨宗德028-82878167

[email protected]

[email protected]

Page 2: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

第 5 章 ARM 接口设计技术本章主要内容: 键盘接口 LED 显示器接口 LCD 显示器接口 触摸屏接口 通讯接口 中断接口 A/D 和 D/A 转换器接口 ARM 的 JTAG 接口

Page 3: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

芯片 S3C44B0X

• 本章主要基于芯片 S3C44B0X ,介绍其多个接口。 S3C44B0X 是基于ARM7TDMI 的体系结构 , 是 ARM 公司最早为业界普遍认可并且赢得最广泛应用的处理核。芯片 S3C44B0X 具有 71 个通用多功能输入输出引脚,这些 I/O 口的应用是 S3C44BOX 处理器的基础应用,分别包含在如下 7 组端口中:

1 个 10 位输出端口〔端口 A 〕; 1 个 11 位输出端口(端口 B ); 1 个 16 位输入/输出端口(端口 C ); 2 个 8 位输入/输出端口(端口 D 和 G ); 2 个 9 位输入/输出端口(端口 E 和 F )。

Page 4: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

键盘概述 • 计算机的键实际上就是开关,制造这种键的方法是多种多样的,

以下是几种常用的按键: 机械式按键 电容式按键 薄膜式按键 霍耳效应按键

Page 5: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

用 ARM 芯片实现键盘接口• 本应用实例中,要与 4X4 的矩阵键盘接口,采用节省口线的“行扫描法”方法来

检测键盘,这样只需要 8 根口线,在此选取 PF 口作为检测键盘用端口,并设定 PF0 –PF3 为输出扫描码的端口, PF4--PF7 为键值读入口。

Page 6: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

LED 显示器接口概述 • LED(Light Emitting Diode) 常称为七段发光二极管 , 在专用的微型计算

机系统中 , 特别是在嵌入式控制系统中 , 应用非常普遍。它价格低廉、体积小、功耗低,而可靠性又很好,因此,从单板微型机、袖珍计算机到许多微型机控制系统及数字化仪器都用 LED 作为输出显示。

Page 7: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

用 ARM 芯片实现 LED 显示接口Ⅰ • 1 .接口电路

+5V

位驱动

0第 位 1第 位 2第 位 3第 位 4第 位阳极

abcdefgDP

PF0

5-4 LED图 显示扫描和驱动电路

ULN2803A

段驱动

PF7

PG0

. . .

. . .

PG7

5第 位 6第 位 7第 位

Page 8: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

用 ARM 芯片实现 LED 显示接口Ⅱ• 2. 初始化程序如下。 ( 1 )设置 PCONF 、 PCONG 寄存器 , 由于需要设定端口 F 、 G 为输出口,

因此,在端口工作之前设置 :

rPCONF = 001 001 001 01 01 01 01 01 B = 0x12555 ; rPCONG = 01 01 01 01 01 01 01 01 B = 0x5555; ( 2 )设置 PUPF 、 PUPG 寄存器 , 设置内部上拉电阻的语句为 :

rPUPF=0x00; // 使能 PF0-7 的内部上拉电阻 rPUPG=0x00; // 使能 PG0-7 的内部上拉电阻

Page 9: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

LCD 显示器接口概述• 液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。• 基本原理是通过给不同的液晶单元供电,控制其光线的通过与否,从而

达到显示的目的。• LCD 有三种显示方式:反射型,透射型和透反射型。• 市面上出售的 LCD 有两种类型: 一种是带有驱动电路的 LCD 显示模块,这种 LCD 可以方便地与各种低档

单片机进行接口; 另一种是 LCD 显示屏,没有驱动电路,需要与驱动电路配合使用

Page 10: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

LCD 控制器 • LCD 控制器用来把定位在系统存储器中的视频缓冲区的 LCD图象数据传

输到 LCD 驱动器,并产生必须的 LCD 控制信号 。

DMA传送控制

数据控制

信号产生电路

寄存器控制

3232 32

VCLKVLI NEVFRAMEVM

VD[3:0]

VD[7:4]

REGBANK具有 18个可编程寄存器,用于配置 LCD 控制器LCDCDMA 为专用 DMAVIDPRCS 从 LCDCDMA 接收数据,将相应格式的数据通 TIMEGEN包含可编程的逻辑 TIMEGEN部分产生 VFRAME, VLINE, VCLK, VM等信号。

Page 11: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

触摸屏的接口设计Ⅰ• 1 . 触摸屏的驱动芯片 ADS7843典型接口 触摸屏的控制采用专用芯片,专门处理是否有笔或手指按下触摸屏,并在

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

Page 12: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

触摸屏的接口设计Ⅱ• 2 编程实现 利用连接好的电路设置 PCONG 寄存器如下: rPCONG = Ox015f; 其中, PENIRQ最好加上内部上拉,设置为 : rPUPG&= Ox80。 ( 1 )读取触摸点坐标程序 :

编程采用固定参考电压模式,因此 SER/DFR=1。首先检测 PENIRQ是否为低电平,如果为低电平,则认为有接触;否则认为触摸屏没有接触。利用软件模拟 DIN, DOUT 和 DCLK上的 3线串行传输时序,将读取的 x 或 Y 坐标数值的控制字串行送入 ADS7843, 然后再串行读出坐标值。最后将 X和 Y 轴坐标值送串口显示即可。

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

Page 13: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

串行通信概述 • 串行数据传送模式: 单工 半双工 全双工 • 串行通信方式: 同步通信 异步通信

Page 14: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

S3C44BOX 内部集成的 UART • S3C44B0X UART 单元提供了两个异步串口( SIO),每个 SIO可以操作在中断模式或 DMA 模式,支持波特率最大为 115.2kbps, 每个 SIO通道包含都有一个 16字节的接收与发送 FIFO缓冲区。

• 每个 UART 模块包含以下几个部件:波特率发生器,发送器,接收器和控制单元。

Page 15: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

UART 操作数据发送数据接收 动流控制( AFC ) 非自动流控制(通过软件控制 nRTS和 nCTS) 调制解调器接口

Page 16: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

中断/ DMA 请求产生器 •S3C44BOX的每个 UART 都有 7个状态信号:接收 FIFO/ 缓冲区数据准备好、发送 FIFO /缓冲区空、发送移位寄存器空、溢出错误、奇偶校验错误、帧错误和中止,所有这些状态都由对应的 UART状态寄存器 (UTRSTATn/UERSTATn)中的相应位来表现。当接收器要将接收移位寄存器的数据送到接收 FIFO,它会激活接收 FIFO满状态信号,如果控制寄存器中的接收模式选为中断模式,就会引发接收中断。当发送器从发送 FIFO中取出数据送到发送移位寄存器,那么 FIFO 空状态信号将会被激活。如果控制寄存器中的发送模式选为中断模式,就会引发发送中断。

Page 17: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

与 FIFO 有关的中断

类型 FIFO类型 非 FIFO模式

Rx中断 每当接收数据达到接收 FIFO触发的水平,就产生接收中断;如果 FIFO非空且连续 3个字时间没有接收到任何数据,就产生超时中断;

每当接收数据满,接收移位寄存器将产生一个中断;

Tx中断 每当发送数据达到发送 FIFO触发的水平,就产生发送中断;

每当发送数据空,发送保持寄存器将产生一个中断;

错 误 中断

帧错误、奇偶校验错误和被检测到并按字节接收的中止信号,都将产生错误中断;当达到接收 FIFO的顶部,就会产生溢出错误中断;

所有错误都会立即产生一个错误中断。但两个错误同时发生,只有一个中断会产生;

Page 18: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

波特率发生器 • 波特率发生器以 MCLK作为时钟源 • 每个 UART 的波特率发生器为传输提供了串行移位时钟。波特率时钟由通过时钟源的 16 分频及一个由 UART波特率除数寄存器 (UBRDIVn) 指定的 16位除数决定。

UBRDIVn =(取整)( MCLK/(波特率 ×16 )) -1

Page 19: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

回送模式与红外通信模式• 回送模式 :S3C44BOX的 UART提供的一个测试模式。在这种模式下,发送出的数据会立即被接收。这一特性用于校验运行处理器内部发送和接收通道的功能,这种模式可以通过设置 UART 控制寄存器 (UCONn)中的回送位来实现。

• 红外通信模式: S3C44BOX的 UART 模块支持红外线( IR)发送和接收。可以通过设置 UART 控制寄存器 (UCONn)中的红外模式位来选择这一模式。

Page 20: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

S3C44BOX 的 UART 的应用Ⅰ•1.电路接口和 I/O口设置 S3C44BOX的串行应用接口电路中的 PC12,PC13,PE1,PE2是多功能 I/O口,因此,在编写串口数据收发程序之前,首先需要对 PC 口和 PE 口的工作模式进行设置。 Rpconc = Ox0f000000|rPCONC;

rPUPC = 0x3000; // 设置内部上拉 rPCONE = (rPCONE & Oxfc3)|Oxeb;

rPUPE = 0x6;

Page 21: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

S3C44BOX 的 UART 的应用Ⅱ• 2.UART 初始化 对UART 口的可配置参数进行初始化,使其能够按照所要求的通讯方式进

行通讯。对UART 口进行初始化的设置程序见课本 P*。• 3.字符发送程序 Uart_SendByte() 见课本 P* 。• 4.字符接收程序 Uart_GetByte() 见课本 P*。

Page 22: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

USB 接口概述 • USB(通用串行总线 )接口正在被用于多种嵌入式系统设备的数据通信中,如移动硬盘、数码相机、 PDA 、高速数据采集设备等。它是由 Compaq、 HP、 Intel、Lucent、 Microsoft、 NEC 和 Philips七家公司联合推出的新一代标准接口总线。是一种连接外围设备的机外总线。 其主要性能特点如下:

提供机箱外的热即插即用功能 ; 每个 USB系统中有个主机,采用“级联”方式 USB总线可连接多个外部设备; 适用于带宽范围在几千位/秒( Kb/s)一几百兆位 l 秒 (Mb/s)的设备; 低成本的电缆和连接器; 具有错误检测和处理机制; 较低的协议开销带来了高的总线性能; 支持主机与设备之间的多数据流和多消息流传输 。

Page 23: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

USB 系统组成• 一个 USB系统由三部分来描述: USB主机:在任一 USB系统中只有一个主机,到主计算机系统的 USB

接口被称作主控制器。 USB设备:分为 Hub(集线器)和 Function(功能)两大类。 Hub

提供到 USB的附加连接点,功能为主机系统提供附加的性能。 USB互连: USB互连指的是 USB设备与主机的连接和通信方式,它包括总线拓扑结构、内层关系、数据流模型和 USB调度表。

USB总线用来连接各 USB设备和 USB主机 。

Page 24: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

USB 的物理接口• USB 总线的电缆有 4根导线:一对标准尺寸的双绞信号线和

一对标准尺寸的电源线。• USB总线支持的数据传输率有三种:高速信令位传输率为 480

Mbs;全速信令位传输率为 12Mbs;低速信令位传输率为 1.5Mb/s。

• USB2.0 支持在主控制器与 Hub之间用高速传输全速和低速数据,而 Hub与设备之间以全速或低速传输数据,这种支持能力可以将全速设备和低速设备对高速设备可用带宽的影响减到最小。

Page 25: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

USB 的总线协议 •USB是一种查询 (Polling)总线,由主控制器启动所有的数据传输。 USB上所挂连的外设通过由主机调度的 ( Host-Scheduled)、基于令牌的( Token-Based)协议来共享USB带宽。•大部分总线事务涉及 3个包的传输 :令牌包 (Token Packet) 数据包( Data Packet) 握手包( Handshake Packet)

主控制器和 Hub之间的某些总线事务涉及 4个包的传输,这些类型的事务用来管理主机与全 / 低速设备之间的数据传输。

主机与设备端点之间的 USB数据传输模型被称作管道,管道有两种类型:流和消息。

Page 26: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

USB 接口工作原理 • USB设备最大的特点就是即插即用,之所以能够这样,是因为 USB协议规定在主机启动或USB设备插入系统时都要对设备进行配置。就是按照USB协议,在 USB主机与 USB设备之间进行的一系列“问答”过程 。从而主机知道了设备的情况以及该如何与设备通讯,并为设备设置一个唯一的地址 。

• 在配置阶段主机也了解了设备端点的使用情况,便可以通过这些端点来进行特定传输方式的通讯。对于标准USB设备,操作系统带有它的驱动,而不需要编写专门的主机驱动程序。但这样就必须为它选择一种标准命令集;但对于非标准设备,则可以自定义一套请求指令集,,并需要编写专门的主机驱动程序来实现对USB设备的操作。

Page 27: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

以太网接口概述• 以太网以其高度灵活、相对简单、易于实现的特点,成为当今最重要的一种局域网建网技术。通常所说的以太网主要是指以下 3种不同的局域网技术 :

以太网 /IEEE 802.3 采用同轴电缆作为网络介质,传输速率达到 10 Mbps。

100 Mbps以太网 又称为快速以太网,采用双纹线作为网络介质,传输速率达到 100 Mbps。

1000 Mbps以太网 又称为千兆以太网,采用光缆或双纹线作为网络介质,传输速率达到 1000 Mbps(1 Gbps)。

Page 28: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

以太网工作原理 • 以太网最早是由 Xeros 公司开发的一种基带局域网技术;• 使用同轴电缆作为网络介质;• 以太网采用广播机制;• 采用载波多路访问和碰撞检测 (CSMA/CD)机制;• 数据传输速率达到 10 Mbps;• 以太网/ IEEE 802. 3通常使用专门的网络接口卡或通过系

统主电路板上的电路实现。

Page 29: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

以太网的传输编码 • 曼彻斯特编码• 差分曼彻斯特编码

0 1 0 0 1 1 0 0 0 1 1 0 0

差分曼彻斯特编码

曼彻斯特编码

时钟

Page 30: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

以太网帧格式

字段 同步位 分隔位 目的地址 源地址 类型/长度 数据段 填充位 FCS

长度 56 8 48 48 16 46~ 1 500 X 32

在以太网帧中,同步位、分隔位、填充位和校验位这几个字段都是由以太网控制器自动产生的;人们所关心的只是目的地址、源地址、类型和数据这 4个字段的内容;所有数据位的传输由低位开始 ( 传输的位流使用曼彻斯特编码 );以太网的冲突退避算法是由硬件自动执行的 ;

Page 31: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

以太网控制器 RTL8019 • RTL8019是高度集成的以太网控制器,为即插即用式 NE2000兼容网络适配器提供了简易的解决方案。 RTL8019共有 32个输入输出地址,对应地址偏移量为 00h—lFh。 RTL8019的内部寄存器是分页的,每个寄存器都是 8位。

Page 32: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

RTL8019 寄存器• 1.命令寄存器 CR• 2.与发送/接收相关的寄存器• 3.其他寄存器 : ①IMR :中断屏蔽寄存器 ,设置成 0x00 时,屏蔽所有的中断,设置成 0xFF 将允许中断。

②MAR0一 MAR8:多点播送地址 ,可以全写 0xFF。 ③PAGE2的寄存器是只读的,不用设置。 PAGE3的寄存器不是 NE2000兼容的,所以也不用设置。

Page 33: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

以太网模块的接口设计Ⅰ• 配置 RTL8019:为了系统的精简,配置 RTL8019为非即插即用模式。有着固定的中断,有着固定的端口地址。

• 以太网模块与处理器的接口电路:

Page 34: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

IIC 接口概述• IIC 是一种双向两线制的串行总线,由于它支持任何一种 IC 制

造工艺,且能够提升硬件的效率和简化电路的设计,因此众多厂商都提供了 IIC兼容芯片。

• S3C44BOX内部也具有 IIC总线接口模块,支持一个多主 IIC-BUS串形接口,主 S3C44B0X能发送或接收串形数据到从设备,并遵守标准的 IIC协议。

• IIC总线操作模式为:主发送模式、主接收模式、从发送模式、从接收模式。

Page 35: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

S3C44B0X 的 IIC 总线 •S3C44B0X 处理器多主模式的 IIC总线串行接口。 S3C44B0X采用专门的串行数据线( SDA )和串行时钟线 (SCL)与总线上的其他外设传输信息。•IIC总线操作读写操作配置 IIC总线•IIC总线接口专用寄存器

Page 36: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

CAN 总线概述• CAN全称为 Controller Area Network ,即控制器局域网,是国际上应用最广泛的现场总线之一。

• CAN 的主要特点包括: 低成本; 极高的总线利用率; 很远的数据传输距离 (长达 10公里 ) ; 高速的数据传输速率(高达 1Mbit/s ); 可根据报文的 ID决定接收或屏蔽该报文; 可靠的错误处理和检错机制; 发送的信息遭到破坏后可自动重发; 节点在错误严重的情况下具有自动退出总线的功能; 报文不包含源地址或目标地址,仅用标志符来指示功能信息优先级;

Page 37: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

CAN 总线与同步串行接口 SIO•S3C44B0X 的 SIO能与各种类型的串行外设接口,这个 SIO模块能以一定的频率(由寄存器设定)发送或接收 8位串行数据。时钟源可以选择内部时钟或外部时钟。•SIO 模块功能:8位数据缓冲( SIODAT );12位的预定标器( SBRDR );8位间隔计数器( ITVCNT );时钟源选择逻辑;串行数据 I/O脚( SIORXD 和 SIOTXD );外部时钟输入输出脚( SIOCK);DMA运行模式。

Page 38: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

SIO 正常操作模式•操作模式:发送与接收同时进行 , 一个发送数据脚 , 一个接收数据脚 ,当一个字节写入 SIODAT 数据寄存器 , 如果 SIO运行位设置和发送模式允许 ,则SIO 开始发送数据。•对 SIO 模块编程的步骤 :①配置 I/O脚 (SIOTXD, SIOCLK, SIORXD) ;②设置 SIOCON 为适当的配置;③设置串行 I/O 中断允许位;④如果想发送数据 ,写数据到 SIODAT ;⑤设置 SIOCON[3] 为 1, 开始数据移位操作;⑥当数据移位操作完成时 ,SIO 中断被请求和 SIODAT 接收到数据;⑦返回第 4步。

Page 39: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

中断接口概述

• S3C44BOX具有 30个中断源,包括 1个看门狗定时器 ,6个定时器 ,6个UART,8个外部 ,4个 DMA,2个 RTC,1个 ADC,1个 IIC 和 1个 SIO共 30个中断。

• S3C44BOX内置的中断控制器可以接收来自 30个中断源的请求。 S3C44B0X 支持新的中断处理模式称为矢量中断模式。中断控制器的角色,就是响应来自 FIQ(快速中断请求 )或 IRQ(普通中断请求 )的中断,并请求内核对中断进行处理。

• 多个中断请求发生时,由硬件优先级逻辑确定应该有哪个中断得到服务,同时硬件逻辑使中断向量表的跳转指令加载到( 0X18 或 0X1C )位置,在该位置执行跳转指令使程序跳到相应的中断服务线程,因此相对于传统的 ARM 的软件方法能够大大减少中断进入延时。

Page 40: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

中断控制器Ⅰ •1.中断模式 ARM7TDMI有 2种类型的中断模式 :FIQ和 IRQ。 IRQ和 FIQ之间的区别是:对于 FIQ 必须尽快处理事件并离开这个模式; IRQ可以被 FIQ中断,但 IRQ不能中断 FIQ;为了使 FIQ更快 ,FIQ模式具有更多的私有寄存器。•2.PSR 的 F位和 I位 PSR指 ARM7TDMI 处理器的程序状态寄存器。如果 PSR 的 F位被设置为 1, 处理器将不接受来自中断控制器的 FIQ;如果 PSR 的 I位被设置为 1, 处理器将不接受来自中断控制器的 IRQ。 因此,为了使能相应中断机制 ,PSR 的 F位或 I位必须被清 0,同时中断屏蔽寄存器 INTMSK的相应位也必须被清 0。

Page 41: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

中断控制器Ⅱ•3.中断请求寄存器 INTPND INTPND 的各位指示了某个中断请求是否还未被处理。在 INTPND 中将要或已被置位的中断位称为 pending位。 INTPND 是一个只读寄存器,在中断服务程序中要想清除 pending位时,需要采用在中断服务寄存器 I_ISPC或 F_ISPC 的相应位写入 1的方式实现。 INTPND 寄存器中的 26个位对应着每一个中断源。当某个中断产生时, INTPND 中的相应位就会置 1,说明该中断还未被处理。在中断服务程序中,当处理结束后必须及时清除该 pending位,从而使系统能够及时再次响应该类型的中断。4. 中断屏蔽寄存器 INTMSK

如果该寄存器的某位被置 1,则与该位对应的中断响应被禁止。如果对应位为 0,则这个中断发生时将会被正常响应。 如果某个中断在 INTMSK寄存器中的对应位为 1, 但是又有这个中断发生,则它的 pending位还是会置位,只是不会自动转入中断服务程序。如果全局屏蔽位被置 1,那么,当任一中断发生时,中断 pending位还是会置位,但是所有的中断都不会得到服务。

Page 42: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

中断源Ⅰ• 在 30个中断源中有 26个中断源提供给中断控制器, 4个外部中断 (EIN

T4/5/6/7)请求是通过“或”的形式合成为 1个中断源送至中断控制器 ,2个 UART错误中断 (UERRORO/1) 也是如此。

下页续

Page 43: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

中断源Ⅱ

注意 :EINT4, EINT5, EINT6和 EINT7分享同一个中断请求源 ,中断服务程序 ISR 要通过读取 EXTINTPND3-0寄存器来区别这 4个中断源,并在处理结束时通过将 EXTINTPND3-0中对应位写 1来清除该位。

Page 44: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

中断优先级产生模块 • S3C44BOX中断优先级的决定有两种方式: 通过软件查询决定中断优先级,该方式在跳到相应服务程序之前需要一

个较长的延迟时间; 通过硬件决定中断优先级:矢量中断模式。

如果中断向量模式使用和一个中断源被配置为 ISQ中断,中断将被中断优先级产生模块处理。中断优先级产生模块处理包括五个单元: 1个主单元, 4个从单元,每个从单元管理 6个中断源,包括 4个优先级次序可编程的优先级源 (sGn)和 2个固定优先级源。一个主单元管理 4个从单元mGn和 2个中断源mGKn,用来确定 4个从单元和 2个中断源的优先级mGKn。

Page 45: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

中断优先级• 如果中断源 A 被设置为 FIQ中断,而中断源B设置为 IRQ中断,那么中断源 A比

中断源B具有更高的中断优先级,因为在任何情况下 ,FIQ中断都比 IRQ中断具有更高的优先级。

• 如果中断源 A 和中断源B在不同的主单元中,并且 A所在的主单元的优先级比 B所在的主单元优先级高,则中断源 A 的优先级肯定比中断源B的优先级高。

• 如果中断源 A 和 B在同一个主单元中,且中断源 A 的优先级比 B高,则 A具有更高的优先级。

• 位于 sGA, sGB, sGC 和 sGD 的中断优先级总是高于位于 sGKA 和 sGKB的中断优先级。在 sGA , sGB, sGC 和 sGD 之间的优先级的高低是可编程的,或者通过Round一 Robin(轮转)方式来决定。在 sGKA 和 sGKB之间 ,sGKA总是拥有更高的优先级。mGA, mGB, mGC 和mGD组中的中断优先级总是高于mGKA 和mGKB。因此 ,MGKA 和mGKB在所有中断源之中优先级是最低的。

Page 46: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

中断矢量地址表Ⅰ 分支指令机器代码 = 0xea000000 +((<destination address> - <vector

address> - 0x8)>>2) 其中 destination address为中断服务线程 ISR 的开始地址, vector address 为中断源在中断相量表中的地址,即分支指令所在地址,分支指令机器代码有硬件自动产生。

Page 47: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

中断矢量地址表Ⅱ• 每个中断源对应的矢量地址

中断源 矢量地址 中断源 矢量地址EINT0 0x00000020 INT_TIMER1 0x00000064

EINT1 0x00000024 INT_TIMER2 0x00000068

EINT2 0x00000028 INT_TIMER3 0x0000006c

EINT3 0x0000002c INT_TIMER4 0x00000070

EINT4/5/6/7 0x00000030 INT_TIMER5 0x00000074

TICK 0x00000034 INT_URXD0 0x00000080

INT_ZDMA0 0x00000040 INT_URXD1 0x00000084

INT_ZDMA1 0x00000044 INT_IIC 0x00000088

INT_BDMA0 0x00000048 INT_SIO 0x0000008c

INT_BDMA1 0x0000004c INT_UTXD0 0x00000090

INT_WDT 0x00000050 INT_UTXD1 0x00000094

INT_UERR0/1 0x00000054 NT_RTC 0x000000a0

INT_TIMER0 0x00000060 INT_ADC 0x000000c0

Page 48: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

控制中断的寄存器•1.中断控制寄存器•2.中断请求寄存器•3.中断模式寄存器•4.中断屏蔽寄存器•5.IRQ矢量模式寄存器•6.IRQ/FIQ中断服务寄存器•7. 外部中断控制寄存器•8. 外部中断请求寄存器

Page 49: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

外部中断的应用Ⅰ• 1.I/O口设置 首先对 PG 口的工作模式进行设置,要让 PG4-7工作在外部中断输入状态。

因此,要将PG 口设置在功能 3模式下,采用语句 : rPCONG = 11 11 11 11 xx xx xx xxB; 如果希望采用内部上拉,则语句为 : rPUPG = 0000xxxxB。

Page 50: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

外部中断的应用Ⅱ•2. 外部中断触发模式设置 利用外部中断控制寄存器来设置外部中断的触发模式.由于采用电平触发容易引起重复触发,因此建议采用下降沿或上升沿触发,不同触发方式的语句如下 : ①采用下降沿触发时 : rEXTINT=01x 01x 01x 01x xxx xxx xxx xxxB;②采用上升沿触发时 : rEXTINT=10x 10x 10x 10x xxx xxx xxx xxxB;③采用边沿触发时 : rEXTINT=11x 11x 11x 11x xxx xxx xxx xxxB;④采用低电平触发时 : rEXTINT=000 000 000 000 xxx xxx xxx xxxB;

Page 51: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

外部中断的应用Ⅲ•3 中断寄存器设置 将 EINT4-7设置为 IRQ中断模式的语句为 : rINTCON=0x5 ; // 非矢量中断模式,禁止 FIQ中断,使能 IRQ中断 设置好了,采用以下语句开启中断 : rINTMSK= ~(BIT_GLOBAL|BIT_EINT4567)。•4 主程序编写 , 代码见课本 P*.•5 中断处理程序 void irq_Eint4567lsr(void){ which_int = rEXTINTPND; rEXTINTPND = Ox0f; //清除 EXTINTPND 寄存器 rl_lSPC= BIT_EINT4567; //清除pending_bit Delay(1000); //延时消抖 }

Page 52: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

模 / 数转换概述• 所谓模/数转换器就是把电模拟量转换成为数字量的电路 .

• 微机与控制系统的接口框图

´« ¸ÐÆ÷ n

¶à·¿ª¹Ø

²É Ñù±£ ³Ö

Ä£ Äâ¿Ø ÖÆ

D/A

A/D΢ÐÍ»ú

µÍ ͨÂË ²¨

放大

µÍ ͨÂË ²¨

µÍ ͨÂË ²¨

´« ¸ÐÆ÷ 2

´« ¸ÐÆ÷ 1

放大

放大1现场信号

2现场信号

n现场信号

::

::

Page 53: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

模 / 数转换的方法和原理Ⅰ• 1.计数式 A/D 转换法

8 位D/ A 转 换 器

8位计数器

D7 D6 D5 D4 D3 D2 D1 D0

CLK

开始转换

转换结束

CLR

比较器

V0

Vi

C

其中, Vi 是模拟输入电压, V0 是 D/A 转换器的输出电压, C是控制计数端,当 C=1时,计数器开始计数, C=0时,则停止计数。 D7 ~ D0 是数字量输出,数字输出量又同时驱动一个 D/A 转换器。

Page 54: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

模 / 数转换的方法和原理Ⅱ

• 2. 双积分式 A/D 转换法 双积分式 A/D 转换的基本原理是对输入模拟电压和参考电压进行两次积分,变换

成与输入电压均值成正比的时间间隔,利用时钟脉冲和计数器测出其时间间隔,因此,此类 A/D 转换器具有很强的抗工频干扰能力,转换精度高,但速度较慢 .

标准电压

逻辑控制时钟

计数器

Vi模拟输入

积分器

比较器A

B固定频率

T2

T1

积分输出

固定积分时间

T1和T2正比于输入电压

( a)电路工作原理图 ( b)双积分图示

Page 55: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

模 / 数转换的方法和原理Ⅲ• 3.逐次逼近式 A/D 转换法

输出寄存器

移位寄存器

D/ A转换器 VREF

控制逻辑和CP脉冲

vi模拟输入

数字串行输出

数字并行输出

vi , vo'

10VREF/ 16

12VREF/ 16

8VREF/ 16

4VREF/ 16

Ot0

t

t

t

tO

O

O

O

模拟输入信号viD/ A转换的输出电压Vo'

1

11 1

1

1

1

0 0 0

0

0

0

000

B3

B4

B2

B1

t1

tt2 t3

逐次逼近式 A/D 转换原理框图 逐次逼近式 A/D 转换过程

Page 56: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

A/D 转换的重要指标 •1.分辨率 (Resolution) :反映 A/D 转换器对输入微小变化响应的能力,通常用数字输出最低位 (LSB)所对应的摸拟输入的电平值表示。 •2.精度 (Accuracy):绝对精度 (Absolute Accuracy) ;相对精度 (Relative Accuracy) 。•3. 转换时间 (Conversion Time):指完成一次 A/D 转换所需的时间,即由发出启动转换命令信号到转换结束信号开始有效的时间间隔。转换时间的倒数称为转换速率。•4.量程 :量程是指所能转换的摸拟输入电压范围,分单极性、双极性两种类型。例如,单极性 量程为 0~ +5V, 0~ +10V;双极性 量程为 -5~ +5V, -10~ +10V。

Page 57: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

S3C440BX 自带的 A/D 转换器• ARM S3C440BX 芯片自带一个8路 10 位 A/D 转换器,该转换器可以通过软件设

置为 Sleep 摸式,可以节电减少功率损失,最大转换率为 100K ,非线性度为正负1。

• ARM 芯片与 A/D 功能有关的引脚: AIN[7:0]为 8路摸拟采集通道 ,ADC 的模拟输入; AREFT 为参考正电压, AREFB为参考负电压, AVCOM 为摸拟公共参考电压。

数据总线

ADCI NT中断逻辑

逐次逼近寄存器

AD结果寄存器

控制逻辑

PSR预分频器

D/A转换器 COMP

+

-

比较器

MCLK

AI N7-08

Vcom

10

模拟转换开关

AMUX

Page 58: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

ADC 的相关寄存器•1.A/D 转换控制寄存器( ADCCON) : 地址为 0x01D40000( 在小模式下,以字、半字、字符单位存取 ) 、 0x01D40002( 在大模式下,以半字单位存取 ) 、 0x01D40003( 在大模式下,以字符单位存取 ) ,可读写,初始值为 0x20 。

•2.A/D 转换预分频寄存器

• 3.A/D 转换数据寄存器

Page 59: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

数 / 模转换器原理 • D/A 转换器的主要功能是将数字量转换为模拟量。数字量是由若干数位构成的,每个数位都有一定的权。我们说把一个数字量变为模拟量,就是把每一位上的代码按照权转换为对应的模拟量,再把各位所对应的模拟量相加,所得到各位模拟量的和便是数字量所对应的模拟量。

• 基于上述思路,在集成电路中,通常采用T型网络实现将数字量转换为模拟电流,然后再用运算放大器完成模拟电流到模拟电压的转换。所以,要把一个数字量转换为模拟电压,实际上需要两个环节:即先由 D/A 转换器把数字量转换为模拟电流,再由运算放大器将模拟电流转换为模拟电压。

Page 60: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

T 型电阻解码网络

R0

2R 2R2R

2R R R R

S0 S1 S2 S3

21 232220

A CB DVREF

V0

2R

Page 61: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

数 / 模转换器的分类 •1. 电压输出型(如 TLC5620 ): 虽有直接从电阻阵列输出电压的,但一般采用内置输出放大器以低阻抗输出。直接输出电压的器件仅用于高阻抗负载,由于无输出放大器部分的延迟,故常作为高速 D/A 转换器使用。•2. 电流输出型 ( 如 THS5661A) : 很少直接利用电流输出,大多外接电流—电压转换电路得到电压输出。当外接运算放大器进行电流电压转换时,则电路构成基本上与内置放大器的电压输出型相同,这时由于在 D/A 转换器的电流建立时间上加入了达算放入器的延迟,使响应变慢。•3.乘算型(如 AD7533 ): 在基准电压输入上加交流信号的,能得到数字输入和基准电压输入相乘的结果而输出,称为乘算型 D/A 转换器。乘算型 D/A 转换器一般不仅可以进行乘法运算,而且可以作为使输入信号数字化地衰减的衰减器及对输入信号进行调制的调制器使用。

Page 62: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

D/A 转换器的主要指标 •1.分辩率 (Resolution):指最小模拟输出量(对应数字量仅最低位为‘ 1’ )与最大量(对应数字量所有有效位为‘ 1’ )之比。•2.建立时间 (Setting Time): 是将一个数字量转换为稳定模拟信号所需的时间,也可以认为是转换时间。 DA 中常用建立时间来描述其速度,而不是 AD 中常用的转换速率。一般地,电流输出 DA建立时间较短,电压输出 DA则较长。•3. 其他指标 : 线性度 (Linearity) ,转换精度,温度系数 /漂移。

Page 63: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

ARM 的 JTAG 接口基本知识Ⅰ

• 1. JTAG 是 Joint Test Action Group 的缩写,是 IEEEll49.1标准。使用 JTAG 的优点: JTAG 的建立使得集成电路固定在 PCB 上,只通过边界扫描便可以被测试。在 ARM7TDMI处理器中,可以通过 JTAG直接控制 ARM 的内部总线、 I/O 口等信息,从而达到调试的目的。

• 2. JTAG 的典型信号: TMS :测试模式选择 (Test Mode Select) ,通过 TMS 信号控制 JTAG状态机的状态;

TCK : JTAG 的时钟信号; TDI :数据输入信号; TDO :数据输出信号; nTRST : JTAG复位信号,复位 JTAG 的状态机和内部的宏单元 (Macrocell) 。

Page 64: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

ARM 的 JTAG 接口基本知识Ⅱ•3. JTAG状态机: JTAG状态机分成 15 个状态,每一个状态都有其相应的功能。不管 JTAG状态机处于哪个状态,当 TMS 信号等于逻辑 1 的时候,连续 5 个时钟信号以后, JTAG状态机必然回到 Test-logic Reset状态。这也是 JTAG状态机的复位时的状态。•4. JTAG链的组成:每一条 JTAG链是由若干个 JTAG 的扫描单元串连组成的,每一个扫描单元都可以配置成捕获外部信号的输入单元或者对外的输出单元。依靠移位寄存器,通过 JTAG 的 TDO 和 TDI 信号线,可以使数据串行输出到每一个 JTAG 扫描单元上,或者读出每一个扫描单元的数据。

Page 65: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

ARM 的 JTAG 接口基本知识Ⅲ•5. JTAG链的工作过程:步骤一: JTAG处于挂起状态, JTAG 的扫描单元并不影响设备信号的输入输出。步骤二:在 JTAG状态机的 Capture-DR状态,把 IO 口上的数据捕获到 JTAG 扫描单元的移位寄存器上。步骤三:在 JTAG状态机的 Shift-DR状态, TCK 的一次跳变,把数据从 TDI移位到 JTAG移位寄存器的高位上,并从 TDO 输出移位寄存器的低位 ( 就是 O3 的数据 ) 。步骤四:经过 6 个 TCK 的时钟可以把整个捕获到的 JTAG链的移位寄存器上的数据移出,并且,把新的数据移入 JTAG链。步骤五:在 JTAG状态机的 Update—DR状态,可以把新的数据锁定到设备的输入或者输出 I/O 口上,从而完成了一次 JTAG 的数据更新。

Page 66: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

ARM 的 JTAG 调试结构

Debug负责转换 主控端发ARM出的高级 调试命令为

底层的河内核通信的

ARM7TDMI以 为处理器的开发系统

ARM运行有 公司或者第三PC方提供的调试软件的

调试目标机

协议转换器

Debug主控

ARM7TDMI的 JTAG宏单元 (Macrocell)主要包括 3条 JTAG 扫描链 (Scan Chain) 和一个 JTAG 的控制 TAP状态机。JTAG 与 AngelJTAG调试:协议转换器解释上位机传送过来的命令,通过 JTAG 控制 ARM执行。Angel 调试:协议转换器可以直接做为目标板的 Firmware的一部分,直接执行从宿主机传送过来的调试命令;并回送相应的数据。

Page 67: 嵌入式系统原理与接口技术

NEUSOFT Institute of Information Technology, ChengDu

Date: 12. Sept. 2005

ARM7TDMI 内核的 JTAG 扫描链结构•ARM7TDMI 内核的 JTAG 扫描链结构主要包括了 3条扫描链:Scan Chain 0 :有 113 个扫描单元,包括 ARM核的所有的 I/ O 、地址数据总线和输入输出控制信号。这条链上的信号复杂,不易控制,但是,包含的信息丰富,可以通过这条链得到 ARM7TDMI 内核的所有信息。Scan Chain l :有 33 个扫描单元,包括 ARM核的数据总线和一个断点控制信号。这是一条很有用的链,通过控制这条链,可以控制 ARM核执行指定的指令,从而实现对 ARM 的内部寄存器、协处理器以及外部存储器的读写操作。Scan Chain 2 :有 38 个扫描单元,通过控制 EmbeddedICE宏单元,实现对 ARM执行指令的断点、观察点的控制。