第4章 LPC2000系列ARM硬件结构(10~13)
合集下载
第4章 LPC2000系列ARM硬件结构(14~18)(1)
UnRBR
• 中断源说明
CTI中断:当接收FIFO中的有效数据少于预定的触发点数量(至少有一个字 节)时,如果在一定时间内仍然没有接收到新的数据,那将触发该中断。这个 时间为:3.5~4.5个字节所需要的时间。注:对接收FIFO的任何操作都会清零 该中断标志。 RxDn
UnRSR 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
4.14 UART(0、1)
• 中断接口
UART0和UART1的中断接口包含中断使能寄存器 (UnIER)和中断标识寄存器(UnIIR)。
UART0中断源
UART0接收单元
UART1中断源
中断
UART1接收单元 UART1发送单元 Modem模块
中断使能寄存器 UnIER 中断标志寄存器 UnIIR
4.14 UART(0、1)
• 回写模式
在Modem回写模式下,发 送器输出的串行数据在内部连接 到接收器的串行输入端。输入脚 RxD1对回写模式无影响,输出脚 TxD1保持总为1的状态。4个 Modem输入(CTS, DSR, RI和 DCD)与外部断开。此时, U1MSR的高4位分别由U1MCR的 低4位驱动。
LPC2000系列ARM硬件结构
1.LPC2000系列简介 2.引脚描述 3.存储器寻址 4.系统控制模块 5.存储器加速模块 (MAM) 6.外部存储器控制器 (EMC) 7.引脚连接模块 8. GPIO 9. 向量中断控制器 10.外部中断输入 11.定时器0和定时器1 12. SPI接口 2 13. I C接口 14. UART(0、1) 15. A/D转换器 16. 看门狗 17. 脉宽调制器(PWM) 18. 实时时钟
• 中断源说明
CTI中断:当接收FIFO中的有效数据少于预定的触发点数量(至少有一个字 节)时,如果在一定时间内仍然没有接收到新的数据,那将触发该中断。这个 时间为:3.5~4.5个字节所需要的时间。注:对接收FIFO的任何操作都会清零 该中断标志。 RxDn
UnRSR 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
4.14 UART(0、1)
• 中断接口
UART0和UART1的中断接口包含中断使能寄存器 (UnIER)和中断标识寄存器(UnIIR)。
UART0中断源
UART0接收单元
UART1中断源
中断
UART1接收单元 UART1发送单元 Modem模块
中断使能寄存器 UnIER 中断标志寄存器 UnIIR
4.14 UART(0、1)
• 回写模式
在Modem回写模式下,发 送器输出的串行数据在内部连接 到接收器的串行输入端。输入脚 RxD1对回写模式无影响,输出脚 TxD1保持总为1的状态。4个 Modem输入(CTS, DSR, RI和 DCD)与外部断开。此时, U1MSR的高4位分别由U1MCR的 低4位驱动。
LPC2000系列ARM硬件结构
1.LPC2000系列简介 2.引脚描述 3.存储器寻址 4.系统控制模块 5.存储器加速模块 (MAM) 6.外部存储器控制器 (EMC) 7.引脚连接模块 8. GPIO 9. 向量中断控制器 10.外部中断输入 11.定时器0和定时器1 12. SPI接口 2 13. I C接口 14. UART(0、1) 15. A/D转换器 16. 看门狗 17. 脉宽调制器(PWM) 18. 实时时钟
LPC2000系列ARM硬件结构与功能简介
件仿真 模式
1.4 处理器状态及模式
用户和系统模式
处理器模式 用户 用户 系统 系统 快中断 中断 管理 中止 未定义 说明 备注 不能直接切换到其它模式 (usr) 正常程序工作模式 (usr) 用于支持操作系统的特 与用户模式类似,但具有可以 (sys) (sys) 权任务等 直接切换到其它模式等特权 而且它们使用完全相同的寄存器组。 (fiq) (irq) (svc) (abt) (und) 支持高速数据传输及通 系统模式是特权模式,不受用 FIQ异常响应时进入此模式 道处理
• LPC2000系列器件信息
器件型号 LPC2114 LPC2124 LPC2210 LPC2212 LPC2214 LPC2119 LPC2129 LPC2194 LPC2290 LPC2292 LPC2294 LPC2131 LPC2132 LPC2134 LPC2136 LPC2138 引脚数 64 64 144 144 144 64 64 64 144 144 144 64 64 64 64 64 片内RAM 16KB 16KB 16KB 16KB 16KB 16KB 16KB 16KB 16KB 16KB 16KB 8KB 16KB 16KB 16KB 32KB 片内Flash 128KB 256KB - 128KB 256KB 128KB 256KB 256KB - 256KB 256KB 32KB 64KB 128KB 256KB 512KB 10位AD通道数 4 4 8 8 8 4 4 4 8 8 8 8 8 双8路 双8路 双8路 CAN控制器 - - - - - 2 2 4 2 2 4 - - - - - 带1路 DAC 备注 - - 带外部 存储器 接口 - - - 带外部 存储器 接口 -
件仿真 模式
1.4 处理器状态及模式
用户和系统模式
处理器模式 用户 用户 系统 系统 快中断 中断 管理 中止 未定义 说明 备注 不能直接切换到其它模式 (usr) 正常程序工作模式 (usr) 用于支持操作系统的特 与用户模式类似,但具有可以 (sys) (sys) 权任务等 直接切换到其它模式等特权 而且它们使用完全相同的寄存器组。 (fiq) (irq) (svc) (abt) (und) 支持高速数据传输及通 系统模式是特权模式,不受用 FIQ异常响应时进入此模式 道处理
• LPC2000系列器件信息
器件型号 LPC2114 LPC2124 LPC2210 LPC2212 LPC2214 LPC2119 LPC2129 LPC2194 LPC2290 LPC2292 LPC2294 LPC2131 LPC2132 LPC2134 LPC2136 LPC2138 引脚数 64 64 144 144 144 64 64 64 144 144 144 64 64 64 64 64 片内RAM 16KB 16KB 16KB 16KB 16KB 16KB 16KB 16KB 16KB 16KB 16KB 8KB 16KB 16KB 16KB 32KB 片内Flash 128KB 256KB - 128KB 256KB 128KB 256KB 256KB - 256KB 256KB 32KB 64KB 128KB 256KB 512KB 10位AD通道数 4 4 8 8 8 4 4 4 8 8 8 8 8 双8路 双8路 双8路 CAN控制器 - - - - - 2 2 4 2 2 4 - - - - - 带1路 DAC 备注 - - 带外部 存储器 接口 - - - 带外部 存储器 接口 -
件仿真 模式
第4章 LPC2000系列ARM硬件结构(10~13)
VICVectAddr0 VICIntEnable[14] VICIntSelect[14] IRQ VICVectCntl0 向量IRQ通道0
EINT0
通道14
FIQ
IRQ 通道 VICVectAddr15 分配 VICVectCntl15 VICDefVectAddr
向量IRQ通道15 非向量IRQ通道
• 电平中断设置
LPC2000系列ARM的电平中断可以设臵为高电平触发和 低电平触发。 当EXTPOLAR[0] = 0时,外部中断0设臵为低电平触发。 当EXTPOLAR[0] = 1时,外部中断0设臵为高电平触发。
EXTPOLAR[0] = 1 EXTMODE[0] = 0 高电平 EINT0 0 1 电平 中断 边沿 中断 0 1 0 1 低电平中断 高电平中断 外 部 中 断 0
3 2 1
中断信号
低电平触发
T1 T2
T3
4.10 外部中断输入
• 外部中断源
LPC2000系列微控制器几乎所有的外设部件都可以 产生中断。其中外部中断含有4个独立的中断输入。
中断源1 (WDT) ... 中断源14 (EINT0) 中断源15 (EINT1) ... 中断源17 (EINT3) 向 量 中 断 控 制 器 IRQ
VICVectAddr0 VICIntEnable[14] VICIntSelect[14] IRQ VICVectCntl0 向量IRQ通道0
EINT0
通道14
FIQ
IRQ 通道 VICVectAddr15 分配 VICVectCntl15 VICDefVectAddr
向量IRQ通道15 非向量IRQ通道
注意:这里仅以EINT0为例来进行讲解,EINT1~EINT3与之类似,此处不再重复。
EINT0
通道14
FIQ
IRQ 通道 VICVectAddr15 分配 VICVectCntl15 VICDefVectAddr
向量IRQ通道15 非向量IRQ通道
• 电平中断设置
LPC2000系列ARM的电平中断可以设臵为高电平触发和 低电平触发。 当EXTPOLAR[0] = 0时,外部中断0设臵为低电平触发。 当EXTPOLAR[0] = 1时,外部中断0设臵为高电平触发。
EXTPOLAR[0] = 1 EXTMODE[0] = 0 高电平 EINT0 0 1 电平 中断 边沿 中断 0 1 0 1 低电平中断 高电平中断 外 部 中 断 0
3 2 1
中断信号
低电平触发
T1 T2
T3
4.10 外部中断输入
• 外部中断源
LPC2000系列微控制器几乎所有的外设部件都可以 产生中断。其中外部中断含有4个独立的中断输入。
中断源1 (WDT) ... 中断源14 (EINT0) 中断源15 (EINT1) ... 中断源17 (EINT3) 向 量 中 断 控 制 器 IRQ
VICVectAddr0 VICIntEnable[14] VICIntSelect[14] IRQ VICVectCntl0 向量IRQ通道0
EINT0
通道14
FIQ
IRQ 通道 VICVectAddr15 分配 VICVectCntl15 VICDefVectAddr
向量IRQ通道15 非向量IRQ通道
注意:这里仅以EINT0为例来进行讲解,EINT1~EINT3与之类似,此处不再重复。
第4章__LPC2000系列ARM硬件结构
UnRBR
• 中断源说明
CTI中断:当接收FIFO中的有效数据少于预定的触发点数量(至少有一个字
节)时,如果在一定时间内仍然没有接收到新的数据,那将触发该中断。这个
时间为:3.5~4.5个字节所需要的时间。注:对接收FIFO的任何操作都会清零
该中断标志。
UnRSR
• UART0、UART1各含有1个 16字节的发送FIFO缓冲区。
• UnTHR是UARTn发送FIFO 的最高字节。
• UART的发送FIFO是一直使 能的。
UnTHR
发送FIFO
UnTSR
TXD
• UART接收模块
RXD UnRSR UnRBR
CPU
AHB-VPB桥
A
H
ARM7
B
总
线
V
P B
CTS
MODEM
DSR
Modem控制寄存器
RI
U1MCR
DCD DTR RTS
Modem状态寄存器 U1MSR
V
中断
只有UART1才有
Modem接中口断使能寄存器
UnIER
P
B 总
线
中断标志寄存器
UnIIR
UARTn高速缓存寄存器 UnSCR
UARTn发送单元
发送缓冲寄存器
移位寄存器
UnTHR
UnTSR
UARTn波特率发生器
除数锁存寄存器 UnDLL、UnDLM
UARTn接收单元
接收缓冲寄存器 UnRBR
移位寄存器 UnRSR
FIFO控制寄存器(UnFCR) UARTn控UnLSR)
TxDn RxDn
• UART发送单元
CPU UnTHR UnTSR
• 中断源说明
CTI中断:当接收FIFO中的有效数据少于预定的触发点数量(至少有一个字
节)时,如果在一定时间内仍然没有接收到新的数据,那将触发该中断。这个
时间为:3.5~4.5个字节所需要的时间。注:对接收FIFO的任何操作都会清零
该中断标志。
UnRSR
• UART0、UART1各含有1个 16字节的发送FIFO缓冲区。
• UnTHR是UARTn发送FIFO 的最高字节。
• UART的发送FIFO是一直使 能的。
UnTHR
发送FIFO
UnTSR
TXD
• UART接收模块
RXD UnRSR UnRBR
CPU
AHB-VPB桥
A
H
ARM7
B
总
线
V
P B
CTS
MODEM
DSR
Modem控制寄存器
RI
U1MCR
DCD DTR RTS
Modem状态寄存器 U1MSR
V
中断
只有UART1才有
Modem接中口断使能寄存器
UnIER
P
B 总
线
中断标志寄存器
UnIIR
UARTn高速缓存寄存器 UnSCR
UARTn发送单元
发送缓冲寄存器
移位寄存器
UnTHR
UnTSR
UARTn波特率发生器
除数锁存寄存器 UnDLL、UnDLM
UARTn接收单元
接收缓冲寄存器 UnRBR
移位寄存器 UnRSR
FIFO控制寄存器(UnFCR) UARTn控UnLSR)
TxDn RxDn
• UART发送单元
CPU UnTHR UnTSR
第4章 LPC2000系列ARM硬件结构(10~11)-5 VIC
0(下降)
1(边沿)
上升沿触发
1(上升)
1(边沿)
EXTWAKE
管脚 连接控制
外部中断 极性控制
外部中断 方式控制
掉电 唤醒控制
CPU 其它部件
EXTPOLAR EXTMODE
中断标志
PINSELx
Байду номын сангаас
EXTINT
ARM与嵌入式系统应用
8
4.10 外部中断输入
• 外部中断引脚设置
中大断多在L的数P实C输同2际入时0应0引还0用系脚作中列。为的芯根通注片据信意允中其上点许,方的:多外式一个部位个引中和功脚断极能同输性引时入位脚作功的,为能不这一的同样个引,处外脚外理部绝器
中断信号
下降沿触发
T1
T2
ARM与嵌入式系统应用
3
4.10 外部中断输入
• 电平触发中断
低电平触发类型中断的请求和清除时序。 C清123UTT除P123发时中时出刻断刻中,,,断中中C中P请断断断U求信信执控。号号行制开回完器始复成确由到中认高高断中电电控断平平制信转。器号为的是低中低电断电平服平。务后程,序将,向
LPC2000系列ARM硬件结构
➢ 1.LPC2000系列简介 ➢ 9. 向量中断控制器
➢ 2.引脚描述
➢ 10.外部中断输入
➢ 3.存储器寻址
➢ 11.定时器0和定时器1
➢ ➢
➢
➢
4.系统控制模块
5.存储器加速模块 (MAM)
6.外部存储器控制器 (EMC)
7.引脚连接模块
➢ ➢ ➢ ➢ ➢ ➢ ➢
复位值* 0 0 0 0
地址 0xE01FC140 0xE01FC144 0xE01FC148 0xE01FC14C
第4章 LPC2000系列ARM硬件结构(5~9)
Flash组1 CPU 执行指令 等待 指令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... 5 5 Flash组2
2 3 1
取指阶段 1 2 3 4 提供指令 取指阶段 9 10 11 12 提供指令
取指阶段 6 7 8
6 7 8 提供指令 取指阶段
取指阶段
...
13 14 15 16 提供指令 ...
LPC2000系列ARM硬件结构
1.LPC2000系列简介 2.引脚描述 3.存储器寻址 4.系统控制模块 5.存储器加速模块 (MAM) 6.外部存储器控制器 (EMC) 7.引脚连接模块 8. GPIO 9. 向量中断控制器 10.外部中断输入 11.定时器0和定时器1 12. SPI接口 2 13. I C接口 14. UART(0、1) 15. A/D转换器 16. 看门狗 17. 脉宽调制器(PWM) 18. 实时时钟
1 2 3 4
Flash组1 CPU 执行指令 Flash组2
取指阶段
等待 指令
1 提供指令
取指阶段 3 提供指令 取指阶段 ...
1
等待 2 等待 3 等待 4
取指阶段
2 提供指令
取指阶段 4 提供指令 ...
• 开启MAM指令执行情况
只要指令存在两个组的指令缓存区中, CPU 的 CPU 两组指令缓存区中不存在指令,启动 执行Flash组2 1指令缓存区中的指令。 指令缓存区中的指令,同时从 Flash 存储器 指令执行是连续的,由此大大提高了指令执行效率。 Flash 指令读取周期, 组1中读取指令。 CPU停止,等待若干周期。
• 程序出现分支
在预取指缓存区中保存着将要执行的指令,在 分支跟踪缓存区中保存着程序跳转后可执行到的指 令。 CPU取跳转
2 3 1
取指阶段 1 2 3 4 提供指令 取指阶段 9 10 11 12 提供指令
取指阶段 6 7 8
6 7 8 提供指令 取指阶段
取指阶段
...
13 14 15 16 提供指令 ...
LPC2000系列ARM硬件结构
1.LPC2000系列简介 2.引脚描述 3.存储器寻址 4.系统控制模块 5.存储器加速模块 (MAM) 6.外部存储器控制器 (EMC) 7.引脚连接模块 8. GPIO 9. 向量中断控制器 10.外部中断输入 11.定时器0和定时器1 12. SPI接口 2 13. I C接口 14. UART(0、1) 15. A/D转换器 16. 看门狗 17. 脉宽调制器(PWM) 18. 实时时钟
1 2 3 4
Flash组1 CPU 执行指令 Flash组2
取指阶段
等待 指令
1 提供指令
取指阶段 3 提供指令 取指阶段 ...
1
等待 2 等待 3 等待 4
取指阶段
2 提供指令
取指阶段 4 提供指令 ...
• 开启MAM指令执行情况
只要指令存在两个组的指令缓存区中, CPU 的 CPU 两组指令缓存区中不存在指令,启动 执行Flash组2 1指令缓存区中的指令。 指令缓存区中的指令,同时从 Flash 存储器 指令执行是连续的,由此大大提高了指令执行效率。 Flash 指令读取周期, 组1中读取指令。 CPU停止,等待若干周期。
• 程序出现分支
在预取指缓存区中保存着将要执行的指令,在 分支跟踪缓存区中保存着程序跳转后可执行到的指 令。 CPU取跳转
chapter_4_LPC2000系列ARM硬件结构
定时器0/1为两个独立的带可 编程32位预分频器的32位定时 器/计数器,具有捕获和匹配输 出功能;
具有4/8路10位ADC,可以设 臵为多路循环采样模式。10位 转换时间最短为2.44us;
外部中断
TIMER0/1 ADC 通用I/O PWM0
I2C串行接口
SPI串行接口 UART0 & 1 CAN 看门狗定时器
实时时钟
系统控制
• 芯片内部各单元简介
不同封装的芯片具有数目不等 的IO口,它们可以承受5V电压。 每个IO口可以独立设臵为输入/ 输出模式,在作为输出模式时 可以分别臵位或清零; 脉宽调制器可以灵活设臵,以 适应不同的场合。可以设臵为 单边沿或双边缘输出方式,可 以灵活的设臵频率和占空比;
ARM7 局部总线 SRAM Flash AHB To VPB 桥 ARM7TDMI-S CPU 系统功能
64
64
16KB
32KB
256KB
512KB
双8路
双8 路
-
-
带1路 DAC
• 芯片内部框图
LPC2000系列微控制器包含四 大部分: ARM7TDMI-S CPU ARM7局部总线及相关部件 AHB高性能总线及相关部件 VLSI外设总线及相关部件
ARM7 局部总线 SRAM Flash AHB To VPB 桥 ARM7TDMI-S CPU 系统功能
串口 JTAG
4.3 存储器寻址
• 片外Flash编程方法(LPC2200):
在CPU上运行一个装载程序(Loader,一般由 用户编写),该程序通过串口接收要烧写的数据, 然后擦除编程Flash。
Loder 程序 串口
外部 Flash
第4章__LPC2000系列ARM硬件结构(14~18)
4.14 UART(0、1)
• 中断接口
UART0和UART1的中断接口包含中断使能寄存器 (UnIER)和中断标识寄存器(UnIIR)。
UART0中断源
UART0接收单元 UART0发送单元
UART1中断源
UART1接收单元 UART1发送单元
Modem模块
中断
中断使能寄存器 UnIER
中断标志寄存器 UnIIR
TXD
AHB-VPB桥
A
H
ARM7
B
总
线
V
P
UARTn发送单元
B
发送缓冲寄存器
移位寄存器
总 线
UnTHR
UnTSR
TxDn
UnTHR 7:0
描述
发送器保持寄存器。写入该寄存器的值保存到发送FIFO中,当该字节到达 FIFO底部时,它将被送入发送移位寄存器(UnTSR)进行发送。
复位值 未定义
• UART发送FIFO缓冲区
保留,用户软件不要向这些位写入1。
复位值 0 0
0
未定义
UnIIR提供状态代码用于指示一个挂起中断的中断源和优先级。在访问 UnIIR过程中,中断被冻结。如果在访问UnIIR时产生了中断,该中断将被 记录,在下次访问UnIIR时可以读出,避免了中断的丢失。
4.14 UART(0、1)
• UART中断示意图
LPC2000系列ARM硬件结构
1.LPC2000系列简介 9. 向量中断控制器
2.引脚描述
10.外部中断输入
3.存储器寻址
11.定时器0和定时器1
4.系统控制模块
5.存储器加速模块 (MAM)
第4章 LPC2000系列ARM硬件结构(4)
匹配功能
定 比 较 器 器 计 数 值 时 匹配寄存器0(MR0) 匹配寄存器1(MR1) 匹配寄存器2(MR2) 匹配寄存器3(MR3) 匹配控制寄存器(MCR)
MAT[3:0]
匹配寄存器(EMR)
2011-4-16
西安邮电学院
计算机系
page
15
定时器匹配输出引脚描述
管脚名称 MAT0.3~ MAT0.3~MAT0.0 输出 MAT1.3~ MAT1.3~MAT1.0 管脚方向 管脚描述 外部匹配输出0/1。当匹配寄存器0/1(MR3..MR0) 外部匹配输出0/1。当匹配寄存器0/1(MR3..MR0)等于定 0/1 0/1 时器计数器(TC) 该输出可翻转、变为低电平、 时器计数器(TC)时,该输出可翻转、变为低电平、变为 高电平或不变。外部匹配寄存器(EMR)控制该输出的功能。 高电平或不变。外部匹配寄存器(EMR)控制该输出的功能。 可选择多个管脚并行用作匹配输出功能。例如,同时选择2 可选择多个管脚并行用作匹配输出功能。例如,同时选择2 个管脚并行提供MAT1.3功能。 MAT1.3功能 个管脚并行提供MAT1.3功能。
ARM嵌入式系统 嵌入式系统 ------基础教程
西安邮电学院----计算机系 QQ: 646938309 Email: zql@
2011-4-16 西安邮电学院 计算机系
page
1
第4章 LPC2000系列ARM硬件结构
1.LPC2000系列简介 2.引脚描述 3.存储器寻址 4.系统控制模块 5.存储器加速模块 (MAM) 6.外部存储器控制器 (EMC) 7.引脚连接模块 8.向量中断控制器
计算机系
2011-4-16
西安邮电学院
page
LPC2000系列ARM硬件结构
RxD0
U0FCR
FIFO控制
UART0格式设置
1.在使用UART之前需要设置的寄存器
周立功单片机
• UART0内部结构示意图
发送缓存 发送移位寄存器
U0IIR
U0IER
U0DLM U0DLL
与CPU内 核相连
VPB 接口
U0THR
TxD0
U0TSR
U0LCR U0RBR
U0LSR U0RSR
RxD0
复位值 NA 0x0000 0000 0x0000 0000
IODIR
GPIO方向控制寄存器。该寄存器单独控制每个 IO口的方向
读/写
0x0000 0000
周立功单片机
• GPIO相关寄存器描述——IOxPIN
PINSELx
IOxSET out
1
in
0
IOxDIR
IOxCLR
IOxPIN
IOxPIN
在需要将多位数据同时输出到某几个IO口线时,通常使用 IOxSET和IOxCLR来实现,在某些情况下也可以使用IOxPIN寄存 器实现。后者可以在多个IO口上直接输出0和1电平。
本例将8位无符号整数变量Data的值输出到P0.0~P0.7。
使用IOxSET和IOxCLR实现:
#define DataBus 0xFF
使用IOxPIN实现:
#define DataBus 0xFF
PINSEL0 &= 0xFFFF0000;
(1) 设置引脚连接模块,P0.0为GPIO
IO0DIR |= DataBus;
(2) 设置P0.0口方向,设置为输出
IO0PIN = (IO0SET & 0xFFFFFF00) | Data; (3) 写IO0PIN,输出数据
嵌入式系统及应用第4章LPC2000系列ARM
LPC2000系列微控制器基于ARM7TDMI-S CPU内核。支持ARM和 Thumb指令集,芯片内集成丰富外设,而且具有非常低的功率消耗。使该 系列微控制器特别适用于工业控制、医疗系统、访问控制和POS机等场合。
LPC2000系列ARM产品
• LPC2100系列 • LPC2200系列 • LPC2300系列 • LPC2400系列 • LPC2800系列
10位AD通道数 4 4 8 8 8 8
备注 - -
带外部 存储器接口
• 芯片内部结构
LPC2000系列微控制器包含 4大部分:
1支持仿真的ARM7TDMI-S CPU
2与片内存储器控制器接口 的ARM7局部总线
3与中断控制器接口的AMB A高性能总线(AHB)
4连接片内外设功能的VLSI 外设总线(VPB)
并口
JTAG
串口
控制器
RAM
JTAG ARM7 处理器核
外设 UART0
FLASH
Boot Block
4.3.1 片内存储器
片内Flash编程方法
1. 使用JTAG仿真/调试器,通过芯片的JTAG接口下载程序;
片内Flash通过128位宽度的总线与ARM内核相连,具有很高的速度, 加上特有的存储器加速功能,因此可以将程序直接放在Flash上运行。
4.3.1 片内存储器
片内Flash编程方法
321..使使使用用在用在应JT用系A编G统程仿编技真程术/(技调即术试IA(器P)即,,I通S在P过)用芯户,程片通序的过运JU行TA时RG对T接F0l口a接sh下口进行载下擦程载除序程和;/ 或序编;程操作,实现数据的存储和固件的现场升级。
8.向量中断控制器
4.2 引脚描述
LPC2000系列ARM产品
• LPC2100系列 • LPC2200系列 • LPC2300系列 • LPC2400系列 • LPC2800系列
10位AD通道数 4 4 8 8 8 8
备注 - -
带外部 存储器接口
• 芯片内部结构
LPC2000系列微控制器包含 4大部分:
1支持仿真的ARM7TDMI-S CPU
2与片内存储器控制器接口 的ARM7局部总线
3与中断控制器接口的AMB A高性能总线(AHB)
4连接片内外设功能的VLSI 外设总线(VPB)
并口
JTAG
串口
控制器
RAM
JTAG ARM7 处理器核
外设 UART0
FLASH
Boot Block
4.3.1 片内存储器
片内Flash编程方法
1. 使用JTAG仿真/调试器,通过芯片的JTAG接口下载程序;
片内Flash通过128位宽度的总线与ARM内核相连,具有很高的速度, 加上特有的存储器加速功能,因此可以将程序直接放在Flash上运行。
4.3.1 片内存储器
片内Flash编程方法
321..使使使用用在用在应JT用系A编G统程仿编技真程术/(技调即术试IA(器P)即,,I通S在P过)用芯户,程片通序的过运JU行TA时RG对T接F0l口a接sh下口进行载下擦程载除序程和;/ 或序编;程操作,实现数据的存储和固件的现场升级。
8.向量中断控制器
4.2 引脚描述
第4章 LPC2000系列ARM硬件结构
匹配控制寄存器控制着匹配中断的使能,以定时器0匹配通道0为例:
当T0TC = T0MR0时,若T0MCR[0] = 0,则匹配中断禁止; 当T0TC = T0MR0时,若T0MCR[0] = 1,则匹配中断使能。
T0MCR[0] = 1 定时器0计数值TC = 定时器0匹配值MR0 T0MCR[3]
0
1
计数器复位
0
5
匹配功能
匹配功能
匹配寄存器0(MR0) 匹配寄存器1(MR1) 匹配寄存器2(MR2) 匹配寄存器3(MR3) 匹配控制寄存器(MCR) MAT[3:0] 外部匹配寄存器(EMR)
描述 访问 复位值
比 较 器
定 时 器 计 数 值
名称
MCR
MR0 MR1 MR2 MR3 EMR
读写
读写 读写 读写 读写 读写
0
0 0 0 0 0
6
匹配功能寄存器描述-匹配控制寄存器
匹配功能
匹配控制寄存器 用于控制在发生匹配 时定时器所执行的操 作。
位 0 功能 中断(MR0)
匹配寄存器0(MR0) 匹配寄存器1(MR1) 匹配寄存器2(MR2) 匹配寄存器3(MR3) 匹配控制寄存器(MCR) MAT[3:0] 外部匹配寄存器(EMR)
向量IRQ通道15
定时器1
通道5
FIQ
非向量IRQ通道
19
定时器中断
匹配中断 LPC2000系列ARM定时器计数溢出时不会产生中断, 但是匹配时可以产生中断。每个定时器都具有4个匹配寄 存器(MR0~MR3),可以用来存放匹配值。 当计数值 = 匹配值时,产生匹配中断。
20
定时器中断
匹配中断
1
4.11 定时器0、1
当T0TC = T0MR0时,若T0MCR[0] = 0,则匹配中断禁止; 当T0TC = T0MR0时,若T0MCR[0] = 1,则匹配中断使能。
T0MCR[0] = 1 定时器0计数值TC = 定时器0匹配值MR0 T0MCR[3]
0
1
计数器复位
0
5
匹配功能
匹配功能
匹配寄存器0(MR0) 匹配寄存器1(MR1) 匹配寄存器2(MR2) 匹配寄存器3(MR3) 匹配控制寄存器(MCR) MAT[3:0] 外部匹配寄存器(EMR)
描述 访问 复位值
比 较 器
定 时 器 计 数 值
名称
MCR
MR0 MR1 MR2 MR3 EMR
读写
读写 读写 读写 读写 读写
0
0 0 0 0 0
6
匹配功能寄存器描述-匹配控制寄存器
匹配功能
匹配控制寄存器 用于控制在发生匹配 时定时器所执行的操 作。
位 0 功能 中断(MR0)
匹配寄存器0(MR0) 匹配寄存器1(MR1) 匹配寄存器2(MR2) 匹配寄存器3(MR3) 匹配控制寄存器(MCR) MAT[3:0] 外部匹配寄存器(EMR)
向量IRQ通道15
定时器1
通道5
FIQ
非向量IRQ通道
19
定时器中断
匹配中断 LPC2000系列ARM定时器计数溢出时不会产生中断, 但是匹配时可以产生中断。每个定时器都具有4个匹配寄 存器(MR0~MR3),可以用来存放匹配值。 当计数值 = 匹配值时,产生匹配中断。
20
定时器中断
匹配中断
1
4.11 定时器0、1
嵌入式控制系统课件-第4章LPC2000系列ARM硬件结构(5~9)
24 23 :16 15 : 11 10 9 : 5 4 3 : 0
AT MW BM WP WPERR BUSERR - WST2 RBLE WST1 - IDCY
RBLE:字节定位使能位。在LPC2200微处理器中,EMC提 供了一组字节定位选择信号(BLS0~BLS3)实现对16位或32位外部 存储器组的字节操作。
配置寄存器
ARM7TDMI
-S内核
AMBA AHB
EMC 模块
Bank0 Bank1 Bank2 Bank3
BCFG0 BCFG1 BCFG2 BCFG3
4.6 外部存储器控制器(EMC)
• 寄存器描述
存储器组配置寄存器0~3(BCFG0~3):
配置寄存器 BCFG0~3
31 : 30 29 : 28 27 26 25
MAMCR = 0; If(Fcclk < 200000000) {
MAMTIM = 1; } else if(Fcclk < 40000000) {
MAMTIM = 2; } else {
MAMTIM = 3; } MAMCR = 2; }
LPC2000系列ARM硬件结构
➢ 1.LPC2000系列简介 ➢ 9. 向量中断控制器
➢ ➢
15.A/D转换器 16.看门狗
➢ 7.引脚连接模块 ➢ 8.GPIO
➢ 17.脉宽调制器(PWM) ➢ 18.实时时钟
4.5 存储器加速模块(MAM)
• 概述
LPC2000微控制器扩展了器件内部Flash总线宽 度为128位,用于提高处理器的指令执行速度。这个 接口通过存储器加速模块(MAM)来控制。
➢ 8. GPIO
➢ 18. 实时时钟
第4章 LPC2000系列ARM硬件结构(5~9).
MA描M述CR[1:0] MAMT描IM述[2:0]
描述
000
保0留0
禁止1M00AM功能 取指周期为4个CCLK
001
取指周期为01个CCLK 部分使1能01MAM功能取指周期为5个CCLK
010
取指周期为120个CCLK 完全使1能10MAM功能取指周期为6个CCLK
011
取指周期为113个CCLK
LPC2138
R1
1k
KEY1
LED1
LED2
• #include "Config.h"
• #include "Target.h"
• #include <intrinsics.h> • #define LED1 1 << 18 // P0.18 控制LED1
• /************************************************************** *****************************
ADC 通用I/O PWM0
UART 0&1 看门狗定时器
实时时钟
系统控制
4.5 存储器加速模块(MAM)
• 概述
LPC2000微控制器扩展了器件内部Flash总线宽 度为128位,用于提高处理器的指令执行速度。这个 接口通过存储器加速模块(MAM)来控制。
• MAM内部结构
LPC2200系列芯片把Flash存储器被分成两组, 它们轮番工作,及时的为CPU提供需要的指令和数 据,以防止CPU取指暂停。每组Flash存储器都有自 己的预取指缓冲区、分支跟踪缓冲区和数据缓冲区。
P1.21/PIPESTAT0 P1.22/PIPESTAT1 P1.23/PIPESTAT2 P1.24/TRACECLK
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意:这里仅以EINT0为例来进行讲解,EINT1~EINT3与之类似,此处不再重复。
4.10 外部中断输入
• 外部中断与VIC的关系
外部中断0位于VIC通道14,中断使能寄存器VICIntEnable[14] 用来控制通道14的使能: 当VICIntEnable[14] = 0时,通道14中断禁止 当VICIntEnable[14] = 1时,通道14中断使能
注意:这里仅以EINT0为例来进行讲解,EINT1~EINT3与之类似,此处不再重复。
4.10 外部中断输入
• 外部中断的设置
LPC2000系列ARM的电平中断可以设置为电平中断和 边沿中断。 当EXTMODE[0] = 0时,外部中断0设置为电平触发。 当EXTMODE[0] = 1时,外部中断0设置为边沿触发。
上升沿
VIC
注意:这里仅以EINT0为例来进行讲解,EINT1~EINT3与之类似,此处不再重复。
4.10 外部中断输入
• 电平中断设置
LPC2000系列ARM的电平中断可以设置为高电平触发和 低电平触发。 当EXTPOLAR[0] = 0时,外部中断0设置为低电平触发。 当EXTPOLAR[0] = 1时,外部中断0设置为高电平触发。
• 电平中断设置
LPC2000系列ARM的电平中断可以设置为高电平触发和 低电平触发。 当EXTPOLAR[0] = 0时,外部中断0设置为低电平触发。 当EXTPOLAR[0] = 1时,外部中断0设置为高电平触发。
EXTPOLAR[0] = 1 EXTMODE[0] = 0 高电平 EINT0 0 1 电平 中断 边沿 中断 0 1 0 1 低电平中断 高电平中断 下降沿中断 上升沿中断 外 部 中 断 0
EXTPOLAR PINSELx EXTWAKE
外部中断 方式控制
EXTMODE
掉电 唤醒控制 4 中断标志
EXTINT
CPU 其它部件
• 寄存器汇总
中断信号波形与设置方式 外部中断标志寄存器(EXTINT): 外部中断唤醒寄存器(EXTWAKE): 外部中断极性控制寄存器(EXTPOLAR): 外部中断方式控制寄存器(EXTMODE):
FIQ
ARM 处理器核
系统控制模块功能汇总
• 寄存器汇总
名称 EXTINT EXTWAKE EXTMODE EXTPOLAR 描述 外部中断标志寄存器 外部中断唤醒寄存器 外部中断方式寄存器 外部中断极性寄存器 访问 R/W R/W R/W R/W 复位值* 0 0 0 0 地址 0xE01FC140 0xE01FC144 0xE01FC148 0xE01FC14C
注意:这里仅以EINT0为例来进行讲解,EINT1~EINT3与之类似,此处不再重复。
4.10 外部中断输入
• 外部中断与VIC的关系
外部中断0位于VIC通道14,中断选择寄存器VICIntSelect[14] 用来选择通道14的中断类型: 当VICIntSelect[14] = 0时,通道14分配为IRQ中断
LPC2000系列ARM硬件结构
1.LPC2000系列简介 2.引脚描述 3.存储器寻址 4.系统控制模块 5.存储器加速模块 (MAM) 6.外部存储器控制器 (EMC) 7.引脚连接模块 8. GPIO 9. 向量中断控制器 10.外部中断输入 11.定时器0和定时器1 12. SPI接口 2 13. I C接口 14. UART(0、1) 15. A/D转换器 16. 看门狗 17. 脉宽调制器(PWM) 18. 实时时钟
相应位设置值 注意:在电平触发方式下,清除中断标志只有在引脚处于无效状态时才可 该寄存器控制着外部中断输入信号的有效触发方式,低四位分别对应 电平触发方式下:对应位为0时,低电平触发外部中断;对应位为1时, 设置该寄存器允许相应的外部中断将处理器从掉电模式唤醒。实现掉 若引脚上出现了符合要求的信号,EXTINT寄存器中对应的中断标志 设置说明 信号波形 极性控制寄存器 方式控制寄存器 电唤醒不需要在向量中断控制器(VIC)中使能相应的中断。该寄存器的 实现。比如设置为低电平中断,则只有在中断引脚恢复为高电平后才能清 高电平触发外部中断。边沿触发方式下:对应位为0时,下降沿触发外部 外部中断3~0。对应位为0时,电平触发外部中断;对应位为1时,边沿 将被置位。向该寄存器的EINT0~EINT3位写入1,可将其清零。 (EXTPOLAR) 低四位(EXTWAKE[3:0])分别对应外部中断3~0。 中断;对应位为1时,上升沿触发中断。 (EXTMODE) 触发外部中断。 除中断标志。 低电平触发 中断相关寄存器 控制寄存器 高电平触发 EXTPOLAR EXTWAKE EXTMODE EXTINT 下降沿触发 上升沿触发 7:4 —— 0(低) 0(电平) 3 2 1 0 1(高) 0(电平) EXTPOLAR3 EXTPOLAR2 EXTPOLAR1 EXTPOLAR0 EXTWAKE3 EXTWAKE2 EXTWAKE1 EXTWAKE0 EXTMODE3 EXTMODE2 EXTMODE1 EXTMODE0 EINT3 EINT2 EINT1 EINT0 0(下降) 1(边沿) 1(上升) 1(边沿)
• 外部中断的设置
LPC2000系列ARM的电平中断可以设置为电平中断和 边沿中断。 当EXTMODE[0] = 0时,外部中断0设置为电平触发。 当EXTMODE[0] = 1时,外部中断0设置为边沿触发。
EXTPOLAR[0] 下降沿 EXTMODE[0] = 1 EINT0 0 1 电平 中断 边沿 中断 0 1 0 1 低电平中断 高电平中断 下降沿中断 上升沿中断 外 部 中 断 0
注意:这里仅以EINT0为例来进行讲解,EINT1~EINT3与之类似,此处不再重复。
4.10 外部中断输入
• 外部中断与VIC的关系
外部中断0位于VIC通道14,中断选择寄存器VICIntSelect[14] 用来选择通道14的中断类型: 当VICIntSelect[14] = 0时,通道14分配为IRQ中断 当VICIntSelect[14] = 1时,通道14分配为FIQ中断
*:复位值仅指已使用位中保存的数据,不包括保留位的内容。
4.10 外部中断输入
• 寄存器汇总
可以通过设置EXTPOLAR和EXTMODE确定外部中断 可以通过设置PINSELx寄存器选择对应引脚为外部中 有效中断信号设置中断标志。 可以控制把CPU从掉电模式唤醒。 的触发信号。 断输入引脚。
2 1 4 3 3 1 2 管脚 连接控制 外部中断 极性控制
VIC
注意:这里仅以EINT0为例来进行讲解,EINT1~EINT3与之类似,此处不再重复。
4.10 外部中断输入
• 边沿中断设置
LPC2000系列ARM的边沿中断可以设置为上升沿触发和 下降沿触发。 当EXTPOLAR[0] = 0时,外部中断0设置为下降沿触发。 当EXTPOLAR[0] = 1时,外部中断0设置为上升沿触发。
P0.15 RI P0.9 RXD1 边沿触发方式:只使用GPIO端口号最低的那个引脚, SSEL1 外部中断3(EINT3) 并且与极性设置无关。 P0.20 P0.30
4.10 外部中断输入
• 外部中断与VIC的关系
外部中断0位于VIC通道14,中断使能寄存器VICIntEnable[14] 用来控制通道14的使能: 当VICIntEnable[14] = 0时,通道14中断禁止
VICVectAddr0 VICIntEnable[14] EINT0 通道14 VICIntSelect[14] IRQ FIQ VICVectCntl0 IRQ 通道 VICVectAddr15 分配 VICVectCntl15 VICDefVectAddr 向量IRQ通道15 非向量IRQ通道 向量IRQ通道0
EXTWAKE
管脚 连接控制
外部中断 极性控制
EXTPOLAR
外部中断 方式控制
EXTMODE
掉电 唤醒控制
CPU 其它部件
中断标志
EXTINT
PINSELx
4.10 外部中断输入
• 外部中断引脚设置
LPC2000系列芯片允许多个引脚同时作为一个外部 LPC2000系列芯片中,外部中断输入功能的引脚绝 在实际应用中的注意点: 中断的输入引脚。根据其方式位和极性位的不同,外 大多数同时还作为通信上的一个功能引脚,这样处理器 部中断逻辑处理如下: 可以通过外部中断唤醒,之后引脚设为通讯端口。 如果要产生外部中断,除了引脚连接模块的设置,还 需设置VIC模块,否则外部中断只能反映在EXTINT寄 外部中断名称 引脚名 该引脚其它功能 低电平触发方式:作为EINT功能的全部引脚的状态相 P0.1 RXD0 存器中; 外部中断0(EINT0) 与后作为输入信号; P0.16 P0.3 SDA0 要使器件进入掉电模式并通过外部中断唤醒,软件应 外部中断1(EINT1) 高电平触发方式:作为EINT功能的全部引脚的状态相 P0.14 DCD 该正确设置引脚的外部中断功能,再进入掉电模式 。 P0.7 SSEL0 或后作为输入信号; 外部中断2(EINT2)
VICVectAddr0 VICIntEnable[14] EINT0 通道14 VICIntSelect[14] IRQ FIQ VICVectCntl0 IRQ 通道 VICVectAddr15 分配 VICVectCntl15 VICDefVectAddr 向量IRQ通道15 非向量IRQ通道 向量IRQ通道0
4.10 外部中断输入
概述
LPC2000系列ARM具有4路外部中断,可以设置为2种类型: 边沿触发: 上升沿触发 下降沿触发 • 电平触发: 高电平触发 低电平触发
4.10 外部中断输入
• 边沿触发中断
下降沿触发类型中断的请求和清除时序。 T1时刻,中断信号有下降沿产生,中断控制器向CPU T2时刻,CPU执行完成中断控制器的中断服务程序, 清除中断,中断信号回复到高电平。 发出中断请求。