NuMicro Mini51系列UART技术详解

需积分: 10 2 下载量 50 浏览量 更新于2024-07-17 收藏 740KB PDF 举报
“NuMicro Mini51系列中文培训资料:UART” NuMicro Mini51系列是新唐科技(Nuvoton)推出的一系列微控制器,它包含一个可编程的UART(通用异步收发传输器)通道,适用于串行通信。UART在嵌入式系统和微控制器应用中广泛用于设备间的通信,它可以实现全双工数据传输,允许同时发送和接收数据。 UART的主要特性包括: 1. **独立可编程波特率发生器**:这使得用户可以根据需要设置不同的通信速率,以适应不同的通信协议和设备。 2. **完全可编程的串口特性**:包括数据位数(5-8位)、奇偶校验位(奇、偶或无校验)和停止位数(1-2位),可以根据不同应用场景灵活配置。 3. **UART接收/发送支持单独的16/16字节缓冲**:这些缓冲区有助于提高数据处理效率,减少CPU的介入次数,从而降低功耗。 4. **UART自动流控功能**:支持CTS(清除发送)和RTS(请求发送)信号,可以自动控制数据传输的开始和结束,防止数据溢出或丢失。 5. **IrDA模式**:UART还支持红外数据协会(IrDA)模式,可用于短距离红外通信。 6. **RS-485模式**:对于长距离通信,UART可以切换到RS-485模式,这种模式具有更高的驱动能力和更强的抗干扰能力。 UART的内部结构包括: - **UART时钟选择器(UART_S(CLKSEL[25:24]))**:用于选择UART的时钟源,例如,可以使用22.1184MHz的时钟。 - **波特率发生器(UART_N(CLKDIV[11:8]))**:根据不同的工作模式,通过设置分频系数A和B来产生所需的波特率。 - **控制和状态寄存器**:用于设置UART的工作模式和监控UART的状态。 - **发送和接收FIFO(8字节深度)**:提供数据缓冲,增强系统性能。 - **移位寄存器**:用于串行数据的输入和输出。 - **串行数据输入(SerialDataIn)** 和 **串行数据输出(SerialDataOut)** 接口,连接到APBBUS,实现与外部设备的串行通信。 UART的时序设定有三种模式: - **Mode 0**:波特率发生器禁用,波特率由UART_CLK/[16 * (A + 2)]计算得出,其中A的值可为0-255。 - **Mode 1**:波特率发生器启用,要求B >= 8,波特率由UART_CLK/[(B + 1) * (A + 2)]计算得出。 - **Mode 2**:波特率发生器启用,要求A >= 3,波特率由UART_CLK/(A + 2)计算得出。 在实际应用中,可以通过调整A和B的值来精确地设定所需的波特率,例如,为了得到921600波特的速率,可以设置A=0,B=11;或者为了得到460800波特,可以设置A=1,B=15等。 NuMicro Mini51系列的UART功能强大且灵活,能够满足各种串行通信需求,从简单的设备间通信到更复杂的自动流控和长距离通信。通过深入理解和正确配置UART的相关寄存器,可以充分利用其功能来优化系统性能。