串行接口(Serialport),也称串行接口或串行端口,串行通信接口,COM接口,简称串口。主要用于串行式逐位数据传输。
串口通信(SerialCommunicaTIon),是一种非常常见的设备间的通信方式。串口通信协议是指双方约定一致的数据包格式规范(包含起始位、数据、校验位及停止位)。
1.串口常见的电气标准和协议
1.1RS-232C
RS-232C标准串口,是目前最常用的一种串行通信接口
机械特性
RS-232C采用的接口是9针或25针的D型插头,常用的一般是9针插头。
DE-9Male(PinSide)DE-9Female(PinSide)
9针插头管脚
电气特性
逻辑电平:逻辑1:-3~-15V;逻辑0:3~15V
数据最高传输速率:19200bps
最远通信距离:15m
1.2RS-422
RS-232存在距离短、速率低的问题,RS-422提升了这两方面,最大传输距离1200m,最大传输速度10Mb/s
机械特性
一般是9针插头D型插头
电气特性
逻辑电平:逻辑1:两线间的电压差+2V~+6V逻辑0:两线间的电压差-6V~-2V
数据最高传输速率:10Mbps
最远通信距离:1200m
1.3RS-485
在RS-422基础上,RS-485增加了多点、双向通信能力,具备联网功能。
机械特性
一般是9针插头D型插头
电气特性
逻辑电平:逻辑1:两线间的电压差+2V~+6V逻辑0:两线间的电压差-6V~-2V
数据最高传输速率:10Mbps
最远通信距离:1200m
2.串口数据包的组成
串口数据包由起始位、数据、校验位及停止位组成。
最常见的串口数据包配置为96008N1(9600波特率,8位数据位,无校验,1位停止位)。
例如传输字符0(ASCII为48,二进制110000)
01100001
解释
0(起始位)110000(8位数据位)1(1位停止位)
2.1起始位
一个逻辑0(低电平)的数据位表示开始
2.2数据位
起始位后的就是数据位,数据位的长度一般为5、6、7、8。
2.3校验位
校验位用于校验数据是否正确。
一般分为:
2.4停止位
数据传输结束的标志,一般由1、1.5、2个逻辑1(高电平)的数据位表示