USER GUIDE / PERIPHERALS / UART / REGISTER DESCRIPTION

寄存器描述

UART 接收缓冲寄存器

只读 URBR 对应于一个 11 位缓冲区(非 FIFO 模式下)或一个 64x11 位 FIFO(FIFO 模式下), 用于保存 UART 接收到的字符。当配置为使用少于 8 位时,URBR 中的位将右对齐,其余MSB的数据位清零,每个缓冲区中MSB的三位是缓冲区中字符的状态。如果 ULSR.DRY 为 0,则不要读取 URBR, 否则可能会发生错误操作。

URBRBASE + 0x00
Bit313029282726252423222120191817161514131211109876543210
字段ReservedURBR
RST00000000000000000000000000000000
位名称说明RW
31:8Reserved写入无影响,读取为零。
R
7:0URBR8 位 UART 接收数据。
R

UART 发送保持寄存器

只允许写入的 UTHR对应于一个 8 位缓冲区(非 FIFO 模式下)或对应于一个 64x8 位 FIFO(FIFO 模式下),用于保存下一个要传输的数据字节。

UTHRBASE + 0x00
Bit313029282726252423222120191817161514131211109876543210
字段ReservedUTHR
RST000000000000000000000000????????
位名称说明RW
31:8Reserved写入无影响,读取为零。
R
7:0UTHR8 位 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* 除数)

UDLLRBASE + 0x00
Bit313029282726252423222120191817161514131211109876543210
字段ReservedDLL_8bit
RST00000000000000000000000000000000
位名称说明RW
31:8Reserved写入无影响,读取为零。
R
7:0DLL_8bit低 8 位除法锁存器RW

UART 除法锁存器高字节寄存器

与 UDLLR 的解释相同。

UDLHRBASE + 0x04
Bit313029282726252423222120191817161514131211109876543210
字段ReservedDLH_8bit
RST00000000000000000000000000000000
位名称说明RW
31:8Reserved写入无影响,读取为零。
R
7:0DLH_8bit高 8 位除法锁存器RW

UART 中断使能寄存器

UART 中断使能寄存器 (UIER) 包含五类中断(接收数据就绪、超时、线路状态、发送数据请求和调制解调器状态)的中断使能位,这些中断在 UIIR 中设置了一个值。

UIERBASE + 0x04
Bit313029282726252423222120191817161514131211109876543210
字段ReservedRTOIEMSIERLSIETDRIERDRIE
RST00000000000000000000000000000000
位名称说明RW
31:5Reserved写入无影响,读取为零。
R
4RTOIE接收超时中断启用。
0:禁用接收超时中断 1:启用接收超时中断
RW
3MSIE调制解调器状态中断启用。
0:禁用调制解调器状态中断 1:启用调制解调器状态中断
RW
2RLSIE接收线路状态中断启用。
0:禁用接收线路状态中断 1:启用接收线路状态中断
RW
1TDRIE发送数据请求中断启用。
0:禁用发送数据请求中断 1:启用发送数据请求中断
RW
0RDRIE接收数据就绪中断启用。
0:禁用接收数据就绪中断 1:启用接收数据就绪中断
RW

UART 中断识别寄存器

只读 UART 中断识别寄存器 (UIIR) 记录优先级已确定的待处理中断源信息。上电复位后的初始值为 0x01。

UIIRBASE + 0x08
Bit313029282726252423222120191817161514131211109876543210
字段ReservedFFMSELReservedINIDINPEND
RST00000000000000000000000000000001
位名称说明RW
31:8Reserved写入无影响,读取为零。
R
7:6FFMSELFIFO 模式选择。
00:非 FIFO 模式 01:保留
R
5:4Reserved写入无影响,读取为零。R
3:1INID中断标识符。
这些位用于标识当前最高优先级的待处理中断。
R
0INPEND中断等待。
0:中断待处理
1:无中断等待
R

UART FIFO 控制寄存器

只写寄存器 UFCR 包含接收和发送 FIFO 的控制位。

