RS-232入门
什么是串口
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指 COM 接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
串行接口、并行接口是按照数据传输方式来划分的,串行接口是一大类接口。USB、RS232、SATA、PS/2、RS485 等等,这些都属于串行接口;但一般情况下,如果没有特殊说明而只是说“串口”的话,通常特指 RS-232 接口。
RS-232
-
RS-232 是美国电子工业联盟(EIA)制定的序列数据通讯的接口标准,原始编号全称是 EIA-RS-232(简称 RS232 )。它被广泛用于计算机串行端口外设联机。
-
老式 PC 机上的 COM1、COM2 接口,就是 RS-232C 接口。RS-232 对电气特性、逻辑电位和各种信号线功能都作了规定。
连接器
常见的 RS-232 的连接器分为:DB25、DB15、DB9 三类,其中以 DB9 最为常见。
DB9 即连接头上有 9 个引脚,DB25 为 25 个引脚。在计算机上的 RS-232 均是公头,即使是25Pin 也是公头。
数据流动模式
当资料传送与接收,传输在线的数据流动情形可以分成三种:
-
单工:数据流动只有一个方向时。
-
半双工:数据流动是双向,但同一时间只能一个方向行进。
-
全双工:数据流动是双向,且具有两个方向的传输能力时。
串口的工作模式
-
串行通讯的方式可以分为同步式(Synchronous)及异步式(Asynchronous)两种。
-
同步式在通讯的两端使用同步讯号作为通讯的依据;而异步式则使用起始位(Start Bit)及停止位(Stop Bit)作为通讯的判断,现在则是以使用异步传输较多。
-
非同步传输只要9支脚就够了;如要采用同步传输则需使用到25支脚。
-
电缆长度:在通信速率低于 20kb/s 时,RS-232C 所直接连接的最大物理距离为 15m。
名词解释
-
数据终端设备 DTE (Data Terminal Equipment)
-
数据通信设备 DCE (Data Communication Equipment)
-
以计算机端(和调制解调器)为例:
–DTE:计算机
–DCE:调制解调器
DB9图例
DB9 脚位
脚 位 | 简 写 | 意 义 |
---|---|---|
Pin 1 | CD或简写DCD | 载波侦测 (Carrier Detect) |
Pin 2 | RXD | 接收字符 (Receive) |
Pin 3 | TXD | 传送字符 (Transmit) |
Pin 4 | DTR | 资料终端备妥 (Data Terminal Ready) |
Pin 5 | GND | 地线 (Ground) |
Pin 6 | DSR | 数据设备备妥 (Data Set Ready) |
Pin 7 | RTS | 要求传送 (Request to Send) |
Pin 8 | CTS | 清除以传送 (Clear To Send) |
Pin 9 | RI | 响铃侦测 (Ring Indicator) |
所谓传送、接收是从 DTE 装置的观点来说明,TXD、DTR 和 RTS 讯号是由 DTE 产生的,RXD、DSR、CTS、DCD 和 RI 讯号是由 DCE 产生的。
-
DCD :计算机←调制解调器 调制解调器通知计算机有载波被侦测。
-
RXD:计算机←调制解调器 接收数据。
-
TXD:计算机→调制解调器 传送数据。
-
DTR:计算机→调制解调器 计算机告诉调制解调器,计算机端已准备好。
-
GND:计算机=调制解调器 地线。
-
DSR:计算机←调制解调器 调制解调器告诉计算机,调制解调器端已准备好。
-
RTS:计算机→调制解调器 计算机要求调制解调器将数据送入。
-
CTS:计算机←调制解调器 调制解调器通知计算机可送出数据。
-
RI:计算机←调制解调器 调制解调器通知计算机有电话进来。
什么是波特率
串行通讯在软件设定里需要做多项设定,最常见的设定包括波特率(Baud Rate)、同位检查(Parity Check)和停止位(Stop Bit)。
-
波特率:是指从一装置发到另一装置的比特率,即每秒钟多少位 bits per second (bit/s) 。典型的波特率是 300, 1200, 2400, 9600, 115200, 19200 等 bit/s 。一般通讯两端装置都要设为相同的波特率,但有些装置也可以设定为自动检测波特率。
-
起始位及停止位:当双方准备要开始传送数据时,发送端会在所送出的字符前后,分别加上低电位的起始位及高电位的停止位,接收端会依起始位及停止位的设定,确实地接收到字符。当加入了起始位及停止位,也才比较容易达到多字符的接收能力,起始位固定为一个位,而停止位则有 1、1.5、2 个位等多种选择,只要通讯双方协议通过即可。
对波特率的理解
将传送字符依上述的说明组合起来之后,就形成了传输资料的格式如下:
起始位+传送字符+同位位+停止位
假设在传输时用了 1 个起始位,传送字符为八个位,1 个停止位,不使用同位检查,则所传输的数据总共 10 个位,所以此时最小的传输单元是以 10 位为单位
若我们采用 19200bps 的传输速度,每一秒便可传输 19200/10 = 1920 (Bytes) 的资料。