串行通信的基本概念
1.3 串行通信中的差错控制
1.误码率的控制 所谓误码率,是指数据经传输后发生错误的位数与总传输位数之比。在计算机通信中,一般要求误 码率达到10-6数量级。 为减少误码率,应从两方面做工作:一方面从硬件和软件着手对通信系统进行可靠性设计,以达到 尽量少出差错的目的;另一方面是对所传输的信息采用检纠错编码技术,以便及时发现和纠正传输过程 出现的差错。 2.检错编码方法的使用 错误信息的检验与信息的传输效率之间存在矛盾,或者说信息传输的可靠性是以牺牲传输效率为代 价的。一般来说,附加的冗余位越多,监督作用和检纠错能力就越强,但有效信息位所占的比例相对减 少,信息传输效率也就越低。 实现检错编码的方法很多,常用的有奇偶检验、循环冗余码检验(CRC)、海明码校验、交叉奇偶 校验等。而在串行通信中应用最多的是奇偶校验和循环冗余码(CRC)校验。 3.错误校验只在接收方进行 错误检验只在接收端进行,并且是采用软件方法进行检测。一般是在接收程序中,采用软件编程方 法,从接口电路的状态寄存器中,读出错误状态位,判断有无错误,进行检测,或者通过调用BIOS软中 断INT14H的状态查询子程序来检测。
同步字符 字符1字符2Leabharlann ……字符n 校验字符
数据块
同步时钟信号可以单独用一根信号线传送,也可以和数据信号组合在一根信号线上传送。 根据双方约定,接收方监测到同步字符后,接收被发送的字符流;将接收到的字符转换成并行数据。 同步传输的数据是连续传送的。若干个数据组成一个数据块。通信开始后,发送方连续发送信息流, 直到这个数据块结束。 同步字符可以为1个或2个。不发送数据时,传输线呈现高电平(MARK状态)。
同步传输的时钟定时方法:
发送方在时钟信号的下降沿发送字节 接收方在时钟信号的上升沿接收字节
时钟
数据(61H)
1位 0
1
1
0
0
0
0
1
同步通信的帧格式:同步传输需要定义一个帧的开始和结束。通常用1个同 步字符(标志符)来表示。
3.异步传输方式
•
异步传送的数据以字符为单位。传送时,各个字符可以连续传送,也可以断续传送,发送方根据 需要来决定。数据传输的速率(波特率)是双方事先约定好的。异步传送的另一个特点是双方各自用 自己的时钟信号来控制发送和接收。 异步通信以帧为传输单位,其中包含了一个字符的信息。一个帧由起始位开始,停止位结束。2个 帧之间为空闲位,一帧信息由7位到12为二进制组成。格式如下:
•
•
并行通信:所传送数据的各位同时发送或接收。
串行通信:所传送数据的各位按顺序一位一位地发送或接收。
•(a) 并行通信; (b) 串行通信 • 并行通信:数据传输速度快, 通信线多,不便长距离传送。常用于设备内部通信。
•
串行通信:通信线少,传输距离远,数据传输速度较慢。常用于设备之间的通信。
1.1 串行通信的基本概念
率来表示数据传输的速率。 波特率(定义:每秒传输数据的位数,即:1波特 = 1位/秒。其单位是b/s(位/秒,也可写成bps
)。虽然波特率可以由通信双方任意定义为每秒多少位,但在串行通信中,是采用标准的波特率系列, 如110,150,300,600,1200,2400,4800,9600,19200,115200,38400b/s等。 • 有时也用“位周期”来表示传输速率,即传输1位数据所需的时间。显然,位周期是波特率的倒数
被称作面向字符的数据格式,如图所示。
SYN:同步字符(Synchronous),表示一帧的开始。 SOH:序始字符(Start of Header),表示标题的开始。
标题:包括原地址,目的地址,路由指示等信息。
STX:文始字符(Start of Text),表示正文开始。 ETB/ETX:组终/文终字符(End of Text)ETB(End of Transmission Block)。 块校验:从SOH-ETB/ETX字段进行校验,方式可以是方阵奇偶校验或CRC。 特点:(1)一次传送是一个数据块,传输效率提高了。(2)采用了一些传输控制字,增加了通信 控制能力和校验能力。
在一个方向上传输数据,如对讲机。
A
T R 数据流 T R
• • •
B
(3)全双工方式 两个传输站点之间双方使用不同的通信线路,因此,两个传输站点之间同时发送和接收数据,发
送时能接收,接收时也能发送。如电话。
A T R 数据流 数据流 R T B
1.1 串行通信的基本概念
•2.通信速率
•
•
通信速率反映数据传输的快慢,主要有数据传输率和波特率两个指标。在串行通信中,常用波特
(1)起始位
传输线上没有数据传输时,处于连续的逻辑1状态。一帧数据以1位逻辑0开始,它告诉接收方一 帧数据开始,该位称为起始位。 (2)数据位
起始位之后紧接的是数据位,数据位的个数为5到8位,位数由收发双方约定,先发送低位,后
发送高位。
•
3.异步传输方式
(3)奇偶校验位 数据位之后紧接的是奇偶校验位,通信双方要事先约定是采用奇校验还是采用偶校验。如果采 用奇校验传输,那么数据位和校验位中1的总个数为奇数个。如果采用偶校验传输,那么数据位和校 验位中1的总个数为偶数个。奇偶校验位并不是必不可少的,也可以采用无校验传输。 (4)停止位 最后是停止位,他可以是1位,1.5位或者2位的逻辑1信号,标志着一帧的数据结束。
的方法来减少这种错误。
(3)帧格式错:接收方收到的数据与预先约定的格式不符。这种错误大多是由于双方数据格式约定 不一致或干扰造成的,可通过核对双方的数据格式减少错误。 (4)在查询方式的通信程序中,还有“超时错”。一般由接口硬件电路速度跟不上而产生。
1.4 串行通信中的同步问题
串行传输的一个重要问题就是接收端如何判断数据何时开始。对同步方式传输是要判断数据块何 时开始,即所谓的块同步问题。对异步方式传输是要判断数据字符何时开始,即所谓字符同步问题。
1.2 串行通信的方式
串行通信按同步方式可分为异步通信和同步通信。同步通信靠同步时钟信号来实现数据的发送和传 输,而异步通信是一种利用一帧字符中的起始位和停止位来完成收发同步的通信方式。
1.同步通信方式
同步通信依靠同步字符保持通信同步。同步方式通信时,发送方要发送数据信号,同时还要发送一
个用于同步的时钟信号。同步时钟信号的一个周期和一个数据时对应的。格式见下图:
。相互通信的甲乙双方必须具有相同的波特率,否则无法成功地完成串行数据通信。如串行通信规定: 一个串行字符包括1个起始位,7个数据位,1个奇偶校验位和1个停止位,共10个数据位构成,每秒传送 120个字符,则波特率为: • 10位/字符×120字符/秒=1200位/秒 •传送每一位占用的时间为:1秒/1200=0.833毫秒
第1部分 串行通信的基本概念
1.1 串行通信的基本概念 1.2 串行通信的方式 1.3 串行通信中的差错控制 1.4 串行通信中的同步问题 1.5 串行通信协议和接口标准
•
•
设备之间的信息交换称为通信,基本的通信方式有两种: 并行通信(parallel communication)
和串行通信(serial communication)。
•2.面向字符的同步通信数据格式
•
同步通信是以数据块(若干个字节)为单位进行传输的。所谓面向字符格式,就是在数据块的前面
加1~2个特定的同步字符,接着是表示传输的源地址及目标地址,以及数据块开始与结束的字符,最后 是循环冗余校验码(CRC),形成一个完整的数据块帧格式。由于被传输的数据块是由字符组成的,故
•
4.同步串行通信和异步串行通信的比较
同步串行通信的特点:以数据块为信息单位传送。即:字符内部位与位之间传送是同步的,字 符与字符之间传送也是同步的。同步通信方式的传输速率高,传输设备复杂,技术要求高。一般用 在要求快速、连续传输大批量数据的场合。 异步串行通信的特点:以字符为信息单位传送。即:传送同一字符的每一位时是同步的,而字 符与字符之间是异步的。异步通信方式的传输速率低,传输设备简单,易于实现。因此,一般用在 数据传输时间不能确定、发送数据不连续、数据量较少和数据传输速率较低的场合。
1.3 串行通信中的差错控制
4.错误状态的分析与处理 异步串行通信过程中常见的错误有奇偶检验错、溢出错、帧格式错。这些错误状态一般都存放在接 口电路的状态寄存器中,以供CPU进行分析和处理。
(1)奇偶校验错:在接收方接收到的数据中,1的个数与奇偶校验位不符。这通常是由噪声干扰而
引起的,发生这种错误时接收方可要求发送方重发。 (2)溢出错:接收方没来得及处理收到的数据,发送方已经发来下一个数据,造成数据丢失。这通 常是由收发双方的速率不匹配而引起的,可以采用降低发送方的发送速率或者在接收方设置FIFO缓冲区
无法检验出字节或位序的错误。
(3)循环冗余码校验(CRC) 循环冗余码校验的基本原理是将一个数据块看成一个位数很长的二进制数,然后用一个特定的数去 除它,将余数作校验码附在数据块之后一起发送。接收端收到该数据块和校验码后,进行同样的运算来
校验传送是否出错。目前CRC已广泛用于数据存储和数据通信中,并在国际上形成规范,市面上已有不
1.1 串行通信的基本概念
3.串行通信的校验 串行通信的目的不只是传送数据信息,更重要的是应确保准确无误地传送。因此必须考虑在通信过 程中对数据差错进行校验,因为差错校验是保证准确无误地通信的关键。常用差错校验方法有奇偶校验 、累加和校验以及循环冗余码校验(CRC)等。 (1)奇偶校验 在发送数据时,数据位尾随的1位为奇偶校验位(1或0)。奇校验时,数据中“1”的个数与校验位 “1”的个数之和应为奇数;偶校验时,数据中“1”的个数与校验位“1”的个数之和应为偶数。接收 字符时,对“1”的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。 (2)累加和校验 累加和校验是指发送方将所发送的数据块求和,并将“校验和”附加到数据块末尾。接收方接收数 据时也是先对数据块求和,将所得结果与发送方的“校验和”进行比较,若两者相同,表示传送正确, 若不同则表示传送出了差错。“校验和”的加法运算可用逻辑加,也可用算术加。累加和校验的缺点是