一种紧凑型网络通讯协议的制作方法

文档序号:22804565发布日期:2020-11-04 04:07阅读:196来源:国知局
一种紧凑型网络通讯协议的制作方法

本发明属于工业设备生产监控领域,具体涉及一种紧凑型网络通讯协议。



背景技术:

由plc、单片机和cpld等各种缺乏系统资源的底层硬件所组成的系统(如检测系统和监控系统),难以用有限的系统资源来实现较复杂的功能,并同时满足安全性、实时性和可扩展性等方面的要求。



技术实现要素:

本专利的目的在于,克服系统资源缺乏的困难,提出了一种紧凑型指令系统和网络协议的实现方案。

本发明解决其技术问题所采用的技术方案是:一种紧凑型网络通讯协议,用于底层硬件系统之间进行通讯,单帧传输时由一个作为控制帧的系统帧完成一个完整的操作,一个帧固定8个字节来对应操作所需的信息,传输内容根据硬件结构特点定制,以单帧传输格式中的开关量信号代表实际电路中的高低电平信号;多帧传输时通过一个作为应答帧的系统帧应答系统命令,然后通过数据帧包传输数据;数据压缩时采用直接截取32位数据中高16位的方式并定义专用压缩数据帧格式,实现对于精度要求不高但是数据量要求较高的系统进行多帧传输。

进一步,所述的底层硬件系统为基于plc、cpld或单片机的检测系统或监控系统。

更进一步,运行在潜在电路分析系统的can网络和rs485网络上时,硬件操作微码化并以开关量形式实现的指令系统、单帧传输格式、多帧传输格式和数据压缩。

所述的一种紧凑型网络通讯协议,在传输单帧数据时,将首字节作为帧模式,随后两个字节依次为指令字节和通道字节,随后四个字节作为操作数据。

所述的一种紧凑型网络通讯协议,在传输多帧数据时,若帧数n≤253,则发送n+1帧数据,将首字节作为帧模式,随后两个字节依次为指令字节和通道字节,随后四个字节为数据的传输量,若帧数n>253,则增加中继帧格式,将中继帧首字节作为帧模式,随后两个字节依次为指令字节和通道字节,随后四个字节为已完成传输的数据量。

所述的一种紧凑型网络通讯协议,所述的数据压缩步骤为:截取24位小数部分中位于byte0的8位,保留8位整数部分,将byte0、byte1、byte2的24位小数部分和byte3的8位整数部分组成的32位数据压缩成16位数据。

所述的一种紧凑型网络通讯协议,发送端对原始数据进行快速傅立叶变换,然后将保留主要分量、舍弃次要分量的压缩数据通过传输网络传输到接收端,接收端再通过快速傅立叶逆变换得到复原数据。

所述的一种紧凑型网络通讯协议,发送端对原始数据进行小波变换,然后将保留主要分量、舍弃次要分量的压缩数据通过传输网络传输到接收端,接收端再通过小波逆变换得到复原数据。

本发明的技术效果是:

1,由于将硬件操作微码化,以开关量形式实现,消耗系统资源少,故可用于由plc、单片机和cpld等各种缺乏系统资源的底层硬件所组成的系统,并有效地提高了系统的实时性和可靠性;

2,由于每个单帧数据与每个系统操作一一对应,每一个单帧数据都是一次完整的系统操作,同时增加校验,确保系统操作安全可靠。同时数据传输格式与现有的大部分通讯协议保持兼容,故可以使用在can、rs485、rs232等多种网络平台;

3,多帧传输格式,将系统应答与数据分开,同时数据帧包内采用顺序号,整个传输过程简洁直观。对于超长多帧传输格式,采用了中继帧,极大地扩展了多帧发送长度,并保证了多帧传输的可靠性;

4,将32位格式直接压缩为16位格式,虽然损失了部分精度,但是精度损失有限,且适用性广,运算量小,压缩比大,可以有效提升数据传输的数据量,保证了系统的实时性。而快速傅立叶变换/逆变换和小波变换/逆变换的应用,可以极大地提升传输数据的压缩量,由此大幅提升数据的传输效率,将本紧凑型监控的指令系统和网络协议的应用范围从中小数据量系统延伸到大数据量系统。

附图说明

图1为本发明通讯协议典型的指令系统;

图2为本发明传输的典型单帧数据格式;

图3为本发明传输的典型多帧传输格式;

图4为本发明通讯协议典型的数据压缩方式;

图5和图6为本发明两种传输压缩数据的示意图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明。

本专利封装了指令系统和通讯协议的核心功能,将系统层级控制与硬件层级控制相结合,通过大幅提高操作效率和增加多种扩展方式,克服了系统资源有限的困难,扩展了应用领域。

本专利简洁合理,应用范围广,可用于资源不足的各种系统,提高了系统的安全性、实时性、紧凑性和可扩展性。

本发明公开了一种紧凑型网络通讯协议,用于底层硬件系统之间进行通讯,该网络通讯协议的定义包括:单帧传输格式、多帧传输格式和数据压缩。

所述的单帧传输格式由一个单帧数据完成一个完整的操作,通过8个字节包含操作所需的信息,传输内容根据硬件结构特点定制,即将单帧传输的数据微码化,以单帧传输格式中的开关量信号代表实际电路中的高低电平信号(图1中cs信号为0表示工作,1表示停止);所述的多帧传输格式用于完成大批量数据传输,通过系统帧应答系统命令,通过数据帧包传输数据;普通数据压缩时采用直接截取32位数据中高16位的方式并定义专用压缩数据帧格式,实现对于精度要求不高但是数据量要求较高的系统进行多帧传输。

