文档库 最新最全的文档下载
当前位置:文档库 › LPC2290-02_cn

LPC2290-02_cn

LPC2290-02_cn
LPC2290-02_cn

PHILIPS单片16/32位微控制器-LPC2290

1. 介绍 (3)

2. 特性 (3)

2.1 主要特性 (3)

3. 订购信息 (3)

3.1 订购选项 (4)

4. 结构框图 (4)

5. 管脚信息 (5)

5.1 管脚配置 (5)

5.2 管脚描述 (6)

6. 功能描述 (11)

6.1 结构概述 (11)

6.2 片内静态RAM (11)

6.3 存储器映射 (12)

6.4 中断控制器 (12)

6.4.1 中断源 (13)

6.5 管脚连接模块 (14)

6.6 管脚功能选择寄存器0(PINSEL0 – 0X E002C000) (14)

6.7 管脚功能选择寄存器1(PINSEL1 – 0X E002C004) (16)

6.8 管脚功能选择寄存器2(PINSEL2 – 0X E002C014) (17)

6.9 外部存储器控制器 (19)

6.10 通用并行I/O口 (19)

6.10.1 特性 (19)

6.11 10位A/D转换器 (19)

6.11.1 特性 (19)

6.12 CAN控制器和验收滤波器 (19)

6.12.1 特性 (20)

6.13 UART (20)

6.13.1 特性 (20)

6.14 I2C串行I/O控制器 (20)

6.14.1 特性 (20)

6.15 SPI串行I/O控制器 (20)

6.15.1 特性 (21)

6.16 通用定时器 (21)

6.16.1 特性 (21)

6.17 看门狗 (21)

6.17.1 特性 (21)

6.18 实时时钟 (22)

6.18.1 特性 (22)

6.19 脉宽调制器(PWM) (22)

6.19.1 特性 (22)

6.20 系统控制 (23)

6.20.1 晶振 (23)

6.20.2 PLL (23)

6.20.3 复位和唤醒定时器 (23)

6.20.4 外部中断输入 (23)

6.20.5 存储器映射控制 (23)

6.20.6 功率控制 (24)

6.20.7 VPB总线 (24)

6.21 仿真和调试 (24)

6.21.1 EmbeddedICE (24)

6.21.2 嵌入式跟踪 (24)

6.21.3 RealMonitor (25)

7. 极限参数 (25)

8. 静态特性 (25)

9. 动态特性 (28)

9.1 时序 (30)

10. 封装 (32)

11. 修改记录 (32)

LPC2290是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-S TM CPU。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。

由于LPC2290的144脚封装、极低的功耗、多个32位定时器、8路10位ADC、2路CAN、PWM通道以及多达9个外部中断使它们特别适用于汽车、工业控制应用以及医疗系统和容错维护总线。通过配置总线,LPC2290最多可提供76个GPIO。由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器以及其它各种类型的应用。

2. 特性

2.1 主要特性

16/32位ARM7TDMI-S核,LQFP144封装。

16 kB片内静态RAM。

串行boot装载程序通过UART0来实现在系统下载和编程。

EmbeddedICE-RT和嵌入式跟踪接口使用片内RealMonitor TM软件对任务进行实时调试并支持对执行代码进行无干扰的高速实时跟踪。

2个互连的CAN接口,带有先进的验收滤波器。多个串行接口,包括2个16C550工业标准UART、高速I2C接口(400 kbit/s)和2个SPI接口。

8路10位A/D转换器,转换时间低至2.44μs。

2个32位定时器(带4路捕获和4路比较通道)、PWM单元(6路输出)、实时时钟和看门狗。

向量中断控制器。可配置优先级和向量地址。

通过外部存储器接口可将存储器配置成4组,每组的容量高达16Mb,数据宽度为8/16/32位。

多达76个通用I/O口(可承受5V电压),9个边沿或电平触发的外部中断引脚。

通过片内锁相环(PLL)可实现最大为60MHz的 CPU操作频率,设置时间为100us。

片内晶振频率范围:1~30 MHz。

2个低功耗模式:空闲和掉电。

通过外部中断将处理器从掉电模式中唤醒。

可通过个别使能/禁止外部功能来优化功耗。

双电源

