您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 工程实践与科技创新[4A]常规项目RS422485主从通信协议(2011年3月15日)
工程实践与科技创新[4A]RS485主从通信协议(V1.1发布于2010年3月15日)0.修改记录表1修改记录版本日期作者修改前修改后V1.02007年3月25日袁焱——V1.0a2009年3月19日袁焱表4中Tcr和Trc的最小值定为20ms表4中Tcr和Trc的最小值定为0ms注:物理信道改用支持全双工模式的四线方式V1.12011年3月15日袁焱—规定了统一的异步通信波特率和字节格式。见第10节。1.信息帧的基本结构通信主机和从机间信息传输,以信息帧(数据包)方式进行,信息帧的组成结构应符合表2。信息帧在传输时采用全ASCII字符方式,使其具有较好的可显性和易读性。由通信主机发往从机的信息帧,称为命令帧;由通信从机发往主机的信息帧,称为响应帧。由通信主机发往某特定从机的命令帧,称为单播命令帧;由通信主机发往所有从机的命令帧,称为广播命令帧。响应帧是对确定的单播命令帧的回复,两者有一一对应关系;从机收到广播命令帧,不回复任何响应帧。表2信息帧的基本结构传输时字符(ASCII代码)数编码段表示意义命令帧响应帧1SOI起始标识2[注1]VER通信协议版本号2[注1]ADR目的地址2[注1]CMD1RSPD命令码1/响应标识码2[注1]CMD2RTN命令码2/返回码2[注1]LENGTH参数段字节长度2[注1]LENGTHINFO参数段2[注1]CHKSUM校验和1EOI结束标识注1:传输时使用2倍的字符数,例如若编码段VER的编码为0x10,则传输时使用字符’1’和’0’表示,即ASCII代码0x31,0x30(高位数字对应的字符在先,低位在后)。2.起始标识和结束标识(SOI和EOI)起始标识采用字符’~’,相应ASCII代码为0x7E。结束标识采用字符’\r’(回车符),相应ASCII代码为0x0D。3.通信协议版本号(VER)V1.0对应为0x10。4.目的地址(ADR)在本应用的通信系统中,无论通信主机还是任何一个确定的从机,都具有确定的唯一性标识,称通信机的地址。以下说明地址编码的分配情况。0:分配给通信主机的地址码。1~254(0x01~0xFE):分配给各通信从机的地址码,从ADR的地址容量角度看,本应用中最多可同时容纳254个通信从机。255(0xFF):保留,拟作通信主机向所有通信从机传输广播信息时的地址标识。5.命令码1、命令码2(CMD1、CMD2)在命令帧中,命令码CMD1和CMD2组合表示一条命令代码。CMD1是主码,表示一类命令,一般同类命令的CMD1相同;CMD2是辅码,与主码配合,构成命令的唯一性标识。CMD1和CMD2的编码方式,由协议使用者根据业务需要自行确定。6.响应标识码、返回码(RSPD、RTN)在响应帧中,通过响应标识码RSPD指示所对应的命令帧情况,RSPD取所对应命令帧的CMD1的值。通信主机收到该响应帧时,可通过阅读RSPD段,检验是否是与所发命令帧相对应的响应,减少错误响应对通信系统正常工作的影响。当目的接收机(某通信从机)正常接收命令帧(基本结构要素完整,即SOI和EOI存在,长度符合要求),并正确解析命令后,应按要求回复响应帧,且在RTN段中指示“正常回复”。通信从机应按以下顺序,依次对命令帧进行解析:(1)检查VER段;(2)检验CHKSUM;(3)判断CMD1、CMD2的合法性和有效性;(4)检验LENGTH与INFO段实际长度是否相符;(5)判断INFO段中各参数的合法性和有效性。若命令帧解析失败,通信从机通过响应帧的RTN段编码(见表3),向主机指示按以上顺序检验到的第1种错误。表3返回码意义编码正常回复00VER错01CHKSUM错02非法或无效命令03参数段长度错04非法或无效参数057.参数段长度LENGTHLENGTH:0~255(00H~0FFH)8.CHKSUM的计算:除SOI、EOI和CHKSUM外,其他字节累加求模256和,取结果的补码(原码取反加1)。换言之,除SOI、EOI外,其他字节(包括CHKSUM)的原码的模256和应为0。9.参数段INFOINFO段格式及编码,由协议使用者根据业务需要自行定义。信息帧可以没有参数段(相应LENGTH取0)。10.通信时序特性异步通信字节格式:9600Baud,8位数据,无奇偶校验位,1位停止位;Tbb:帧内字节间隔时间;Tcr:命令帧-响应帧间隔时间;Trc:响应帧-下一命令帧间隔时间。表4通信时序特性符号最小值MIN最大值MAXTbb020msTcr0500msTrc0—注:若TbbTbbMAX,则通信接收方可判定帧传输中止;若TcrTcrMIN或TrcTrcMIN,则存在通信接收方无法正确接收的风险;若TcrTcrMAX,则通信主机可判定目的从机不在线。Tbb…SOIEOI命令帧N…SOIEOI命令帧N+1…SOIEOI对命令帧N的响应帧TbbTcrTrc图1通信时序特性11.举例假定命令帧中:VER=0x10;//版本号V1.0ADR=0x01;//目的地址指向编号为1的通信从机CMD1=0x10;CMD2=0x21;//假定0x100x21组合代表某合法命令LENGTH=0x02;//与该命令关联的有2个字节的参数INFO=0x00;0x02;//参数值CHKSUM=0xBA;//以上模256和为0实际发送的是ASCII字符序列:~10011021020002BA\r,其中\r表示回车符。对该命令帧,1号从机回复以下响应帧:VER=0x10;//版本号V1.0ADR=0x00;//目的地址指向通信主机RSPD=0x10;//与命令帧的CMD1取值同RTN=0x00;//正确接收并解析,命令各部分均合法有效LENGTH=0x03;//响应帧含3个字节的参数INFO=0x01;0x020x03;//参数值CHKSUM=0xD7;//以上模256和为0实际发送的是ASCII字符序列:~1000100003010203D7\r,其中\r表示回车符。
本文标题:工程实践与科技创新[4A]常规项目RS422485主从通信协议(2011年3月15日)
链接地址:https://www.777doc.com/doc-2444312 .html