最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能装备

数控总线的消息安全通信方法

发布时间:2014-04-06 作者:胡毅 于东 郭锐锋 岳东峰 刘明烈 何平  来源:万方数据
关键字:数控 总线 消息安全 
针对数控总线的异步及同步通信特点,提出一种在数控总线应用层之上对所传输消息采用动态循环冗余校验(Cyclical redundancy check,CRC)的消息安全通信方法。给出数控总线安全报文结构,设计出基于动态CRC校验的安全通信方法及相应算法。采用数学手段及试验测试对所提出方法与传统方法进行性能比较,证明该方法满足通信实时性要求,同时剩余错误率有明显降低,并能完全满足消息完整性等级要求。结果表明,该方法适合于数控总线消息安全通信的应用。
 

  2.2算法描述

  消息安全通信算法分发送端算法与接收端算法两部分,发送端算法描述如下。

  (1)设置本次建立连接后通信的会话号,转步骤(2)。

  (2)如果在一段时间内未收到消息,则进行新消息的发送,转步骤(3)。否则,对接收到的消息进行处理,转步骤(7)。

  (3)判断发送端所要发送的安全数据Mi的类型,如果无法识别则报错,转步骤(2)。否则为可识别的类型,转步骤(4)。

  (4)对发送端所要发送的安全数据Mi进行封装操作。封装过程分为以下几步:①加载本次即将发送的安全数据Mi;②加载1字节的状态位,该状态位初始值为1,表示正常通信:③加载1字节的会话号;④加载1字节的序列号;⑤根据发送端上一个CRC校验值与当前安全数据城一起计算出新的CRC校验值,加载该新的CRC校验值,大小为2字节。封装完毕,发送封装后的消息给接收端,转步骤(5)。同时记录新的CRC校验值用于下一次发送校验。

  (5)如果发送端所发送的安全数据从的类型是同步消息,转步骤(2)。否则为异步消息,转步骤(6)。

  (6)中断发送端消息的发送,等待接收到安全数据Si后,转步骤(2)。

  (7)读取所接收消息的序列号,根据序列号提取相关CRC:校验值,进行校验,如果校验成功,转步骤(8)。否则校验不成功,转步骤(9)。

  (8)提取所接收消息中的状态位,如果是0,即为重发请求,则重发消息,然后转步骤(2).否则,不是重发请求,直接转步骤(2)。

  (9)要求从站重发,将状态位置为0,将重发消息发送给接收端,然后转步骤(2)。

  接收端算法描述如下。

  (1)等待发送端所发送的消息,根据其会话号和序列号提取相关CRC校验值,转步骤(2)。

  (2)使用提取的CRC校验值对所接收的消息进行校验,如果校验通过,则转步骤((3)。否则校验未通过,转步骤(5)。

  (3)提取所接收消息中的状态位,对其值进行判断,如果为1,是正常消息,转步骤(4)。否则为0,是重发消息,则进行重发,转步骤(1)。

  (4)提取所接收消息中的CRC校验值并储存,然后用储存的CRC校验值对欲发送给发送端的安全数据S;进行处理,得到的新的CRC校验值并不存储,但却跟安全数据Si、状态位、会话号以及序列号封装到一起,共同发送给发送端,然后转步骤(1)。

  (5)判断该消息发生错误的次数,如果大于某个设定界限,则向发送端发送上一消息的重发请求消息,然后转步骤(1)。否则,向发送端发送该消息的重发请求消息,然后转步骤(1)。

3 性能分析

  剩余错误率为检验消息安全传输方法性能好坏的主要标准之一。首先定义性能分析中需要用到的各种函数及变量。

  (1)Sd:安全数据,即需要安全传输的原始数据,用Sa (x)表示其多项式。

  (2) Sc:校验值,由上一个CRC校验值与安全数据Sa共同求得,用Sc(x)表示其多项式。

  (3) G:生成多项式,用g(x)表示其多项式。

  (4) m:安全数据Sd所包含的位数。

  (5) r:生成多项式g(x)的度数,亦即Sc中所包含的位数。

  (6) n:在通信中传输的帧的位数。

  (7) Be:在通信中发生错误的位的总数。

  (8) Bude:在通信中没有被检测到的错误位的总数。

  (9) Ball:在通信中所有传输位的总数。

  3.1 CRC方法

   

6
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。