-CPU操作电压范围:1.65~1.95 V(1.8 V± 0.15 V)

-I/O操作电压范围:3.0~3.6 V(3.3 V± 10%),可承受5V电压。

3. 订购信息

表1 订购信息

封装

产品编号

名称描述版本LPC2290FBD144 LQFP144 144脚,本体20×20×1.4mm SOT486-1

表2 器件选项

温度范围(℃) 产品编号 FLASH存储器RAM CAN

kB 2路 -40~+85 LPC2290FBD144 - 16

4. 结构框图

(1) 当用作测试/调试接口时,GPIO/其它共用这些管脚的功能不可用。

图1 结构框图

5.1 管脚配置

图2 LQFP144管脚配置

表3 管脚描述

符号

管脚

类型

描 述

P0.15 99 I I RI1-UART1铃声指示输入

EINT2-外部中断2输入 P0.16 100 I O I EINT0-外部中断0输入

MAT0.2-定时器0匹配输出2 CAP0.2-定时器0捕获输入2

P0.17 101 I I/O O CAP1.2-定时器1捕获输入2

SCK1-SPI1串行时钟,主机输出或从机输入的时钟 MAT1.2-定时器1匹配输出2

P0.18 121 I I/O O CAP1.3-定时器1捕获输入3

MISO1-SPI1主机输入/从机输出,从机到主机的数据传输 MAT1.3-定时器1匹配输出3

P0.19 122 O I/O I MAT1.2-定时器1匹配输出2

MOSI1-SPI1主机输出/从机输入,主机到从机的数据传输 CAP1.2-定时器1捕获输入2

P0.20 123 O I I MAT1.3-定时器1匹配输出3

SSEL1-SPI1从机选择,选择SPI 接口用作从机。 EINT3-外部中断3输入 P0.21 4 O I PWM5-脉宽调制器输出5 CAP1.3-定时器1捕获输入3 P0.22 5 I O

CAP0.0-定时器0捕获输入0 MAT0.0-定时器0匹配输出0

P0.23 6 I RD2-CAN2接收器输入 P0.24 8 O TD2-CAN2发送器输出 P0.25 21 I RD1-CAN1接收器输入

P0.27 23 I I O AIN0-A/D 转换输入0。该模拟输入总是连接到相应的管脚上。

CAP0.1-定时器0捕获输入1 MAT0.1-定时器0匹配输出1 P0.28 25 I I O AIN1-A/D 转换输入1。该模拟输入总是连接到相应的管脚上。

CAP0.2-定时器0捕获输入2 MAT0.2-定时器0匹配输出2 P0.29 32 I I O AIN2-A/D 转换输入2。该模拟输入总是连接到相应的管脚上。

CAP0.3-定时器0捕获输入3 MAT0.3-定时器0匹配输出3 P0.30 33 I I I

AIN3-A/D 转换输入3。该模拟输入总是连接到相应的管脚上。

EINT3-外部中断3输入 CAP0.0-定时器0捕获输入0

P1.0~P1.31 I/O P1口:P1口是一个32位双向I/O 口。每个位都有独立的方向控制。P1

口管脚的操作取决于管脚连接模块所选择的功能。P1口的P1.2~P1.15不可用。

符号管脚类型描述

V SSA 139 I

模拟地:0V参考点。标称电压与V SS相同,但应当互相隔离以减少噪

声和故障。

V SSA_PLL 138 I

PLL模拟地:0V参考点。标称电压与V SS相同,但应当互相隔离以减

少噪声和故障。

I

V18 37,110

1.8V内核电源:内部电路的电源。

V18A 143 I

模拟1.8V内核电源:内部电路的电源。标称电压与V18相同,但应当

互相隔离以减少噪声和故障。

I 3.3V端口电源:I/O口的电源。

V3 2,31,39,51,

57,77,94,

104,112,119

I

V3A 14

模拟3.3V端口电源:标称电压与V3相同,但应当互相隔离以减少噪

声和故障。

6. 功能描述

在下面章节中对LPC2290的系统和外围功能作详细的描述。

6.1 结构概述

ARM7TDMI-S是一个通用的32位微处理器,它可提供高性能和低功耗。ARM结构是基于精简指令集计算机(RISC)原理而设计的。指令集和相关的译码机制比复杂指令集计算机要简单得多。这样使用一个小的、廉价的处理器核就可实现很高的指令吞吐量和实时的中断响应。

