飞利浦 半导体 产品 规格
SCC68692双 异步的 接受者/传输者 (duart)
1998 sep 04
10
zeros 将 是 承载 在 这 rhr 和 这 received 破裂 位 在 这
sr 是 设置 至 1. 这 rxd 输入 必须 返回 至 高 为 二 (2) 时钟
edges 的 这 x1 结晶 时钟 为 这 接受者 至 认识 这 终止 的
这 破裂 情况 和 begin 这 搜索 为 一个 开始 位.
这个 将
通常地 需要 一个 高 时间 的 一个 x1 时钟 时期 或者 3 x1
edges 自从 这 时钟 的 这 控制 是 不 同步的 至
这 x1 时钟.
接受者 先进先出
这 rhr 组成 的 一个 第一-在-第一-输出 (先进先出) 堆栈 和 一个
capacity 的 三 characters. 数据 是 承载 从 这 receive 变换
寄存器 在 这 topmost empty 位置 的 这 先进先出. 这 rxrdy 位
在 这 状态 寄存器 是 设置 whenever 一个 或者 更多 characters 是
有 至 是 读, 和 一个 ffull 状态 位 是 设置 如果 所有 三 堆栈
positions 是 filled 和 数据. 也 的 这些 位 能 是 选择 至
导致 一个 中断. 一个 读 的 这 rhr 输出 这 数据 在 这 顶 的
这 先进先出. 之后 这 读 循环, 这 数据 先进先出 和 它的 有关联的
状态 位 (看 在下) 是 ‘popped’ 因此 emptying 一个 先进先出 位置
为 新 数据.
接受者 状态 位
在 增加 至 这 数据 文字, 三 状态 位 (parity 错误, framing
错误, 和 received 破裂) 是 也 appended 至 各自 数据 character
在 这 先进先出 (overrun 是 不). 状态 能 是 提供 在 二 方法, 作
编写程序 用 这 错误 模式 控制 位 在 这 模式 寄存器. 在
这 ‘character’ 模式, 状态 是 提供 在 一个 character-用-character
基准; 这 状态 应用 仅有的 至 这 character 在 这 顶 的 这 先进先出.
在 这 ‘block’ 模式, 这 状态 提供 在 这 sr 为 这些 三 位
是 这 logical-或者 的 这 状态 为 所有 characters coming 至 这 顶 的
这 先进先出 自从 这 last ‘reset 错误’ command 是 issued. 在 也
模式 读 这 sr 做 不 影响 这 先进先出. 这 先进先出 是
‘popped’ 仅有的 当 这 rhr 是 读. 因此 这 状态 寄存器
应当 是 读 较早的 至 读 这 先进先出.
如果 这 先进先出 是 全部 当 一个 新 character 是 received, 那 character 是
使保持 在 这 receive 变换 寄存器 直到 一个 先进先出 位置 是 有. 如果
一个 额外的 character 是 received 当 这个 状态 exits, 这
内容 的 这 先进先出 是 不 影响; 这 character 先前 在 这
变换 寄存器 是 lost 和 这 overrun 错误 状态 位 (sr[4] 将 是
设置-在之上 receipt 的 这 开始 位 的 这 新 (overrunning) character.
这 接受者 能 控制 这 deactivation 的 rts. 如果 编写程序 至
运作 在 这个 模式, 这 rtsn 输出 将 是 negated 当 一个 有效的
开始 位 是 received 和 这 先进先出 是 全部. 当 一个 先进先出 位置
变为 有, 这 rtsn 输出 将 是 re-asserted
automatically. 这个 特性 能 是 使用 至 阻止 一个 overrun, 在
这 接受者, 用 连接 这 rtsn 输出 至 这 ctsn 输入 的
这 transmitting 设备.
接受者 重置 和 使不能运转
接受者 使不能运转 stops 这 接受者 立即 – 数据 正在
聚集 如果 这 接受者 变换 寄存器 是 lost. 数据 和 状态 在 这
先进先出 是 preserved 和 将 是 读. 一个 re-使能 的 这 接受者
之后 一个 使不能运转 将 导致 这 接受者 至 begin assembling
characters 在 这 next 开始 位 发现. 一个 接受者 重置 将 discard
这 呈现 变换 寄存器 数据, 重置 这 接受者 准备好 位 (rxrdy),
clear 这 状态 的 这 字节 在 这 顶 的 这 先进先出 和 re-排整齐 这
先进先出 读/写 pointers. 这个 有 这 appearance 的 “clearing 或者
flushing” 这 接受者 先进先出. 在 事实, 这 先进先出 是 从不 cleared!
这 数据 在 这 先进先出 仍然是 有效的 直到 overwritten 用 另一
received character. 因为 的 这个, erroneous 读 或者 extra
读 的 这 接受者 先进先出 将 miss-排整齐 这 先进先出 pointers 和
结果 在 这 读 的 先前 读 数据. 一个 接受者 重置 将
re-排整齐 这 pointers.
timeout 模式
这 timeout 模式 使用 这 received 数据 stream 至 控制 这
计数器. 各自 时间 一个 received character 是 transferred 从 这 变换
寄存器 至 这 rhr, 这 计数器 是 restarted. 如果 一个 新 character 是
不 received 在之前 这 计数器 reaches 零 计数, 这 计数器
准备好 位 是 设置, 和 一个 中断 能 是 发生. 这个 模式 能
是 使用 至 表明 当 数据 有 被 left 在 这 rx 先进先出 为 更多
比 这 编写程序 时间 限制. 否则, 如果 这 接受者 有 被
编写程序 至 中断 这 cpu 当 这 receive 先进先出 是 全部, 和
这 message ends 在之前 这 先进先出 是 全部, 这 cpu 将 不 know
那里 是 数据 left 在 这 先进先出. 这 ctu 和 ctl 值 将 是
编写程序 为 just 在 一个 character 时间, 所以 那 这 cpu 将
是 interrupted 作 soon 作 它 有 stopped 接到 持续的 数据.
这个 模式 能 也 是 使用 至 表明 当 这 串行 线条 有
被 标记 为 变长 比 这 编写程序 时间 限制. 在 这个
情况, 这 cpu 有 读 所有 的 这 characters 从 这 先进先出, 但是 这
last character received 有 started 这 计数. 如果 那里 是 非 新
数据 在 这 编写程序 时间 间隔, 这 计数器 准备好 位 将
得到 设置, 和 一个 中断 能 是 发生.
这个 模式 是 使能 用 writing 这 适合的 command 至 这
command 寄存器. writing 一个 ‘ax’ 至 cra 或者 crb 将 invoke 这
timeout 模式 为 那 频道. writing 一个 ‘cx’ 至 cra 或者 crb 将
使不能运转 这 timeout 模式. 这 timeout 模式 应当 仅有的 是 使用
用 一个 频道 在 once, 自从 它 使用 这 c/t. ctu 和 ctl 必须
是 承载 和 一个 值 更好 比 这 正常的 receive character
时期. 这 timeout 模式 使不能运转 这 regular 开始/停止
计数器 commands 和 puts 这 c/t 在 计数器 模式 下面 这
控制 的 这 received 数据 stream. 各自 时间 一个 received character
是 transferred 从 这 变换 寄存器 至 这 rhr, 这 c/t 是 stopped
之后 1 c/t 时钟, reloaded 和 这 值 在 ctu 和 ctl 和 然后
restarted 在 这 next c/t 时钟. 如果 这 c/t 是 允许 至 终止 这
计数 在之前 一个 新 character 有 被 received, 这 计数器 准备好
位, isr[3], 将 是 设置. 如果 imr[3] 是 设置, 这个 将 发生 一个 interrupt.
自从 接到 一个 character 之后 这 c/t 有 安排时间 输出 将 clear 这
计数器 准备好 位, isr[3], 和 这 中断. invoking 这 ‘set
timeout 模式 在’ command, crx = ‘ax’, 将 也 clear 这 计数器
准备好 位 和 停止 这 计数器 直到 这 next character 是 received.
这个 模式 是 重置 用 这 “disable 时间-输出 mode” command (cr
x’c0) 必须 是 使用.
时间 输出 模式 提醒
当 运行 在 这 特定的 时间 输出 模式, 它 是 可能 至
发生 what 呈现 至 是 一个 “false interrupt”, i.e., 一个 中断
没有 一个 导致. 这个 将 结果 当 一个 时间-输出 中断 occurs
和 然后, 在之前 这 中断 是 serviced, 另一 character 是
received, i.e., 这 数据 stream 有 started 又一次. (这 中断
latency 是 变长 比 这 pause 在 这 数据 strea.) 在 这个 情况,
当 一个 新 character 有 被 接受者, 这 计数器/计时器 将 是
restarted 用 这 接受者, 因此 withdrawing 它的 中断. 如果, 在 这个
时间, 这 中断 维护 begins 为 这 先前 seen 中断, 一个
读 的 这 isr 将 显示 这 “counter ready” 位 不 设置. 如果 nothing
else 是 interrupting, 这个 读 的 这 isr 将 返回 一个 x’00 character.
multidrop 模式
这 duart 是 配备 和 一个 wake 向上 模式 为 multidrop
产品. 这个 模式 是 选择 用 程序编制 位 mr1a[4:3]
或者 mr1b[4:3] 至 ‘11’ 为 途径 一个 和 b, 各自. 在 这个
模式 的 运作, 一个 ‘master’ station transmits 一个 地址 character
followed 用 数据 characters 为 这 addressed ‘slave’ station. 这
从动装置 stations, 和 接受者 那 是 正常情况下 无能, examine
这 received 数据 stream 和 ‘wake 向上’ 这 cpu (用 设置 rxrdy)