串行接口简介
串行接口(Serial port)简称串口,是计算机在与外围设备或者其他计算机连接进行数据传送时的一种常用接口方式。
串口通信的特点在于数据和控制信息室一位接一位地传送出去的,若出错则重新发送该位数据,由于每次只发送一位数据,其传输速度较慢,但因为干扰少,所以更适用于长距离传送。
串口已成为大多数计算机的标准配置之一,在许多普通计算机的接口中都能找到。
用户只需增加一根连接线即可进行串口通信,不需要增添其他额外设备,所以在工业控制盒通信中得到了广泛的应用,但是一个串口只能与一个设备进行连接和通信,对于某些应用需求这是一个限制。
协议:
串口有多种通信标准和接口形式,如RS-232、RS-422、RS485等,各种形式接口的管脚数量和定义也不尽相同。
其中最常用的修订版本是RS-232C。
RS-232C标准(协议)的全称是EIA-RS-232C标准,定义是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。
RS-232C是一个已制定很久的标准(RS表示推荐标准;232表示标识符;C表示修改次数),它描述了计算机及相关设备间较低速率的串行数据通信的物理接口及协议。
硬件:
EIA RS-232C标准串口常用于连接计算机、打印机和调制解调器等设备。
在许多PC机的主板接口上都能找到他们的身影,这是一种D形接口,分别为25针和9针两种形式,如下图所示。
9针串口的9条连接线中包括2条数据线(TD和RD)、5条握手线(RTS、CTS、DSR、CD)、1条信号地线(SG)和1条振铃指示线(RI),这些引线足以包含大多数RS-232接口中使用的核心引线。
25针串口是标准的RS-232接口,其引线除了包括RS-232的核心引线集外,还可覆盖标准中规定的所有信号。
我们的实验中,要使用串口COM1进行自收发实验。
我们将串口COM1 的2脚和3脚短路。
则由2脚发送的数据会立即传送到3脚。
用示波器监视2、3脚的连线,即可观察串口所发送的信号(注意:示波器还要连接信号地)。
当进行COM2和COM3两个串口通信实验时,两个串口的连接为
数字逻辑定义:
串口中传输的是数字信号。
但其逻辑的定义与此前所介绍的TTL信号(3~5V:逻辑"1",0~0.8V:逻辑"0")有别。
计算机主板所配置的串口一般为RS232电平的串口(EIA RS-232C)。
其电平逻辑的定义如下图(+3~+15V:逻辑"0",-3~-15V:逻辑"1")。
在RTS、CTS、DSR、DTR等控制线上:
信号有效(接通,ON状态,正电压)=+3V~+15V
信号无效(断开,OFF状态,负电压)=-3V~-15V
EIA RS-232C 与TTL转换:EIA RS-232C 是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。
因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA RS-232C 与TTL电路之间进行电平和逻辑关系的变换。
通信字符帧:
使用串口进行通信时,每个字符帧代表一个要传送的字符,为了保证数据传送的完整性,一个字符帧一般由以下几部分按顺序组成。
●起始位:表示字符帧的起始位置,占1bit;
●数据位:表示字符数据的内容,大小由数据位指定;
●校验位:表示是否使用奇偶校验方法保证传送的可靠性,占1bit。
奇偶校验是一种校验
代码传输正确性的方法。
根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。
采用奇数的称为奇校验,反之,称为偶校验。
奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数;如1000110(0)你必须添0这样原来有3个1已经是奇数了,所以你添上0之后1的个数还是奇数个。
偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数。
如1000110(1)你就必须加1了这样原来有3个1,要想1的个数为偶数就只能添1了。
●终止位:表示字符帧的终止,附加于末尾,大小由终止位数指定。
一个典型的串口通信字符帧如下图。
串口配置:
进行通信前,需要了解以下几个参数的意义和设置方法:
●波特率(Baud Rate):每秒通过串口传送的数据bit数;
●数据位数(Data Bits):用来指定数据位的bit位数;
●奇偶校验(Parity):表示是否使用奇偶校验方法保证传送的可靠性;
●流控制(Flow Control):表示是使用什么方式的流控制。
硬件流控使用串行电缆控制线
上的电压信号来控制数据的发送和接收。
软件流控使用数据流中的两个特殊的字符,XOFF和XON,来控制数据的接收和发送。
●终止位数(Stop Bits):用来附加在字符帧末尾的终止信号位数。
我们实验中采用的配置为:波特率9600,数据位8位,终止位数1位,无奇偶校验,无流控制。