FreeBSD handbook中文版 15 串口通讯

2008-02-23 08:01:57来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

目录
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:。
FreeBSD 当前支持dumb 多端口串行接口卡,如BocaBoard 1008 and 2016,就象许多Digiboard
和Stallion Technologies 制造的智能多接口卡。默认的内核只会寻找标准的COM 接口。
要看看你的内核是否支持你的串口,需要在内核启动时查看一些信息,或使用
/sbin/dmesg 命令重新播出内核启动信息。特别的,寻找以sio 为特征的启动信息。
提示:要看看带有sio 的信息,可以使用下面的命令:
# /sbin/dmesg | grep 'sio'
第3 页FreeBSD 使用手册
例如,在一个带有4 个串行口的系统上,这些是串行口特定的内核启动信息:
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
sio2 at 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
sio3 at 0x2e8-0x2ef irq 9 on isa
sio3: type 16550A
如果你的内核没有认出你的所有串行口,你需要为你的系统定制一个内核。更多有关配
置内核的细节,可以看看第9 章。
在你的内核配置文件中相关的设备行是这样的:
device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr
device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr
你可以注释掉或完全删除你没有的设备。请看看sio 的有关如何为你的多端口主板写入
配置信息的联机手册。如果你使用了一个不同版本的FreeBSD 的配置文件,请小心点,因为
设备的标记在两个版本之间已经改变了。
15.2.4 设备指定文件
内核中的绝大多数设备可以通过device special files 来访问,它就在/dev 目录下。
Sio 设备通过/dev/ttyd N (dial-in)和/dev/cuaa N (call-out)来访问。FreeBSD 也提供了初
始化的设备(/dev/ttyid N and /dev/cuai0 N) 和锁定的设备(/dev/ttyld N and
第4 页FreeBSD 使用手册
/dev/cual0 N)。初始化的设备在每次端口被打开时被用来初始化设备通讯端口参数。例如使
用CTS/RTS 的流控制信号的crtscts。锁定设备被用来锁定端口的标记以阻止用户或程序改
变某个参数;看看termios, sio, and stty 的联机手册了解更多信息。
15.2.4.1 编译设备指定文件
注意:FreeBSD 5.0 已把自动创建设备接点的devfs 文件系统作为是必需的。如果你在

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD handbook中文版 11 打印 (1)基本设置

下一篇:FreeBSD handbook中文版 12 存储