第18章 DUART

阅读: 评论:0

18  DUART
本章介绍MPC8394E的两个通用异步接收器/发送器(UART  universal asynchronous receiver/transmitter)。介绍其功能操作、DUART的初始化步骤、以及DUART寄存器的编程细节和特性。
18.1  概述
DUART包括两个通用异步接收器/发送器(UART)。这两个UART独立工作。本章所有UART相关的讨论都是针对其中一个接收器/发送器而言的。各UART通过系统时钟进行时钟同步。DUART编程模型和PC16552D兼容。
UART为点对点接口,即只能够把两个UART设备连到连接信号上。如图18-1所示,每个UART模块的组成如下:
接收和发送缓冲区
用于数据流控制的清除发送输入端口()和请求发送输出端口
用于产生波特率的16位计数器
中断控制逻辑
18-1  UART结构图
18.1.1  特性
DUART包括以下特性:
全双工操作。
可编程模式,兼容原来的PC16450UARTPC16550D(能工作在FIFO模式下的PC16450改进版本)。
PC16450寄存器复位值。
用于发送器和接收器的FIFO模式,提供16字节的FIFO
采用标准的异步通信位(STARTSTOP和奇偶校验)封装和解封串行数据。
可屏蔽发送、接收、线路状态和MODEM状态中断。
软件可编程的波特率发生器,将系统时钟用1到(216-1)分频,为发送器和接收器引擎生成16倍时钟。
清除发送和发送就绪MODEM控制功能。
软件可选择的串行数据格式(数据长度、奇偶校验、1/1.5/2停止位、波特率)。
线路和MODEM状态寄存器。
线路断开(Line-break)检测和产生。
内部诊断支持、本地环路和断开功能。
具有优先级的中断报告。
过载、奇偶校验和帧错误检测。
18.1.2  操作模式
信道提供一个全双工的异步发送器和接收器,使用源自系统时钟的操作频率。
发送器接收写入发送器保持寄存器(UTHR)的并行数据。在FIFO模式下,将数据直接放入发送器FIFO的内部发送器移位寄存器中。发送器将数据转换成串行位流,插入START
STOP和可选的奇偶校验位。最后将打包好的串行数据流输出到信道发送器串行数据输出信号线(SOUT)。可以轮询或中断驱动发送器状态。
接收器接收信道接收器串行数据输入信号线(SIN)的串行数据位,将它们转换成并行格式,检测START位、奇偶校验位(如果有的话)和STOP位,将组装好的字符(去掉了STARTSTOP和奇偶校验位)从UART的接收器缓冲区(或FIFO)传输进来,以响应接收器缓冲寄存器读操作。可以轮询或中断驱动接收器状态。
18.2  外部信号说明
本节包括信号概述及详细信号说明。
18.2.1  信号概述
18-1汇总了DUART信号。注意,尽管实际设备的信号名称常带有如表所示的前缀“UART_”,但本章一般采用功能(缩写的)信号名称。
18-1  DUART信号概述
泰斯花粉阻隔剂
信号名称
I/O
引脚数
复位值
状态含义
UART_SIN[1:2]
I
2
1
串行输入数据UART1UART2
UART_SOUT[1:2]
O
2
1
串行输出数据UART1UART2
I
2
1
清除发送UART1UART2
O
2
1
请求发送UART1UART2
18.2.2  详细信号说明
DUART信号的详细说明见表18-2
18-2  DUART详细信号说明
信号
I/O
说明
UART_SIN[1:2]
I
串行数据输入。在UART1UART2的接收器上通过各自的串行数据输入信号接收数据,先接收最低有效位。
状态
含义
有效/无效 代表正在UART接口上接收的数据。
时序
有效/无效 一个内部逻辑采样信号,rxcnt,利用波特率发生器的频率在SIN上采样数据。
UART_SOUT[1:2]
O
串行数据输出。当发送器禁用、空闲或在本地回送模式操作时,置位UART1UART2(标记状态)的串行输出数据信号。将数据从这些信号移出,先发送最低有效位。
状态
含义
有效/无效 代表在各自UART接口上发送的数据。
时序
有效/无效 一个内部逻辑采样信号,rxcnt,利用波特率发生器的频率更新并且驱动SOUT上的数据。
I
清除发送。分别连接到总线上其他UART设备的输出。可以设定在信号状态变化时产生中断。
状态
含义
有效/无效 代表各自UART清除发送的状态。
时序
有效/无效 在每个系统时钟的上升沿采样。
O
请求发送。可以由接收器或发送器设定为自动有效和无效。当连接到发送器的输入时,可以使用这个信号控制串行数据流。
状态
含义
有效/无效 代表正在各自UART发送的数据。
时序
有效/无效 在每个系统时钟的上升沿更新和驱动。
18.3  内存映射/寄存器定义
有两套完整的DUART寄存器集合(一套为UART1服务,一套为UART2服务)。这两个UART完全相同,只是UART1的寄存器偏移地址在0x0_4500(本地),UART2的寄存器偏移地址在0x0_4600(本地)。在本章中,寄存器用单词首字母缩写的符号来表示,例如LCR表示UART1UART2的线路控制寄存器。
每个UART接口中的寄存器均用于配置、控制和状态。分频系数锁存器访问位,ULCR[DLAB],用来访问分频系数锁存的低位和高位寄存器和备用功能寄存器。有关ULCK[DLAB]的更多信息参见18.3.1.7线路控制寄存器(ULCK1 ULCR2
所有DUART寄存器均只有1个字节宽,因此读写这些寄存器都必须是字节宽度的操作。表18-3提供了寄存器汇总,以及包含每个寄存器详细信息的节和页的参考。0x4000-0x4FFF中未定义的字节地址空间是保留的。
18-3  DUART寄存器汇总表
偏移
寄存器
访问
复位值
/
0x0_4500
URBRULCR[DLAB] = 0 UART1
接收器缓冲寄存器
R
0x00
18.3.1.1/18-6
UTHRULCR[DLAB] = 0 UART1
发送器保持寄存器
W
0x00
18.3.1.2/18-6
UDLBULCR[DLAB] = 1 UART1
分频器低有效字节寄存器
R/W
0x00
18.3.1.3/18-7
0x0_4501
UIERULCR[DLAB] = 0 UART1
中断允许寄存器
R/W
0x00
18.3.1.4/18-8
UDMBULCR[DLAB] = 1 UART1
分频器高有效字节寄存器
R/W
0x00
18.3.1.3/18-7
0x0_4502
UIIRULCR[DLAB] = 0 UART1
中断ID寄存器
R
0x01
18.3.1.5/18-9
UFCRULCR[DLAB] = 0 UART1
FIFO控制寄存器
W
0x00
18.3.1.6/18-10
www.nh87UAFRULCR[DLAB] = 1 UART1
备用功能寄存器
R/W
0x00
18.3.1.12/18-16
0x0_4503
ULCRULCR[DLAB] = x UART1
线路控制寄存器
R/W
0x00
18.3.1.7/18-11
0x0_4504
UMCRULCR[DLAB] = x UART1
MODEM控制寄存器
R/W
0x00
18.3.1.8/18-13
0x0_4505
ULSRULCR[DLAB] = x UART1
线路状态寄存器
R
0x60
18.3.1.9/18-13
0x0_4506
UMSRULCR[DLAB] = x UART1
MODEM状态寄存器
R
0x00
18.3.1.10/18-15
0x0_4507
USCRULCR[DLAB] = x UART1
临时寄存器(用于测试读写操作)
R/W
0x00
18.3.1.11/18-15
0x0_4510
UDSRULCR[DLAB] = x UART1
DMA状态寄存器
R
0x01
18.3.1.13/18-16
0x0_4600
URBRULCR[DLAB] = 0 UART2
接收器缓冲寄存器
R
0x00
18.3.1.1/18-6
UTHRhxi-ULCR[DLAB] = 0 UART2
发送器保持寄存器
W
0x00
18.3.1.2/18-6
UDLBULCR[DLAB] = 1 UART2
分频器最低有效字节寄存器
R/W
0x00
18.3.1.3/18-7
0x0_4601
UIERULCR[DLAB] = 0 UART2
中断允许寄存器
R/W
0x00
18.3.1.4/18-8
UDMBULCR[DLAB] = 1 UART2
分频器最高有效字节寄存器
R/W
0x00
18.3.1.3/18-7
0x0_4602
UIIRULCR[DLAB] = 0 UART2
中断ID寄存器
R
0x01
18.3.1.5/18-9
UFCRULCR[DLAB] = 0 UART2
FIFO控制寄存器
W
0x00
18.3.1.6/18-10
UAFRULCR[DLAB] = 1 UART2
备用功能寄存器
R/W
0x00
18.3.1.12/18-16
0x0_4603
ULCRULCR[DLAB] = x UART2
线路控制寄存器
R/W
0x00
18.3.1.7/18-11
0x0_4604
UMCRULCR[DLAB] = x UART2
MODEM控制寄存器
R/W
0x00
18.3.1.8/18-13
0x0_4605
ULSRULCR[DLAB] = x UART2
线路状态寄存器
R
0x60
18.3.1.9/18-13
0x0_4606
UMSRULCR[DLAB] = x UART2
MODEM状态寄存器
R
0x00
18.3.1.10/18-15
0x0_4607
USCRULCR[DLAB] = x UART2
临时寄存器
R/W
0x00
18.3.1.11/18-15
0x0_4610
UDSRULCR[DLAB] = x UART2
DMA状态寄存器
R
0x01
18.3.1.13/18-16
18.3.1  寄存器说明
下面几节介绍UART1UART2的寄存器。
18.3.1.1  接收器缓冲寄存器(URBR1URBR2
这些寄存器包含接收到的来自UART总线上的数据。在FIFO模式下,读时返回接收到的第一个字节。关于FIFO状态信息,参看UDSR[RXRDY]的说明。
除了过载情况外,URBR按接收顺序返回数据。参看18.3.1.9线状态寄存器(ULSR1ULSR2中的ULSR[OE]说明。图18-2显示了接收器缓冲寄存器。注意,这些寄存器和UTHR具有相同的偏移。
18-2  接收器缓冲寄存器(URBR1URBR2
18-4说明了URBR
18-4  URBR字段说明
名字
说明
0-7
DATA
UART总线上收到的数据[只读]
18.3.1.2 发送器保持寄存器(UTHR1UTHR2
写这些8位寄存器引起UART设备以ULCR(线路控制寄存器)中配置的格式在UART总线上传输58个数据位。在FIFO模式下,写入UTHR的数据被放入FIFO。写入UTHR的数据是送到UART总线上的数据,并且写入UTHR的第一个字节就是送到总线上的第一个字节。UDSR[TXRDY]指示何时FIFO满了。参见表18-21和表18-22
18-3显示了UTHR中的位。
18-3  发送器保持寄存器(UTHR1UTHR2
18-5说明了UTHR
18-5  UTHR字段说明
名字
说明
0-7
DATA
写入UTHR的数据 [只写]
18.3.1.3  分频器高位和低位有效字节寄存器(UDMBUDLB
UDLB和分频器高有效字节寄存器(UDMB)连接在一起构成分频器,用来实现DUART输入时钟的分频。波特率发生器的输出频率为波特率的16倍,因此期望的波特率=平台时钟频率/16x[UDMB||UDLB])。等价的,[UDMB||UDLB分体挂壁式空调||0b0000]=平台时钟频率/期望的波特率。可以通过特定的输入时钟频率产生的波特率如表18-8所示。
18-4显示了UDMB的位。
18-4  分频器高字节寄存器(UDMB1UDMB2
18-6说明了UDMB
18-6  UDMB字段说明
紫砂饮水机
名字
说明
0-7
UDMB
分频器高有效字节
18-5显示了UDLB的位。
18-5 分频器低有效字节寄存器(UDLB1UDLB2
18-7说明了UDLB
18-7  UDLB字段说明
名字
说明
0-7
UDLB
分频器最低有效字节。它和UDMB连接在一起。
18-8给出了不同输入时钟频率的波特率。
18-8  波特率示例
波特率
(十进制)
分频器
输入时钟
(系统时钟)
频率
(MHz)
误差百分数
(十进制)
十进制
十六进制
9,600
1736
6C8
266
0.0064
19,200
868
364
266
0.0064
38,400
434
1B2
266
0.0064
56,000
298
12A
266
0.1280
128,000
130
82
266
0.1600
256,000
65
41
266
0.1600
96,00
2170
87A
333
0.0064
19,200
1085
43D
333
0.0064
38,400
543
21F
333
0.0858
56,000
372
174
333
0.0064
128,000
163
A3
333
0.1472
256,000
81
51
333
0.4672
为了得到误差百分数,执行以下三个步骤:
1.将输入时钟频率(ICF)除以实际频率输入(AFI),得到正确的除数值(ICF/AFI,这里AFI=波特率X16)。
2.将除数值减去1   
3.将第2步的结果乘以100,计算出最终的百分数错误。结果取绝对值(没有负数)。
上述三步可以用下面的等式来表示:
百分数错误值=1-AFI/ICFx100
18.3.1.4  中断允许寄存器(UIER1UIER2
UIER使用户可以屏蔽到MPC8349E手动风量调节阀可编程中断控制器(PIC)的特定UART中断。
18-6显示了UIER的位。
18-6  中断允许寄存器(UIER1UIER2

本文发布于:2023-07-29 15:54:44,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/197380.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:寄存器   数据   串行
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图