简单介绍
串口是一种非常通用的设备通信的协议(不要与
通用串行总线Universal Serial Bus(USB)混淆)。大多数计算机包括两个基于RS232的串口。串口同一时候也是仪器仪表设备通用的
通信协议;非常多GPIB兼容的设备也带有RS-232口。同一时候,
串口通信协议也能够用于获取远程採集设备的数据。
串口通信的概念非常easy,串口按位(bit)发送和接收字节。
虽然比按字节(byte)的并行通信慢,可是串口可以在使用一根线发送数据的同一时候用还有一根线接收数据。
它非常easy而且可以实现远距离通信。比方IEEE488定义并行通行状态时。规定设备线总长不得超过20米。而且随意两个设备间的长度不得超过2米;而对于串口而言。长度可达1200米。
典型地。串口用于ASCII码字符的传输。通信使用3根线完毕:(1)地线,(2)发送,(3)接收。
因为串口通信是异步的,port可以在一根线上发送数据同一时候在还有一根线上接收数据。其它线用于握手,但不是必须的。串口通信最重要的參数是波特率、数据位、停止位和奇偶校验。
对于两个进行通行的port,这些參数必须匹配:
波特率
这是一个衡量符号传输速率的參数。它表示每秒钟传送的符号的个数。比如300波特表示每秒钟发送300个符号。当我们提到
时钟周期时,我们就是指波特率,比如假设协议须要4800波特率,那么时钟是4800Hz。这意味着
串口通信在数据线上的採样率为4800Hz。通常电话线的波特率为14400。28800和36600。波特率能够远远大于这些值,可是波特率和距离成反比。高波特率经常常使用于放置的非常近的仪器间的通信,典型的样例就是GPIB设备的通信。
数据位
这是衡量通信中实际数据位的參数。
当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、6、7和8位。怎样设置取决于你想传送的信息。比方。标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。
假设数据使用简单的文本(标准 ASCII码),那么每一个数据包使用7位数据。每一个包是指一个字节,包含開始/停止位。数据位和奇偶校验位。因为实际数据位取决于通信协议的选取。术语“包”指不论什么通信的情况。
停止位
用于表示单个包的最后一位。
典型的值为1,1.5和2位。
因为数据是在传输线上定时的。而且每个设备有其自己的时钟,非常可能在通信中两台设备间出现了小小的不同步。
因此停止位不不过表示传输的结束,而且提供计算机校正时钟同步的机会。适用于停止位的位数越多。不同一时候钟同步的容忍程度越大,可是传输数据率同一时候也越慢。
奇偶校验位
在
串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。比如。假设数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。假设是奇校验。校验位为1,这样就有3个逻辑高位。高位和低位不是真正的检查数据,简单置位逻辑高或者逻辑低校验。
这样使得接收设备可以知道一个位的状态。有机会推断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。
在数字信道中,比特率是数字信号的传输速率,它用单位时间内传输的
二进制代码的有效位(bit)数来表示,其单位为
每秒比特数bit/s(bps)、每秒千比特数(Kbps)或每秒
兆比特数(Mbps)来表示(此处K和M分别为1000和1000000。而不是涉及计算机
存储器容量时的1024和1048576)。
波特率指数据信号对载波的调制速率。它用单位时间内载波调制状态改变次数来表示,其单位为波特(Baud)。 波特率与比特率的关系为:比特率=波特率X单个调制状态相应的二进制位数。
显然,两相调制(单个调制状态相应1个二进制位)的
比特率等于波特率;四相调制(单个调制状态相应2个二进制位)的比特率为波特率的两倍;八相调制(单个调制状态相应3个二进制位)的比特率为波特率的三倍;依次类推。
RS232是要用在近距离传输上最大距离为30M
RS485用在长距离传输最大距离1200M