目录
串行接口基本原理
串行通信
数据是一位一位地进行传输,在传输中每一位数据都占据一个固定的时间长度。如下图所示,系统内部发送方先进行并/串转换,通过串口发送,到接收方再进行串/并转换被读取。
优点:传输线少,成本低。
缺点:速度慢。
串行数据传送模式
数据通信涉及两台数字设备之间传输数据的问题。常用的数据通信方式有并行通信和串行通信两种。当距离较近而且要求传输速率较高时,通常采用并行通信的方式,计算机系统的内部总线结构就是并行方式。当设备距离较远时,数据往往以串行方式传输。下图列出了三种基本的通信模式。
单工通信:数据仅能沿着从A到B的单一方向传播。
半双工通信:数据可以从A到B,也可以从B到A,但不能在同一时刻传播。
全双工通信:数据在同一时刻可以从A到B,或从B到A进行双向传播。
串行通信方式
串行通信在信息格式的约定上可以分为两种方式:异步通信和同步通信。
异步通信:是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致,传输过程如下图所示。
异步通信方式:数据是一帧一帧传送的,每帧数据包含有起始位(0)、数据位、奇偶校验位和停止位(1),每帧数据的传送靠起始位来同步。一帧数据的各位代码间的时间间隔是固定的,而相邻两帧的数据其时间间隔是不固定的。在异步通信的数据传送中,传输线上允许空字符。
异步通信必须遵循的三项规定如下。
(1)字符的格式:每个字符传送时,必须前面加一起始位,后面加上1、1.5或2位停止位。例如ASCⅡ码传送时,一帧应该是:前面一个起始位,接着七位ASCⅡ编码,再接着一位奇偶校验位,最后一位停止位,共十位。如下图所示。
(2)波特率:就是传送数据位的速率,用位/秒(bit/s)表示,称之为波特。例如数据传送的速率为120字符/秒,每帧包括十个数据位,则传送波特率为:10×120=1200bit/s=1200波特;每一位的传送时间是其倒数1/1200=0.833ms。一般情况下,异步通信的波特率的值为:150、300、600、1200、2400、4800、9600、14400、28800bit/s等,数值呈倍数变动。
(3)校验位:采用奇偶校验的方式。
异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小。但每个字符要附加2~3位用于起止位,各帧之间还有间隔,因此传输效率不高。
同步通信:是一种比特同步通信技术,要求收发双方具有同频同相的同步时钟信号,只需在要传送报文的最前面附加特定的同步字符,使收发双方建立同步,以后便在同步时钟的控制下逐位发送/接收。
同步传输采用字符块的方式,减少每一个字符的控制和错误检测数据位,因而可以具有较高的传输速率。即将许多字符聚集成一个字符块后,在每块信息之前要加上1~2个同步字符,字符块之后再加入适当的错误检测数据才传送出去。
特点:数据传输速率高;但要求收发双方时钟保持严格同步。
采用同步和异步通信发送一串数据的示例如下。
RS-232串行接口
RS-232C是由美国电子工业协会(EIA)于1969年制定并采用的一种串行通信接口标准,后来被广泛采用,发展成为一种国际通用的串行通信接口标准。
下表为EIA所定的传送电气规格。
EIA所定的传送电气规格
状态 |
L(Low) |
H(High) |
电压范围 |
-25V~-3V |
+3V~+25V |
逻辑 |
1 |
0 |
名称 |
SPACE |
MARK |
RS-232C所用的驱动芯片通常以±12V的电源来驱动信号线,而微机系统里的TTL电路以+5V表示逻辑1,接地电压表示逻辑0,因此需要转换,TTL标准与RS-232C标准之间的电平转换电路利用集成芯片实现。
RS-232C接口信号:EIA制定的RS-232C接口与外界的相连采用25芯(DB-25)和9芯(DB-9)D型插接件。实际应用中,并不是每只引脚信号都必须用到,下面介绍9芯结构。
如下图所示,其各引脚功能如下。
CD:载波检测,主要用于Modem通知计算机其处于在线状态,即Modem检测到拨号音。
RXD:接收数据线,用于接收外部设备送来的数据。
TXD:发送数据线,用于将计算机的数据发送给外部设备。
DTR:数据终端就绪,当此引脚高电平时,通知Modem可以进行数据传输,计算机已准备好。
SG:接地信号线。
DSR:数据设备就绪,此引脚为高电平时,通知计算机Modem已准备好,可以进行数据通信。
RTS:请求发送,此引脚由计算机来控制,用以通知Modem马上传送数据至计算机;否则,Modem将收到的数据暂时放入缓冲区中。
CTS:清除(允许)发送,此引脚由Modem控制,用以通知计算机将要传送的数据送至Modem。
RI:振铃提示,Modem通知计算机有呼叫进来,是否接听呼叫由计算机决定。
计算机利用RS-232C接口进行串口通信,有简单连接和完全连接两种方式。简单连接又称为三线连接,即只连接发送数据线、接收数据线和信号地。如果应用中还需要使用RS-232C的控制信号,则采用完全连接方式,如下图所示