UFCRBASE + 0x08
Bit313029282726252423222120191817161514131211109876543210
字段ReservedRDTRReservedUMEDMETFRTRFRTFME
RST00000000000000000000000000000000
位名称说明RW
31:8Reserved写入无影响,读取为零。
R
7:6RDTR接收缓冲区数据数触发器。
这些位用于选择 FIFO 模式下接收数据就绪中断的触发电平。
00:1 01:8 10:16 11:32
W
5Reserved写入无影响,读取为零。
R
4UME启用 UART 模块。
0:禁用 UART 1:启用 UART
RW
3DME启用 DMA 模式。
0:禁用 DMA 模式 1:启用 DMA 模式
W
2TFRT传输保持寄存器复位。
0:不复位 1:重置发送 FIFO
W
1RFRT接收缓冲区复位。
0:不复位 1:重置接收 FIFO
W
0FME启用 FIFO 模式。
在触发电平之前设置该位。
0:非 FIFO 模式 1:FIFO 模式
W

UART 线路控制寄存器

ULCR 定义 UART 数据传输格式。

ULCRBASE + 0x0C
Bit313029282726252423222120191817161514131211109876543210
字段ReservedDLABSBKSTPARPARMPARESBLSWLS
RST00000000000000000000000000000000
位名称说明RW
31:8Reserved写入无影响,读取为零。
R
7DLAB除法器锁存器访问位。
0:启用访问 URBR、UTHR 或 UIER 1:启用访问 UDLLR 或 UDLHR
RW
6SBK设置停止。
向接收 UART 发送中断条件(至少一个 0x00 数据)。
仅作用于 TXD 引 脚,对发送逻辑无影响。
0:对 TXD 输出无影响 1:强制 TXD 输出为 0
RW
5STPAR粘性奇偶校验。
当 PARE 为 1 时,设置该位将迫使奇偶校验位置与 PARM 位相反(当
RW
4PARM奇/偶校验模式选择。
如果 PARE= 0,则忽略 PARM。
0:奇校验 1:偶校验
RW
3PARE奇偶校验启用。
在传输时生成奇偶校验位,或在接收时检查奇偶校验位。
0:无奇偶校验 1:奇偶校验
RW
2SBLS停止位长度选择。
指定每个字符中传输和接收的停止位数量。
接收时,接收器只检查第一个 停止位。
0:1 个停止位 1:2 个停止位,5 位字符除外,则为1.5 位
RW
1:0WLS字长选择。
00:5 位字符 01:6 位字符 10:7 位字符 11:8 位字符
RW

UART 调制解调器控制寄存器

UMCR 使用调制解调器控制引脚 RTS_ 和 CTS_ 控制与调制解调器或数据集的接口,UMCR 还控制环回模式,回环模式必须在 UART 启用之前启用。

UMCRBASE + 0x10
Bit313029282726252423222120191817161514131211109876543210
字段ReservedMDCEFCMReservedLOOPReservedRTSReserved
RST00000000000000000000000000000000
位名称说明RW
31:8Reserved写入无影响,读取为零。
R
7MDCE调制解调器控制启用。
0:调制解调器功能禁用 1:启用调制解调器功能
RW
6FCM流量控制模式。
0:通过软件进行流量控制 1:通过硬件进行流量控制
RW
5Reserved写入无影响,读取为零。
R
4LOOP回环。
该位用于 UART 的诊断测试。
当 LOOP 为 1 时,TXD 输出引脚被设 置为逻辑 1 状态,RXD 与该引脚断开,发送器移位寄存器的输出在内部 环回到接收器移位寄存器的输入,类似于 CTS_ 和 RTS_ 引脚,UMCR 的 RTS 位分别连接到 UMSR 的 CTS 位。
启用 UART 之前必须选择回环模式。
0:正常运行模式 1:回环模式 UART 操作
RW
3:2Reserved写入无影响,读取为零。
R
1RTS请求发送。
该位可控制 RTS_ 输出状态。
0:RTS_强制为高电平 1:RTS_强制为低
RW
0Reserved写入无影响,读取为零。
R

UART 线路状态寄存器

只读 ULSR 显示数据传输过程中的状态信息。在软件读取 ULSR 之前,ULSR[4:1] 中的接收错误信息一直处于设置状态,必须在读取错误字符之前读取该信息。

ULSRBASE + 0x14
Bit313029282726252423222120191817161514131211109876543210
字段ReservedFIFOETEMPTDRQBIFMERPAREROVERDRY
RST00000000000000000000000001100000
位名称说明RW
31:8Reserved写入无影响,读取为零。
R
7FIFOEFIFO 出错状态。
(仅限 FIFO 模式) 当接收缓冲区中的任何字符出现至少一种接收错误(奇偶校验、帧、超限、 断路)时,FIFOE 将被设置。
从缓冲区读出所有错误字符后,FIFOE 复 位。
在 DMA 传输期间,当 FIFOE 为 1 时会产生错误中断,在读出所有错 误字符之前,即使接收缓冲区中的数据达到触发阈值,也不会产生接收 DMA 请求。
在非 DMA 模式下,设置 FIFOE 不会产生错误中断。
0:接收缓冲区或非 FIFO 模式中无错误数据 1:接收缓冲区中有一个或多个错误字符
R
6TEMP发送保持寄存器为空。
当 UTHR 和移位寄存器都为空时置位。
当 UTHR 或移位寄存器中包含 数据字符时,清零。
0:发送移位寄存器和 UTHR 中有数据 1:发送移位器和 UTHR 中的所有数据都已移出
R
5TDRQ当 UTHR 有一半或更多空位(FIFO 模式)或空位(非 FIFO 模式)时 设置。
当 UIER.TDRIE 和 TDRQ 均为 1 时,将产生发送数据请求中断,或者 在 DMA 传输期间,当 UIER.TDRIE 为 0 和 TDRQ 为 1 时,将向 DMA 控制器发出 DMA 请求。
0:UTHR 中有一个(非 FIFO 模式)或一半以上的数据(FIFO 模式) 1:UTHR 中没有数据(非 FIFO 模式)或只有一半或少于一半的数据 (FIFO 模式)
R
4BIBreak中断。
当接收到的数据输入保持低电平的时间超过整字传输时间(起始位 + 数 据位 + 奇偶校验位 + 停止位的总时间)时,BI 被置位。
当处理器读取 ULSR 时,BI 被清零。
在 FIFO模式下,无论断开条件的长度如何,只 有一个等于 0x00 的字符被加载到 FIFO 中。
BI 显示的是 FIFO 前端字 符的中断条件,而不是最近接收到的字符。
0:未收到Break中断信号 1:收到Break中断信号
R
3FMER成帧错误。
当检测到最后一个数据位或奇偶校验位后面的位为 0 时设置。
如果 ULCR 已设置为两个或一个半停止位,则除第一个停止位外,其他停止位 将不被检查。
在 FIFO 模式下,FMER 显示的是接收缓冲区前端字符的 成帧错误,而不是最近接收到的字符。
处理器读取 ULSR 寄存器时清零。
0:无成帧错误 1:检测到无效停止位
R
2PARER奇偶校验错误。
表示接收到的数据字符没有正确的偶数或奇数奇偶校验(由偶数奇偶校验 选择位选择)。
PARER 在检测到奇偶校验错误时被置位,并在处理器读 取 ULSR 寄存器时清零。
在 FIFO 模式下,PARER 显示的是 FIFO 前 端字符的奇偶校验错误,而不是最近收到的字符。
0:无奇偶校验错误 1:发生奇偶校验错误
R
1OVER超限错误。
当接收缓冲区和移位器都已满,且接收到新数据时会丢失时设置。
当处理器读取 ULSR 寄存器时清零。
0:未丢失数据 1:接收数据丢失
R
0DRY数据就绪。
当接收缓冲区寄存器接收到完整的传入字符时置位。
当读取接收缓冲区 (非 FIFO 模式)或缓冲区为空时,或通过将 UFCR.RFRT 设置为 1 复 位缓冲区时,DRY 将被清零。
0:未收到数据 1:URBR 中有数据
R

UART 调制解调器状态寄存器

只读 UMSR 提供调制解调器到处理器控制线的当前状态。当处理器读取 UMSR 时,它们将被清零。

UMSRBASE + 0x18
Bit313029282726252423222120191817161514131211109876543210
字段ReservedCTSReservedCCTS
RST00000000000000000000000000000000
位名称说明RW
31:5Reserved写入无影响,读取为零。
R
4CTS发送清除的状态。
当 MDCE 位为 1 时,该位是 CTS_ 输入的补码。
如果 UMCR 的 Loop 位为 1,则该位相当于 UMCR 的 RTS 位。
0:CTS_ 引脚为 1 1:CTS_ 引脚为 0
R
3:1Reserved写入无影响,读取为零。
R
0CCTS改变 CTS_ 的状态。
当 MDCE 位为 1 时,该位指示 CTS_ 引脚的状态变化。
0:自上次读取 UMSR 后,CTS_ 引脚无状态变化 1:CTS_ 引脚的状态发生变化
R

UART 划线寄存器

该刮擦板寄存器用作编程器的刮擦寄存器,对 UART 没有影响。

USPRBASE + 0x1C
Bit313029282726252423222120191817161514131211109876543210
字段ReservedSTCH_D
RST00000000000000000000000000000000
位名称说明RW
31:8Reserved写入无影响,读取为零。
R
7:0STCH_D被刮擦数据RW

UART 红外状态寄存器

ISR 用于配置每个 UART 提供的慢红外(SIR)接口,以支持符合 IrDA 串行红外规范 1.1 的红外传输双向无线通信。最大频率可达 115.2kbps。

ISRBASE + 0x20
Bit313029282726252423222120191817161514131211109876543210
字段OLDReservedRDPLTDPLXMODERCVEIRXMITIR
RST00000000000000000000000000000000
位名称说明RW
31OLD更改为旧版本 是否更改为修复超时中断自清除错误前的旧版本 0:不修复超时中断自清除错误的新版本 1:修复超时中断自清除错误的旧版本RW
30:5Reserved写入无影响,读取为零。
R
4RDPL接收数据极性。
0:慢红外(SIR)接口解码器将正脉冲视为零 1:SIR 解码器将负脉冲视为零
RW
3TDPL传输数据极性。
0:SIR 编码器为零数据位生成正脉冲 1:SIR 编码器为零数据位生成负脉冲
RW
2XMODE发送脉冲宽度模式。
当发送编码器需要产生 1.6us 脉冲(115.2kbps 时为 3/16 比特时间) 时设置该模式。
当发送编码器需要根据当前波特率产生 3/16 比特时间宽的脉冲时,清 零。
0:发送脉冲宽度为 3/16 比特时间宽 1:发送脉冲宽度为 1.6 us
RW
1RCVEIR接收器 SIR 启用。
该位用于选择来自 RXD 引脚的信号先由 IrDA 解码器处理,然后再送入 UART(RCVEIR=1)或绕过 IrDA 解码器直接送入 UART(RCVEIR= 0)。
0:接收器处于 UART 模式 1:接收器处于 SIR 模式
RW
0XMITIR发送器 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。

UMRBASE + 0x24
Bit313029282726252423222120191817161514131211109876543210
字段ReservedM
RST00000000000000000000000000000000
位名称说明RW
31:5Reserved写入无影响,读取为零。
R
4:0MUMR 寄存器的值。
RW

UART 自动校准寄存器

它控制 UART 发送或接收第 n 位数据所需的时间。

UACRBASE + 0x28
Bit313029282726252423222120191817161514131211109876543210
字段ReservedAC
RST00000000000000000000000000000000
位名称说明RW
31:12Reserved写入无影响,读取为零。
R
11:0AC如果寄存器的第 n 位为RW

UART 接收计数寄存器

表示 RXFIFO 中有 n 个数据。

URCRBASE + 0x40
Bit313029282726252423222120191817161514131211109876543210
字段ReservedRCNT
RST00000000000000000000000000000000
位名称说明RW
31:7Reserved写入无影响,读取为零。
R
6:0RCNTRXFIFO 计数器。
当此字段为 n 时,表示 RXFIFO 中有 n 个数据。
R

UART 发送计数寄存器

表示 TXFIFO 中有 n 个数据。

UTCRBASE + 0x44
Bit313029282726252423222120191817161514131211109876543210
字段ReservedTCNT
RST00000000000000000000000000000000
位名称说明RW
31:7Reserved写入无影响,读取为零。
R
6:0TCNTTXFIFO 计数器。
当此字段为 n 时,表示 TXFIFO 中有 n 个数据。
R