32位单片机知识讲解:Microchip PIC32系列
• 全双工8 位或9 位数据传输 • 偶校验、奇校验或无奇偶校验选项(对于8 位数据) • 一个或两个停止位 • 硬件自动波特率特性 • 完全集成的波特率发生器,具有16 位预分频器 • 当器件工作在80 MHz 时,波特率范围从76 bps 至20 Mbps • 独立的接收和发送FIFO 数据缓冲区 • 奇偶校验、帧和缓冲区溢出错误检测 • 支持仅在地址检测(第9 位 = 1)时产生中断 • 独立的发送和接收中断 • 用于诊断支持的环回模式 • LIN 1.2 协议支持 图 给出了UART 的简化框图。UART 模块由以下这些重要的硬件组成: • 波特率发生器 • 异步发送器 • 异步接收器和IrDA 编/ 解码器 UART 简化框图 控制寄存器 每个UART 模块包含以下特殊功能寄存器(Special Function Register, SFR): • UxMODE:UARTx 模式寄存器 • UxSTA:UARTx 状态和控制寄存器 • UxTXREG:UARTx 发送寄存器 • UxRXREG:UARTx 接收寄存器 • UxBRG:UARTx 波特率寄存器 此外,每个UART 模块还具有用于中断控制的相关位(关于这些位的说明,请参见第8 章“中断” (DS61108)): • UxTXIE:发送中断允许控制位 • UxTXIF:发送中断标志状态位 • UxRXIE:接收中断允许控制位 • UxRXIF:接收中断标志状态位 • UxEIE:错误中断允许控制位 • UxEIF:错误中断标志状态位 • UxIP2:0>:中断优先级控制位 • UxIS1:0>:中断子优先级控制位 表21-1 汇总了所有与UART 相关的寄存器。该汇总表之后列出了相应的寄存器,并且每个寄存器位均附有详细的说明。 注: 不同的PIC32MX 系列器件型号可能具有一个或多个UART 模块。在引脚、控制/ 状态位和寄存器的名称中使用的“x”表示特定的模块。更多详细信息,请参见具体器件数据手册。 UART SFR 汇总 UART 配置 UART 使用标准的不归零(Non-Return-to-Zero,NRZ)格式(1 个启动位、8 或9 个数据位和1 或2 个停止位)。硬件提供奇偶校验,可由用户配置为偶校验、奇校验或无奇偶校验。最普通的数据格式是8 位,无奇偶校验,有1 个停止位(用8, N, 1 表示),这是默认的上电复位(Power-onReset, POR)设置。数据位数、停止位数以及奇偶校验均在PDSEL1:0> (UxMODE2:1>)和STSEL (UxMODE0>)位中指定。UART 首先发送和接收最低有效位(Least Significant bit,LSb)。UART 的发送器和接收器在功能上是独立的,但使用相同的数据格式和波特率。 使能UART通过将ON位(UxMODE15>)置1 来使能UART 模块。此外,通过将UTXEN 位(UxSTA10>)和URXEN 位(UxSTA12>)置1 来分别使能UART 发送器和接收器。一旦将这些使能位置1,UxTX 和UxRX 引脚就分别被配置为输出和输入,改写对应I/O 端口引脚的TRISx 和PORTx 寄存器位设置。 禁止UART 通过清零ON 位来禁止UART 模块。这是任何复位后的默认状态。如果禁止了UART,所有UART引脚在PORTx 和TRISx 寄存器中的相应位控制下用作端口引脚。禁止UART 模块会将缓冲区复位为空状态。当禁止模块时,缓冲区中的所有数据都将丢失。当禁止UART 模块时,所有与之相关的错误和状态标志都将复位。UxSTA 寄存器中的RXDA、OERR、FERR、PERR、UTXEN、URXEN、UTXBRK 和UTXBF 位被清零,而RIDLE 和TRMT位被置1。其他控制位(包括ADDEN、RXISEL1:0> 和UTXISEL)以及UxMODE 和UxBRG寄存器均不受影响。当UART 模块处于活动状态时,清零ON 位将中止所有等待的发送和接收,同时如以上所述那样将模块复位。重新使能UART 将使用同样的配置重新启动UART 模块。 UART 发送器 图给出了UART 发送器框图。发送器的核心是发送移位寄存器(UxTSR)。UxTSR 从发送FIFO 缓冲区UxTXREG 中获取数据。通过软件将数据装入UxTXREG 寄存器。在前一次装入数据的停止位发送之前,不会向UxTSR 寄存器装入新数据。一旦停止位发送完毕,就会将UxTXREG 寄存器中的新数据(如果有)装入UxTSR。 UART 发送器框图 通过将UTXEN 使能位(UxSTA10>)置1 来使能发送。实际的发送要到UxTXREG 寄存器装入了数据并且波特率发生器UxBRG 产生了移位时钟(图21-3)之后才发生。也可以先装入UxTXREG 寄存器,然后将UTXEN 使能位置1 来启动发送。通常,第一次开始发送的时候,由于UxTSR 寄存器为空,这样传输数据到UxTXREG 寄存器会导致该数据立即传输到UxTSR。发送期间清零UTXEN 位将中止发送并复位发送器。因此, UxTX 引脚将恢复到UTXINV 位(UxSTA13>)定义的状态。若要选
PIC32 系列 :Microchip 讲解 知识 单片机 相关文章:
- 基于PIC32的环境质量监测系统(03-18)
- DIY之乐:基于PIC32的以太网音箱设计案例,硬件框图、器件选型、数据结构、软件流程(04-09)
- 工业磁条导引送料车(06-29)
- 基于PIC32的无线自助点菜系统的实现,包含原理图及电路图(06-03)
- 基于PIC32上实现TCP/IP网络协议和zigbee无线传感器网络的智能家(11-29)
- DIY一部够炫酷的自由落体电子鼓(11-25)