飞利浦 半导体
SC16C550B
5 v, 3.3 v 和 2.5 v uart 和 16-字节 fifos
产品 数据 rev. 02 — 14 12月 2004 11 的 47
9397 750 14446
© koninklijke 飞利浦 electronics n.v. 2004. 所有 权利 保留.
6.3 autoflow 控制 (看 图示 5)
autoflow 控制 是 包括 的 自动-cts 和 自动-rts. 和 自动-cts, 这 CTS
输入 必须 是 起作用的 在之前 这 传输者 先进先出 能 发出 数据. 和 自动-rts, RTS
变为 起作用的 当 这 接受者 needs 更多 数据 和 notifies 这 sending 串行
设备. 当 RTS 是 连接 至 cts, 数据 传递 做 不 出现 除非 这
接受者 先进先出 有 空间 为 这 数据; 因此, overrun errors 是 eliminated 使用
UART 1 和 uart 2 从 一个 sc16c550b 和 这 autoflow 控制 使能. 如果 不,
overrun errors 出现 当 这 transmit 数据 比率 超过 这 接受者 先进先出 读
latency.
6.3.1 自动-rts (看 图示 5)
自动-rts 数据 flow 控制 originates 在 这 接受者 定时 和 控制 块 (看
图示 1 “block 图解.”) 和 是 linked 至 这 编写程序 接受者 先进先出 触发
水平的. 当 这 接受者 先进先出 水平的 reaches 一个 触发 水平的 的 1, 4, 或者 8 (看 图示 7),
RTS 是 de-asserted. 和 触发 水平 的 1, 4, 和 8, 这 sending UART 将 send 一个
额外的 字节 之后 这 触发 水平的 是 reached (假设 这 sending uart 有
另一 字节 至 send) 因为 它 将 不 认识 这 de-assertion 的 rts 直到
之后 它 有 begun sending 这 额外的 字节. rts 是 automatically reasserted once
这 RX 先进先出 是 emptied 用 读 这 接受者 缓存区 寄存器. 当 这 触发 水平的
是 14 (看 图示 8), RTS 是 de-asserted 之后 这 first 数据 位 的 这 16th character 是
呈现 在 这 rx 线条. rts 是 reasserted 当 这 rx 先进先出 有 在 least 一个
有 字节 空间.
6.3.2 自动-cts (看 图示 5)
这 传输者 电路系统 checks CTS 在之前 sending 这 next 数据 字节. 当 CTS 是
起作用的, 它 发送 这 next 字节. 至 停止 这 传输者 从 sending 这 下列的 字节,
cts 必须 是 released 在之前 这 middle 的 这 last 停止 位 那 是 目前 正在
sent (看 图示 6). 这 自动-cts 函数 减少 中断 至 这 host 系统.
当 flow 控制 是 使能, cts 水平的 改变 做 不 触发 host 中断
因为 这 设备 automatically 控制 它的 自己的 传输者. 没有 自动-cts, 这
传输者 发送 任何 数据 呈现 在 这 transmit 先进先出 和 一个 接受者 overrun 错误
将 结果.
图 5. autoflow 控制 (自动-rts 和 自动-cts) 例子.
RCV
先进先出
串行 至
并行的
流动
控制
XMT
先进先出
并行的
至 串行
流动
控制
并行的
至 串行
流动
控制
串行 至
并行的
流动
XMT
先进先出
RCV
先进先出
ACE1 ACE2
d7 至 d0
RX TX
RTS CTS
TX RX
d7 至 d0
控制
002aaa048
CTS
RTS