广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
LPC2119/2129/2194/2292/2294 使用指南
1. 介绍
概述
LPC2119/2129/2194/2292/2294 是基于一个支持实时仿真和跟踪的 16/32 位 ARM7TDMI-S CPU 的微控
制器,并带有 128/256k 字节(kB)嵌入的高速 Flash 存储器。128 位宽度的存储器接口和独特的加速结构使
32 位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用 16 位 Thumb 模式将代码规模
降低超过 30%,而性能的损失却很小。
由于 LPC2119/2129/2194/2292/2294 较小的 64 和 144 脚封装、极低的功耗、多个 32 位定时器、4 路 10
位 ADC、2/4 路 CAN 或 8 路 10 位 ADC、2/4 路 CAN(64 脚和 144 脚封装)以及多达 9 个外部中断使它们
特别适用于工业控制、医疗系统、访问控制和 POS 机。
在 64 脚的封装中,最多可使用 46 个 GPIO。在 144 脚的封装中,可使用的 GPIO 高达 76(使用了外
部存储器)~112 个(单片应用)。由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协
议转换器、嵌入式软 modern 以及其它各种类型的应用。
特性
16/32 位 64/144 脚 ARM7TDMI-S 微控制器。
16K 字节静态 RAM。
128/256K 字节片内 Flash 程序存储器(在工作温度范围内,片内 Flash 存储器至少可擦除和写
10,000 次)。128 位宽度接口/加速器实现高达 60MHz 的操作频率。
外部 8、16 或 32 位总线(144 脚封装)。
片内 Boot 装载程序实现 ISP 和 IAP。Flash 编程时间:1ms 可编程 512 字节,扇区擦除或整片擦
除只需 400ms。
EmbeddedICE-RT 接口使能断点和观察点。当前台任务使用片内 RealMonitor 软件调试时,中断服
务程序可继续执行。
嵌入式跟踪宏单元(ETM)支持对执行代码进行无干扰的高速实时跟踪。
2/4 个互连的 CAN 接口,带有先进的验收滤波器。
4 路 10 位 A/D 转换器,转换时间低至 2.44us。
2 个 32 位定时器(带 4 路捕获和 4 路比较通道)、PWM 单元(6 路输出)、实时时钟和看门狗。
多个串行接口,包括 2 个 16C550 工业标准 UART、高速 I2C 接口(400 kHz)和 2 个 SPI 接口。
通过片内 PLL 可实现最大为 60MHz 的 CPU 操作频率。
向量中断控制器。可配置优先级和向量地址。
多达 46 个(64 脚封装)或 112 个(144 脚封装)通用 I/O 口(可承受 5V 电压),12 个独立外部
中断引脚(EIN 和 CAP 功能)。
片内晶振频率范围:1~30 MHz。
2 个低功耗模式:空闲和掉电。
通过外部中断将处理器从掉电模式中唤醒。
可通过个别使能/禁止外部功能来优化功耗。
双电源
-CPU 操作电压范围:1.65~1.95 V(1.8 V± 8.3%)
-I/O 操作电压范围:3.0~3.6 V(3.3 V± 10%)
1
http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
应用
工业控制
医疗设备
访问控制
POS 机
通信网关
嵌入式软 moderm
一般性应用
器件信息
表 1 LPC2119/2129/2194/2292/2294 器件信息
器件
管脚数 片内 RAM
64
64
64
144
144
16 kB
16 kB
16 kB
16 kB
16 kB
LPC2119
LPC2129
LPC2194
LPC2292
LPC2294
结构概述
片内
FLASH
128 kB
256 kB
256 kB
256 kB
256 kB
CAN 通道数 10 位 A/D 通道数
2
2
4
2
4
4
4
4
8
8
注
-
-
-
带外部存储器接口
带外部存储器接口
LPC2119/2129/2194/2292/2294 包含一个支持仿真的 ARM7TDMI-S CPU、与片内存储器控制器接口的
ARM7 局部总线、与中断控制器接口的 AMBA 高性能总线(AHB)和连接片内外设功能的 VLSI 外设总线
(VPB,ARM AMBA 总线的兼容超集)。LPC2119/2129/2194/2292/2294 将 ARM7TDMI-S 配置为小端
(little-endian)字节顺序。
AHB 外设分配了 2M 字节的地址范围,它位于 4G 字节 ARM 存储器空间的最顶端。每个 AHB 外设都
分配了 16k 字节的地址空间。LPC2119/2129/2194/2292/2294 的外设功能(中断控制器除外)都连接到 VPB
总线。AHB 到 VPB 的桥将 VPB 总线与 AHB 总线相连。VPB 外设也分配了 2M 字节的地址范围,从 3.5GB
地址点开始。每个 VPB 外设在 VPB 地址空间内都分配了 16k 字节地址空间。
片内外设与器件管脚的连接由管脚连接模块控制。该模块必须由软件进行控制以符合外设功能与管脚
在特定应用中的需求。
ARM7TDMI-S 处理器
ARM7TDMI-S 是通用的 32 位微处理器,它具有高性能和低功耗的特性。ARM 结构是基于精简指令集
计算机(RISC)原理而设计的。指令集和相关的译码机制比复杂指令集计算机要简单得多。这样使用一个小
的、廉价的处理器核就可实现很高的指令吞吐量和实时的中断响应。
由于使用了流水线技术,处理和存储系统的所有部分都可连续工作。通常在执行一条指令的同时对下
一条指令进行译码,并将第三条指令从存储器中取出。
ARM7TDMI-S 处理器使用了一个被称为 THUMB 的独特结构化策略,它非常适用于那些对存储器有限
制或者需要较高代码密度的大批量产品的应用。
在 THUMB 后面一个关键的概念是“超精简指令集”。基本上,ARM7TDMI-S 处理器具有两个指令集:
标准 32 位 ARM 指令集
16 位 THUMB 指令集
THUMB 指令集的 16 位指令长度使其可以达到标准 ARM 代码两倍的密度,却仍然保持 ARM 的大多
数性能上的优势,这些优势是使用 16 位寄存器的 16 位处理器所不具备的。因为 THUMB 代码和 ARM 代
2
http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
码一样,在相同的 32 位寄存器上进行操作。
THUMB 代码仅为 ARM 代码规模的 65%,但其性能却相当于连接到 16 位存储器系统的相同 ARM 处
理器性能的 160%。
关于 ARM7TDMI-S 处理器的详细内容请参阅 ARM 官方网站上的 ARM7TDMI-S 数据手册。
片内 FLASH 程序存储器
LPC2119 集成了一个 128K,而 LPC2129/2194/2292/2294 集成了 256K 的 FLASH 存储器系统。该存储
器可用作代码和数据的存储。对 FLASH 存储器的编程可通过几种方法来实现:通过内置的串行 JTAG 接口,
通过串口进行在系统编程(ISP)和 UART0,或通过在应用编程(IAP)。使用在应用编程的应用程序也可
以在应用程序运行时对 FLAH 进行擦除和/或编程,这样就为数据存储和现场固件的升级都带来了极大的灵
活性。
片内静态 RAM
LPC2119/2129/2194/2292/2294 分别具有 16K/32K/64K 字节静态 RAM,SRAM 可用作代码和/或数据的
存储。SRAM 支持 8 位、16 位和 32 位访问。
SRAM 控制器包含一个回写缓冲区,它用于防止 CPU 在连续的写操作时停止运行。回写缓冲区总是保
存着软件发送到 SRAM 的最后一个字节。该数据只有在软件请求下一次写操作时才写入 SRAM(数据只有
在软件执行另外一次写操作时被写入 SRAM)。如果发生芯片复位,实际的 SRAM 内容将不会反映最近一
次的写请求(即:在一次“热”芯片复位后,SRAM 不会反映最后一次写入的内容)。任何在复位后检查
SRAM 内容的程序都必须注意这一点。通过对一个单元执行两次相同的写操作可保证复位后数据的写入。
或者,也可通过在进入空闲或掉电模式前执行虚写(dummy write)操作来保证最后的数据在复位后被真正
写入到 SRAM。
3
http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
1 当使用测试/调试接口时,共用这些管脚的 GPIO/其它功能都不可用。
2 仅 LPC2292/2294。
3 仅 LPC2194/2294
图 1 LPC2119/2129/2194/2292/2294 方框图
LPC2119/2129/2194/2292/2294 寄存器
对 LPC2119/2129/2194/2292/2294 特殊功能寄存器的访问必须遵循以下方式:
1. 用户不要试图访问任何未经定义的 SFR 地址。
2. 对任何已定义的 SFR 的访问必须符合 SFR 的功能。
3. 标注为“-”、“0”或“1”的 SFR 位只能以如下方式读或写:
一个保留位,作为将来功能扩展之用。
- “-”必须写入 0,但当读出时不返回任何确定的值(即使向其写入 0)。这是
- “0”必须写入 0,并且当读出时返回 0。
- “1”必须写入 1,并且当读出时返回 1。
下表列举了 LPC2119/2129/2194/2292/2294 微控制器的所有寄存器,这些寄存器均按照地址进行存储。
对特殊功能寄存器的访问分为读/写、只读或只写几种操作(R/W,RO 和 WO)。
“复位值”一栏只针对使用的/可访问的位而言,并不包括保留位的内容。某些寄存器的复位值还可能
4
http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
是不确定的,把这些不确定的复位值称为“未定义”。实际应用中不会用到的复位值称为“NA”。某些 RTC
寄存器的值并不受芯片复位的影响。这些复位值用*来表示,如果 RTC 使能,这些寄存器必须进行软件初
始化。
LPC2119/2129/2194/2292/2294 的寄存器可以是 8、16 或 32 位。对于表 2 中的 8 位寄存器,MSB(最
高有效位)列的位置用来存放寄存器的位 7,LSB(最低有效位)列的位置用来存放寄存器的位 0。
如果是 16/32 位的寄存器,则寄存器位描述的左上角用来存放寄存器的位 15/31,右下角用来存放寄存
器的位 0。
例如:PWMPCR 寄存器(地址:0xE001404C)的位“ENA6”是寄存器的位 14;该寄存器的位 15,8,
7 和 0 保留。PWMMCR 寄存器(0xE0014014)的位“Stop on MR6”是寄存器的位 20;该寄存器的位 31
和 21 保留。
未用(保留)位用“-”来表示。访问这些位时必须严格遵循上述方式。
表 2 LPC2119/2129/2194/2292/2294 寄存器
-
-
-
WDINT WDTOF
WDRES
ET
LSB
访问 复位值
WDEN
R/W
0
32 位数据
R/W
0xFF
8 位数据(先为 0xAA,后为 0x55)
WO
NA
32 位数据
RO
0Xff
CR2
Int.
CR1
Int.
CR0
Int.
MR3
MR2
MR1
MR0
Int.
Int.
Int.
CTR
复位
Int.
CTR
使能
-
-
-
-
-
32 位数据
32 位数据
32 位数据
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
地址偏移
名称
描述
MSB
-
WD
0xE0000000 WDMOD
0xE0000004 WDTC
0xE0000008 WDFEED
0xE000000C WDTV
看门狗模式
寄存器
看门狗定时器
常数寄存器
看门狗喂狗寄
存器
看门狗值
寄存器
TIMER0
0xE0004000
T0IR
0xE0004004
T0TCR
T0 中 断 寄 存
CR3
器
T0 控 制 寄 存
器
Int.
-
0xE0004008
T0TC
T0 计数器
T0 预 分 频 寄
存器
T0 预 分 频 计
数器
T0 匹配控制
寄存器
T0 匹 配 寄 存
器 0
T0 匹 配 寄 存
器 1
T0 匹 配 寄 存
器 2
T0 匹 配 寄 存
器 3
0xE000400C
T0PR
0xE0004010
T0PC
0xE0004014 T0MCR
0xE0004018
T0MR0
0xE000401C T0MR1
0xE0004020
T0MR2
0xE0004024
T0MR3
4 个保留位(-)
Stop on
Reset on
Int. on
Stop on
MR3
MR3
MR3
MR2
Reset on
Int. on
Stop on
Reset on
Int. on
Stop on
Reset on
Int. on
MR2
MR2
MR1
MR1
MR1
MR0
MR0
MR0
32 位数据
32 位数据
32 位数据
32 位数据
5
R/W
0
R/W
R/W
R/W
R/W
0
0
0
0
http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
续上表……
地址偏移
名称
描述
MSB
LSB
访问 复位值
0xE0004028
T0CCR
T0 捕获控制
寄存器
4 个保留位(-)
Int. on
Cpt.3
Int. on
Int. on
Cpt.3
Cpt.3
falling
rising
Int. on
Cpt.2
Int. on
Int. on
Cpt.2
Cpt.2
falling
rising
Int. on
Cpt.1
Int. on
Int. on
Cpt.1
Cpt.1
falling
rising
Int. on
Cpt.0
Int. on
Int. on
Cpt.0
Cpt.0
falling
rising
R/W
0
0xE000402C
T0CR0
0xE0004030
T0CR1
0xE0004034
T0CR2
T0 捕 获 寄 存
器 0
T0 捕 获 寄 存
器 1
T0 捕 获 寄 存
器 2
32 位数据
32 位数据
32 位数据
RO
RO
RO
T0 外 部 匹 配
4 个保留位(-)
外部匹配控制 3
外部匹配控制 2
0xE000403C
T0EMR
寄存器
外部匹配控制 1
外部匹配控制 0
-
Ext.
Ext.
Ext.
R/W
Mtch2.
Mtch.1
Mtch.0
0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
TIMER1
0xE0008000
T1IR
0xE0008004
T1TCR
T1 中 断 寄 存
CR3
器
T1 控 制 寄 存
器
Int.
-
0xE0008008
T1TC
T1 计数器
0xE000800C
T1PR
0xE0008010
T1PC
T1 预 分 频 寄
存器
T1 预 分 频 计
数器
CR2
Int.
CR1
Int.
CR0
Int.
MR3
MR2
MR1
MR0
Int.
Int.
Int.
CTR
复位
Int.
CTR
使能
-
-
-
-
-
32 位数据
32 位数据
32 位数据
0xE0008014
T1MCR
T1 匹 配 控 制
寄存器
4 个保留位(-)
Stop on
Reset on
Int. on
Stop on
MR3
MR3
MR3
MR2
Reset on
Int. on
Stop on
Reset on
Int. on
Stop on
Reset on
Int. on
MR2
MR2
MR1
MR1
MR1
MR0
MR0
MR0
0xE0008018
T1MR0
T1 匹 配 寄 存
0xE000801C
T1MR1
器 0
T1 匹 配 寄 存
器 1
0xE0008020
T1MR2
T1 匹 配 寄 存
器 2
0xE0008024
T1MR3
T1 匹 配 寄 存
器 3
32 位数据
32 位数据
32 位数据
32 位数据
6
R/W
0
R/W
R/W
R/W
R/W
0
0
0
0
http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
续上表…
地址偏移
名称
描述
MSB
LSB
访问 复位值
0xE0008028
T1CCR
T1 捕 获 控 制
4 个保留位(-)
寄存器
Int. on
Cpt.3
Int. on
Int. on
Cpt.3
Cpt.3
falling
rising
Int. on
Cpt.2
Int. on
Int. on
Cpt.2
Cpt.2
falling
rising
Int. on
Cpt.1
Int. on
Int. on
Cpt.1
Cpt.1
falling
rising
32 位数据
Int. on
Cpt.0
Int. on
Int. on
Cpt.0
Cpt.0
falling
rising
32 位数据
32 位数据
32 位数据
0xE000802C
T1CR0
T1 捕 获 寄 存
器 0
0xE0008030
T1CR1
T1 捕 获 寄 存
器 1
0xE0008034
T1CR2
T1 捕 获 寄 存
器 2
0xE0008038
T1CR3
T1 捕 获 寄 存
器 3
R/W
0
RO
RO
RO
RO
0
0
0
0
0xE000803C
T1EMR
T1 外 部 匹 配
4 个保留位(-)
外部匹配控制 3
外部匹配控制 2
寄存器
外部匹配控制 1
外部匹配控制 0
外部
外部
外部
外部
R/W
0
Mtch.3
Mtch2.
Mtch.1
Mtch.0
UART0
0xE000C000
U0RBR
U0 接收缓冲
(DLAB=0)
U0THR
U0 发送保持
(DLAB=0)
U0DLL
U0 除 数 锁 存
(DLAB=1)
LSB
8 位数据
8 位数据
8 位数据
R0 未定义
WO
NA
R/W
0x01
0xE000C004
U0IER
U0 中断使能
0
0
0
0
0
使能 Rx
使能
使能 Rx
R/W
0
(DLAB=0)
U0DLM
U0 除 数 锁 存
(DLAB=1)
MSB
线状态
THRE
数据
Int.
Int.
Av.Int.
8 位数据
R/W
0
0xE000C008
U0IIR
U0 中断 ID
FIFO 使能
U0FCR
U0 FIFO 控制
Rx 触发
0
-
0
-
IIR3
IIR2
IIR1
IIR0
RO
0x01
-
U0 Tx
U0 Rx
U0 FIFO
WO
0
FIFO 复
FIFO 复
使能
位
位
0xE000C00C
U0LCR
U0 线控制
DLAB 设置间
奇偶固
偶选择 奇偶使
停止位
字长度选择
R/W
0
0xE000C014
U0LSR
U0 线状态
Rx FIFO
TEMT
THRE
BI
隔
定
能
FE
个数
PE
OE
DR
RO
0x60
错误
0xE000C01C
U0SCR
U0 高速缓存
8 位数据
R/W
0
7
http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
续上表…
地址偏移
名称
描述
MSB
LSB
访问 复位值
UART1
0xE0010000
U1RBR
U1 接收缓冲
(DLAB=0)
U1THR
U1 发送保持
(DLAB=0)
U1DLL
U1 除 数 锁 存
(DLAB=1)
LSB
8 位数据
8 位数据
8 位数据
R0 未定义
WO
NA
R/W
0x01
0xE0010004
U1IER
U1 中断使能
0
0
0
0
使能
使能 Rx
使能
使能 Rx
R/W
0
(DLAB=0)
Modem
线状态
THRE
数据
U1DLM
U1 除 数 锁 存
(DLAB=1)
MSB
Int.
Int.
Av.Int.
状态
Int.
8 位数据
R/W
0
0xE0010008
U1IIR
U1 中断 ID
FIFO 使能
U1FCR
U1 FIFO 控制
Rx 触发
0
-
0
-
IIR3
IIR2
IIR1
IIR0
RO
0x01
-
U1 Tx
U1 Rx
U1 FIFO
WO
0
FIFO 复
FIFO 复
使能
位
位
0xE001000C
U1LCR
U1 线控制
DLAB 设置间
奇偶固
偶选择 奇偶使
停止位
字长度选择
R/W
0xE0010010
U1MCR
U1 Modem 控
0
制
隔
0
定
0
回送
能
0
个数
0
RTS
DTR
R/W
0
0
0xE0010014
U1LSR
U1 线状态
Rx FIFO
TEMT
THRE
BI
FE
PE
OE
DR
RO
0x60
0xE001001C
U1SCR
U1 高速缓存
8 位数据
R/W
错误
0xE0010018
U1MSR
U1 Modem 状
DCD
RI
DSR
CTS
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
Delta DCD 后沿 RI Delta DSR Delta CTS RO
-
MR6 Int. MR5 Int. MR4 Int.
R/W
MR3 Int. MR2 Int. MR1 Int. MR0 Int.
-
PWM
使能
CTR
复位
CTR
使能
-
-
-
32 位数据
32 位数据
32 位数据
-
-
-
-
-
-
态
PWM
0xE0014000
PWMIR
PWM 中断
0xE0014004
PWMTCR
PWM 定时器
控制
0xE0014008
PWMTC
PWM 定时器
计数器
0xE001400C
PWMPR
PWM 预分频
0xE0014010
PWMPC
PWM 预分频
器计数器
-
-
-
8
http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