LPC1300_第11章_通用异步收发器.pdf
### LPC1300系列Cortex-M3微控制器之通用异步收发器(UART)详解 #### 一、导言 LPC1300系列Cortex-M3微控制器的通用异步收发器(Universal Asynchronous Receiver/Transmitter,简称UART)是设备间进行串行通信的重要组成部分。它允许不同设备之间通过串行接口交换数据,广泛应用于嵌入式系统设计中。本章节将深入探讨LPC1300系列中UART模块的详细信息,包括其配置过程、主要特性、管脚功能、时钟与功率控制以及寄存器描述。 #### 二、基本配置流程 配置UART模块需要经过几个关键步骤: 1. **管脚配置**:在启用UART时钟之前,首先需要通过I/O配置寄存器(IOCONFIG)对UART相关的管脚进行配置,确保其正确连接到UART模块。 2. **功率控制**:通过设置SYSAHBCLKCTRL寄存器中的特定位来控制UART模块的电源。该位的位置在寄存器中的位12。 3. **外设时钟使能**:通过编程UARTCLKDIV寄存器,可以启动UART外设时钟。这是UART模块正常工作的必要条件。 #### 三、UART模块特性 LPC1300系列的UART模块具备多项显著特性,包括但不限于: - **16字节收发FIFO**:提供了一定的数据缓冲能力,增强了数据传输的稳定性。 - **工业标准兼容性**:寄存器单元设计符合‘550工业标准,确保了广泛的兼容性和可靠性。 - **动态接收触发点**:接收器FIFO触发点可灵活设置为1、4、8或14字节,适应不同的数据处理需求。 - **内置波特率发生器**:支持软件和硬件流控制,可根据应用需求调整数据传输速率。 - **RS-485/EIA-485模式支持**:不仅支持标准串行通信,还扩展了半双工多点通信的能力。 - **Modem控制**:集成了Modem信号的控制功能,如数据设置就绪(DSR)、数据载波检测(DCD)等。 #### 四、管脚描述 UART模块的管脚主要包括: - **RXD**:接收端口,用于接收串行数据。 - **TXD**:发送端口,用于发送串行数据。 - **RTS/CTS**:请求发送和清除发送信号,用于实现硬件流控制。 - **DSR/DCD/RI**:数据设置就绪、数据载波检测和铃声指示,用于Modem控制。 值得注意的是,某些管脚仅在特定封装如LQFP48中可用。 #### 五、时钟与功率控制 UART模块的运行受时钟和功率控制的直接影响: - **系统AHB时钟控制**:通过SYSAHBCLKCTRL寄存器的位12,可以开关UART模块的电源。 - **UART外设时钟**:在UART时钟分频器寄存器中,可以启动或调整UART_PCLK,该时钟是波特率发生器的工作基础。 #### 六、寄存器描述 UART的寄存器体系结构复杂而精细,包括: - **接收缓冲寄存器(U0RBR)**:用于存储待读取的接收字符。 - **发送保持寄存器(U0THR)**:用于存储待发送的字符。 - **除数锁存器LSB/MSB寄存器(U0DLL/U0DLM)**:用于设置波特率除数,其中DLAB位控制锁存器的访问。 - **中断使能寄存器(U0IER)**:用于控制UART中断的启用和禁用。 - **中断标识寄存器(U0IIR)**:用于标识当前中断源。 - **FIFO控制寄存器(U0FCR)**:用于配置FIFO操作。 - **线控寄存器(U0LCR)**:用于设置数据格式和FIFO触发点。 - **Modem控制寄存器(U0MCR)**:用于控制Modem信号。 - **线状态寄存器(U0LSR)**:用于报告接收器状态。 - **Modem状态寄存器(U0MSR)**:用于报告Modem信号状态。 - **自动波特率控制寄存器(U0ABR)**:用于自动检测波特率。 此外,还有高速缓存寄存器、发送使能寄存器、RS485控制寄存器等,共同构成了UART模块的全面控制能力。 LPC1300系列Cortex-M3微控制器的UART模块通过其丰富的特性和细致的配置选项,提供了强大的串行通信功能,适用于各种嵌入式系统的开发需求。
剩余22页未读,继续阅读
- 粉丝: 0
- 资源: 30
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助