串口也叫串行接口,或串行通信接口,按电气标准及协议来分包括RS-232-C、RS-422、RS485、USB等。
串口通信是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种通讯方式。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。
通信方式为单工模式、半双工模式和全双工模式三种模式。
串口通信参数:
波特率:波特率就是每秒钟传输的数据位数。如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),波特率为10位*240个/秒=2400bps
数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位);扩展的ASCII码是0~255(8位)。
停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位
校验位:串口通信中的检错方式,有奇、偶、无三种校验方法。对于偶和奇校验,串口会设置校验位,用一个值确保传输的数据有偶或奇个逻辑高位。例如,数据011,对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。
RS232对电气特性、逻辑电平和各种信号线功能都作了规定。
在TXD和RXD上:
逻辑1=-3V~-15V
逻辑0=+3V~+15V
对于数据:
逻辑“1”的电平低于-3V,逻辑“0”的电平高于+3V;
RS232接口标准出现较早不足之处,主要有以下几点:
1.接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
2.传输距离短,传输速率低。RS-232总线标准受电容允许值的约束,使用时传输距离一般不要超过15米(线路条件好时也不超过几十米)。最高传送速率为20Kbps。
3.有电平偏移。RS-232总线标准要求收发双方共地。通信距离较大时,收发双方的地电位差别较大,在信号地上将有比较大的地电流并产生压降。
4.抗干扰能力差。接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
5.只能实现点对点的通信方式。
RS422串行接口标准
RS422定义了一种平衡通信接口,数据信号采用差分传输方式,它使用两对双绞线,将其中一对定义为A,另一对定义为B,
通常情况下,发送驱动器A、B之间的电压差
正电平在+200mv—+6V,是一个逻辑状态
负电平在-200mv--6V,是另一个逻辑状态
收发端通过平衡双绞线将Txd+与Rxd+,Rxd-与Txd-对应连接
大于+200mv的电平时,输出正逻辑电平
小于-200mv的电平时,输出负逻辑电平
RS422串行接口标准的特性
RS422传输速率提高到10Mb/s,传输距离延长到1200米(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。是一种单机发送、多机接收的单向、平衡传输方式,传输最大长度为1200米,最快速度为10M,线缆的类型是4线或8线(带握手信号)+GND。接线方式为四线全双工,点对点。但点对多点方式只能单向通信。
RS485串行接口标准
在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,RS-485扩展了总线共模范围。可以采用二线与四线方式,二线制可实现真正的多点双向通信。
逻辑“1”以两线间的电压差+2V~+6V表示,逻辑“0”以两线间的电压差-6V~-2V表示。接口信号电平比RS-232-C降低了,就不容易损坏接口电路芯片,且该电平与TTL电平兼容,方便与TTL电路连接。
RS-485的信号传输采用两线间的电压来表示逻辑1和逻辑0。由于发送方需要两根传输线,接收方也需要两根传输线。传输线采用差动信道,所以它的干扰抑制性极好,又因为它的阻抗低,无接地问题,所以传输距离可达1200米,传输速率可达1Mbps。
采用四线连接时,与RS-422一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比RS-422有改进, 无论四线还是二线连接方式总线上可多接到32个设备。
RS485串行接口标准——接线
线半双工,距离可达1200米,抗干扰能力强,接线成本低,同一总线可连接32个节点,使用中继器最多可达256个节点需要用户自定义软件协议,软件开发相对复杂,需要软件处理碰撞。
线全双工接线成本高但无碰撞发生且易于编程。
注意不同编码机制不能混接,不要带点插拔串口,插拔时至少有一端是断电的,否则串口易损坏。