ST16C550
10
rev. 4.30
t = [(编写程序 文字 长度 = 7) + (停止 位 = 1) +
(开始 位 = 1) = 9]. 40 (位 时间 分隔 用 9) = 4.4
characters.
例子 -b: 如果 这 用户 programs 这 文字 长度 = 7,
和 parity 和 一个 停止 位, 这 时间 输出 将 是:
t = 4 x 7(编写程序 文字 长度) + 12 = 40 位 时间.
character 时间 = 40 / 10 [ (编写程序 文字 长度
= 7) + (parity = 1) + (停止 位 = 1) + (start 位 = 1) = 4
characters.
可编程序的 波特 比率 发生器
这 st16c550 支持 高 速 modem tech-
nologies 那 有 增加 输入 数据 比率 用
employing 数据 压缩 schemes. 为 例子
一个 33.6kbps modem 那 雇用 数据 压缩
将 需要 一个 115.2kbps 输入 数据 比率. 一个 128.0kbps
isdn modem 那 支持 数据 压缩 将
需要 一个 输入 数据 比率 的 460.8kbps. 这 st16c550
能 支持 一个 标准 数据 比率 的 921.6kbps.
这 可编程序的 波特 比率 发生器 是 有能力
的 accepting 一个 输入 时钟 向上 至 24 mhz, 作 必需的
为 支承的 一个 1.5mbps 数据 比率. 这 st16c550 能
是 配置 为 内部的 或者 外部 时钟 运作.
为 内部的 时钟 振荡器 运作, 一个 工业
标准 微处理器 结晶 (并行的 resonant/ 22
pf 加载) 是 连接 externally 在 这 xtal1
和 xtal2 管脚, 和 一个 外部 1 m
Ω
电阻 横过
它. alternatively, 一个 外部 时钟 能 是 连接 至
这 xtal1 管脚 至 时钟 这 内部的 波特 比率 发生器
为 标准 或者 custom 比率. 看 图示 3 为 结晶
振荡器 连接.
这 发生器 divides 这 输入 16x 时钟 用 任何
divisor 从 1 至 2
16
-1. 这 st16c550 divides 这
基本 结晶 或者 外部 时钟 用 16. 这 频率 的
这 -baudout 输出 管脚 是 exactly 16x (16 时间) 的
这 选择 波特 比率 (-baudout =16 x 波特 比率).
customized 波特 比率 能 是 达到 用 selecting
这 恰当的 divisor 值 为 这 msb 和 lsb 秒-
tions 的 波特 比率 发生器.
程序编制 这 波特 比率 发生器 寄存器
dlm (msb) 和 dll (lsb) 提供 一个 用户 能力
为 selecting 这 desired 最终 波特 比率. 这 例子
在 表格 3 在下 显示 可选择的 波特 比率 当
使用 一个 1.8432 mhz 结晶.
为 custom 波特 比率, 这 divisor 值 能 是 calcu-
lated 使用 这 下列的 等式:
divisor (在 decimal) = (xtal1 时钟 频率) / (serial 数据 比率 x 16)
表格 3, 波特 比率 发生器 程序编制 表格 (1.8432 mhz 时钟):
输出 用户 用户 DLM DLL
波特 比率 16 x 时钟 16 x 时钟 程序 程序
Divisor Divisor 值 值
(decimal) (十六进制) (十六进制) (十六进制)
50 2304 900 09 00
75 1536 600 06 00
150 768 300 03 00
300 384 180 01 80
600 192 C0 00 C0
1200 96 60 00 60
2400 48 30 00 30
4800 24 18 00 18
7200 16 10 00 10
9600 12 0C 00 0C
19.2k 6 06 00 06
38.4k 3 03 00 03
57.6k 2 02 00 02
115.2k 1 01 00 01