由于使用了流水线技术,处理和存储系统的所有部分都可连续工作。通常在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出。

ARM7TDMI-S处理器使用了一个被称为THUMB的独特的结构化策略,它非常适用于那些对存储器有限制或者需要较高代码密度的大批量产品的应用。

在THUMB后面一个关键的概念是“超精简指令集”。ARM7TDMI-S处理器基本上具有两个指令集: 标准32位ARM指令集

16位THUMB指令集

THUMB指令集的16位指令长度使其可以达到标准ARM代码两倍的密度,却仍然保持ARM的大多数性能上的优势,这些优势是使用16位寄存器的16位处理器所不具有的。这是因为THUMB代码和ARM 代码一样,在相同的32位寄存器上进行操作。

THUMB代码仅为ARM代码规模的65%,但其性能却相当于连接到16位存储器系统的相同ARM处理器性能的160%。

6.2 片内静态RAM

片内静态RAM可用作代码和/或数据的存储。SRAM支持8位、16位和32位访问。LPC2290具有16 kB静态RAM。

6.3 存储器映射

LPC2290的存储器映射包含几个不同的区域,见下图。

此外,CPU的中断向量可以重新映射,这样允许它们位于片内引导装载程序,外部存储器BANK0或者片内静态RAM当中。详见6.20节“系统控制”。

AHB外设

VPB外设

保留地址空间

16 K字节片内静态RAM 0xFFFF FFFF 0xF000 0000 0xEFFF FFFF 0xE000 0000 0xDFFF FFFF

0x4001 0000 0x4000 3FFF 0x4000 0000 0x3FFF FFFF

4.0 GB 3.75 GB 3.5 GB

3.0 GB 2.0 GB 1.0 GB

0.0 GB

0x0000 0000

0x8400 0000

0x7FFF FFFF

0x83FF FFFF

0x8300 0000

0x82FF FFFF

0x8200 0000

0x81FF FFFF

0x8100 0000

0x80FF FFFF

0x8000 0000

0x7FFF E000

0x7FFF DFFF 外部存储器 BANK3

外部存储器 BANK2

外部存储器 BANK1

外部存储器 BANK0

BOOT块

(从片内ROM存储器重新映射)

保留地址空间

保留地址空间

图3 LPC2290存储器映射

6.4 中断控制器

向量中断控制器(VIC)接收所有的中断请求输入,并将它们编程分配为3类:FIQ、向量IRQ和非向量IRQ。可编程分配机制意味着不同外设的中断优先级可以动态分配和调整。

快速中断请求(FIQ)具有最高优先级。如果分配给FIQ的请求多于1个,VIC将中断请求“相或”向ARM处理器产生FIQ信号。当只有一个被分配为FIQ时可实现最短的FIQ等待时间,因为FIQ服务程序只要简单地启动器件的处理就可以了。但如果分配给FIQ级的中断多于1个,FIQ服务程序从VIC中读出一个字以识别产生中断请求的FIQ中断源是哪一个。

向量IRQ具有中等优先级。该级别可分配16个中断请求。中断请求中的任意一个都可分配到16个向量IRQ slot中的任意一个,其中slot0具有最高优先级,而slot15则为最低优先级。

非向量IRQ的优先级最低。

VIC将所有向量和非向量IRQ组合后向ARM处理器产生IRQ信号。IRQ服务程序可通过读取VIC的

一个寄存器立即启动并跳转到相应地址。如果有任意一个向量IRQ发出请求,VIC则提供最高优先级请求

IRQ服务程序的地址,否则提供默认程序的地址,该默认程序由所有非向量IRQ共用。默认程序可读取另

一个VIC寄存器以确定哪个IRQ被激活。

6.4.1 中断源

表4所列为每个外围功能的中断源。每个外设都有一条中断线连接到向量中断控制器,但可能有几个

内部中断标志。单个中断标志也可能代表不同的中断源。

表4 中断源

模块标志 VIC通道#

WDT 看门狗中断(WDINT) 0

- 只保留给软件中断使用 1

ARM内核Embedded ICE, DbgCommRx 2

