串行端口通信定义串行端口是计算机上非常常见的设备通信协议。
大多数计算机包含两个基于RS232的串行端口。
串行端口也是仪器设备的通用通信协议。
许多与GPIB兼容的设备还具有RS-232端口。
同时,串行通信协议也可以用于从远程收集设备获取数据。
串行通信原理串行通信的概念非常简单。
串行端口逐位发送和接收字节。
尽管比基于字节的并行通信要慢,但是串行端口可以使用一根线发送数据,而使用另一根线接收数据。
它非常简单,可以实现远距离通讯。
例如,当IEEE488定义并行通信状态时,它规定设备线路的总长度不得超过20米,任何两个设备之间的长度均不得超过2米。
对于串口,长度可以达到1200米。
通常,串行端口用于传输ASCII字符。
使用3条线完成通信:(1)接地线,(2)发送,(3)接收。
由于串行通信是异步的,因此端口可以在一根线上发送数据,而在另一根线上接收数据。
其他行用于握手,但不是必需的。
串行通信的最重要参数是波特率,数据位,停止位和奇偶校验。
对于两个通信端口,这些参数必须匹配:a,波特率:这是一个测量通信速度的参数。
它代表每秒传输的位数。
例如,300波特意味着每秒发送300位。
当我们指时钟周期时,我们指的是波特率。
例如,如果协议要求4800波特率,则时钟为4800 Hz。
这意味着数据线上串行通信的采样率为4800 Hz。
通常,电话线的波特率是14400、28800和36600。
波特率可以远大于这些值,但是波特率与距离成反比。
高波特率通常用于放置在距离很近的仪器之间的通信,典型的例子是GPIB设备的通信。
B,数据位:这是用于测量通信中实际数据位的参数。
当计算机发送信息包时,实际数据将不是8位。
标准值为5、7和8位。
如何设置取决于您要发送的信息。
例如,标准ASCII码是0到127(7位)。
扩展的ASCII码为0〜255(8位)。
如果数据使用简单文本(标准ASCII码),则每个数据包使用7位数据。
每个分组指的是一个字节,包括开始/停止位,数据位和奇偶校验位。
由于实际数据位取决于通信协议的选择,因此术语“分组”被称为“分组”。
指任何交流情况。
C,停止位:用于指示单个数据包的最后一位。
典型值为1、1.5和2位数字。
由于数据是在传输线上计时的,并且每个设备都有自己的时钟,因此很有可能在通信中的两个设备之间存在很小的失步。
因此,停止位不仅指示传输结束,而且还为计算机提供了纠正时钟同步的机会。
适用于停止位的位数越多,不同时钟同步的容限就越大,但同时的数据传输速率越慢。
D,奇偶校验位:串行通信中一种简单的错误检测方法。
有四种错误检测方法:偶数,奇数,高和低。
当然,也可能没有校验位。
对于偶数和奇数奇偶校验,串行端口将设置奇偶校验位(数据位之后一位),并使用一个值来确保所传输的数据具有偶数或奇数逻辑高位。
例如,如果数据为011,则对于偶数奇偶校验,奇偶校验位为0,以确保逻辑高位的数量为偶数。
如果它是奇校验,则奇偶校验位为1,因此有3个逻辑高位。
高位和低位不真正检查数据,只需将逻辑高或逻辑低设置为检查即可。
这样,接收设备可以知道位的状态,并有机会判断是否存在干扰通信的噪声或数据的发送和接收是否不同步。