第18章 DUART(3)

2019-08-29 23:47

0 无动作 1 清除接收器FIFO中的所有字节,并将FIFO计数器/指针复位为0。 7 FEN FIFO允许 0 禁止并清除FIFO 1 允许发送器和接收器FIFO

18.3.1.7 线路控制寄存器(ULCR1 和 ULCR2)

ULCR规定UART总线的数据格式并且设置分频器锁存访问位ULCR[DLAB],分频器锁存访问位控制访问分频锁存高有效位和低有效位寄存器以及备用功能寄存器。

初始化ULCR后,当UART总线上活动时,软件不能重写ULCR。只有当收到最后停止(STOP)位并且总线上不再有新字符传输时,软件才能重写ULCR。

固定(stick)校验位,ULCR[SP],为UART总线上发送的奇偶位时间槽分配一个固定奇偶值。固定值定义为标记(mark)奇偶(逻辑1)或空(space)奇偶(逻辑0)。ULCR[PEN]和ULCR[EPS]帮助确定固定奇偶值。参看表18-14。ULCR[NSTB]定义在数据传输结束时所有发送的停止位的个数。接收器仅检测第一个停止位,而不管所选择的停止位的数目。字长度选择位(1和0)定义发送或接收的一个串行字符的数据位数目。字长度不包括起始位(START),奇偶校验位和停止位(STOP)。

图18-9显示了ULCR的位。

图18-9 线路控制寄存器(ULCR1 和 ULCR2)

表18-13说明了ULCR的字段。

表18-13 ULCR字段说明 位 0 名字 DLAB 说明 分频器锁存访问位 0 访问除UDLB、UAFR和UDMB以外的所有寄存器。 1 可以访问UDMB、UDLB和UAFR。 设置断开。 0 发送正常UTHR数据到SOUT信号。 1 强制SOUT信号为逻辑0。不影响UTHR中的数据。 固定奇偶 0 禁止固定奇偶。 1 如果PEN=1和EPS=1,选择空(space)奇偶;如果PEN=1和EPS=0,选择标记(mark)奇偶。 偶校验选择。参看表18-14。 0 如果PEN=1和SP=0,选择奇校验。 1 如果PEN=1和SP=0,选择偶校验。 1 SB 2 SP 3 EPS 4 PEN 允许奇偶校验 0 不产生和校验奇偶。 1 为发送器时产生奇偶位,为接收器时校验奇偶。 停止位(STOP)数目 0 在传输的数据中产生一个停止位。 1 当选择5位数据长度时,产生1 1/2停止位。当选择6、7或者8位字长度时,产生2个停止位。 字长度选择。组成字符长度的位数。 00 5位 01 6位 10 7位 11 8位 5 NTSB 6-7 WLS

表18-14 使用ULCR[PEN]、ULCR[SP]和ULCR[EPS]选择奇偶 PEN 0 0 0 0 1 1 1 1 SP 0 0 1 1 0 0 1 1

18.3.1.8 MODEM控制寄存器(UMCR1和UMCR2)

UMCR控制与UART总线上的外部设备的接口,如图18-10所示。

EPS 0 1 0 1 0 1 0 1 选择校验 无奇偶 无奇偶 无奇偶 无奇偶 奇奇偶 偶奇偶 标记(Mark)奇偶 空(Space)奇偶

图18-10 MODEM控制寄存器(UMCR1和UMCR2)

表18-15说明了UMCR字段。

表18-15 UMCR字段说明 位 0-2 3 名字 - LOOP 保留,应清除 本地回送模式 0 正常操作 1 工作时,可以从同一个UART的URBR中读取写入UTHR说明 的数据,UMCR[RTS]和UMSR[CTS]连接在一起 4-5 6 - RTS 保留 发送就绪 0 使对应的/UART_RTS输出无效。 1 使对应的/UART_RTS输出有效。通知外部MODEM或外围设备UART已经准备好发送/接收数据。 保留 7 -

18.3.1.9 线路状态寄存器(ULSR1和ULSR2)

ULSR监控UART总线上的数据传输状态,如图18-11所示。为了从通过UART总线接收的正确字符中分离出状态位,软件应先读ULSR再读URBR。

