博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
串口通讯—同步通信方式
阅读量:4110 次
发布时间:2019-05-25

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

串口通讯 同步通信方式

1.   同步通信方式的特点:

采用同步通信时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应58 位。当然,对同一个传输过程,所有字符对应同样的数位,比如说n 位。这样,传输时,按每n 位划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符。

同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始,一般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制发送端的发送和空字符用同一个代码。接收端当然是应该能识别同步字符的,当检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的数位作为实际传输信息来处理。

2.   面向字符的同步协议(IBMBSC 协议)

1   BSC 协议

该协议规定了10 个特殊字符(称为控制字符)作为信息传输的标志。其格式为

SYN

SOH

标题

STX

数据块

ETB/ETX

块校验

 

(1)    SYN :同步字符(Synchronous character ),每帧可加1 个(单同步)或2 个(双同步)同步字符。

(2)    SOH :标题开始(Start of Header )。

(3)    标题:Header ,包含源地址(发送方地址)、目的地址(接收方地址)、路由指示。

(4)    STX :正文开始(Start of Text )。

(5)    数据块:正文(Text ),由多个字符组成。

(6)    ETB: 块传输结束(end of transmission block ),标识本数据块结束。

(7)    ETX :全文结束(end of text ),(全文分为若干块传输)。

(8)    块校验:对从SOH 开始,直到ETB/ETX 字段的检验码。

3.   面向bit 的同步协议(ISOHDLC

2  HDLC 协议

一帧信息可以是任意位,用位组合标识帧的开始和结束。帧格式为:

F

A

C

I

FC

F

 

(1)    F 场:标志场,作为一帧的开始和结束,标志字符为8 位,01111110

(2)    A 场:地址场,规定接收方地址,可为8 的整倍位。接收方检查每个地址字节的第1 位,如果为“0” ,则后边跟着另一个地址字节。若为“1” ,则该字节为最后一个地址字节。

(3)    C 场:控制场,指示信息场的类型,8 位或16 位。若第1 字节的第1 位为0 ,则还有第2 个字节也是控制场。

(4)    I 场:信息场,要传送的数据。

(5)    FC 场:帧校验场,16 位循环冗余校验码CRC 。除F 场和自动插入的“0” 位外,均参加CRC 计算。

4.   同步通信的“0 位插入和删除技术

在同步通信中,一帧信息以一个(或几个)特殊字符开始,例如,F=01111110B

但在信息帧的其他位置,完全可能出现这些特殊字符,为了避免接收方把这些特殊字符误认为帧的开始,发送方采用了“0 位插入技术 ,相应地,接收方采用“0 位删除技术

发送方的0 位插入:除了起始字符外,当连续出现51 时,发送方自动插入一个0 。使得在整个信息帧中,只有起始字符含有连续的61

接收方的“0 位删除技术 :接收方收到连续61 ,作为帧的起始,把连续出现51 后的0 自动删除。

5.   同步通信的 字节填充技术

设需要传送的原始信息帧为:

SOT

DATA

EOT

字节填充技术采用字符替换方式,使信息帧的DATA 中不出现起始字符SOT 和结束字符EOT

设按下表方式进行替换:

DATA 中的原字符

替换为

SOT

ESC X

EOT

ESC Y

ESC

ESC Z

其中,ESC=1AHXYZ 可指定为任意字符(除SOTEOTESC 外)。

发送方按约定方式对需要发送的原始帧进行替换,并把替换后的新的帧发送给接收方。例如图所示:

接收方按约定方式进行相反替换,可以获得原始帧信息。

6 、异步通信和同步通信的比较

(1)    异步通信简单,双方时钟可允许一定误差。同步通信较复杂,双方时钟的允许误差较小。

(2)    异步通信只适用于点<--> 点,同步通信可用于点<--> 多。

(3)    通信效率:异步通信低,同步通信高。

转载地址:http://xvtsi.baihongyu.com/

你可能感兴趣的文章
zoj 3861(dfs)
查看>>
面试总结篇(一)
查看>>
【Java线程安全】 — ThreadLocal
查看>>
关于python的可变和不可变对象
查看>>
百度笔试题--最长回文字串
查看>>
static关键字的使用总结
查看>>
奶牛问题
查看>>
使用Elasticsearch-jdbc为MySQL数据库建立索引
查看>>
C# Unit Test 备注
查看>>
pyhton随笔02
查看>>
函数进阶
查看>>
《深入理解java虚拟机》第六章 类文件结构
查看>>
Apache开启GZIP 压缩网页
查看>>
vue3 子组件动态接受父组件的传值
查看>>
关键字拦截查询
查看>>
页游框架
查看>>
[Oracle]如何观察Table 的各种Lock 之间的冲突
查看>>
linux 的 sem 参数
查看>>
设置文字在div中垂直居中,使用line-height
查看>>
MyEclipse设置
查看>>