ARM内核Embedded ICE, DbgCommTx 3

定时器0 匹配0-3(MR0, MR1, MR2, MR3) 捕获0-3(CR0, CR1, CR2, CR3) 4

定时器1 匹配0-3(MR0, MR1, MR2, MR3) 捕获0-3(CR0, CR1, CR2, CR3) 5

6

UART0 Rx线状态(RLS)

发送保持寄存器空(THRE)

Rx数据可用(RDA)

字符超时指示(CTI)

7

UART1 Rx线状态(RLS)

发送保持寄存器空(THRE)

Rx数据可用(RDA)

字符超时指示(CTI)

调制解调器状态中断(MSI)

PWM0 匹配0-6(MR0, MR1, MR2, MR3, MR4, MR5, MR6) 8

I2C SI(状态改变) 9

SPI0 SPIF,

MODF 10

MODF 11 SPI1 SPIF,

PLL PLL时钟(PLOCK) 12

RTC RTCCIF(计数器增加),RTCALF(报警) 13

系统控制

外部中断0(EINT0) 14

外部中断1(EINT1) 15

外部中断2(EINT2) 16

外部中断3(EINT3) 17

A/D A/D转换器18

CAN

1或CAN验收滤波器19

CAN1(Tx int, Rx int)20,21

CAN2(Tx int, Rx int)22,23

CAN3(Tx int, Rx int)- 仅为LPC2294 24,25

CAN4(Tx int, Rx int)- 仅为LPC2294 26,27

6.5 管脚连接模块

管脚连接模块允许将微控制器的管脚配置为不同的功能。配置寄存器控制连接管脚和片内外设的多路开关。应当在激活外设以及使能任何相关的中断之前,将外设连接到相应的管脚。任何一个被使能的外设,如果其功能没有映射到相关的管脚,对它的激活将被认为是未定义的。

管脚连接模块包含3个寄存器,见表5。

表5 管脚连接模块的寄存器

地址名称描述访问

0xE002C000 PINSEL0 管脚功能选择寄存器0 读/写

0xE002C004 PINSEL1 管脚功能选择寄存器1 读/写

0xE002C014 PINSEL2 管脚功能选择寄存器2 读/写

6.6 管脚功能选择寄存器0(PINSEL0 – 0xE002C000)

PINSEL0寄存器控制表6所列管脚的功能。IODIR寄存器中的方向控制位只有在GPIO功能应用到管脚时才有效。对于其它功能,方向自动进行控制。表6所列设定之外的设定都被保留,用户不要使用这些保留设定。

表6 管脚功能选择寄存器0(PINSEL0 – 0xE002C000)

PINSEL0 管脚名称值功能复位值

P0.0

GPIO

0 0

TxD

(UART0)

0 1

0 1:0 P0.0

PWM1

1 0

1 1

保留

P0.1

GPIO

0 0

(UART0)

RxD

0 1

0 3:2 P0.1

PWM3

1 0

EINT0

1 1

P0.2

GPIO

0 0

(I2C)

0 1

SCL

0 5:4 P0.2

1 0

捕获0.0 (定时器0)

1 1

保留

GPIO

P0.3

0 0

SDA

(I2C)

0 1

0 7:6 P0.3

1 0

匹配0.0 (定时器0)

EINT1

1 1

GPIO

P0.4

0 0

SCK

(SPI0)

0 1

0 9:8 P0.4

1 0

捕获0.1 (定时器0)

1 1

保留

P0.5

0 0

GPIO

(SPI0)

MISO

0 1

0 11:10 P0.5

1 0

匹配0.1 (定时器0)

1 1

保留

续上表…

PINSEL0 管脚名称值功能复位值

P0.6

0 0

GPIO

MOSI

(SPI0)

0 1

0 13:12 P0.6

1 0

捕获0.2 (定时器0)

1 1

保留

P0.7

0 0

GPIO

(SPI0)

SSEL

0 1

0 15:14 P0.7

PWM2

1 0

EINT2

1 1

P0.8

0 0

GPIO

(UART1)

TxD

0 1

0 17:16 P0.8

PWM4

1 0

1 1

保留

P0.9

0 0

GPIO

(UART1)

RxD

0 1

0 19:18 P0.9

PWM6

1 0

1 1