本发明通讯协议用单帧传输格式中的开关量信号代表实际电路中的高低电平信号,把所有具体化的微码组成一个集合,就成为了整套装置的一个完成所有功能的指令集(指令系统)。

硬件操作微码化并以开关量形式实现的指令系统、单帧传输格式、多帧传输格式和数据压缩。指令系统根据所使用硬件特征选取指令内容,将硬件操作微码化,以开关量形式实现。典型的指令系统见图1。

其中每个单帧数据包含了帧模式,指令字节,通道字节,操作数据和校验码,故每个单帧与每个系统操作一一对应。典型的单帧传输格式见图2。

其中数据帧包中每帧首字节采用顺序号;多帧传输格式还包括中继帧格式。系统帧格式与中继帧格式和单帧传输格式保持兼容。典型的多帧传输格式见图3。

指令字节高4位选取工作模式、数据类型、器件状态和工作状态作为开关量,分别对应硬件系统的主从模式、数据类型、器件状态和片选信号。指令字节低4位为器件地址,可寻址16个器件或者子系统。

通道字节高2位选取读写模式和作用域范围作为开关量,分别对应硬件系统的读写模式和全局/局部信号。通道字节低6位为子通道地址,可寻址64个子通道或者子系统的下一级子系统。

以本发明通讯协议应用在某潜在电路分析系统上的应用进行说明,实施如下。

本发明在传输单帧数据时,如图2所示,单帧传输格式固定8个字节:首字节为帧模式,取值固定为0xff(即0xff代表单帧传输);随后两个字节依次为指令字节和通道字节;随后四个字节为操作数据,对应32位带宽。而操作数据又分两种:系统操作数据和普通数据。其中,普通数据所用数据格式为标么化格式,高8位为整数部分,低24位为小数部分。最后一个字节为校验字节,保证本帧数据的安全性。

本发明在传输多帧数据时,如图3所示,多帧传输格式根据需要发送的帧数调整长度。

当需要发送的帧数n≤253时(即十六进制0xfd),需发送n+1帧数据。首帧为系统帧,用来应答系统命令,首字节为帧模式,取值固定为0x00(即0x00代表多帧传输中的系统帧),随后两个字节依次为指令字节和通道字节,随后四个字节为数据的传输量,根据需要选择单位,即可选择采样次数,也可选择帧包次数。最后一个字节为校验字节,保证本帧数据的安全性。其余帧为数据帧包,用来传输数据,帧包中每帧首字节为帧序号,取值范围为0x01~0xfd(即0x01~0xfd代表多帧传输中的数据帧包),接下来字节为指令字节,以表明传输的延续性,剩下六个字节全部用来传输数据内容。由于采用了16位的数据压缩格式(即两个字节),所以一帧可以传输3次压缩数据。

当需要发送的帧数n>253时,增加了中继帧格式。中继帧首字节为帧模式,取值固定为0xfe(即0xfe代表多帧传输中的中继帧),随后两个字节依次为指令字节和通道字节,随后四个字节为已完成传输的数据量,根据需要选择单位(采样次数或者帧包次数)。最后一个字节为校验字节,对该次数据帧包进行一次总的校验,保证该次批量发送的安全性。系统帧格式与中继帧格式和单帧传输格式保持兼容。

本发明的传输数据统一采取标么化格式,对于精度要求不高但是数据量要求较高的系统在多帧传输时,采用截取高16位的数据压缩方式,直接将32位格式压缩为16位格式,将每一帧数据量从1增加到3。

具体的数据压缩步骤为:截取24位小数部分中位于byte0的8位,保留8位整数部分,将byte0、byte1、byte2的24位小数部分和byte3的8位整数部分组成的32位数据压缩成16位数据,如图4所示,满量程精度由满量程2^-32(约0.00023ppm)下降到2^-16(约0.0015%),满足满量程0.05%的系统精度需求。

如果系统计算能力较高,同时采取快速傅立叶变换/逆变换或者小波变换/逆变换,进行进一步压缩。

如图5所示,发送端对原始数据进行快速傅立叶变换,然后将保留主要分量、舍弃次要分量的压缩数据通过传输网络传输到接收端,接收端再通过快速傅立叶逆变换得到复原数据;或如图6所示,发送端对原始数据进行小波变换,然后将保留主要分量、舍弃次要分量的压缩数据通过传输网络传输到接收端,接收端再通过小波逆变换得到复原数据。

由于该系统属于中小数据量系统,未采用快速傅立叶变换/逆变换或者小波变换/逆变换,对数据进行进一步压缩。

本指令系统和网络协议运行在该潜在电路分析系统的can网络和rs485网络上。

在进行can通讯测试时,最大测试回路为5路,路数在测试软件初始化中设置,测试软件与待测控制器依照拟订的协议完成一次正常收发,记录测试结果。

在进行rs485通讯测试时,最大测试回路为4路,路数在测试软件初始化中设置,测试软件与待测控制器依照拟订的协议完成一次正常收发,记录测试结果。

在进行rs232通讯测试时,最大测试回路为1路,路数在测试软件初始化中设置,测试软件与待测控制器依照拟订的协议完成一次正常收发,记录测试结果。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1