[发明专利]一种用于低速串行总线的周期和非周期混杂通信方法及系统有效
申请号: | 201510309016.5 | 申请日: | 2015-06-08 |
公开(公告)号: | CN104917696B | 公开(公告)日: | 2018-08-03 |
发明(设计)人: | 汪雅楠;张和光;吴亚斌 | 申请(专利权)人: | 北京云迹科技有限公司 |
主分类号: | H04L12/861 | 分类号: | H04L12/861;H04L29/08 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 李春晅;代峰 |
地址: | 100000 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 低速 串行 总线 周期 混杂 通信 方法 系统 | ||
本发明涉及报文收发技术领域,公开了一种用于低速串行总线的周期和非周期混杂通信方法,该方法包括:客户端向服务器端串行发送数据报文,其中,周期性报文每个周期发送一次,非周期性报文在发生突发状况时发送;分析此时发送所述数据报文,是否会发生冲突,若会,所述数据报文暂存在缓存Buffer中;服务器端收到发送命令时,将标志位Flag置0,接收所述数据报文后,置1;根据Resp值判断子报文类型,若为所述周期性报文,则更新数据,若为所述非周期性报文,则写入RespBuffer。本发明通过设置所述Buffer和Flag,串行收发所述周期性报文和所述非周期性报文,防止二者发生冲突,并且快速对两者进行相应处理。
技术领域
本发明涉及报文收发技术领域,尤其涉及一种用于低速串行总线的周期和非周期混杂通信方法及系统。
背景技术
客户端数据需要上传至服务器端进行更新,数据上传可以通过串行和并行两种方式来完成,一般情况下,为避免资源浪费,在不需要频繁进行数据上传时,大多采用串行方式完成数据上传。串行方式传输数据由于发送端口单一,对周期性发送的数据报文传输更加方便,但对于突发性的数据报文却很容易造成数据冲突,导致错误。
目前,周期和非周期混杂通信传输数据,为解决串行传输数据冲突的问题,一般在串行端口出设置一个时钟,用来规定并计时每份数据报文传输的时间,但这样规定的时间一般是等间隔的,在没有需要上传的数据时,会造成资源的浪费,而在串行数据较多时,过大的时间间隔会造成传输拥堵,及时性差,若规定的时间间隔不同,则需要多个时钟,设置复杂,资源耗费过大。
发明内容
本发明所要解决的技术问题是,提供一种用于低速串行总线的周期和非周期混杂通信方法及系统,以解决周期性报文和非周期性报文混杂收发时造成的数据冲突和资源浪费等的问题。
本发明解决上述技术问题所采用的技术方案是提供一种用于低速串行总线的周期和非周期混杂通信方法,该方法包括步骤:
S1、客户端串行发送数据报文,其中,周期性报文每个周期发送一次,非周期性报文在发生突发状况时发送;
S2、判断此时发送所述数据报文是否会发生冲突,若会,则将所述数据报文放入缓存Buffer中暂存;
S3、若不会,则将发送所述数据报文;
S4、服务器端接收所述客户端的发送命令,将标志位Flag设置为0;
S5、接收所述数据报文,将所述Flag设置为1,并清空缓存RespBuffer;
S6、解析所述数据报文,若所述数据报文正确,则对其进行校验,若所述数据报文有错误,则将所述错误类型更新到ErrCode中;
S7、判断子报文类型,若为所述周期性报文,则更新服务器数据,若为所述非周期性报文,则写入所述RespBuffer中,并将标志位bRespReceived设置为1。
优选地,步骤S2中,当串行总线空闲时,判断所述缓存Buffer中是否有暂存的数据报文,若有,则发送所述数据报文,并清空所述缓存Buffer。
优选地,步骤S4中,所述标志位Flag设置为0时,开始计时,若计时超过设置的时间阈值T,仍未收到所述数据报文或发生检校错误,则为超时错误,停止接收,并更新所述ErrCode。
优选地,步骤S7中,所述服务器端根据Resp值判断子报文类型,若Resp=0X0F,则为所述周期性报文,若Resp≠0X0F,则为非周期性报文。
优选地,所述RespBuffer的标志位bRespReceived值为1时,所述服务器端需对所述RespBuffer中的非周期性报文进行答复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京云迹科技有限公司,未经北京云迹科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510309016.5/2.html,转载请声明来源钻瓜专利网。