当前位置:文档之家› RS485高速数据传输协议的设计与实现

RS485高速数据传输协议的设计与实现

ISSN 1000-0054CN 11-2223/N

清华大学学报(自然科学版)J T singh ua Un iv (Sci &Tech ),2008年第48卷第8期

2008,V o l.48,N o.8w 22

http://qhx bw.chinajo

 

RS 485高速数据传输协议的设计与实现

耿立中, 王 鹏, 马 骋, 贾惠波

(清华大学精密仪器与机械学系,精密测试技术及仪器国家重点实验室,北京100084)

收稿日期:2008-01-03

作者简介:耿立中(1985—),男(汉),山东,博士研究生。通讯联系人:贾惠波,教授,E-mail:jiah b@tsingh

摘 要:为实现远距离的高速基带信号传输,该文设计了一种以RS 485标准为物理层基础,在现场可编程门阵列(F PG A )平台上实现的数据传输协议。该协议利用串行信号的跳变沿作为高速时钟检测的起点实现位同步,可以有效地解决信号码间干扰问题;利用8B /10B 编码实现帧同步,可以保证位同步的准确性和帧同步控制字符的可靠性。该文利用F PG A 平台对协议进行了实验测试,测试结果表明该协议可以实现220m 距离上的14.5M b /s 的有效数据传输,为长距离的高速数据传输提供了可靠的实现方法。

关键词:传输协议;R S485总线;现场可编程门阵列

(FP GA )

中图分类号:T N 913.8

文献标识码:A

文章编号:1000-0054(2008)08-1311-04

Design and implement of RS485high speed data communications protocol

G ENG Lizhong ,WANG Peng ,MA Cheng ,JIA Hu ibo (S tate K ey Laboratory of Precision Measurement Technology &

Instruments ,Department of Precision Instruments and Mechanology ,Tsinghua Univers ity ,Beijing 100084,China )Abstract :Th is paper des crib es a RS485commun ication s protocol for high -speed baseb and commu nications.T he inter symb ol inter feren ce (ISI)is reduced by an efficient bit s ynch ronization signal detection schem e.Samplin g begins at th e begin ning of the inpu t signals to get ex act digital r esu lts.T he frame synchronization us es 8B/10B coding an d guaran tees bit syn chroniz ation.T he protocol w as implemented on a field programmable gate array (FPGA)w ith test res ults indicating that th e protocol achieves 14.5M b /s along a 220meters line.

Key words :com munication protocol;RS485

bus ;

field

programmable gate array (FPGA)

RS485作为一种串行通信的接口,具有传输距

离长、速度较高、电平兼容性好、使用灵活方便、成本低廉和可靠度高等优点,在智能管理[1]

、在线控制[2]

、地质勘探

[3-4]

等许多领域都有着广泛的应

用[5]。目前Pro fibus -DP 、Arcnet 和CAN 等总线标

准的物理层均是RS 485规范,这些总线标准不能同时保证长距离(200m 以上)和高的传输速度,其中性能较好的Profibus 只能在100m 距离上实现12

M b /s 的数据传输

[6-7]

。由于RS485传输为基带信号传输,没有单独的时钟线,所以时钟提取成为整个高速数据传输协议的关键。现有的串行数据时钟提取技术中,同步方式

复杂度较高[8]

,异步方式中通用异步收发器(U ART )

[9]

以字为传输协议的基本单元,一般不适

应太高的速率,传输效率也较低。

本文以RS 485标准为物理层基础,在现场可编程门阵列(FPGA)平台上设计并实现了一种基于特殊的时钟提取方法的传输协议,可以用于串行数据的高速远距离传输。该协议利用串行信号的跳变沿作为高速时钟检测的起点实现位同步,有效地解决信号码间干扰问题;采用8B/10B 编码实现帧同步,保证位同步的准确性和帧同步控制字符的可靠性。

1 协议描述

1.1 位同步设计

本设计的位同步方法是以波特率的10倍频时钟作为检测时钟,信号的上升沿和下降沿作为位同步采样的起点。建立2个采样寄存器R H 、R L ,当高频时钟检测到输入信号为高电平时,开始对检测时钟计数,并存入寄存器R H ,同时将R L 置零,当R H 为5时产生第一个采样点,而后每隔10个时钟周期产生采样点,采得的数字信号为“1”;相应的当高频时钟检测到输入信号为低电平的时候,开始对时钟计数,并存入寄存器R L ,同时将R H 置零,当R L 为5时产生第一个采样点,而后每隔10个时钟周期产生采样点,采得的数字信号为“0”。

图1 信号跳变沿作为检测起点的位同步示意图

由于检测时钟和数据信号的发送时钟并不同源,必然会有误差,假设认为判断信号的第1个下降沿没有误差,第1个采样点相对起始位中间位置有t 的偏差;由于积累,第2个采样点相对H2中间位置则会有3t的偏差;同理第3个采样点会有5t的误差。当误差积累到超过5个检测时钟的宽度时,误码就产生了。

为了避免误码的产生,计算产生误码的临界条件。假定检测时钟和数据信号发送时钟的精度均为1×10-4,由于发送时钟频率为检测时钟的10倍,那么检测时钟相对于数据信号(假定传输中未失真)的误差在1.1×10-3之内,则出现误码的高电平或低电平的最小长度为

l s=

5t d

1.1×10-3

.(1)

其中t d为检测时钟的时钟周期。

也就是说传输基带信号含有450个以上连续的“0”或者“1”时会出现误码,采用此协议的传输必须游程受限在(0,450)之间。

RS485传输是基带信号通过双绞线传输的,占空比容易发生变化,产生码间干扰,尤其是在传输距离比较长的时候。这种基于信号跳变进行检测起始的位同步设计方法对这种问题有一定的解决能力。信号在连续长“1”之间的短“0”很容易受到码间干扰影响变短,但本文的位同步设计只需要5个高频时钟的有效检测就可以读到该数据位,也就是短“0”的长度在原始信号长度的一半以上就可以保证得到正确数据。

1.2 帧同步的设计

帧同步是在位同步的基础上识别出包含有效数字信息帧的起止时刻,从而得到有效的数据信息[10]。本设计采用了插入式帧同步的方法,利用特

定的帧头和帧尾表示数据帧的起始位置。由于位同步中对信号是游程受限的,所以采用了8B/10B编码为基础对数据帧进行设计。帧结构如图2所示。

图2 数据传输链路帧结构

帧头采用8B/10B编码中的K28.5字符“010*******”,帧尾采用K28.1字符“1001111100”,这两组控制字在8B/10B编码中是独一无二的,任何数据位的组合都不可能产生这两组字符,可以有效地避免帧同步的假同步现象。控制位1个字节也属于8B/10B编码的控制字符,当数据帧被读入主控FPGA时帧尾是被抛掉的,可以利用该控制位来表示有效数据的结束。FCS为CRC-32校验,用来校验数据帧的正确与否。

如图3所示,串行数据经过移位寄存器变为并行信号后进入帧头帧尾判决器进行判决,判决的阈值可以进行调控以避免漏同步的现象出现。由于错误数据帧对上位用户机是无意义的,必须出错重传,而在同一传输信道中,帧头出错的概率和数据位出错的概率是大体相同的,所以本协议将阈值置为0,即数据与帧头或帧尾数据完全一致时方认定检测到帧头或帧尾,并发送控制信号到数据解码模块。并行信号经过数据解码后得到原始用户数据,并对其进行CRC校验,如果数据验证正确,则可将用户数据输出给上位用户机。

基于8B/10B码的帧同步设计,在实现帧同步的同时,保证了位同步的准确性,使得通信链路中不会随着时间推移而出现DC偏移。8B/10B码冗余的编码方式提供了特殊字符作为帧控制字符。CRC校验用以检测传输过程中的错误。

图3 帧同步检测结构示意图

2 基于FPGA系统的协议实现

传输协议是基于Altera公司的Quar tus7.2开发环境利用超高速集成电路硬件描述语言(VHDL)

1312清华大学学报(自然科学版)2008,48(8)

设计。如图4所示,data -code -send 模块为数据的编码和发送模块,利用2M Hz 和20MHz 的时钟驱动,产生19.07M b/s 左右的码流,在端口sel -out 输出,端口framenum (31..0)为发送的总帧数。模块dat 485-fifo -recv 利用200M Hz 高速时钟对串行信号sel -in 进行位同步,得到串行数据,经过串并转换和帧同步得到有效帧数据,再经过8B /10B 的解码得到数据,逻辑状态控制时钟为20M Hz,端口recv -8b (7..0)为收到的解码数据,端口right -num (31..0)

为收到的正确帧数,端口err -num (31..0)为收到的出错帧数。

传输协议逻辑占用了2413个逻辑单元,并利用Altera 公司提供的Log iclock 技术对传输协议进行了优化和锁定,使逻辑的时序要求可以满足225M Hz ,保证了程序的稳定性。

而后,对传输协议逻辑进行了仿真,得到仿真结果,见图5

图4 传输协议FPGA 顶层结构图

图5 基于FPGA 的传输协议仿真结果

send -8b 为发送端编码前的链路数据帧,send -10b 为发送端编码后的链路帧,从仿真结果中可以看到,编码过程有2个2M Hz 时钟周期的延迟,8B 数据“BC ”对应的10B 数据“17C ”(10B 数据“0B9”是8B 数据“00”的编码)。sel -out 为编码后的数据并串转换后的串行信号。r ecv -10b 是接收端经过位同步后收到的未解码数据,位同步需要的延时为1.5个2M Hz 时钟周期,recv -8b 为接收端收到的解码后数据,解码过程由帧同步时钟frame -clk 驱动,基本为实时过程。

从仿真结果中可以看出,该传输协议可以正确有效地实现数据打包发送和接收解码的过程。另外,利用FPGA 平台实现传输协议,便于协议的修改和升级,降低了设计成本。

3 实验测试

实验环境为电噪声嘈杂的实验室,环境附近有许多处于工作状态的其他电路设备。选用TI 公司的SN 65HVD 23D 型号高速半双工芯片作为RS 485物理层驱动和接收器。由于在很多工业应用中,站间距为220m ,所以选用长约220m 的铜芯双绞线作为传输电缆,其直流电阻为9.6 ,特性阻抗为100 左右,10M Hz 处的衰减为- 5.2dB ,每根铜芯外包有绝缘塑料以减少外界对传输信号的干扰。采用专门的电路板将传输电缆与RS 485高速半双工芯片连接构成本传输协议的物理层。数据传输协议在Altera 公司Cy clone Ⅱ系列2C 35F 484C 8型号FPGA 上进行下载。

在实验中,选取伪随机数列中的一个序列部分

1313

耿立中,等: RS 485高速数据传输协议的设计与实现

作为测试数据源,并将该序列中某个字节调整为可变字节,每发完1帧后自动加1作为帧序号,测试数据总长208B,这样保证了测试数据的随机性和全面性。如图4所示,数据源将用户测试数据发送给FPGA程序进行20M Hz基频的链路层的打包发送, RS485发送芯片将数字信号变成差分信号通过双绞线长缆传输到接收端,RS485接收芯片将收到的差分信号解为串行信号,FPGA内的程序对串行信号进行检测处理,收取数据并解码,通过CRC校验后将用户数据输出。

图6 传输协议实验结构图

对该传输协议进行了1h的实际实验,实验结果由串口从FPGA读到计算机,每2s读一次,数据如表1所示,其中t为实验时间,F r为收到的正确帧数,F w为收到的错误帧数,S为收到的用户数据大小,v为有效传输速率。

表1 传输协议测试结果

t/min F r F w S/M B v/(M b s-1) 10555115601101.214.68

201100204502182.414.55

301650299803273.614.55

402200397004364.814.55

502750495005456.014.55

603302646406551.314.56

由于测量为手动计时,所以第一个测点的速度偏高可能是因为起测时间不太精确造成的。从表1的实验结果看到,收到的正确帧数和用户数据大小随时间匀速增加,收到的出错帧为0。而且从实验中帧序号的校验中也未发现有丢帧现象。这说明该传输协议可以在220m距离上实现有效数据14.55 M b/s的稳定传输,误码率可以达到10-11左右。

而在基本相同的实验环境下,利用通用异步收发器(UART)协议进行数据传输实验时,在重复传输某个固定字时只达到10M b/s左右的有效速率,在传输一个固定格式的帧时,只能达到8Mb/s的稳定传输,当超过8Mb/s在10min内就会出现较多的误码。

4 结 论

本文基于RS485标准物理层,利用特殊检测方法的传输协议经过实验证明可以用于高速远距串行数据传输。这种传输协议的位同步设计可以有效地解决信号在传输过程中产生的码间干扰问题,并且对占空比的变化有一定的容错能力。8B/10B的编码方式可以有效地保证检测的正确性,并提供了帧同步设计的基础。该基于FPGA的传输协议设计为RS485提供了可靠的、可升级的链路解析协议,有效降低了设计成本,并可适应复杂的外部环境。

参考文献 (References)

[1]NI Haiyan,HU C hao,M A Changw ang.Res earch on a

485-s erial netw ork architectu re in intelligent up tow n

m anagem ent[C]//Pr oc2006IEEE Conf on M echatronics

and Automation.Luoyang:IE EE Press,2006:400-405.

[2]Cos ta L,Fernandes J.On-line control s ystems using RS485

[C]//ISA T ECH/E XPO T echnology Update Conf Proc.

Hous ton:Ins tr umen t Society of America,2001:695-700.

[3]吴刚,庞彦斌.地震监测网络传感器系统的设计及其通信协

议的实现[J].北京化工大学学报,2005,32(4):94-96.

W U Gang,PANG Yanbin.Des ign and com munication

protocol of a netw ork sen sor s ystem for monitoring

ear th qu ake[J].J Beij ing Univ of Ch em T ech,2005,

32(4):94-96.(in Chin ese)

[4]An on.Fieldbus w ars continue[J].C ontrol(Chic agoⅢ),

2006,19(7):36-44.

[5]B&B Electronics M fg.Co.Inc.RS-422and RS-485

Application Note[EB/OL].[2008-01-03].http://w ww.

/b b-elec/literature/tech/485appnote.pd f.

[6]Ozcelik I,Ek iz H.Building an in terconn ection betw een

PROFIBUS and ATM n etw orks[J].J N etw ork and Comp u

A p p l,2007,30(2):800-817.

[7]XU Jun,FE NG Yanjun.Profib us automation technology and

its application in DP slave development[C]//Proc of Conf

on Information Acquis ition.Hefei:IEEE Press,2004:

155-159.

[8]刘爱雄,高有行.光纤通信系统中的时钟信号恢复[J].光纤

与电缆及其应用技术,2003(1):18-22.

LIU A ixiong,GA O Youxin g.C lock s ignal recovery of fib er

communication s ystem[J].Optical F iber&Electric Cable,

2003(1):18-22.(in Chin ese)

[9]W ettroth J,Suppan L.History of the UART and th e

M AX3100:Part1[J].Electr o E ng(L ond on),1998,

70(853):20-22.

[10]韩红霞,曹立华,刘帅师.基于FPGA的光纤通信系统中帧

同步头检测设计[J].电光与控制,2006,13(4):90-92.

HAN Hong xia,GAO Lihu a,LIU Shuais hi.Fram e

s ynch ronization detection in optical fiber com munication

s ystem based on FPGA digital multiplexing of the theodolite

[J].Electronics Optics&C ontr ol,2006,13(4):90-92.

(in Ch ines e)

1314清华大学学报(自然科学版)2008,48(8)

通讯协议标准

编号: 密级:内部 页数:__________基于RS485接口的DGL通信协议(修改) 编写:____________________ 校对:____________________ 审核:____________________ 批准:____________________ 北京华美特科贸有限公司 二○○二年十二月六日

1.前言 在常见的数字式磁致伸缩液位计中,多采用RS485通信方式。但RS485标准仅对物理层接口进行了明确定义,并没有制定通信协议标准。因此,在RS485的基础上,派生出很多不同的协议,不同公司均可根据自身需要设计符合实际情况的通信协议。并且,RS485允许单总线多机通信,如果通信协议设计不好,就会造成相互干扰和总线闭锁等现象。如果在一条总线上挂接不同类型的产品,由于协议不一样,很容易造成误触发,造成总线阻塞,使得不同产品对总线的兼容性很差。 随着RS485的发展,Modicon公司提出的MODBUS协议逐步得到广泛认可,已在工业领域得到广泛应用。而MODBUS的协议规范比较烦琐,并且每字节数据仅用低4位(范围:0~15),在信息量相同时,对总线占用时间较长。 DGL协议是根据以上问题提出的一种通信协议。在制定该协议时已充分考虑以下几点要求: a.兼容于MODBUS 。也就是说,符合该协议的从机均可挂接到同一总线上。 b.要适应大数据量的通信。如:满足产品在线程序更新的需要(未来功能)。 c.数据传输需稳定可靠。对不确定因素应加入必要的冗错措施。 d.降低总线的占用率,保证数据传输的通畅。 2.协议描述 为了兼容其它协议,现做以下定义: 通信数据均用1字节的16进制数表示。从机的地址范围为:0x80~0xFD,即:MSB=1; 命令和数据的数值范围均应控制在0~0x7F之间。即:MSB=0,以区别地址和其它数据。 液位计的编码地址为:0x82~0x9F。其初始地址(出厂默认值)为:0x81。 罐旁表的编织地址为:0xA2~0xBF。其初始地址(出厂默认值)为:0xA1。 其它地址用于连接其它类型的设备,也可用于液位计、罐区表地址不够时的扩充。 液位计的命令范围为:0x01~0x2F,共47条,将分别用于参数设定、实时测量、诊断测试、在线编程等。 通信的基本参数为:4800波特率,1个起始位,1个结束位。字节校验为奇校验。 本协议的数据包是参照MODBUS RTU 通信格式编写,并对其进行了部分修改,以提高数据传输的速度。另外,还部分参照了HART协议。其具体格式如下: 表中,数据的最大字节数为16个。也就是说,整个数据包最长为20个字节。 “校验和”是其前面所有数据异或得到的数值,然后将该数值MSB位清零,使其满足0~7F 的要求。在验证接收数据包的“校验和”是否正确时,可将所有接收数据(包括“校验和”)进行异或操作,得到的数据应=0x80。这是因为,只有“地址”的MSB=1,所以异或结果的MSB也必然等于1。 本协议不支持MODBUS中所规定的广播模式。 3.时序安排 在上电后,液位计将先延迟10秒,等待电源稳定。然后,用5秒的时间进行自检和测试数据。

宇电AI501 RS485通讯协议说明

AIBUS通讯协议说明(V7.0) AIBUS是厦门宇电自动化科技有限公司为AI系列显示控制仪表开发的通讯协议,能用简单的指令实现强大的功能,并提供比其它常用协议(如MODBUS)更快的速率(相同波特率下快3-10倍),适合组建较大规模系统。AIBUS采用了16位的求和校正码,通讯可靠,支持4800、9600、19200等多种波特率,在19200波特率下,上位机访问一台AI-7/8系列高性能仪表的平均时间仅20mS,访问AI-5系列仪表的平均时间为50mS。仪表允许在一个RS485通讯接口上连接多达80台仪表(为保证通讯可靠,仪表数量大于60台时需要加一个RS485中继器)。AI系列仪表可以用PC、触摸屏及PLC作为上位机,其软件资源丰富,发展速度极快。基与PC的上位机软件广泛采用WINDOWS作为操作环境,不仅操作直观方便,而且功能强大。最新的工业平板触摸屏式PC的应用,更为工业自动化带来新的界面。这使得AIDCS系统价格大大低于传统DCS系统,而性能及可靠性也具备比传统DCS系统更优越的潜力,V7.X版本AI-7/8系列仪表允许连续写参数,写给定值或输出值,可利用上位机将仪表组成复杂调节系统。 一、接口规格 AI系列仪表使用异步串行通讯接口,接口电平符合RS232C或RS485标准中的规定。数据格式为1个起始位,8位数据,无校验位,1个或2个停止位。通讯传输数据的波特率可调为4800~19200 bit/S,通常用9600 bit/S,单一通讯口所连接仪表数量大于40台或需要更快刷新率时,推荐用19200bit/S,当通讯距离很长或通讯不可靠常中断时,可选4800bit/S。AI仪表采用多机通讯协议,采用RS485通讯接口,则可将1~80台的仪表同时连接在一个通讯接口上。 RS485通讯接口通讯距离长达1KM以上(部分实际应用已达3-4KM),只需两根线就能使多台AI仪表与计算机进行通讯,优于RS232通讯接口。为使用普通个人计算机PC能作上位机,可使用RS232/RS485或USB/RS485型通讯接口转换器,将计算机上的RS232通讯口或USB口转为RS485通讯口。宇电为此专门开发了新型RS232/RS485及USB/RS485转换器,具备体积小、无需初始化而可适应任何软件、无需外接电源、有一定抗雷击能力等优点。 按RS485接口的规定,RS485通讯接口可在一条通讯线路上连接最多32台仪表或计算机。需要联接更多的仪表时,需要中继器,也可选择采用75LBC184或MAX487等芯片的通讯接口。目前生产的AI仪表通讯接口模块通常采用75LBC184,这种芯片具备一定的防雷击和防静电功能,且无需中继器即可连接约60台仪表。 AI仪表的RS232及RS485通讯接口采用光电隔离技术将通讯接口与仪表的其他部分线路隔离,当通讯线路上的某台仪表损坏或故障时,并不会对其它仪表产生影响。同样当仪表的通讯部分损坏或主机发生故障时,仪表仍能正常进行测量及控制,并可通过仪表键盘对仪表进行操作,工作可靠性很高。16位校验码的正确性是简单奇偶校验的30000倍,基本能保证数据可靠性。并且同一网络上有其他公司也采用主从方式通讯的产品时,如PLC、变频器等,多数情况下AI系列仪表都不会受其它公司产品通讯干扰,不会产生采集数据混乱或无法通讯的问题。但是AI仪表协议并不能保证其它公司产品能否正常工作,所以除非万不得已,不应将AI仪表与其它产品混在一个RS485通讯总线上,而应分别使用不同的总线。 二、通讯指令 AI仪表采用16进制数据格式来表示各种指令代码及数据。AI仪表软件通讯指令经过优化设计,标准的通讯指令只有两条,一条为读指令,一条为写指令,两条指令使得上位机软件编写容易,不过却能100%完整地对仪表进行操作;标准读和写指令分别如下: 读:地址代号+52H(82)+要读的参数代号+0+0+校验码 写:地址代号+43H(67)+要写的参数代号+写入数低字节+写入数高字节+校验码 地址代号:为了在一个通讯接口上连接多台AI仪表,需要给每台AI仪表编一个互不相同的通讯地址。有效的地址为0~80(部分型号为0~100),所以一条通讯线路上最多可连接81台AI仪表,仪表的通讯地址由参数Addr决定。仪表内部采用两个重复的128~208(16进制为80H~D0H)之间数值来表示地址代号,由于大于128的数较少用到(如ASC方式的协议通常只用0-127之间的数),因此可降低因数据与地址重复造成冲突的可能性。

rs485总线通讯协议

竭诚为您提供优质文档/双击可除 rs485总线通讯协议 篇一:Rs485通讯协议说明 摘要:阐述了Rs-485总线规范,描述了影响Rs-485总线通信速率和通信可靠性的三个因素,同时提出了相应的解决方法并讨论了总线负载能力和传输距离之间的具体关系。 关键词:Rs-485现场总线信号衰减信号反射 当前自动控制系统中常用的网络,如现场总线can、profibus、inteRbus-s以及aRcnet的物理层都是基于 Rs-485的总线进行总结和研究。 一、eiaRs-485标准 在自动化领域,随着分布式控制系统的发展,迫切需要一种总线能适合远距离的数字通信。在Rs-422标准的基础上,eia研究出了一种支持多节点、远距离和接收高灵敏度的Rs-485总线标准。 Rs-485标准采有用平衡式发送,差分式接收的数据收发器来驱动总线,具体规格要求: 接收器的输入电阻Rin≥12kΩ 驱动器能输出±7V的共模电压

输入端的电容≤50pF 在节点数为32个,配置了120Ω的终端电阻的情况下,驱动器至少还能输出电压1.5V(终端电阻的大小与所用双绞线的参数有关) 接收器的输入灵敏度为200mV(即(V+)-(V-)≥0.2V,表示信号“0”;(V+)-(V-)≤-0.2V,表示信号“1”)因为Rs-485的远距离、多节点(32个)以及传输线成本低的特性,使得eiaRs-485成为工业应用中数据传输的首选标准。 二、影响Rs-485总线通讯速度和通信可靠性的三个因素 1、在通信电缆中的信号反射 在通信过程中,有两种信号因导致信号反射:阻抗不连续和阻抗不匹配。 阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射,如图1所示。这种信号反射的原理,与光从一种媒质进入另一种媒质要引起反射是相似的。消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,因此,在通讯电缆的另一端可跨接一个同样大小的终端电阻,如图2所示。

高速数据交换服务协议(协议示范文本)

( 协议范本 ) 甲方: 乙方: 日期:年月日 精品合同 / Word文档 / 文字可改 高速数据交换服务协议(协议示 范文本) What the parties to the agreement ultimately expect or achieve through the conclusion and performance of the agreement

高速数据交换服务协议(协议示范文本) 甲方:__________________法定代表人:____________住址:__________________邮编:__________________联系电话:______________ 乙方:__________________法定代表人:____________住所:__________________邮编:__________________联系电话:______________ 第一章服务范围 第一条甲方营业种类系提供讯框传送业务。 第二条乙方申请讯框传送业务(以下简称(本业务)),依本协议条款办理。 第三条本规章所称之(讯框传送业务),系指甲方所提供高速数据交换网络,供乙方以快速分封方式做数据通信、视讯会议及多媒体等信息应用之业务。

第四条本业务系利用数据电路连接网络,提供讯框传送方式之固定通信(PVC)服务。 第五条每一固定通信可依乙方两端之实际需求设定发信及收信之约定信息速率(CIR)。 第六条每一固定通信之约定信息速率(CIR)最小为每秒16K,最大不得超过通信端口之速率,以每秒16K为增加之累计单位。每一通信埠之发信或收信约定信息速率总和不得大于通信端口速率之二倍。 第七条每一路固定通信每秒传送信息量不超过约定信息速率且收信端同一时间每秒送收信息量总和不大于其通信端口速率时,信息均可传送至收信端,如每秒传送信息量超过约定信息速率或收信端同一时间每秒收信信息量总和大于通信端口速率时,则部分信息将因溢流而无法传送至收信端,乙方须重送该无法传送完成之信息。第八条本业务通信端口之速率分为每秒64K、128K、192K、256K、384K、512K、768K、T1及E1。 第二章申请程序

Modbus标准通讯协议格式

Modbus通讯协议 Modbus协议 Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus 协议发送给询问方。 Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave 端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。 Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。 下面我来简单的给大家介绍一下,对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。所以在这里我仅介绍一下

RS485仪表通讯协议

目录 1.引言 (1) 1.1仪表通讯及命令 (1) 1.2仪表基本构成与通讯命令的关系 (2) 2.接线 (3) 2.1RS232接口的仪表与计算机的接线 (3) 2.2RS485接口的仪表与计算机的接线 (4) 2.3关于JR485转换器 (4) 3.通讯接口要素 (5) 4.仪表的版本号 (6) 5.校验核 (7) 6.一般仪表命令集详解 (8) 6.0关于命令集 (8) 6.1读版本号命令 (10) 6.2读主测量值命令 (10) 6.3读其它测量值命令 (11) 6.4读模拟量输出值及开关量输入输出状态命令 (12) 6.5输出模拟量命令 (13) 6.6输出开关量命令 (14)

6.7读仪表参数符号命令 (15) 6.8读仪表参数命令 (16) 6.9设置仪表参数命令 (16) 7.巡检仪通讯命令集 (18) 7.0关于命令集 (18) 7.1读测量值命令 (19) 7.2读报警状态命令 (20) 7.3读参数命令 (21) 7.4设置参数命令 (22) 7.5参数地址表 (23) 8.测试软件 (25) 8.0关于测试软件 (25) 8.1DOS环境测试 (25) 8.2W INDOWS 环境下测试 (26) 9.故障诊断及应用笔记 (29) 9.1故障诊断流程图 (29) 9.2应用笔记 (30) 附录1 通讯中使用的ASCⅡ码表 (31) 附录2 XS系列仪表通讯协议的解释与补充 (32)

1.引言 1.1 仪表通讯及命令 仪表能连接到所有的计算机并与之通讯,采用RS232或RS485传输标准。仪表与计算机之间的往来通讯都以ASCⅡ码实现,意味着计算机能以任何高级语言编程。 仪表的命令集由数条指令组成,完成计算机从仪表读取测量值、报警状态、控制值、参数值,向仪表输出模拟量、数字量,以及对仪表的参数设置。与通过仪表面板设置参数一样,通过计算机对仪表的参数设置被存入EEPROM存贮器,在掉电情况下也能保存这些参数。 为避免通讯冲突,所有的操作均受计算机控制。当仪表不进行发送时,都处于侦听方式。计算机按规定地址向某一仪表发出一个命令,然后等待一段时间,等候仪表回答。如果没收到回答,则超时中止,将控制转回计算机。 由于仪表的特性不同,我们将仪表的通讯命令集分为3类: 第1类:一般仪表 包括除巡检仪和无纸记录仪外的全部仪表。 命令详解见第6章 第2类:巡检仪表 命令详解见第7章 第3类:无纸记录仪 通讯规程见《无纸记录仪用户手册》

RS485主从式多机通讯协议

RS485主从式多机通讯协议 一、数据传输协议 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息按本协议发出。 1、数据在网络上转输 控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则从设备不作任何回应。协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。 从设备回应消息也由协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误(无相应的功能码),或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 2、在对等类型网络上转输 在对等网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。 在消息位,本协议仍提供了主—从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。 3、查询—回应周期 (1)查询 查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。错误检测域为从设备提供了一种验证消息内容是否正确的方法。 (2)回应 如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。 二、传输方式 控制器能设置传输模式为RS485串行传输,通信参数为9600,n,8,1。在配置每个控制器的时候,在一个网络上的所有设备都必须选择相同的串口参数。 地址功能代码数据数量数据1 ...….数据n CRC字节 每个字节的位 · 1个起始位 · 8个数据位,最小的有效位先发送 · 1个停止位 错误检测域 · CRC(循环冗余码校验) 三、消息帧

高速数据交换服务协议(标准版).docx

LOGO 高速数据交换服务协议WORD模板文档中文字均可以自行修改 ××××有限公司

编号:_____________高速数据交换服务协议 甲方:___________________________ 乙方:___________________________ 签订日期:_______年______月______日

甲方:__________________ 法定代表人:____________ 住址:__________________ 邮编:__________________ 联系电话:______________ 乙方:__________________ 法定代表人:____________ 住所:__________________ 邮编:__________________ 联系电话:______________

第一章服务范围 第一条甲方营业种类系提供讯框传送业务。 第二条乙方申请讯框传送业务(以下简称(本业务)),依本协议条款办理。 第三条本规章所称之(讯框传送业务),系指甲方所提供高速数据交换网络,供乙方以快速分封方式做数据通信、视讯会议及多媒体等信息应用之业务。 第四条本业务系利用数据电路连接网络,提供讯框传送方式之固定通信(pvc)服务。 第五条每一固定通信可依乙方两端之实际需求设定发信及收信之约定信息速率(cir)。 第六条每一固定通信之约定信息速率(cir)最小为每秒16k,最大不得超过通信端口之速率,以每秒16k为增加之累计单位。每一通信埠之发信或收信约定信息速率总和不得大于通信端口速率之二倍。 第七条每一路固定通信每秒传送信息量不超过约定信息速率且收

第4章_传输层协议_练习

第 4 章传输层协议练习 1.TCP/IP参考模型的(传输层)主要为网络应用程序完成端到端的数据传输服务,即进 程到进程的数据传输服务。 2.传输层把应用程序交付的数据组成传输层数据报,然后交给(网络层)去完成网络传输。 3.传输层不关心报文是怎样通过网络传输的。(正确) 4.网络通信的最终对象是(网络应用程序进程)进程。程序进程在需要通信时,要通过某 种方式和对方程序进程进行通信。 5.在计算机网络中,为了使网络应用程序之间能够顺利地通信,通信的一方通常需要处于 (守候)状态,等待另一访通信请求的到来。这种一个应用程序被动地等待,另一个应用程序通过请求启动通信过程的通信模式称作(客户/服务器模式)交互模式。 6.在设计网络应用程序时,都是将应用程序设计成两部分,即(客户程序和服务器程序)。 安装有服务器程序的计算机称作(服务器),安装有客户程序的计算机称作(客户机/客户端),客户/服务器交互模式一般简写为(C / S)模式。 7.应用程序工作时,服务器一般处于(守候)状态,监视客户端的请求;若客户端发出服 务请求,服务器收到请求后执行操作,并将结果回送到客户端。 8.在Internet中,许多应用程序的客户端可以使用(浏览器)程序代替。只需要开发Web 应用程序安装在服务器上,而客户端使用浏览器(Browser)就可以和服务器通信。这种以浏览器作为客户端的网络应用程序通信模式称作(浏览器/服务器)交互模式,简称(B / S)模式。 9.根据数据传输服务的需求,TCP/IP协议传输层提供两种类型的传输协议:(面向连接的 传输控制协议/TCP)和(非连接的用户数据报协议/UDP)。两种传输层协议分别提供(连接型)传输服务和(非连接型)传输服务。 10.传输层的(连接型)传输服务类似于数据交换中的电路交换方式,需要通信双方在传输 数据之前首先建立起(连接),即交换握手信号,证明双方都在场。 11.(传输控制协议TCP)是TCP/IP协议传输层中面向连接的传输服务协议。 12.连接型传输服务在(传输数据)之前需要建立起通信进程之间的连接。在TCP协议中建 立连接过程是(比较麻烦)。首先发出建立连接请求,(服务器)收到建立连接请求后回答同意建立连接的应答报文,(客户端)收到应答报文之后还要(确认)报文,双方才能建立通信连接。这样做的主要原因是传输层报文需要通过下层网络传输,而传输层对下层网络没有足够的信任,需要自己完成(连接差错控制)。 13.在连接型传输服务中,由于通信双方建立了连接,能够保证数据正确有序地传输,应用 程序可以利用建立的连接发送连续的数据流,即支持数据流的传输。在数据传输过程中可以进行(差错控制)、(流量控制),可以提供端到端的(可靠性)数据传输服务。 14.连接型传输服务适用于(传输可靠性)要求较高的应用程序。 15.连接型传输服务虽然可以提供可靠的传输层数据传输服务,但在传输少量信息时的通信 (效率)却不尽如人意。从提高通信(通信效率)出发,TCP/IP协议的传输层设计了(面向非连接的用户数据报协议UDP)。 16.非连接型传输服务的通信过程由于通信双方没有建立连接,报文可能会丢失,所以非连 接型传输服务的(可靠性)较差。 17.对于(非连接型)传输服务,由于通信进程间没有建立连接,只是发送数据时才占用网 络资源,所以占用网络资源少。 18.非连接型传输服务传输控制简单,通信效率高,它适用于发信息较少、对传输可靠性要 求不高或为了节省网络资源的应用程序。(正确)

485协议可以带多少个设备

竭诚为您提供优质文档/双击可除485协议可以带多少个设备 篇一:485通讯协 议标准 编号:密级:内部页数:__________ 基于Rs485接口的dgl通信协议(修改) 编写:____________________校对: ____________________审核:____________________批准:____________________ 北京华美特科贸有限公司二○○二年十二月六日 1.前言 在常见的数字式磁致伸缩液位计中,多采用Rs485通信方式。但Rs485标准仅对物理层接口进行了明确定义,并没有制定通信协议标准。因此,在Rs485的基础上,派生出很多不同的协议,不同公司均可根据自身需要设计符合实际情况的通信协议。并且,Rs485允许单总线多机通信,如果通信协议设计不好,就会造成相互干扰和总线闭锁等现象。如果在一条总线上挂接不同类型的产品,由于协议不一样,很容易造成误触发,造成总线阻塞,使得不同产品对总线的兼

容性很差。 随着Rs485的发展,modicon公司提出的modbus协议逐步得到广泛认可,已在工业领域得到广泛应用。而modbus 的协议规范比较烦琐,并且每字节数据仅用低4位(范围:0~15),在信息量相同时,对总线占用时间较长。 dgl协议是根据以上问题提出的一种通信协议。在制定该协议时已充分考虑以下几点要求:a.兼容于modbus。也就是说,符合该协议的从机均可挂接到同一总线上。b.要适应大数据量的通信。如:满足产品在线程序更新的需要(未来功能)。c.数据传输需稳定可靠。对不确定因素应加入必要的冗错措施。d.降低总线的占用率,保证数据传输的通畅。 2.协议描述 为了兼容其它协议,现做以下定义: 通信数据均用1字节的16进制数表示。从机的地址范围为:0x80~0xFd,即:msb=1;命令和数据的数值范围均应控制在0~0x7F之间。即:msb=0,以区别地址和其它数据。液位计的编码地址为:0x82~0x9F。其初始地址(出厂默认值)为:0x81。罐旁表的编织地址为:0xa2~0xbF。其初始地址(出厂默认值)为:0xa1。 其它地址用于连接其它类型的设备,也可用于液位计、罐区表地址不够时的扩充。 液位计的命令范围为:0x01~0x2F,共47条,将分别用

RS485通讯协议

RS485 通讯协议 RS-232与RS-422之间转换原理和接法 通常我们对于视频服务器、录像机、切换台等直接播出、切换控制主要使用串口进行,主要使用到RS-232、RS-422与RS-485三种接口控制。下面就串口的接口标准以及使用和外部插件和电缆进行探讨。 RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。例如:视频服务器都带有多个RS422串行通讯接口,每个接口均可通过RS422通讯线由外部计算机控制实现记录与播放。视频服务器除提供各种控制硬件接口外,还提供协议接口,如RS422接口除支持RS422的Profile 协议外,还支持Louth、Odetics、BVW等通过RS422控制的协议。 RS-232、RS-422与RS-485都是串行数据接口标准,都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布。RS-422由RS-232发展而来,为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(速率低于100Kbps时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和突保护特性,扩展了总线共模范围,后命名为TIA/EIA485-A标准。 1. RS-232串行接口标准 目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。收、发端的数据信号是相对于信号地。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在5~-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回 TTL电平。接收器典型的工作电平在+3~+12V与-3~-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20Kbps。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3kΩ~7kΩ。所以RS-232适合本地设备之间的通信。 2. RS-422与RS-485串行接口标准 (1)平衡传输 RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。通常情况下,发送驱动器A、B之间的正电平在+2~+6V,是一个逻辑状态,负电平在-2V~6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端,而在RS-422中这是可用可不用的。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。 (2)RS-422电气规定 由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。RS-422的最大传输距离为

高速数据交换服务协议示范文本

高速数据交换服务协议示 范文本 In Order To Protect Their Legitimate Rights And Interests, The Cooperative Parties Reach A Consensus Through Consultation And Sign Into Documents, So As To Solve And Prevent Disputes And Achieve The Effect Of Common Interests 某某管理中心 XX年XX月

高速数据交换服务协议示范文本 使用指引:此协议资料应用在协作多方为保障各自的合法权益,经过共同商量最终得出一致意见,特意签订成为文书材料,从而达到解决和预防纠纷实现共同利益的效果,文档经过下载可进行自定义修改,请根据实际需求进行调整与使用。 甲方:___________ 法定代表人:____________ 住址:___________ 邮编:___________ 联系电话:______________ 乙方:___________ 法定代表人:____________ 住所:___________ 邮编:___________ 联系电话:______________ 第一章服务范围 第一条甲方营业种类系提供讯框传送业务。

第二条乙方申请讯框传送业务(以下简称(本业务)),依本协议条款办理。 第三条本规章所称之(讯框传送业务),系指甲方所提供高速数据交换网络,供乙方以快速分封方式做数据通信、视讯会议及多媒体等信息应用之业务。 第四条本业务系利用数据电路连接网络,提供讯框传送方式之固定通信(pvc)服务。 第五条每一固定通信可依乙方两端之实际需求设定发信及收信之约定信息速率(cir)。 第六条每一固定通信之约定信息速率(cir)最小为每秒16k,最大不得超过通信端口之速率,以每秒16k为增加之累计单位。每一通信埠之发信或收信约定信息速率总和不得大于通信端口速率之二倍。 第七条每一路固定通信每秒传送信息量不超过约定信息速率且收信端同一时间每秒送收信息量总和不大于其

数据传输和接口标准技术规范(212)协议Fix

污染源在线自动监控系统数据传输和接口标准技术规范FIX 超时重发机制: 请求回应的超时,在一个请求命令发出后在规定的时间内未收到回应,认为超时。超时后重发,重发规定次数后仍未收到回应认为通讯不可用,通讯结束。超时时间根据具体的通讯方式和任务性质可自定义。超时重发次数根据具体的通讯方式和任务性质可自定义。 执行超时 请求方在收到请求回应(或一个分包)后规定时间内未收到返回数据或命令执行结果,认为超时,命令执行失败,结束。缺省超时定义表(可扩充): 所有的通讯包都是由ACSII码字符组成(CRC校验码除外)。 通讯包结构组成:

系统编码表(可扩充)(GB/T16706-1996)见《环境信息标准化手册》第一卷第236页

执行结果定义表(可扩充) 命令列表(可扩充)

附录A:循环冗余校验(CRC)算法 CRC校验(Cyclic Redundancy Check)是一种数据传输错误检查方法,CRC码两个字节,包含一16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC 域中的值比较,如果两值不同,则有误。 CRC是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。仅每个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。 CRC校验字节的生成步骤如下: ①装一个16位寄存器,所有数位均为1。 ②取被校验串的一个字节与16位寄存器的高位字节进行“异或”运算。运算结果放入这个16位寄存器。 ③把这个16寄存器向右移一位。 ④若向右(标记位)移出的数位是1,则生成多项式1010 0000 0000 0001和这个寄存器进行“异或”运算;若向右移出的数位是0,则返回③。 ⑤重复③和④,直至移出8位。 ⑥取被校验串的下一个字节 ⑦重复③~⑥,直至被校验串的所有字节均与16位寄存器进行“异或”运算,并移位8次。 ⑧这个16位寄存器的内容即2字节CRC错误校验码。 校验码按照先高字节后低字节的顺序存放。

第九章 串行口RS485通讯协议

第九章串行口RS485通讯协议 9.1通讯概述 本公司系列变频器向用户提供工业控制中通用的RS485通讯接口。通讯协议采用MODBUS标准通讯协议,该变频器可以作为从机与具有相同通讯接口并采用相同通讯协议的上位机(如PLC控制器、PC机)通讯,实现对变频器的集中监控,另外用户也可以使用一台变频器作为主机,通过RS485接口连接数台本公司的变频器作为从机。以实现变频器的多机联动。通过该通讯口也可以接远控键盘。实现用户对变频器的远程操作。 本变频器的MODBUS通讯协议支持两种传送方式:RTU方式和ASCII方式,用户可以根据情况选择其中的一种方式通讯。下文是该变频器通讯协议的详细说明。 9.2通讯协议说明 9.2.1通讯组网方式 (1) 变频器作为从机组网方式: 图9-1 从机组网方式示意图(2) 多机联动组网方式:单主机单从机 单主机多从机

图9-2 多机联动组网示意图 9.2.2通信协议方式 该变频器在RS485网络中既可以作为主机使用,也可以作为从机使用,作为主机使用时,可以控制其它本公司变频器,实现多级联动,作为从机时,PC 机或PLC可以作为主机控制变频器工作。具体通讯方式如下: (1)变频器为从机,主从式点对点通信。主机使用广播地址发送命令时,从机不应答。 (2)变频器作为主机,使用广播地址发送命令到从机,从机不应答。 (3)用户可以通过用键盘或串行通信方式设置变频器的本机地址、波特率、数据格式。 (4) 从机在最近一次对主机轮询的应答帧中上报当前故障信息。 9.2.3通讯接口方式 通讯为RS485接口,异步串行,半双工传输。默认通讯协议方式采用ASCII 方式。 默认数据格式为:1位起始位,7位数据位,2位停止位。 默认速率为9600bps,通讯参数设置参见P3.09~P3.12功能码。 9.3 ASCII通讯协议 字符结构: 10位字符框(For ASCII) (1-7-2格式,无校验) (1-7-1格式,奇校验)

ZNJC2 RS485通讯 modbus 协议

_ MODBUS 通讯协议说明 1. 通讯相关的参数 2.通讯说明 2.1 数据格式说明 控制器采用RS-485总线,协议符合ModBus 规约,数据格式有标准MODBUS-RTU 、 非标准MODBUS-RTU(16进制)和ASC(ASC Ⅱ码)3种格式。 数据传输均采用8位数据位、1位停止位、无奇偶校验位。波特率可设为2400、4800、9600和19200 bit/s 。 通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义与RTU 通讯规约相兼容: 2.2 非标准MODBUS-RTU(16进制)数据格式详细说明 下面以RTU(16进制)数据格式进行详细说明,ASC Ⅱ码数据格式只是把16进制代码 转换成ASC Ⅱ码字符。 地址码:这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。 功能码:通讯传送的第二个字节。ModBus 通讯规约定义功能号为01H 到7FH 。本控制器利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的

最高位 (比如功能码大于7FH),则表明从机没有响应操作或发送出错。 数据区:数据区是根据不同的功能码而不同。 CRC码:二字节的错误检测码。 当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。如果出错就不发送任何信息。 2.2.2 信息帧格式: (1)地址码: 地址码是信息帧的第一字节(8位),从1到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的 从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。 (2)功能码: 主机发送的功能码告诉从机执行什么任务。表2列出的功能码都有具体的含义及操作。 (3 数据区包含需要从机执行什么动作或由从机采集的返送信息。这些信息可以是数值、参考地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器 的起始地址及读取长度。对于不同的从机,地址和数据信息都不相同。 (4)错误校验码: 主机或从机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程 中出错的信息不起作用。这样增加了系统的安全和效率。错误校验采用CRC-16校验方法。 注: 信息帧的格式都基本相同:地址码、功能码、数据区和错误校验码。 2.2.3 错误校验 参与冗余循环码(CRC)计算的包括:地址码、功能码、数据区的字节。 冗余循环码包含2个字节,即16位二进制。CRC码由发送设备计算,放置于发送信息的尾部。接收信息的设备再重新计算接收到信息的 CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。 CRC码的计算方法是,先预置16位寄存器全为1。再逐步把每8位数据信息进行处理。在进行CRC码计算时只用8位数据位,起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与CRC码计算。 在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位移一字节,用0填补最高位。再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低位为0,不进行异或运算。 这个过程一直重复8次。第8次移位后,下一个8位再与现在寄存器的内容相异或,这个过程与以上一样重复8次。当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。 计算CRC码的步骤为: (1).预置16位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC寄存器; (2).把第一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器; (3).把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位(注意:这时的最低位指移位前 的最低位,不是移位后的最低位); (4).如果最低位为0:重复第3步(再次移位)

RS485高速数据传输协议的设计与实现

ISSN 1000-0054CN 11-2223/N 清华大学学报(自然科学版)J T singh ua Un iv (Sci &Tech ),2008年第48卷第8期 2008,V o l.48,N o.8w 22 http://qhx bw.chinajo   RS 485高速数据传输协议的设计与实现 耿立中, 王 鹏, 马 骋, 贾惠波 (清华大学精密仪器与机械学系,精密测试技术及仪器国家重点实验室,北京100084) 收稿日期:2008-01-03 作者简介:耿立中(1985—),男(汉),山东,博士研究生。通讯联系人:贾惠波,教授,E-mail:jiah b@tsingh 摘 要:为实现远距离的高速基带信号传输,该文设计了一种以RS 485标准为物理层基础,在现场可编程门阵列(F PG A )平台上实现的数据传输协议。该协议利用串行信号的跳变沿作为高速时钟检测的起点实现位同步,可以有效地解决信号码间干扰问题;利用8B /10B 编码实现帧同步,可以保证位同步的准确性和帧同步控制字符的可靠性。该文利用F PG A 平台对协议进行了实验测试,测试结果表明该协议可以实现220m 距离上的14.5M b /s 的有效数据传输,为长距离的高速数据传输提供了可靠的实现方法。 关键词:传输协议;R S485总线;现场可编程门阵列 (FP GA ) 中图分类号:T N 913.8 文献标识码:A 文章编号:1000-0054(2008)08-1311-04 Design and implement of RS485high speed data communications protocol G ENG Lizhong ,WANG Peng ,MA Cheng ,JIA Hu ibo (S tate K ey Laboratory of Precision Measurement Technology & Instruments ,Department of Precision Instruments and Mechanology ,Tsinghua Univers ity ,Beijing 100084,China )Abstract :Th is paper des crib es a RS485commun ication s protocol for high -speed baseb and commu nications.T he inter symb ol inter feren ce (ISI)is reduced by an efficient bit s ynch ronization signal detection schem e.Samplin g begins at th e begin ning of the inpu t signals to get ex act digital r esu lts.T he frame synchronization us es 8B/10B coding an d guaran tees bit syn chroniz ation.T he protocol w as implemented on a field programmable gate array (FPGA)w ith test res ults indicating that th e protocol achieves 14.5M b /s along a 220meters line. Key words :com munication protocol;RS485 bus ; field programmable gate array (FPGA) RS485作为一种串行通信的接口,具有传输距 离长、速度较高、电平兼容性好、使用灵活方便、成本低廉和可靠度高等优点,在智能管理[1] 、在线控制[2] 、地质勘探 [3-4] 等许多领域都有着广泛的应 用[5]。目前Pro fibus -DP 、Arcnet 和CAN 等总线标 准的物理层均是RS 485规范,这些总线标准不能同时保证长距离(200m 以上)和高的传输速度,其中性能较好的Profibus 只能在100m 距离上实现12 M b /s 的数据传输 [6-7] 。由于RS485传输为基带信号传输,没有单独的时钟线,所以时钟提取成为整个高速数据传输协议的关键。现有的串行数据时钟提取技术中,同步方式 复杂度较高[8] ,异步方式中通用异步收发器(U ART ) [9] 以字为传输协议的基本单元,一般不适 应太高的速率,传输效率也较低。 本文以RS 485标准为物理层基础,在现场可编程门阵列(FPGA)平台上设计并实现了一种基于特殊的时钟提取方法的传输协议,可以用于串行数据的高速远距离传输。该协议利用串行信号的跳变沿作为高速时钟检测的起点实现位同步,有效地解决信号码间干扰问题;采用8B/10B 编码实现帧同步,保证位同步的准确性和帧同步控制字符的可靠性。 1 协议描述 1.1 位同步设计 本设计的位同步方法是以波特率的10倍频时钟作为检测时钟,信号的上升沿和下降沿作为位同步采样的起点。建立2个采样寄存器R H 、R L ,当高频时钟检测到输入信号为高电平时,开始对检测时钟计数,并存入寄存器R H ,同时将R L 置零,当R H 为5时产生第一个采样点,而后每隔10个时钟周期产生采样点,采得的数字信号为“1”;相应的当高频时钟检测到输入信号为低电平的时候,开始对时钟计数,并存入寄存器R L ,同时将R H 置零,当R L 为5时产生第一个采样点,而后每隔10个时钟周期产生采样点,采得的数字信号为“0”。

相关主题