寄存器的说明 divisor寄存器的说明 divisor寄存器的值是用于产生波特率时钟的,它是一种可选的硬件功能。如果没有使能Baud Rate Can Be Changed By Software(波特率能被软件改变),将不存在divisor寄存器。 计算公式:
b
a
u
d
r
a
t
e
=
c
l
o
c
k
f
r
e
q
u
e
n
c
y
d
i
v
i
s
o
r
+
1
{baud rate=\frac {clock frequency}{divisor+1}}
baudrate=divisor+1clockfrequency
d
i
v
i
s
o
r
=
i
n
t
(
c
l
o
c
k
f
r
e
q
u
e
n
c
y
b
a
u
d
r
a
t
e
+
0.5
)
{divisor=int(\frac {clock frequency}{baud rate}+0.5)}
divisor=int(baudrateclockfrequency+0.5) status寄存器的说明 状态寄存器的各个位可以反应UART核的各个状态,重点说明TRDY,RRDY
名称操作描述TRDY读Transmit Ready,TRDY位提示txdata寄存器的当前状态。当txdata寄存器位空时,可以接收新的字符且TRDY位为1,反之。Avalon-MM主控制器必须等TRDY位为1后,才能将新的数据写入txdata寄存器中RRDY读Receive Character Ready,RRDY位提示rxdata寄存器的当前状态。当rxdata寄存器为空时,RRDY为0,且还不是读取rxdata寄存器的时刻。当新接收的值传输到rxdata寄存器时,RRDY位置为1,读rxdata寄存器会将RRDY位置置为0。Avalon-MM主控制器必须等待RRDY为变为1后,才能够读取rxdata寄存器
|