图18-11 线路状态寄存器(ULSR1和ULSR2)

表18-16说明了ULSR的字段。

表18-16 ULSR字段说明 位 0 名字 RFE 说明 接收器FIFO错误 0 当接收器FIFO无错或者读ULSR时没有遗留的接收器FIFO错时清除。 1 接收器FIFO中的一个字符遇到错误(帧格式、奇偶校验或者断开中断)时置位。 发送器空 0 UTHR或内部发送器移位寄存器有数据字符。在FIFO模式下,发送器FIFO或内部发送器移位寄存器中有数据字符。 1 UTHR和内部发送移位寄存器都为空。在FIFO模式下,发送器FIFO和内部发送器移位寄存器都为空。 发送器保持寄存器空 0 UTHR非空 1 已经将数据字符从UTHR传输到内部发送器移位寄存器。在FIFO模式下,发送器FIFO内没有数据字符。 断开中断 0 在读ULSR或在检测到有效数据传输时(即收到停止位)清除。 1 收到逻辑0的时长超过起始位+数据位+校验位+1个停止位的时长。在SIN返回到标记状态(逻辑1)并且检测到有效起始位(START)之后才装入新字符。在FIFO模式下,会在1 TEMT 2 THRE 3 BI FIFO中遇到零字符(零字符在FIFO顶部)。在FIFO模式下,仅存储零字符。 4 FE 帧格式错误 0 在读ULSR或将新字符从接收器移位寄存器装入URBR时清除。 1 接收数据的停止位错误(仅检查第一个停止位)。在FIFO模式下,当在FIFO中遇到检测到帧格式错的字符时(即该字符在FIFO顶部)置位FE。遇到帧格式错误后需要重新同步。UART假定帧格式错(当希望读到逻辑1(停止位)时却读到逻辑0)是因为停止位覆盖了下一个起始位,因此它认为该逻辑0采样是一个真的起始位,之后就接收后续的新数据。 奇偶校验错误 0 在读ULSR时或将新字符装入URBR时清除。 1 在接收数据时检测到不期望的奇偶校验值。在FIFO模式下,带有错误的字符位于FIFO顶部。 过载错误 0 读ULSR时清除。 1 读URBR之前,它被新字符覆盖。旧字符丢失。在FIFO模式下,接收器FIFO满(不考虑接收器FIFO触发水平),且已将新字符接收到内部接收器移位寄存器。旧字符被新字符覆盖。接收器FIFO中的数据未被覆盖。 数据就绪 0 在读URBR时或读取了接收器FIFO中的所有数据时清除。 1 在URBR或接收器FIFO中收到字符。 5 PE 6 OE 7 DR

18.3.1.10 MODEM状态寄存器(UMSR1 和UMSR2)

UMSR跟踪为对应UART设置的MODEM(或外部设备)的CTS状态,如图18-12所示。

图18-12 MODEM状态寄存器(UMSR1 和UMSR2)

表18-17说明了UMSR的字段。

表18-17 UMSR字段说明 位 名字 说明 0-2 3 - CTS 保留,应清除。 清除发送。代表来自外围设备的CTS输入引脚的相反值。 0 对应CTSn无效。 1 对应CTSn有效。MODEM或者外设准备好数据传输。 4-6 7 - DCTS 保留,应清除。 Delta清除发送 0 自从上一次读UMSR[CTS]之后,对应的CTSn信号无变化。 1 自从上一次读UMSR[CTS] 之后,对应的CTSn信号有变化。如果置位UIER[EMSI]检测该状态,则会引起中断。

18.3.1.11 中间结果寄存器(USCR1 和USCR2)

USCR用于调试软件或者DUART硬件,如图18-13所示。USCR不影响DUART的操作。

图18-13 中间结果寄存器(USCR)

表18-18说明了USCR的字段。

表18-18 USCR字段说明

位 0-7 名字 DATA

18.3.1.12 备用功能寄存器(UAFR1和UAFR2)

UAFR如图18-14所示,允许软件使用同一个写操作同时写UART1和UART2的寄存器。UAFR还提供了用于设备性能监控的方法,以记录波特时钟。

说明 数据


第18章 DUART(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:18春电大《西方经济学》形考任务2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: