串行通讯中的同步通讯和异步通讯 点击:1828 | 回复:9



老菜鸟

    
  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2010-06-16 14:16:33
楼主
        在编写PLC通信程序的时候,需要对相关的通信基础比较了解,否则在设置相应参数的时候,可能容易出错。在此,和大家分享一下“串行通讯中的同步通讯和异步通讯”的相关技术。



老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2010-06-16 14:18:46
1楼

下面,笔者整理了一些资料,可以先看看。

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2010-06-16 15:54:53
2楼
串行通讯中的同步通讯和异步通讯
        说明:“通讯”和“通信”释义相差不大,“通信”含义更广而且也越来越多地被大家使用。由于本文涉及到的是电气设备之间的数据传输,因此选用了“通讯”称谓。
        串行通讯是指设备与外设之间或者设备与设备之间数据的串行传送。使用串口通讯时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。串行通讯的数据是逐位传送的,发送方发送的每一位都具有因定的时间间隔,这就要求接收方也要按照发送方同样的时间间隔来接收每一位。不仅如此,接收方还要确定一个信息组的开始和结束。为此,串行通讯对传送数据的格式作了严格的规定。不同的串行通讯方式具有不同的数据格式。
        常用的两种基本串行通讯方式:同步通讯和异步通讯及其数据传送格式。同步通讯是通过程序识别同步字符来实现数据的发送和接收,异步通讯是通过程序识别起始字符再同步来实现数据的发送和接收。

1. 同步通讯
        所谓同步通讯是指在约定的通讯速率下,发送端和接收端的时钟信号频率和相信始终保持一致(同步),这就保证了通讯双方在发送和接收数据时具有完全一致的定时关系。
        同步通讯把许多字符组成一个信息组,或称为信息帧,每帧的开始用同步字符来指示。由于绝大多数的应用场合下发送和接收的双方采用的都是同一时钟,所以在传送数据的同时还要传送时钟信号,以便接收方可以用时钟信号来确定每个信息位。同步通讯是一种连续串行传送数据的通讯方式,一次通讯只传送一帧信息。
        这里的信息帧与异步通讯中的字符帧不同,通常含有若干个数据字符。它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。CRC(cyclic redundancy checks)的意思是循环冗余校验码。它用于检验在传输过程中是否出现错误,是保证传输可靠性的重要手段之一。
        同步通讯要求在传输线路上始终保持连续的字符位流,若设备之间没有数据传输,则线路上要用专用的“空闲”字符或同步字符填充。 
        用于同步通讯的数据格式有多种:
A. 单同步格式:发送一帧数据仅使用一个同步字符。当接收端收到并识别出一个完整同步字符后,就连续接收数据。一帧数据结束,进行CRC校验。
        格式为:同步字符 数据 CRC1 CRC2
B. 双同步字格式:利用两个同步字符进行同步。
        格式为:同步字符1 同步字符2 数据 CRC1 CRC2
C. 同步数据链路控制(SDC)规程所规定的数据格式,用于同步通讯。
        格式为:标志符01111110 地址符 8位数据 CRC1 CRC2 标志符01111110
D. 则是一种外同步方式所采用的数据格式。对这种方式,在发送的一帧数据中不包含同步字符。同步信号SYNC通过专门的控制线加到串行的接口上。当SYNC一到达,表明数据部分开始,接口就连续接收数据和CRC校验码。
        格式为:数据场 CRC1 CRC2
E. 高级数据链路控制(HDLC)规程所规定的数据格式,用于同步通讯。
        格式为:标志符01111110 地址符 8位控制符 8位数据 CRC1 CRC2 标志符01111110
        同步通讯的优点是传送信息的位数几乎不受限制,通常一次通讯传的数据有几十到几千个字节,通讯效率较高。
        同步通讯的缺点是要求在通讯中保持精确的同步时钟,即发送时钟和接收时钟保持严格的同步——这两个时钟源如果是独立的则必须保证高精度的同步,在发送一个信息帧内不得出现时钟信号的累积误差/错位。所以其发送器和接收器比较复杂,成本也较高,一般用于传送速率要求较高的场合。很常用的做法是2个设备采用同一个时钟源(晶振),但这对于不同厂家生产的设备,实现起来相当麻烦而且成本很高。

2. 异步通讯
        异步通讯是指通讯中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。
        在异步通讯中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。
        异步通讯规定字符由起始位(startbit)、数据位(databit)、奇偶校验位(parity)和停止位(stopbit)组成。起始位表示一个字符的开始,接收方可用起始位使自己的接收时钟与数据同步。停止位则表示一个字符的结束。这种用起始位开始,停止位结束所构成的一串信息称为帧(frame)(注意:异步通讯中的“帧”与同步通讯中“帧”是不同的,异步通讯中的“帧”只包含一个字符,而同步通讯中“帧”可包含几十个到上千个字符)。在传送一个字符时,由一位低电平的起始位开始,接着传送数据位,数据位的位数为5~8。在传输时,按低位在前,高位在后的顺序传送。奇偶校验位用于检验数据传送的正确性,也可以没有,可由程序来指定。最后传送的是高电平的停止位,停止位可以是1位、1.5位或2位。停止位结束到下一个字符的起始位之间的空闲位要由高电平2来填充(只要不发送下一个字符,线路上就始终为空闲位)。
异步通讯中典型的帧格式是:1位起始位,7位(或8位)数据位(由低位到高位发送),1位奇偶校验位,2位停止位。
        接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。
        异步通讯的优点是:每接收一个字符,接收方都要重新与发送方同步一次,所以接收端的同步时钟信号并不需要严格地与发送方同步,只要它们在一个字符的传输时间范围内能保持同步即可,这意味着时钟信号漂移的要求要比同步信号低得多,硬件成本也要低的多。
         异步通讯的缺点是:异步传送一个字符,要增加大约20%的附加信息位,所以传送效率比较低。异步通讯方式简单可靠,也容易实现,故广泛地应用于各种通讯场合中。

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2010-06-16 15:57:35
3楼

根据上面的叙述可以看出,工控行业普遍用到的一个设备与另一个设备之间的通讯实际上就是串行异步通讯。

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2010-06-17 16:30:53
4楼
贴个异步通信的图片,希望有助理解

asd289524111

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2010-07-13 08:14:21
5楼
dgdfgvcxxxxxxxc

sLI

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 7回
  • 年度积分:0
  • 历史总积分:333
  • 注册:2006年6月07日
发表于:2011-04-26 18:17:00
6楼

介绍的很详细,不知道前辈做过同步通讯吗?

具体能介绍下吗?

曼联

  • 精华:2帖
  • 求助:8帖
  • 帖子:40帖 | 180回
  • 年度积分:0
  • 历史总积分:530
  • 注册:2006年1月27日
发表于:2011-09-18 16:20:02
7楼
希望能有机会亲自体验

ssqnge

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2009年11月12日
发表于:2011-09-18 20:36:25
8楼

wlqmutou6

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 25回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2011-09-19 14:13:00
9楼
山东济南伦渠公司专业生产1:各种PLC编程电缆 人机编程电缆 PLC 人机 变频器 编程电缆

下载线 西门子MPI编程电缆 三菱编程电缆 TCP转换器 以太网转换器 调制解调器

2:专业生产rs232-rs485/422/can/lon/光纤/以太网转换器 隔离器 中继器 远程驱动器

串口扩展器 串口服务器 光纤 交换机 RS485转换器 协议转换器 接口转换器 串口转换器

3:光纤收发器 光纤转换器 光端机 光缆光纤MODEM 视频光端机 光纤转换器 光猫 光缆

4:安防报警 可燃气体报警器 有毒气体 汽车尾气报警器 智能小区

5:MODBUS数据采集模块 CANBUS数据采集系统 楼宇DCS系统 可视对讲系统 对讲门铃

6:无线传输 酒店饭店宾馆管理 无线呼叫系统 短信猫 门禁一卡通系统

7:成套仪表设备安装调试 自动化工程安装 DCS系统安装调试

8:MODBUS温湿度采集模块 CANBUS温湿度采集系统属精密网络型温湿度传感器,

可以设定通讯地址0-255和波特率1200-19200bps;可与组态软件 PLC等

提供RS485输出,供主机采集;通讯协议采用标准modbus协议;特价290元,

用于:粮库、气象站、温室大棚、档案馆、通讯机站、楼宇自控,实验室,。

9:豪克能量超声冲击疲劳应力消除设备 冲击枪 振动时效 增强疲劳强度。振动实效 震动时效

振动时效设备 振动时效装置

热门招聘
相关主题

官方公众号

智造工程师