USER GUIDE / PERIPHERALS / UART / REGISTER DESCRIPTION
寄存器描述
UART 接收缓冲寄存器
只读 URBR 对应于一个 11 位缓冲区(非 FIFO 模式下)或一个 64x11 位 FIFO(FIFO 模式下), 用于保存 UART 接收到的字符。当配置为使用少于 8 位时,URBR 中的位将右对齐,其余MSB的数据位清零,每个缓冲区中MSB的三位是缓冲区中字符的状态。如果 ULSR.DRY 为 0,则不要读取 URBR, 否则可能会发生错误操作。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 写入无影响,读取为零。 | R |
| 7:0 | URBR | 8 位 UART 接收数据。 | R |
UART 发送保持寄存器
只允许写入的 UTHR对应于一个 8 位缓冲区(非 FIFO 模式下)或对应于一个 64x8 位 FIFO(FIFO 模式下),用于保存下一个要传输的数据字节。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 写入无影响,读取为零。 | R |
| 7:0 | UTHR | 8 位 UART 发送写入数据。 | W |
UART 除法锁存器低字节寄存器
UART 除法器锁存寄存器 UDLLR 和 UDLHR 共同组成了可编程波特率发生器的除法器,可将 UART 设备时钟除以 1 至 (216-1)。 UART 设备源时钟是 EXCLK 或 EXCLK/2,由 CPCCR.ECS[1] 决定。UDLHR 或 UDLLR 分别存储除数的高/低 8 位。请在初始化过程中加载这些除法器锁存器,以确保波特率发生器正常工作。如果两个除法锁存器寄存器均为 0,则 16X 时钟停止。 如果不设置 UMR 和 UACR,UART 将在正常模式下以指定频率工作。未设置 UMR 和 UACR 时, 波特率与分频器值之间的关系用公式表示: 波特率 =(UART 设备时钟)/(16 * 除数) 如果 UMR 已设置且 UACR 未设置,则公式如下。UMR 寄存器的说明可参考 UMR 波特率 =(UART 设备时钟)/(M* 除数)
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 写入无影响,读取为零。 | R |
| 7:0 | DLL_8bit | 低 8 位除法锁存器 | RW |
UART 除法锁存器高字节寄存器
与 UDLLR 的解释相同。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 写入无影响,读取为零。 | R |
| 7:0 | DLH_8bit | 高 8 位除法锁存器 | RW |
UART 中断使能寄存器
UART 中断使能寄存器 (UIER) 包含五类中断(接收数据就绪、超时、线路状态、发送数据请求和调制解调器状态)的中断使能位,这些中断在 UIIR 中设置了一个值。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:5 | Reserved | 写入无影响,读取为零。 | R |
| 4 | RTOIE | 接收超时中断启用。 0:禁用接收超时中断 1:启用接收超时中断 | RW |
| 3 | MSIE | 调制解调器状态中断启用。 0:禁用调制解调器状态中断 1:启用调制解调器状态中断 | RW |
| 2 | RLSIE | 接收线路状态中断启用。 0:禁用接收线路状态中断 1:启用接收线路状态中断 | RW |
| 1 | TDRIE | 发送数据请求中断启用。 0:禁用发送数据请求中断 1:启用发送数据请求中断 | RW |
| 0 | RDRIE | 接收数据就绪中断启用。 0:禁用接收数据就绪中断 1:启用接收数据就绪中断 | RW |
UART 中断识别寄存器
只读 UART 中断识别寄存器 (UIIR) 记录优先级已确定的待处理中断源信息。上电复位后的初始值为 0x01。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 写入无影响,读取为零。 | R |
| 7:6 | FFMSEL | FIFO 模式选择。 00:非 FIFO 模式 01:保留 | R |
| 5:4 | Reserved | 写入无影响,读取为零。 | R |
| 3:1 | INID | 中断标识符。 这些位用于标识当前最高优先级的待处理中断。 | R |
| 0 | INPEND | 中断等待。 0:中断待处理 1:无中断等待 | R |
UART FIFO 控制寄存器
只写寄存器 UFCR 包含接收和发送 FIFO 的控制位。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 写入无影响,读取为零。 | R |
| 7:6 | RDTR | 接收缓冲区数据数触发器。 这些位用于选择 FIFO 模式下接收数据就绪中断的触发电平。 00:1 01:8 10:16 11:32 | W |
| 5 | Reserved | 写入无影响,读取为零。 | R |
| 4 | UME | 启用 UART 模块。 0:禁用 UART 1:启用 UART | RW |
| 3 | DME | 启用 DMA 模式。 0:禁用 DMA 模式 1:启用 DMA 模式 | W |
| 2 | TFRT | 传输保持寄存器复位。 0:不复位 1:重置发送 FIFO | W |
| 1 | RFRT | 接收缓冲区复位。 0:不复位 1:重置接收 FIFO | W |
| 0 | FME | 启用 FIFO 模式。 在触发电平之前设置该位。 0:非 FIFO 模式 1:FIFO 模式 | W |
UART 线路控制寄存器
ULCR 定义 UART 数据传输格式。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 写入无影响,读取为零。 | R |
| 7 | DLAB | 除法器锁存器访问位。 0:启用访问 URBR、UTHR 或 UIER 1:启用访问 UDLLR 或 UDLHR | RW |
| 6 | SBK | 设置停止。 向接收 UART 发送中断条件(至少一个 0x00 数据)。 仅作用于 TXD 引 脚,对发送逻辑无影响。 0:对 TXD 输出无影响 1:强制 TXD 输出为 0 | RW |
| 5 | STPAR | 粘性奇偶校验。 当 PARE 为 1 时,设置该位将迫使奇偶校验位置与 PARM 位相反(当 | RW |
| 4 | PARM | 奇/偶校验模式选择。 如果 PARE= 0,则忽略 PARM。 0:奇校验 1:偶校验 | RW |
| 3 | PARE | 奇偶校验启用。 在传输时生成奇偶校验位,或在接收时检查奇偶校验位。 0:无奇偶校验 1:奇偶校验 | RW |
| 2 | SBLS | 停止位长度选择。 指定每个字符中传输和接收的停止位数量。 接收时,接收器只检查第一个 停止位。 0:1 个停止位 1:2 个停止位,5 位字符除外,则为1.5 位 | RW |
| 1:0 | WLS | 字长选择。 00:5 位字符 01:6 位字符 10:7 位字符 11:8 位字符 | RW |
UART 调制解调器控制寄存器
UMCR 使用调制解调器控制引脚 RTS_ 和 CTS_ 控制与调制解调器或数据集的接口,UMCR 还控制环回模式,回环模式必须在 UART 启用之前启用。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 写入无影响,读取为零。 | R |
| 7 | MDCE | 调制解调器控制启用。 0:调制解调器功能禁用 1:启用调制解调器功能 | RW |
| 6 | FCM | 流量控制模式。 0:通过软件进行流量控制 1:通过硬件进行流量控制 | RW |
| 5 | Reserved | 写入无影响,读取为零。 | R |
| 4 | LOOP | 回环。 该位用于 UART 的诊断测试。 当 LOOP 为 1 时,TXD 输出引脚被设 置为逻辑 1 状态,RXD 与该引脚断开,发送器移位寄存器的输出在内部 环回到接收器移位寄存器的输入,类似于 CTS_ 和 RTS_ 引脚,UMCR 的 RTS 位分别连接到 UMSR 的 CTS 位。 启用 UART 之前必须选择回环模式。 0:正常运行模式 1:回环模式 UART 操作 | RW |
| 3:2 | Reserved | 写入无影响,读取为零。 | R |
| 1 | RTS | 请求发送。 该位可控制 RTS_ 输出状态。 0:RTS_强制为高电平 1:RTS_强制为低 | RW |
| 0 | Reserved | 写入无影响,读取为零。 | R |
UART 线路状态寄存器
只读 ULSR 显示数据传输过程中的状态信息。在软件读取 ULSR 之前,ULSR[4:1] 中的接收错误信息一直处于设置状态,必须在读取错误字符之前读取该信息。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 写入无影响,读取为零。 | R |
| 7 | FIFOE | FIFO 出错状态。 (仅限 FIFO 模式) 当接收缓冲区中的任何字符出现至少一种接收错误(奇偶校验、帧、超限、 断路)时,FIFOE 将被设置。 从缓冲区读出所有错误字符后,FIFOE 复 位。 在 DMA 传输期间,当 FIFOE 为 1 时会产生错误中断,在读出所有错 误字符之前,即使接收缓冲区中的数据达到触发阈值,也不会产生接收 DMA 请求。 在非 DMA 模式下,设置 FIFOE 不会产生错误中断。 0:接收缓冲区或非 FIFO 模式中无错误数据 1:接收缓冲区中有一个或多个错误字符 | R |
| 6 | TEMP | 发送保持寄存器为空。 当 UTHR 和移位寄存器都为空时置位。 当 UTHR 或移位寄存器中包含 数据字符时,清零。 0:发送移位寄存器和 UTHR 中有数据 1:发送移位器和 UTHR 中的所有数据都已移出 | R |
| 5 | TDRQ | 当 UTHR 有一半或更多空位(FIFO 模式)或空位(非 FIFO 模式)时 设置。 当 UIER.TDRIE 和 TDRQ 均为 1 时,将产生发送数据请求中断,或者 在 DMA 传输期间,当 UIER.TDRIE 为 0 和 TDRQ 为 1 时,将向 DMA 控制器发出 DMA 请求。 0:UTHR 中有一个(非 FIFO 模式)或一半以上的数据(FIFO 模式) 1:UTHR 中没有数据(非 FIFO 模式)或只有一半或少于一半的数据 (FIFO 模式) | R |
| 4 | BI | Break中断。 当接收到的数据输入保持低电平的时间超过整字传输时间(起始位 + 数 据位 + 奇偶校验位 + 停止位的总时间)时,BI 被置位。 当处理器读取 ULSR 时,BI 被清零。 在 FIFO模式下,无论断开条件的长度如何,只 有一个等于 0x00 的字符被加载到 FIFO 中。 BI 显示的是 FIFO 前端字 符的中断条件,而不是最近接收到的字符。 0:未收到Break中断信号 1:收到Break中断信号 | R |
| 3 | FMER | 成帧错误。 当检测到最后一个数据位或奇偶校验位后面的位为 0 时设置。 如果 ULCR 已设置为两个或一个半停止位,则除第一个停止位外,其他停止位 将不被检查。 在 FIFO 模式下,FMER 显示的是接收缓冲区前端字符的 成帧错误,而不是最近接收到的字符。 处理器读取 ULSR 寄存器时清零。 0:无成帧错误 1:检测到无效停止位 | R |
| 2 | PARER | 奇偶校验错误。 表示接收到的数据字符没有正确的偶数或奇数奇偶校验(由偶数奇偶校验 选择位选择)。 PARER 在检测到奇偶校验错误时被置位,并在处理器读 取 ULSR 寄存器时清零。 在 FIFO 模式下,PARER 显示的是 FIFO 前 端字符的奇偶校验错误,而不是最近收到的字符。 0:无奇偶校验错误 1:发生奇偶校验错误 | R |
| 1 | OVER | 超限错误。 当接收缓冲区和移位器都已满,且接收到新数据时会丢失时设置。 当处理器读取 ULSR 寄存器时清零。 0:未丢失数据 1:接收数据丢失 | R |
| 0 | DRY | 数据就绪。 当接收缓冲区寄存器接收到完整的传入字符时置位。 当读取接收缓冲区 (非 FIFO 模式)或缓冲区为空时,或通过将 UFCR.RFRT 设置为 1 复 位缓冲区时,DRY 将被清零。 0:未收到数据 1:URBR 中有数据 | R |
UART 调制解调器状态寄存器
只读 UMSR 提供调制解调器到处理器控制线的当前状态。当处理器读取 UMSR 时,它们将被清零。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:5 | Reserved | 写入无影响,读取为零。 | R |
| 4 | CTS | 发送清除的状态。 当 MDCE 位为 1 时,该位是 CTS_ 输入的补码。 如果 UMCR 的 Loop 位为 1,则该位相当于 UMCR 的 RTS 位。 0:CTS_ 引脚为 1 1:CTS_ 引脚为 0 | R |
| 3:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | CCTS | 改变 CTS_ 的状态。 当 MDCE 位为 1 时,该位指示 CTS_ 引脚的状态变化。 0:自上次读取 UMSR 后,CTS_ 引脚无状态变化 1:CTS_ 引脚的状态发生变化 | R |
UART 划线寄存器
该刮擦板寄存器用作编程器的刮擦寄存器,对 UART 没有影响。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 写入无影响,读取为零。 | R |
| 7:0 | STCH_D | 被刮擦数据 | RW |
UART 红外状态寄存器
ISR 用于配置每个 UART 提供的慢红外(SIR)接口,以支持符合 IrDA 串行红外规范 1.1 的红外传输双向无线通信。最大频率可达 115.2kbps。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | OLD | 更改为旧版本 是否更改为修复超时中断自清除错误前的旧版本 0:不修复超时中断自清除错误的新版本 1:修复超时中断自清除错误的旧版本 | RW |
| 30:5 | Reserved | 写入无影响,读取为零。 | R |
| 4 | RDPL | 接收数据极性。 0:慢红外(SIR)接口解码器将正脉冲视为零 1:SIR 解码器将负脉冲视为零 | RW |
| 3 | TDPL | 传输数据极性。 0:SIR 编码器为零数据位生成正脉冲 1:SIR 编码器为零数据位生成负脉冲 | RW |
| 2 | XMODE | 发送脉冲宽度模式。 当发送编码器需要产生 1.6us 脉冲(115.2kbps 时为 3/16 比特时间) 时设置该模式。 当发送编码器需要根据当前波特率产生 3/16 比特时间宽的脉冲时,清 零。 0:发送脉冲宽度为 3/16 比特时间宽 1:发送脉冲宽度为 1.6 us | RW |
| 1 | RCVEIR | 接收器 SIR 启用。 该位用于选择来自 RXD 引脚的信号先由 IrDA 解码器处理,然后再送入 UART(RCVEIR=1)或绕过 IrDA 解码器直接送入 UART(RCVEIR= 0)。 0:接收器处于 UART 模式 1:接收器处于 SIR 模式 | RW |
| 0 | XMITIR | 发送器 SIR 启用。 该位用于选择 TXD 输出引脚先由 IrDA 编码器处理,然后再馈送至设备引脚(XMITIR = 1),或绕过 IrDA 编码器直接馈送至设备引脚(XMITIR = 0)。 注意:在设置 XMITIR 之前禁用红外线 LED,否则可能出现误启动位。 0:发射机处于 UART 模式 1:发射机处于 SIR 模式 | RW |
UART 红外模式寄存器
UART 发送或接收一个比特至少需要 M 个周期。 UART 发送或接收一位数据最多需要 M+1 个周期。 在该寄存器中,M 或 M+1 的值表示 1 位数据可能占用多少分频周期。设置 UACR 时,1 位数据将占用 M+1 个周期。更多详情请参阅 UACR。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:5 | Reserved | 写入无影响,读取为零。 | R |
| 4:0 | M | UMR 寄存器的值。 | RW |
UART 自动校准寄存器
它控制 UART 发送或接收第 n 位数据所需的时间。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:12 | Reserved | 写入无影响,读取为零。 | R |
| 11:0 | AC | 如果寄存器的第 n 位为 | RW |
UART 接收计数寄存器
表示 RXFIFO 中有 n 个数据。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:7 | Reserved | 写入无影响,读取为零。 | R |
| 6:0 | RCNT | RXFIFO 计数器。 当此字段为 n 时,表示 RXFIFO 中有 n 个数据。 | R |
UART 发送计数寄存器
表示 TXFIFO 中有 n 个数据。
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:7 | Reserved | 写入无影响,读取为零。 | R |
| 6:0 | TCNT | TXFIFO 计数器。 当此字段为 n 时,表示 TXFIFO 中有 n 个数据。 | R |