EINT3

P0.10

0 0

GPIO

(UART1)

0 1

RTS

0 21:20 P0.10

1 0

捕获1.0 (定时器1)

1 1

保留

0 0

P0.11

GPIO

(UART1)

0 1

CTS

0 23:22 P0.11

1 0

捕获1.1 (定时器1)

1 1

保留

P0.12

GPIO

0 0

(UART1)

DSR

0 1

0 25:24 P0.12

1 0

匹配1.0 (定时器1)

1 1

保留

P0.13

0 0

GPIO

DTR

(UART1)

0 1

0 27:26 P0.13

1 0

匹配1.1 (定时器1)

1 1

保留

P0.14

0 0

GPIO

(UART1)

DCD

0 1

0 29:28 P0.14

EINT1

1 0

1 1

保留

P0.15

0 0

GPIO

(UART1)

0 1

RI

0 31:30 P0.15

EINT2

1 0

1 1

保留

[1] CAN控制器4仅用于LPC2294。表中与CAN4相关的字段保留用于LPC2290。

6.7 管脚功能选择寄存器1(PINSEL1 – 0xE002C004)

PINSEL1寄存器控制表7所列管脚的功能。IODIR寄存器中的方向控制位只有在GPIO功能应用到管脚时才有效。对于其它功能,方向自动进行控制。表中所列设定之外的设定都被保留,用户不要使用这些保留设定。

表7 管脚功能选择寄存器1(PINSEL1 – 0xE002C004)

PINSEL1 管脚名称值功能复位值

0 0

P0.16

GPIO

EINT0

0 1

0 1:0 P0.16

1 0

匹配0.2 (定时器0)

1 1

保留

P0.17

GPIO

0 0

0 1

捕获1.2 (定时器1)

0 3:2 P0.17

SCK

1 0

(SPI1)

1 1

匹配1.2 (定时器1)

P0.18

GPIO

0 0

0 1

捕获1.3 (定时器1)

0 5:4 P0.18

(SPI1)

1 0

MISO

1 1

匹配1.3 (定时器1)

P0.19

GPIO

0 0

0 1

匹配1.2 (定时器1)

0 7:6 P0.19

(SPI1)

1 0

MOSI

1 1

匹配1.3(定时器1)

P0.20

0 0

GPIO

0 1

匹配1.3 (定时器1)

0 9:8 P0.20

(SPI1)

1 0

SSEL

1 1

EINT3

P0.21

GPIO

0 0

PWM5

0 1

0 11:10 P0.21

1 0

保留

1 1

捕获1.3 (定时器1)

P0.22

GPIO

0 0

0 1

保留

0 13:12 P0.22

1 0

捕获0.0 (定时器0)

1 1

匹配0.0 (定时器0)

GPIO

P0.23

0 0

0 1

RD2 (CAN控制器2)

15:14 P0.23

1 0

保留

1 1

保留

续上表

PINSEL1 管脚名称值功能复位值

P0.24

0 0

GPIO

0 1

TD2 (CAN控制器2)

0 17:16 P0.24

1 0

保留

1 1

保留

P0.25

GPIO

0 0

0 1

RD1 (CAN控制器1)

0 19:18 P0.25

1 0

保留

1 1

保留

0 0

保留

0 1

保留

21:20 P0.26

1 0

保留

1 1

保留

P0.27

0 0

GPIO

0 1

AIN0 (A/D转换器)

1 23:2

2 P0.27

1 0

捕获0.1 (定时器0)

1 1

匹配0.1 (定时器0)

P0.28

0 0

GPIO

0 1

AIN1 (A/D转换器)

1 25:24 P0.28

1 0

捕获0.2 (定时器0)

1 1

匹配0.2 (定时器0)

P0.29

GPIO

0 0

0 1

AIN2 (A/D转换器)

1 27:26 P0.29

1 0

捕获0.3 (定时器0)

1 1

匹配0.3 (定时器0)

GPIO

P0.30

0 0

0 1

AIN3 (A/D转换器)

1 29:28 P0.30

1 0

EINT3

1 1

捕获0.0 (定时器0)

0 0

保留

0 1

保留

0 31:30 P0.31

1 0

保留

1 1

保留

6.8 管脚功能选择寄存器2(PINSEL2 – 0xE002C014)

