博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
串行通讯协议--起止式异步通讯协议(UART)
阅读量:4878 次
发布时间:2019-06-11

本文共 1053 字,大约阅读时间需要 3 分钟。

  起止式异步通讯协议:

特点与格式:

起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。其格式如图3 所示。每一个字符的前面都有一位起始位(低电平,逻辑值0),字符本身有5~7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一 位,或意味半,或二位停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平(逻辑值),这样就保证起始位开始处一定有一个下跳沿。

从图中可以看出,这种格式是靠起始位和停止位来实现字符的界定或同步的,故称为起始式协议。传送时,数据的低位在前,高位在后,图4表示了传送一个字符E的ASCAII码的波形1010001。当把它的最低有效位写到右边时,就是E的ASCII码1000101=45H。 

4

起/止位的作用:起 始位实际上是作为联络信号附加进来的,当它变为低电平时,告诉收方传送开始。它的到来,表示下面接着是数据位来了,要准备接收。而停止位标志一个字符的结 束,它的出现,表示一个字符传送完毕。这样就为通信双方提供了何时开始收发,何时结束的标志。传送开始前,发收双方把所采用的起止式格式(包括字符的数据 位长度,停止位位数,有无校验位以及是奇校验还是偶校验等)和数据传输速率作统一规定。传送开始后,接收设备不断地检测传输线,看是否有起始位到来。当收 到一系列的“1”(停止位或空闲位)之后,检测到一个下跳沿,说明起始位出现,起始位经确认后,就开始接收所规定 的数据位和奇偶校验位以及停止位。经过处理将停止位去掉,把数据位拼装成一个并行字节,并且经校验后,无奇偶错才算正确的接收一个字符。一个字符接收完 毕,接收设备有继续测试传输线,监视“0”电平的到来和下一个字符的开始,直到全部数据传送完毕。

由 上述工作过程可看到,异步通信是按字符传输的,每传输一个字符,就用起始位来通知收方,以此来重新核对收发双方同步。若接收设备和发送设备两者的时钟频率 略有偏差,这也不会因偏差的累积而导致错位,加之字符之间的空闲位也为这种偏差提供一种缓冲,所以异步串行通信的可靠性高。但由于要在每个字符的前后加上 起始位和停止位这样一些附加位,使得传输效率变低了,只有约80%。因此,起止协议一般用在数据速率较慢的场合(小于19.2kbit/s)。在高速传送时,一般要采用同步协议。

转载于:https://www.cnblogs.com/marvin-notes/p/4425056.html

你可能感兴趣的文章
Vsftpd: 基于PAM认证的虚拟用户和匿名用户
查看>>
Android开发之自定义对话框
查看>>
深入理解android view 生命周期
查看>>
Android SurfaceView实战 带你玩转flabby bird (下)
查看>>
adb shell dumpsys 命令 查看内存
查看>>
《Cracking the Coding Interview》——第9章:递归和动态规划——题目7
查看>>
Scalaz(33)- Free :算式-Monadic Programming
查看>>
函数指针实例一
查看>>
【01】Firebug 教程
查看>>
谷歌AMP和百度MIP是什么鬼?
查看>>
Python中的map()函数和reduce()函数的用法
查看>>
恢复删除的表
查看>>
github初次使用,以及多人合作
查看>>
记录关于js模块的浅薄探索(一)——从别人博客中的理解
查看>>
ibatis项目应用
查看>>
TCPMon的使用
查看>>
乌班图 之 常用操作命令(一)
查看>>
jquery Jquery 遍历 获取设置 效果
查看>>
JAVA json方式访问,得到值,然后json的解析
查看>>
创建本地maven仓库
查看>>