11.5.4. 寄存器定义
寄存器列表
寄存器名 |
偏移地址 |
寄存器功能描述 |
---|---|---|
UART_RBR |
0x000 |
UART 数据接收寄存器 |
UART_THR |
0x000 |
UART 数据发送寄存器 |
UART_DLL |
0x000 |
UART 低位除数寄存器 |
UART_DLH |
0x004 |
UART 高位除数寄存器 |
UART_IER |
0x004 |
UART 中断使能寄存器 |
UART_IIR |
0x008 |
UART 中断标志寄存器 |
UART_FCR |
0x008 |
UART FIFO控制寄存器 |
UART_LCR |
0x00C |
UART 线路控制寄存器 |
UART_MCR |
0x010 |
UART 调制解调器控制寄存器 |
UART_LSR |
0x014 |
UART 线路状态寄存器 |
UART_MSR |
0x018 |
UART 调制解调器状态寄存器 |
UART_SCH |
0x01C |
UART 暂存器 |
UART_USR |
0x07C |
UART 状态寄存器 |
UART_TFL |
0x080 |
UART 发送FIFO深度寄存器 |
UART_RFL |
0x084 |
UART 接收FIFO深度寄存器 |
UART_HSK |
0x088 |
UART DMA握手配置寄存器 |
UART_HALT |
0x0A4 |
UART 停止发送寄存器 |
UART_DBG_DLL |
0x0B0 |
UART 低位除数调试寄存器 |
UART_DBG_DLH |
0x0B4 |
UART 高位除数调试寄存器 |
UART_485_DE |
0x0B8 |
UART RS485 DE时间寄存器 |
UART_485_CTL |
0x0C0 |
UART RS485 控制与状态寄存器 |
RS485_ADDR_MATCH |
0x0C4 |
UART RS485 地址匹配寄存器 |
BUS_IDLE_CHK |
0x0C8 |
UART RS485 总线空闲查询寄存器 |
TX_DLY |
0x0CC |
UART 发送延时寄存器 |
UART_VERSION |
0x0FC |
UART 版本号 |
寄存器描述
11.5.4.1. 0x000 UART_RBR
默认值:0x00000000 |
UART数据接收寄存器(Receive Buffer) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
R |
0x0 |
RBR(Receive Buffer Register)
数据接收寄存器
串行输入端口在UART模式下接收到的数据,或者红外模式下串行红外输入的数据。仅当线路
状态寄存器(LSR)中的数据就绪位(DR bit)被设为1时,该寄存器中的数据才有效。
如果在FIFO模式中FIFO使能(FCR[0]设为1),该寄存器则访问接收FIFO的顶部(先进先出)。
如果接收FIFO已满,并且在下一个数据到达之前没有读取该寄存器,那么FIFO中已经存在的
数据将被保留,但任何传入的数据都会丢失并发生溢出错误。
|
11.5.4.2. 0x000 UART_THR
默认值:0x00000000 |
UART数据发送寄存器(Transmit Holding) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
W |
0x0 |
THR(Transmit Holding Register)
数据发送寄存器
串行输出端口在UART模式下发送的数据,或者红外模式下串行输出的数据。仅当线路
状态寄存器(LSR)中的THRE位(LSR[5])被设为1时,数据才会写到该寄存器。
如果在FIFO模式中FIFO使能(FCR[0]设为1)并且THRE为1,16个字符的数据则可以
在FIFO满之前写入该寄存器。当FIFO已满时,任何写入数据的尝试都会导致写入数据丢失。
|
11.5.4.3. 0x000 UART_DLL
默认值:0x00000000 |
UART低位除数寄存器(Divisor Latch Low) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
R/W |
0x0 |
DLL(Divisor Latch Low)
低位除数寄存器。
16位UART波特率除数的低8位。仅当DLAB位(LCR[7])为1并且UART空闲(USR[0])时,
该寄存器才能被访问。输出波特率等于串行时钟频率除以波特率除数的16倍,如下:
波特率=串行时钟频率/(16*除数)
注意当除数寄存器(DLL与DLH)设置为0时,波特时钟被禁用,并且没有串行通信发生。
|
11.5.4.4. 0x004 UART_DLH
默认值:0x00000000 |
UART高位除数寄存器(Divisor Latch High) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
R/W |
0x0 |
DLH(Divisor Latch High)
高位除数寄存器。
16位UART波特率除数的高8位。仅当DLAB位(LCR[7])为1并且UART空闲(USR[0])时,
该寄存器才能被访问。输出波特率等于串行时钟频率除以波特率除数的16倍,如下:
波特率=串行时钟频率/(16*除数)
注意当除数寄存器(DLL与DLH)设置为零时,波特时钟被禁用,并且没有串行通信发生。
|
11.5.4.5. 0x004 UART_IER
默认值:0x00000000 |
UART中断使能寄存器(Interrupt Enable) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7 |
R/W |
0x0 |
PTIME(Programmable THRE Interrupt Mode Enable)
THRE中断模式使能
0:未使能
1:使能
此位设0时,THRE中断会在非空的条件清除
此位设1时,THRE中断会在低于触发深度FCR[5:4]的条件清除
|
6 |
- |
- |
-
|
5 |
R/W |
0x0 |
Shifter_Reg_Empty_EN
发送移位寄存器为空中断使能
此为用于发送FIFO为空并且移位寄存器也为空使能控制
0:未使能
1:使能
|
4 |
R/W |
0x0 |
RS485_INT_EN(RS485 Interrupt Enable)
RS485中断使能
0:未使能
1:使能
|
3 |
R/W |
0x0 |
EDSSI(Enable Modem Status Interrupt)
调制解调器状态中断使能
该位用于调制解调器状态(MSR)中断使能控制,为第四优先级中断。
0:未使能
1:使能
|
2 |
R/W |
0x0 |
ELSI(Enable Receive Line Status Interrupt)
接收线路状态中断使能
该位用于接收线路状态中断使能控制,为最高级中断。
0:未使能
1:使能
|
1 |
R/W |
0x0 |
ETBEI(Enable Transmit Holding Register Empty Interrupt)
数据发送寄存器为空中断使能
该位用于数据发送寄存器为空中断使能控制,为第三优先级中断。
0:未使能
1:使能
|
0 |
R/W |
0x0 |
ERBFI(Enable Receive Data Available Interrupt)
接收数据可用中断使能
该位用于接收数据可用中断使能控制,以及字符超时中断控制(如果在FIFO模式
并且FIFO使能),为第二优先级中断。
0:未使能
1:使能
|
11.5.4.6. 0x008 UART_IIR
默认值:0x00000001 |
UART中断标志寄存器(Interrupt Identity) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:6 |
R |
0x0 |
FEFLAG(FIFOs Enable Flag)
FIFOs使能标志
该位用于表明FIFO是否使能
0:未使能
3:使能
|
5 |
- |
- |
-
|
4 |
RC |
0x0 |
Shifter_Reg_Empty_INT
发送移位寄存器为空中断状态
1:中断触发
0:中断未触发或被清除
|
3:0 |
R |
0x1 |
IID(Interrupt ID)
中断ID
表示最高优先级的挂起中断,可以是以下类型之一:
0x0:调制解调器状态
0x1:无中断
0x2:THR为空
0x3:RS485中断
0x4:接收数据可用
0x6:接收线路状态
0x7:繁忙检测
0xC:字符超时
位3表示只有在启用FIFO并用于区分字符超时条件中断时,才会发生中断
|
中断优先级
中断ID |
优先级 |
中断类型 |
中断源 |
中断复位 |
---|---|---|---|---|
0x1 |
- |
- |
-
|
- |
0x6 |
最高级 |
接收线路状态
|
溢位/奇偶检验/帧错误或者break中断
|
读取线路状态寄存器
|
0x3 |
第二级 |
RS485中断
|
在RS485模式中,接收地址数据和匹配设置
地址
|
地址标志写1复位
|
0x4 |
第三级 |
接收数据可用
|
接收数据可用(非FIFO模式或者FIFO
未使能)或达到接收FIFO触发水平
(FIFO模式和FIFO使能)
|
读取接收缓冲寄存器(非FIFO模
式或者FIFO未使能)或FIFO低于
触发水平(FIFO模式和FIFO使能)
|
0xC |
第四级 |
字符超时
|
在4个字符时间内,接收FIFO没有字符进
出,并且在此期间FIFO中至少有一个字符
|
读取数据接收寄存器
|
0x2 |
第五级 |
数据发送寄存器
为空
|
数据发送寄存器为空(THRE模式未使能)
或发送FIFO处于或者低于阈值
(THRE模式使能)
|
读取中断标志寄存器(如果为中断
源);或写数据进数据发送寄存器
(FIFO或者THRE模式未选择或者
未使能);或发送FIFO高于阈值
(选择并使能FIFO和THRE模式)
|
0x0 |
第六级 |
调制解调器状态
|
CTS 如果处于自动流控,CTS不会触发
|
读取调制解调器状态寄存器
|
0x7 |
第七级 |
繁忙检测标志
|
主处理器在UART繁忙时(USR[0]设置为1)
尝试写入线路控制寄存器
|
读取UART状态寄存器
|
11.5.4.7. 0x008 UART_FCR
默认值:0x00000000 |
UART FIFO控制寄存器(FIFO Control) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:6 |
W |
0x0 |
RT(RX Trigger)
接收触发
用于在接收FIFO中选择接收数据可用中断的触发深度。在自动流控制模式中,它用于确定
何时使rts_n(Request to Send)信号无效,也用于确定DRQ信号在某些操作模式下何时有效。
0:FIFO中一个字符
1:四分之一 FIFO
2:二分之一 FIFO
3:接近FIFO满状态(FIFO-2)
|
5:4 |
W |
0x0 |
TFT(TX Empty Trigger)
发送为空触发
用于选择产生发送保持寄存器为空中断的空阈值电平;也用于确定DRQ信号在某些操作模式
中何时有效。
0:FIFO为空
1:FIFO中2个字符
2:四分之一 FIFO
3:二分之一 FIFO
|
3 |
W |
0x0 |
DMAM(DMA Mode)
DMA模式
0:模式0
在这个模式中,如果PTE(HALT[7])为1并且发送FIFO使能,当TFL(发送FIFO深度)小于
或者等于FIFO触发深度时,将发送TX DMA请求。如果PTE为1并且发送FIFO未使能,
当THRE为0时,将发送TX DMA请求。如果PTE为0,当发送FIFO为空时,将发送TX DMA请求。
如果DMA_PTE_RX为1并且接收FIFO使能,当RFL(接收FIFO深度)等于或者大于FIFO触发
深度时将发送RX_DRQ
1:模式1
在这个模式中,如果PTE为1并且发送FIFO使能,当TFL小于或者等于FIFO触发深度时,
将发送TX DMA请求。如果PTE为低,TX DMA请求将在TX FIFO为空时发送,并且仅当
TX FIFO已满时停止请求。如果RFL等于或者大于FIFO触发深度,RX_DRQ将会设为1,
在其他情况则为0。
|
2 |
W1C |
0x0 |
TXFIFOR(TX FIFO Reset)
发送FIFO复位
复位发送FIFO的控制并且将FIFO清空。也可以清除DMA发送请求。
此位不需要清除,为自动清除
|
1 |
W1C |
0x0 |
RXFIFOR(RX FIFO Reset)
接收FIFO复位
复位接收FIFO的控制并且将FIFO清空。也可以清除DMA接收请求。
此位不需要清除,为自动清除
|
0 |
W |
0x0 |
FIFOE(FIFOs Enable)
FIFOs使能
使能/未使能发送以及接收FIFO.
每当该位的值改变时,FIFO的发送以及接收控制部分都会复位
|
11.5.4.8. 0x00C UART_LCR
默认值:0x00000000 |
UART线路控制寄存器(Line Control) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7 |
R/W |
0x0 |
DLAB(Divisor Latch Access Bit)
除数存取位
此位只有当UART空闲时(USR[0]为0)才可写。用于使能除数寄存器(DLL和DLH)的读写,
以设置UART的波特率。在初始化波特率设置后,必须清除此位,以便访问其他寄存器。
0:选择接收缓冲寄存器(RBR)/发送保持寄存器(THR)/中断使能寄存器(IER)
1:选择低位除数寄存器(DLL)以及高位除数寄存器(DLH)
|
6 |
R/W |
0x0 |
BC(Break Control Bit)
中断信号控制位
产生一个中断条件传输到接收端。
若此位设1,串行输出将强制为逻辑0状态。
如果处于非回环模式中(取决于MCR[4]),串行输出线强制为低电平,直到清除此位。
|
5:4 |
R/W |
0x0 |
EPS(Even Parity Select)
偶校验选择
此位只有当UART空闲时(USR[0]为0)才可写。当使能奇偶校验时(PEN 设为1),
用于选择奇性或者偶性校验。设置 LCR[5] 可反转LCR[4]。
0:奇性校验
1:偶性校验
2或3:反转LCR[4]
在RS485模式中,它是第9位地址位。
3:第9位为0,表明这是一个数据字节
2:第9位为1,表明这是一个地址字节
注意:当使用此功能时,PEN(LCR[3])必须设为1.
|
3 |
R/W |
0x0 |
PEN(Parity Enable)
奇偶校验使能
此位只有当UART空闲时(USR[0]为0)才可写。该位用于使能和未使能发送接收串行字符中的
奇偶校验生成与检测。
0:奇偶检验未使能
1:奇偶检验使能
|
2 |
R/W |
0x0 |
STOP(Number of Stop Bits)
停止位数
只有当UART空闲时(USR[0]为0)才可写。用于选择外围设备发送和接收的每个字符的停止
位数。当设为0时,在串行数据中传输1停止位。当设为1且数据位设为5位时(LCR[1:0]),传输
1.5个停止位;否则传输2位停止位。注意不管选择多少个停止位,接收器只检查第一个停止位。
0:1个停止位
1:当DLS(LCR[1:0])为0时1.5个停止位,否则2个停止位
|
1:0 |
R/W |
0x0 |
DLS(Data length Select)
数据长度选择
此位只有当UART空闲时(USR[0]为0)才可写。用于选择外围设备发送和接收的每个字符的
数据位数。可选择的位数如下:
0:5位
1:6位
2:7位
3:8位
|
11.5.4.9. 0x010 UART_MCR
默认值:0x00000000 |
UART调制解调器控制寄存器(Modem Control) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:6 |
R/W |
0x0 |
UART_FUNCTION
选择UART或者RS485
0:UART 模式
2:RS485模式(常规485,3线模式,TX、RX、RTS)
3:RS485-2wire模式(特殊485,2线模式,TX/RX、RTS)
|
5 |
R/W |
0x0 |
AFCE(Auto Flow Control Enable)
自动流控制使能
当使能FIFO以及此位设1时,自动流控制功能使能
0:自动流控制模式未使能
1:自动流控制模式使能
|
4 |
R/W |
0x0 |
LOOP(Loop Back Mode)
回环模式
0:正常模式
1:回环模式
用于将UART置于调试模式以进行测试。如果在UART模式下运行(MCR[7:6] 设为0),
sout线上的数据保持为高,而串行数据输出在内部回环到sin线路。在这种模式下,
所有的中断都是正常的。此外,在回环模式下,调制解调器控制输入(cts_n)断开,
输出(rts_n)在内部回环输入。
|
3:2 |
- |
- |
-
|
1 |
R/W |
0x0 |
RTS(Request To Send)
发送请求
用于直接控制发送请求(rts_n)输出。rts_n输出用于通知调制解调器UART已准备好交换
数据。当自动流控制未使能(MCR[5]设为0),则需通过将此位设为1,使rts_n处于低电平。
在自动流模式中(MCR[5]设为1)并且FIFO使能(FCR[0]设为1),也需通过将此位设为1,
使rts_n处于低电平,但同时也受到接收FIFO触发深度门控(当超过阈值时rts_n处于高电平
无效状态)。当MCR[1]设为0时rts_n无效
0: rts_n 信号无效状态(高电平)
1: rts_n 信号有效状态(低电平)
注意在回环模式中(MCR[4]设为1),当该位置的值在内部回环输入时,rts_n输出保持高电平
无效状态。
在RS485或RS485-2模式中,RTS外接485收发器方向控制脚DE,需通过设置此位控制发送接收
方向,设1则为接收方向,设0则为发送方向。
|
0 |
- |
- |
-
|
11.5.4.10. 0x014 UART_LSR
默认值:0x00000060 |
UART线路状态寄存器(Line Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7 |
R |
0x0 |
FIFOERR(RX Data Error In FIFO)
FIFO接收数据错误
如果FIFO未使能,此位总为0;如果FIFO使能且接收FIFO中至少有PE(LSR[2])、FE(LSR[3])
和BI(LSR[4])中一个,此为被置1。如果FIFO没有后续错误,则通过读取LSR寄存器清除此位。
|
6 |
R |
0x1 |
TEMT(Transmitter Empty)
发送器为空
如果FIFO未使能,每当数据发送寄存器以及发送移位寄存器为空时,该位设为1;
如果FIFO使能,每当发送FIFO以及发送移位寄存器为空时,该位设位1。
在这两种情况下,当一个字符被写入发送数据信道时,该位被清除
|
5 |
R |
0x1 |
THRE(TX Holding Register Empty)
数据发送寄存器为空
如果FIFO未使能,每当数据发送寄存器为空并且准备接收新数据时,该位被设为1;CPU写入
数据发送寄存器时,该位被清除。如果FIFO使能,每当发送FIFO为空时,该位被设为1;
当至少有一个字符写入发送FIFO时,该位被清除。
|
4 |
RC |
0x0 |
BI(Break Interrupt)
Break中断
用于指示在串行输入数据上检测到中断序列。
输入上的break条件会导致UART接收到仅且一个由0组成的字符。在FIFO模式中,与break条件
相关联的字符通过FIFO传输,当字符位于FIFO顶部时此位置1,读取清除此位。在非FIFO模式中,
此位立即置1并持续到读取此位清除。
|
3 |
RC |
0x0 |
FE(Framing Error)
帧错误
用于指示接收器中出现帧错误。当接收器在接收的数据中没有检测到有效的停止位时,就会发生
帧错误。在FIFO模式中,由于帧错误与接收到的字符相关,因此当具有帧错误的字符位于FIFO
顶部时,才会显示该错误。帧错误出现时,UART会尝试重新同步。重新同步是通过假设错误
是由下一个字符的起始位引起的,然后继续接收另一个数据位,以及奇偶检验位和停止位。
需要注意的是,如果发生BI,则此位也置1。
0:无帧错误
1:帧错误
读取LSR清除此位
|
2 |
RC |
0x0 |
PE(Parity Error)
奇偶校验错误
如果设置了奇偶校验使能(PEN)位(LCR[3]),则此位用于指示在接收中发生奇偶校验错误
0:无奇偶校验错误
1:奇偶校验错误
读取LSR清除此位
|
1 |
RC |
0x0 |
OE(Overrun Error)
溢出错误
如果在读取先前数据之前接收到新的数据字符,则出现此错误。
在非FIFO模式,当从RBR读取先前字符之前接收一个新字符,则此位被置1,发生这种情况时,
RBR中的数据则会被覆盖。
在FIFO模式,当FIFO为满时接收到一个新的字符,则会发生此错误,此时FIFO中的数据被保留,
而接收移位寄存器中的数据丢失。
0:无溢出错误
1:溢出错误
读取LSR清除此位
|
0 |
R |
0x0 |
DR(Data Ready)
数据就绪
用于指示在RBR或者接收FIFO中至少包含一个字符。
0:无数据就绪
1:数据就绪
当非FIFO模式中读取RBR或者FIFO模式中FIFO为空时清除此位
|
11.5.4.11. 0x018 UART_MSR
默认值:0x00000010 |
UART调制解调器状态寄存器(Modem Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:5 |
- |
- |
-
|
4 |
R |
0x1 |
CTS(Line State Of Clear To Send)
可发送状态
用于指示调制解调器控制线cts_n信号的当前状态。
当ctr_n有效时表示调制解调器已准备好UART交换数据。
0: cts_n无效(高电平状态)
1: cts_n有效(低电平状态)
在回环模式中(MCR[4]设为1),CTS如RTS(MCR[1])
|
3:1 |
- |
- |
-
|
0 |
RC |
0x0 |
DCTS(Delta Clear To Send)
表示自上次读取MSR后cts_n信号发生了改变
0: 上一次读取MSR后cts_n无变化
1: 上一次读取MSR后cts_n有变化
读取MSR清除此位。在回环模式中(MSR[4]=1),DCTS反映MCR[1](RTS)的变化。
注意:如果未设置此位,并且cts_n信号有效(低电平)以及发生复位(软件复位
或其他情况),如cts_n信号仍然保持有效,那么在移除复位时此位置1。
|
11.5.4.12. 0x01C UART_SCH
默认值:0x00000000 |
UART暂存器(Scratch) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
R/W |
0x0 |
SCRATCH_REG
暂存器
此寄存器供用户作临时存储空间。在UART中没有定义它的目的
|
11.5.4.13. 0x07C UART_USR
默认值:0x00000006 |
UART状态寄存器(Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:5 |
- |
- |
-
|
4 |
R |
0x0 |
RFF(Receive FIFO Full)
接收FIFO为满
用于指示接收FIFO已完全满
0:接收FIFO未满
1:接收FIFO已满
当接收FIFO不再满时自动清零
|
3 |
R |
0x0 |
RFNE(Receive FIFO Not Empty)
接收FIFO非空
用于指示接收FIFO包含一个或多个数据
0:接收FIFO为空
1:接收FIFO非空
当接收FIFO为空时自动清零
|
2 |
R |
0x1 |
TFE(Transmit FIFO Empty)
发送FIFO为空
用于指示发送FIFO完全空
0:发送FIFO非空
1:发送FIFO为空
当发送FIFO不再空时自动清零
|
1 |
R |
0x1 |
TFNF(Transmit FIFO Not Full)
发送FIFO未满
用于指示发送FIFO未满
0:发送FIFO已满
1:发送FIFO未满
当发送FIFO已满时自动清零
|
0 |
R |
0x0 |
BUSY(UART Busy Bit)
UART繁忙位
0:空闲
1:繁忙
|
11.5.4.14. 0x080 UART_TFL
默认值:0x00000000 |
UART发送FIFO深度寄存器(Transmit FIFO Level) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:9 |
- |
- |
-
|
8:0 |
R |
0x0 |
TFL(Transmit FIFO Level)
发送FIFO深度
用于指示发送FIFO中的数据数量
|
11.5.4.15. 0x084 UART_RFL
默认值:0x00000000 |
UART接收FIFO深度寄存器(Receive FIFO Level |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:9 |
- |
- |
-
|
8:0 |
R |
0x0 |
RFL(Receive FIFO Level)
接收FIFO深度
用于指示接收FIFO中的数据数量
|
11.5.4.16. 0x088 UART_HSK
默认值:0x000000A5 |
UART DMA握手配置寄存器(DMA Handshake Configuration) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
R/W |
0xA5 |
HSK(Handshake Configuration)
握手配置
0xA5:DMA wait cycle模式
0xE5:DMA handshake模式
|
11.5.4.17. 0x0A4 UART_HALT
默认值:0x00000000 |
UART停止发送寄存器(Halt TX) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7 |
R/W |
0x0 |
DMA_PTE_RX(The Sending Of RX_DRQ)
发送RX_DRQ
在DMA1模式中,当RFL大于或者等于触发深度/接收超时,发送DRQ
在DMA0模式中,如果DMA_PTE_RX=1并且FIFO使能,当RFL大于触发深度时,发送DRQ。
在其他情况下,一旦接收数据有效,发送DRQ。
|
6 |
R/W |
0x0 |
PTE(The Sending Of TX_REQ)
发送TX_REQ
在DMA1模式(FIFO使能)中,如果PTE设为1,当TFL小于触发深度时,发送DMA请求。
如果PTE设为0,当FIFO为空,发送DMA请求。当FIFO为满时,DMA请求将停止。
在DMA0模式中,如果PTE设为1并且FIFO使能,当TFL小于触发深度时,发送DMA请求;
如果PTE设为1并且FIFO未使能,当THRE为空时,发送DMA请求。如果PTE设为0,
当FIFO为空时发送DMA请求。
|
5:3 |
- |
- |
-
|
2 |
R/WAC |
0x0 |
CHANGE_UPDATE
更改更新
用户使用HALT[1]更改波特率或者LCR配置后,写1来更新配置,等待此位自动清0
来完成更新过程。写0到此位无影响。
1:更新触发,完成更新后自动清零
|
1 |
R/W |
0x0 |
CHCFG_AT_BUSY
繁忙状态更改配置使能
用户可在UART繁忙(USB[0]为1)时通过此位使能更改LCR配置以及波特率。
1:UART繁忙时使能更改
|
0 |
R/W |
0x0 |
HALT_TX
停止发送
此位用于停止传输以进行测试,以便在使能FIFO时,主控可以填充发送FIFO
0:停止发送未使能
1:停止发送使能
注意:如果FIFO未使能,设置此位对操作没有影响
|
11.5.4.18. 0x0B0 UART_DBG_DLL
默认值:0x00000000 |
UART低位除数调试寄存器(DBG DLL) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
R/W |
0x0 |
DEBUG DLL
|
11.5.4.19. 0x0B4 UART_DBG_DLH
默认值:0x00000000 |
UART高位除数调试寄存器(DBG DLH) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
R/W |
0x0 |
DEBUG DLH
|
11.5.4.20. 0x0B8 UART_485_DE
默认值:0x000000ff |
UART RS485 DE时间寄存器(RS485 DE Time) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:4 |
R/W |
0xf |
DE_DAT(Driver Enable De-assertion Time)
DE无效时间T2
Sout结束位到DE信号下降沿之间的时间间隔,以串行时钟周期为单位
|
3:0 |
R/W |
0xf |
DE_AT(Driver Enable Assertion Time)
DE有效时间T1
DE信号上升沿到Sout起始位之间的时间间隔,以串行时钟周期为单位
|
11.5.4.21. 0x0C0 UART_485_CTL
默认值:0x00000080 |
UART RS485控制与状态寄存器(RS485 Control and Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7 |
R/W |
0x1 |
RS485_CTL_MODE(RS485 Control Mode)
RS485控制模式
0:硬件控制模式。DE信号(RTS)在数据发送时通过内部硬件逻辑进行自动控制,
发送数据前自动使能DE为有效高电平,发送移位寄存器为空且发送FIFO为空,
则自动切换DE为无效低电平。
1:软件控制模式。DE信号(RTS)在数据发送时通过外部软件配置进行手动控制,
配置MCR[1]=0则DE为有效高电平可发送数据,MCR[1]=1则DE为无效低电平可接受数据。
|
6 |
R/W1C |
0x0 |
AAD_ADDR_F
AAD地址匹配标志
在AAD模式中,当UART接收到地址字节且与RS485_ADDR_MATCH相同时,该位将置为1。
如果RS485中断使能,则将产生RS485中断
写1清除该位并且复位RS485中断
|
5 |
R/W1C |
0x0 |
RS485_ADDR_DET_F
RS485地址检测标志
此位为地址字节检测标志。当UART接收到地址字节时,此位将设为1。如果RS485中断使能,
则将产生RS485中断
写1清除该位并且复位RS485中断
|
4 |
- |
- |
-
|
3 |
R/W |
0x0 |
RX_BF_ADDR
地址之前接收
在NMM模式中,如果此位设为1,UART将在接收到一个地址字节之前将所有字节接收到
FIFO中;如果设为0,则不进行此操作
1:接收
0:不接收
|
2 |
R/W |
0x0 |
RX_AF_ADDR
地址之后接收
在NMM模式中,如果此位设为1,UART将在接收到一个地址字节之后将所有字节接收到
FIFO中;如果设为0,则不进行此操作
1:接收
0:不接收
|
1:0 |
R/W |
0x0 |
RS485_SLAVE_MODE_SEL
RS485从机模式选择
RS485从机模式:
0:标准多点操作(NMM)
1:自动地址检测操作(AAD)
2:保留
3:保留
|
11.5.4.22. 0x0C4 RS485_ADDR_MATCH
默认值:0x00000000 |
UART RS485地址匹配寄存器(RS485 Address Match) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
R/W |
0x0 |
ADDR_MATCH
地址匹配
在AAD模式下使用的匹配地址
注意:仅在AAD模式下可用
|
11.5.4.23. 0x0C8 BUS_IDLE_CHK
默认值:0x00000000 |
UART RS485总线空闲查询寄存器(RS485 Bus Idle Check) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7 |
R/W |
0x0 |
BUS_IDLE_CHK_EN
总线空闲查询使能
1:使能总线空闲查询功能
0:未使能总线空闲查询功能
|
6 |
R |
0x0 |
BUS_STATUS
总线状态标志
1:繁忙
0:空闲
|
5:0 |
R |
0x0 |
ADJ_TIME
总线空闲时间。单位为8*16*Tclk
|
11.5.4.24. 0x0CC TX_DLY
默认值:0x00000000 |
UART发送延时寄存器(TX Delay) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
R/W |
0x0 |
DLY
发送延时
最后一个停止位与下一个开始位之间的延迟时间。单位为16*Tclk。
它用于控制数据发送中两个字节之间的间隔。
|
11.5.4.25. 0x0D0 UART_DBR
默认值:0x00000000 |
UART调试寄存器(Debug Register) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
3 |
W |
0x0 |
Bypass 预取调试
|
2:0 |
- |
- |
-
|
11.5.4.26. 0x0FC UART_VERSION
默认值:0x00000100 |
UART版本号寄存器(Version Number) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
R |
0x100 |
UART版本号寄存器
|