第4章 LPC2000系列ARM硬件结构(14~18)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• UART发送单元
CPU AHB-VPB桥 A H B 总 线
ARM7
UnTHR
UnTSR
V P B 总 线
UARTn发送单元 发送缓冲寄存器 移位寄存器 UnTHR UnTSR
TxDn
TXD
UnTHR 7 : 0
描述
复位值 未定义
发送器保持寄存器。写入该寄存器的值保存到发送FIFO中,当该字节到达 FIFO底部时,它将被送入发送移位寄存器(UnTSR)进行发送。
• 中断源说明
RDA中断:该中断与CTI中断并列为第二优先级。当接收的有效 数据到达接收FIFO设臵寄存器(UnFCR)中设臵的触发点时,RDA被 激活。当接收FIFO中的有效数据少于触发点时,RDA复位;
UnRSR
RxDn
UnIIR[0] UnIIR[3:1]
0 1
010 xxx
触发点设臵=8
ARM7
UnRSR
UnRBR
V P B 总 线
UARTn接收单元
接收缓冲寄存器 UnRBR
移位寄存器 UnRSR
RxDn
CPU
UnRBR 7 : 0
描述 接收缓存寄存器,它包含了接收FIFO中最早接收到的字节
复位值 未定义
• UART接收FIFO缓冲区
UnRSR
• UART0、UART1各含有1 个16字节的接收FIFO缓冲 区。 • 软件设臵接收FIFO缓冲区 的触发字节。
UART线状态寄存器 位 功能 7 RXFE 6 TEMT 5 THRE 4 BI 3 FE 2 PE 1 OE 0 RDR
4.14 UART(0、1)
• UART波特率发生器
UART0和UART1各含有一个单独的波特率发生 器,两者的功能相同,且相互独立。
名称 UnDLL[7:0] UnDLM[7:0] 除数锁存寄存器低字节 除数锁存寄存器高字节 描述 复位值
4.14 UART(0、1)
• 中断源说明
RLS中断:该中断为最高优先级。它在UARTn发生 下面的错误时产生中断: 1、溢出错误(OE) 2、奇偶错误(PE) 3、帧错误(FE) 4、间隔中断(BI) 通过查看UnLSR[4:1]可以了解到产生该中断的错误 条件。读取UnLSR时清除该中断;
PC机串口
当使用Modem接口时,需 要一个RS232转换器将信 号转换为RS232电平后, 才能与Modem连接 。
LPC2000
TxD1 RxD1 RTS CTS RS232 DSR1 电平转换 DTR1 DCD RI1
TxD RxD RTS CTS DSR1 DTR1 DCD1 RI1
Modem
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. 实时时钟
VIC 中断控制器
ARM7TDMI 内核
4.14 UART(0、1)
• UART中断优先级
UnIER bit3 优先级 RLS中断 RDA中断 CTI中断 THRE中断 Modem中断 最高 第二 第二 第三 bit2 bit1 bit0
VIC 中断控制器
ARM7TDMI 内核
第四
注意:只有UART1才有Modem中断。
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)
• 回写模式
在Modem回写模式下,发 送器输出的串行数据在内部连接 到接收器的串行输入端。输入脚 RxD1对回写模式无影响,输出脚 TxD1保持总为1的状态。4个 Modem输入(CTS, DSR, RI和 DCD)与外部断开。此时, U1MSR的高4位分别由U1MCR的 低4位驱动。
UnIER 中断标志寄存器 UnIIR UARTn高速缓存寄存器 UnSCR
V P B 总 线
除数锁存寄存器 UnDLL、UnDLM
UARTn接收单元
接收缓冲寄存器 UnRBR 移位寄存器 UnRSR
RxDn
FIFO控制寄存器(UnFCR) UARTn控制寄存器(UnLCR) UARTn状态寄存器(UnLSR)
4.14 UART(0、1)
• UART中断示意图
UnIER bit3 bit2 bit1 bit0 RLS中断(UnIIR[3:1]=011) RDA中断(UnIIR[3:1]=010) CTI中断(UnIIR[3:1]=110) THRE中断(UnIIR[3:1]=001) Modem中断(UnIIR[3:1]=001) 注意:只有UART1才有Modem中断。
• UART结构图
CTS DSR RI DCD MODEM Modem控制寄存器 U1MCR Modem状态寄存器 U1MSR 中断 UARTn发送单元 发送缓冲寄存器 移位寄存器 UnTHR UnTSR
TxDn
DTR RTS
UARTn波特率发生器
只有UART1才有 中断使能寄存器 Modem接口
位 0 1 2 功能 Delta CTS Delta DSR 后沿 RI 功能描述 检测到CTS状态发生变化时,该位置位。读取U1MSR时清零。 检测到DSR状态发生变化时,该位置位。读取U1MSR时清零。 检测到RI状态发生变化时,该位置位。读取U1MSR时清零。
3
4 5 6 7
Delta DCD
• 应用示例
LPC2000的I/O电压为 3.3V,连接时须注意电平 的匹配。 与PC机相连时,由于PC机 串口是RS232电平,所以 连接时需要使用RS232转 换器。
TxD0 TxD0
LPC2000 RxD0
RxD0
其它 通信设备
LPC2000
232 RxD0 电平转换
TxD0
TxD0
RxD0
UnIER可以控制UARTn的4个中断源。其中RBR中断使能包括两个中断, 一个是接收数据可用(RDA)中断,一个是接收超时中断(CTI)。稍后将 对各中断源作详细介绍。
4.14 UART(0、1)
• 中断标识寄存器
UnIIR 0 描述 中断挂起。1:没有挂起的中断;0:至少有一个中断被挂起。 011:1. 接收线状态中断(RLS) 中断标识。 这3位表示了对应于UARTn Rx FIFO的中断。未列出的其它组 合作为保留值。 复位值 0 0
该寄存器使能Modem的回写模式,并控制Modem 的输出信号。
位 0 1 3 : 2 4 7 : 5 功能 DTR控制 RTS控制 保留 回写模 式 保留 功能描述 选择Modem输出引脚DTR。该位在回写模式激活时读出为0。 选择Modem输出引脚RTS。该位在回写模式激活时读出为0。 用户软件不要向该位写入1 0:禁止modem回写模式 1:使能modem回写模式 modem回写模式提供了一个执行回写测试的诊断机制。 用户软件不要向该位写入1
DATA
UnIIR[0]
UnIIR[3:1]
0 1 110 xxx
1.移位寄存器(UnRSR)从RxDn引脚 接收串行数据后,送入接收FIFO中;
2.当接收FIFO中的有效数据少于触 发个数,但至少有一个时,如果长时 间没有数据到达,将触发CTI中断; 3.从UnRBR中读取接收FIFO中的数 据,或者有新的数据送入接收FIFO, 都将清零CTI中断;
4.14 UART(0、1)
• 中断接口
UART0和UART1的中断接口包含中断使能寄存器 (UnIER)和中断标识寄存器(UnIIR)。
UART0中断源
UART0接收单元
UART1中断源
中断
UART1接收单元
中断使能寄存器 UnIER 中断标志寄存器 UnIIR
UART0发送单元
UART1发送单元
Modem模块
4.14 UART(0、1)
• 中断使能寄存器
UnIER 0 1 2 3 7 : 4 描述 RBR中断使能。1:使能RDA中断;0:禁止RDA中断。 THRE中断使能。1:使能THRE中断;0:禁止THRE中断。 Rx线状态中断使能。1:使能Rx线状态中断;0:禁止Rx线状态中断; 该中断状态可从UnLSR[4:1]读出。 Modem中断使能。 1:禁止Modem中断;0:禁止Rx线状态中断; 该中断状态可从U1MSR[3:0]读取。注:只有UART1具有。 保留,用户软件不要向这些位写入1。 复位值 0 0 0 0 未定义
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
接收FIFO
DATA
1.移位寄存器(UnRSR)从RxDn引脚 接收串行数据后,送入接收FIFO中; 2.当接收FIFO中的有效数据数量到 达预定的触发点时,臵位RDA中断; 3.从UnRBR寄存器中读取FIFO中最 早到达的数据,当FIFO中的有效数据 小于预定触发点时,清零RDA中断;
010:2a. 接收数据可用中断(RDA)
110:2b. 字符超时指示(CTI) 001:3. 发送中断(THRE) 000:4. Modem中断 注:只有UARபைடு நூலகம்1具有 未定义 0
3 : 1
7 : 3
保留,用户软件不要向这些位写入1。
UnIIR提供状态代码用于指示一个挂起中断的中断源和优先级。在访问 UnIIR过程中,中断被冻结。如果在访问UnIIR时产生了中断,该中断将被 记录,在下次访问UnIIR时可以读出,避免了中断的丢失。
RXD
接收FIFO
UnFCR
UnRBR
UART FIFO控制寄存器 位 功能 7 6 [5 : 3] — 2 复位TxFIFO 1 复位RxFIFO 0 使能FIFO Rx触发点设置
4.14 UART(0、1)
• UART线状态寄存器——UnLSR
线状态寄存器(UnLSR)为只读寄存器,它提 供UARTn发送和接收模块的状态信息 。
• UART发送FIFO缓冲区
• UART0、UART1各含有1 个16字节的发送FIFO缓冲 区。 • UnTHR是UARTn发送 FIFO的最高字节。 • UART的发送FIFO是一直 使能的。
UnTHR
发送FIFO
UnTSR
TXD
• UART接收模块
RXD AHB-VPB桥 A H B 总 线
CTS DSR RI DCD
检测到DCD状态发生变化时,该位置位。读取U1MSR时清零。
反映输入信号CTS的补码。回写模式下该位连接U1MCR的bit1。 反映输入信号DSR的补码。回写模式下该位连接U1MCR的bit0。 反映输入信号RI的补码。回写模式下该位连接U1MCR的bit2。 反映输入信号DCD的补码。回写模式下该位连接U1MCR的bit1。
芯片引脚
DSR CTS RI DCD DTR RTS TXD RXD
Modem接口
DSR CTS RI DCD DTR RTS TXD RXD Bit0 Bit1 Bit2 Bit3
U1MCR
4.14 UART(0、1)
• Modem状态寄存器
该寄存器为只读,它反映Modem输入信号的状态 信息。需要注意的是,Mdoem信号对UART1的操作没 有直接影响,Modem信号的操作是通过软件来实现的。
两个寄存器一起构成一个16位的 除数,决定UARTn的波特率。
未定义
这两个寄存器决定波特率时钟的频率,而波特率时钟 必须是波特率的16倍。波特率计算公式如下:
BaudRate = FPCLK / ([U0DLM,U0DLL]×16)
4.14 UART(0、1)
• Modem控制寄存器——U1MCR
4.14 UART(0、1)
• 特性
LPC2000系列微控制器具有两个功能强大的 UART,其特性如下: 16字节接收FIFO和16字节发送FIFO; 寄存器位臵符合16C550工业标准; 接收FIFO触发点可设臵为1、4、8或14字节; 内臵波特率发生器; UART1含有标准调制解调器接口信号 。