FreeBSD handbook中文版 15 串口通讯

目录
15 串口通讯
15.1 概要
15.2 介绍
15.3 终端
15.4 拨入服务
15.5 拨出服务
15.6 设置串行控制台
=============================================================
第15 章串口通讯
=============================================================
(翻译中出现的任何问题或错误 , 请广大读者及时反馈给我:FreeBSDhandbook@163.com)
15.1 概要
Unix 都是支持串口通讯的 。事实上 , 早期的UNIX 系统就是利用串行线来输入和输出数
据的 。那时通常的“terminal”包含了一个每秒10 个字符的串行打印机和键盘时 , 现在这
些事情已经有所变化了 。这章将介绍一些利用FreeBSD 进行串行通讯的方法 。
读完这章 , 你将了解到:
. 如何通过终端连接到FreeBSD 系统 。
. 如何使用modem 拨号到远程域 。
. 如何允许远程用户通过modem 登陆到你的系统 。
. 如何从串行控制台引导你的系统 。
阅读这章之前 , 你应当了解:
. 如何配置和安装一个新的内核 。(第9 章)
. 理解unix 的权限和进程 。(第3 章)
. 通过网络设备访问技术参考手册 。
15.2 介绍
15.2.1 术语
bps
每秒比特---数据的传输速率
DTE
数据终端设备---如你的电脑
DCE
第1 页FreeBSD 使用手册
数据通讯设备---如你的modem
RS-232
用于硬件串行通讯的EIA 标准
15.2.2 线缆和端口
要从你的FreeBSD 系统连接到一个modem 或终端 , 你需要有一个串行端口 , 和连接到你
串行设备的适当的线缆 。如果你比较熟悉硬件和线缆 , 你可以跳过这节 。
15.2.2.1 线缆
有好几种线缆 。两个最普通的类型是null-modem 线缆和标准RS-232 线缆 。你的硬件的
规格说明会有详细描述 。
15.2.2.1.1 Null-modem 线缆
一个null-modem 线缆会直接通过象signal ground 这样的信号 。如果你想自己选择线
缆 , 你可以做一个使用null-modem 的线缆 。这个线缆在一个DB-25 连接器上会显示RS-232C
信号名和pin 号码 。
Pin # Signal Signal Pin #
TxD 2 连接到3 RxD
RxD 3 连接到2 TxD
DTR 20 连接到6 DSR
DSR 6 连接到20 DTR
SG 7 连接到7 SG
DCD 8 连接到4 RTS
RTS 4 5 CTS
CTS 5 连接到8 DCD
15.2.2.1.2 标准RS-232C 线缆
一个标准的串行线缆会直接通过所有的RS-232C 信号 。这是连接一个modem 到你的
FreeBSD 系统的线缆类型 , 线缆的类型需要针对一些终端 。
第2 页FreeBSD 使用手册
15.2.2.2 端口
串行端口是FreeBSD 主机与终端传输数据的设备 。这节描述了端口的种类和他们在
FreeBSD 上的地址 。
15.2.2.2.1 几种端口
有好几种端口存在 。你在购买和做线缆之前 , 你需要确定它是否适合你机器的接线端 。
绝大多数的接线端有DB25 端口 。个人电脑包括运行FreeBSD 的PC 机 , 有DB25 或DB9
端口 。如果你有一个多端口的串行卡 , 你可以使用RJ-12 或RJ-45 端口 。请仔细看看硬件
的说明 。
15.2.2.2.2 端口名称
在FreeBSD 中 , 你可以通过/dev 目录中的一个记录来访问每个串行端口 。有两种不同
的记录:
. 呼入端口被命名为/dev/ttyd N , 这儿N 是端口号 , 从零开始 。通常 , 你使用呼入端
口作为接线端 。呼入端口要求数据线使用载波检测信号来工作 。
. 呼出端口被命名为/dev/cuaa N 。你通常不使用呼出端口作为接线端 , 只使用modem 。
如果串行线或接线端不支持载波检测数据传输 , 你可以使用呼出端口 。
如果你已经连接到了第一个串行端口 , 那你需要使用/dev/ttyd0 来应用接线端 。如果它
是在第二个串行口 , 那就是/dev/ttyd1 , 等等 。
15.2.3 内核配置
FreeBSD 默认支持4 个串行端口 。在MS-Dos 下 , 这些是COM1:, COM2:, COM3:和COM4: 。

推荐阅读