串行通信原理及常用协议简介

一、串行通信与并行通信

计算机与外界的数据交换称为通信,通信分为并行通信和串行通信两种基本方式。

并行通信

串行通信

并行通信:并行通信指各个数据位同时进行传送的数据通信方式,因此有多少个数据位,就需要多少根数据线。并行数据的特点是传送速度快、效率高,但成本高,通常只适合30m距离内的数据传送。

串行通信:串行通信指各个数据按传送位顺序进行传输,最少只需要两个传输线即可完成。其传输速度慢、效率低,但传输距离远,而且可以使用现有的通信通道(如电话线、各种网络等),在集散控制系统等远距离通信中使用很广。

二、串行通信分类—异步通信和同步通信

串行通信按照串行数据的时钟控制方式分为异步通信同步通信

1.异步通信

在异步通信中,数据通常以字符(或字节)为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,两个时钟源彼此独立,互不同步。

发送端和接收端依靠什么来协调数据的发送和接收呢?也就是说,接收端怎么会知道发送端何时开始发送和何时发送结束呢?这个是由字符帧格式规定的。平时,发送线为高电平(逻辑1),每当接收端检测到传输线上发送过来低电平逻辑0(字符帧的起始位)时,就知道发送端已经开始发送,每当接收端接收到字符帧中的停止位时,就知道一帧字符信息已发送完毕。

在异步通信中,字符帧格式和波特率是两个重要指标,由用户根据实际情况选定。如下是异步通信的字符帧格式。

 (1)字符帧

字符帧格式也称为数据帧,由起始位数据位奇偶校验位停止位4部分构成。

起始位:位于字符帧开头,只占1位,始终为逻辑0低电平,用于向接收设备表示发送端开始发送一帧信息。

数据位:紧跟起始位之后,用户根据情况可以取5位、6位、7位和8位,低位在前高位在后。若所传数据位ASCII字符,则常取7位。

奇偶校验位:位于数据位之后,仅占1位,用于表征串行通信中采用奇校验位还是偶校验,由用户根据需要决定。

停止位:位于字符帧末尾,为逻辑高电平1,通常可取1位、1.5位或2位,用于向接收端表示一帧字符信息已发送完毕,也为发送下一帧字符做准备。

(2)波特率

波特率的定义为每秒钟传送二进制数码的位数(又称为比特数),单位是b/s。波特率是串行通信的重要指标,用于表征数据传输的速度。波特率越高,数据传输速度越快,和字符的实际传输速率不同。字符的实际传输速率是指每秒内所传字符帧的帧数,和字符帧格式有关。每位数据的传输时间定义为波特率的倒数。波特率还与信道的频带有关。波特率越高,信道频带越宽。所以,波特率也是衡量信道频宽的重要指标。通常,异步通信的波特率为50~9600b/s。波特率不同于发送时钟和接收时钟,常是时钟频率的1/16或1/64。

异步通信的优点是不需要传送同步脉冲,字符帧长度也不受限制,故所需设备简单。缺点是字符帧中因包含起始位和停止位而降低了有效数据的传输速度。

2.同步通信

同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。此处的信息帧和异步通信中的字符帧不同,通常含有若干个数据字符,如下图所示。

 他们均由同步字符数据字符校验字符CRC三部分组成。

同步字符:同步字符位于帧结构开头,用于确认数据字符的开始(接收端不断对传输线采样,并把采样到的字符和双方约定的同步字符比较,只有比较成功后才会把后面接收到的字符加以存储)。

数据字符:数据字符在同步字符之后,个数不受限制,由所需传输的数据块长度决定。

校验字符CRC:校验字符有1~2个,位于帧结构末尾,用于接收端对接收到的数据字符的正确性进行校验。

同步通信的数据传输速率较高,通常可达56Mb/s或更高。同步通信的缺点是要求发送时钟和接收时钟保持严格同步,故发送时钟除应和发送波特率保持一致外,还要求把它同时传送到接收端去。

三、串行通信的制式—半双工和全双工

在串行通信中,数据是在两个站之间传输的。按照数据传输方向,串行通信可分为半双工全双工两种制式。

1. 半双工制式

 在半双工制式下,A站和B站之间只有一个通信回路,故数据或者由A站发送被B站接收,或者由B站发送被A站接收。因此,A、B两站之间只需要一条信号线和一条接地线。

2. 全双工制式

在全双工制式下,A、B两站间有两个独立的通信回路,两站都可以同时发送和接收数据。因此,全双工方式下A、B两站之间至少需要三条传输线:一条用于发送,一条用于接收,一条用于信号地。

四、常见串行通信接口

通信标准 引脚说明 通信方式 通信方向

UART

(通用异步收发器)

TXD:发送端

RXD:接收端

GND:公共地

异步通信 全双工

单总线

(1-wire)

DQ:发送/接收端 异步通信 半双工
SPI

SCK:同步时钟

MISO:主机输入,从机输出

MOMI:主机输出,从机输入

同步通信 全双工
I2C

SCL:同步时钟

SDA:数据输入/输出端

同步输出 半双工

物联沃分享整理
物联沃-IOTWORD物联网 » 串行通信原理及常用协议简介

发表评论