PINSEL2寄存器控制表8所列管脚的功能。IODIR寄存器中的方向控制位只有在GPIO功能应用到管脚时才有效。对于其它功能,方向自动进行控制。表中所列设定之外的设定都被保留,用户不要使用这些保留设定。

表8 管脚功能选择寄存器2(PINSEL2 – 0xE002C014)

续上表

PINSEL2位功能复位值

27:25 控制P3.23/A23/XCLK和P3.22:2/A2.22:2中地址线的数目:000=无地址线100=A11:2为地址线

001=A3:2为地址线101=A15:2为地址线

010=A5:2为地址线110=A19:2为地址线

011=A7:2为地址线111=A23:2为地址线如果复位时BOOT1:0=11,该域的复位值为000。反之为111。

31:28 保留。-

6.9 外部存储器控制器

外部静态存储器控制器是一个为系统总线和外部(片外)存储器器件提供接口的功能模块。它可同时支持4个可单独配置的存储器组的工作(每个存储器组的容量为16M字节,带有字节定位使能控制)。同时,每个存储器组都支持SRAM、ROM、Flash EPROM、Burst ROM存储器或一些外部I/O器件。

每个存储器组的总线宽度为8、16或32位。

6.10 通用并行I/O口

没有连接到特定外设功能的管脚由GPIO寄存器进行控制。管脚可以动态配置为输入或输出。寄存器可以同时对任意输出口进行置位或清零。输出寄存器的值以及管脚的当前状态都可以读出。

6.10.1 特性

单个位的方向控制

输出置位和清零可单独控制

所有I/O在复位后的默认状态都为输入

6.11 10位A/D转换器

LPC2290分别包含一个带8路输入的10位逐次逼近模-数转换器。

6.11.1 特性

测量范围:0~3V

每秒可执行400,000次10位采样

单路或多路输入的突发转换模式

根据输入脚的跳变或定时器匹配信号执行转换

6.12 CAN控制器和验收滤波器

LPC2290分别包含2个CAN控制器。控制器局域网络(CAN)是一个串行通信协议,它能有效支持高安全等级的分布实时控制。CAN的应用范围很广,从高速的网络到低价位的多路接线都可以使用CAN。

6.12.1 特性

单个总线上的数据传输速率高达1Mb/s

32位寄存器和RAM访问

兼容CAN 2.0B, ISO 11898-1规范

全局验收滤波器可以识别所有的11位和29位Rx标识符

验收滤波器为选择的标准标识符提供了FullCAN-style自动接收

6.13 UART

LPC2290包含2个UART。一个UART提供一个完全的调制解调器控制握手接口,另一个UART只有发送和接收数据线。

6.13.1 特性

16字节接收和发送FIFO

寄存器位置遵循550工业标准

接收器FIFO触发点为1、4、8和14个字节

内置波特率发生器

UART1包含标准调制解调器接口信号

6.14 I2C串行I/O控制器

I2C是一个双向总线,它使用两条线:串行时钟线(SCL) 和串行数据线(SDA) 实现互连芯片的控制。每个器件都通过一个唯一的地址来识别,这些器件可以是只接收器件(例如LCD驱动器),或是可以发送和接收信息的发送器(例如存储器)。发送器和/或接收器可以操作为主或从模式,这取决于芯片是启动数据的发送或是只被寻址。I2C是一个多主总线,它可以由超过一个总线主控器进行控制。

LPC2290所包含的I2C功能支持400kbit/s(快速I2C)。

6.14.1 特性

标准的I2C总线接口

可配置为主机、从机或主/从机

可编程时钟可实现通用速率控制

主机从机之间双向数据传输

多主机总线(无中央主机)

同时发送的主机之间进行仲裁,避免了总线数据的冲突

串行时钟同步使器件在一条串行总线上实现不同位速率的通信

串行时钟同步可作为握手机制使串行传输挂起和恢复

I2C总线可用于测试和诊断

6.15 SPI串行I/O控制器

LPC2290包含2个SPI接口。SPI是一个全双工的串行接口,它设计成可以处理在一个给定总线上多个互连的主机和从机。在一定数据传输过程中,接口上只能有一个主机和一个从机能够通信。在一次数据

相关文档