[发明专利]基于RS‑485半双工总线的业务盘升级方法有效
申请号: | 201410500140.5 | 申请日: | 2014-09-25 |
公开(公告)号: | CN104283749B | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 梁凡;王新柱;余琴;田桦 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | H04L12/40 | 分类号: | H04L12/40;H04L12/24 |
代理公司: | 北京捷诚信通专利事务所(普通合伙)11221 | 代理人: | 魏殿绅,庞炳良 |
地址: | 430074 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于RS‑485半双工总线的业务盘升级方法,涉及RS‑485串口通信领域。该方法包括以下步骤用户选择基于RS‑485半双工总线的业务盘升级软件,用户在业务盘升级软件中选择需要升级的软件文件。发送任务模块从发送消息队列模块中获取与当前软件文件对应的通信数据包,并根据通信数据包构造RS485发送消息报文、并将RS485发送消息报文发送至接收任务模块。接收任务模块确定RS485发送消息报文的参数后,将RS485发送消息报文分发至对应的业务盘。业务盘的软件根据收到的RS485发送消息报文进行升级。本发明不仅适用范围比较广泛,能够降低通信设备的维护成本;而且能够对多个业务盘的软件进行批量升级,工作效率较高,便于人们使用。 | ||
搜索关键词: | 基于 rs 485 双工 总线 通信 系统 业务 升级 方法 | ||
【主权项】:
一种基于RS‑485半双工总线的业务盘升级方法,提供一种通信系统,所述通信系统包括发送消息队列模块、发送任务模块、接收任务模块和定时器;所述发送消息队列模块用于:当主控盘需要向业务盘发送通信数据时,根据预设的主控盘应用层通信协议,将主控盘的应用层通信信息和目的业务盘地址封装为通信数据;所述发送任务模块用于:从发送消息队列模块中获取通信数据,检查当前RS‑485半双工总线的通信状态:若当前RS‑485半双工总线的通信状态为空闲,通过RS‑485半双工总线向接收任务模块发送通信数据,标记当前的RS‑485半双工总线通信状态为繁忙;记录本次发送的目的业务盘地址和通信数据的数据帧的序号,启动定时器;若当前RS‑485半双工总线的通信状态为繁忙,按照预先设定的延迟时间进行等待,延迟时间过后,再次检查当前RS‑485半双工总线的总线通信状态;所述接收任务模块用于:接收发送任务模块发送的通信数据,当收到通信数据的完整数据帧后,确定数据帧的帧头检查结果:若帧头检查结果为帧头数据非法,则丢弃当前通信数据:若帧头检查结果为帧头数据合法,且帧头数据中的目的业务盘的地址、数据帧的序号与当前RS‑485半双工总线记录的目的业务盘的地址、数据帧的序号一致,则确定当前通信数据为预期的应答数据,将当前通信数据发送至相应的业务盘处理;控制发送任务模块停止定时器,设置RS‑485总线通信状态为空闲;若帧头检查结果为帧头数据合法,且帧头数据中的目的业务盘的地址、数据帧的序号与当前RS‑485半双工总线记录的目的业务盘的地址、数据帧的序号不一致,则确定当前通信数据不是预期的应答数据,丢弃当前通信数据;所述定时器用于:设置数据发送超时时间,在发送任务模块向接收任务模块发送通信数据后启动;若在超时时间内接收任务模块收到预期的通信数据,则停止工作;若在超时时间内接收任务模块未收到预期的通信数据,则控制发送任务模块标记当前RS‑485半双工总线的通信状态为空闲;使用所述通信系统的业务盘通信方法包括:A、当主控盘需要向业务盘发送数据时,发送消息队列模块根据预设的主控盘应用层通信协议,将主控盘的应用层通信信息和目的业务盘地址封装为通信数据;转到步骤B;B、在发送任务模块中预先设定延迟时间,发送任务模块从发送消息队列模块中获取通信数据;转到步骤C;C、发送任务模块检查当前RS‑485半双工总线的通信状态:若当前RS‑485半双工总线的通信状态为空闲,通过RS‑485半双工总线向接收任务模块发送通信数据,并标记当前的RS‑485半双工总线通信状态为繁忙;记录本次发送的目的业务盘地址和通信数据的数据帧的序号,启动定时器,在定时器中设置数据发送超时时间,转到步骤D;若当前RS‑485半双工总线的通信状态为繁忙,按照延迟时间进行等待,延迟时间过后,重新执行步骤C;D、接收任务模块判断在超时时间内是否收到通信数据的完整数据帧,若是,转到步骤E,否则发送任务模块标记当前RS‑485半双工总线的通信状态为空闲,结束;E、接收任务模块确定数据帧的帧头检查结果:若帧头检查结果为帧头数据非法,则丢弃当前通信数据,结束;若帧头检查结果为帧头数据合法,且帧头数据中的目的业务盘的地址、数据帧的序号与当前RS‑485半双工总线记录的目的业务盘的地址、数据帧的序号一致,则确定当前通信数据为预期的应答数据,将当前通信数据发送至相应的业务盘处理;发送任务模块停止定时器,结束;若帧头检查结果为帧头数据合法,且帧头数据中的目的业务盘的地址、数据帧的序号与当前RS‑485半双工总线记录的目的业务盘的地址、数据帧的序号不一致,则确定当前通信数据不是预期的应答数据,丢弃当前通信数据,结束;其特征在于:应用所述业务盘通信方法的业务盘升级方法包括以下步骤:S1:用户选择基于RS‑485半双工总线的业务盘升级软件,用户在业务盘升级软件中选择需要升级的软件文件;S2:发送任务模块从发送消息队列模块中获取与当前软件文件对应的通信数据包,发送任务模块根据通信数据包构造RS485发送消息报文、并将RS485发送消息报文发送至接收任务模块;S3:接收任务模块确定RS485发送消息报文的参数后,将RS485发送消息报文分发至对应的业务盘;S4:业务盘的软件根据收到的RS485发送消息报文进行升级;步骤S2具体包括以下步骤:S201:发送任务模块从发送消息队列模块中获取通信数据包,发送任务模块获取目的业务盘支持主从通信协议的最大包长;S202:发送任务模块确定当前通信数据包的长度是否超过最大包长,若是,转到步骤S203,否则转到步骤S204;S203:发送任务模块对当前通信数据包进行分包和压缩,转到步骤S204;S204:发送任务模块根据通信数据包构造RS485发送消息报文,将所有RS485发送消息报文形成RS485发送队列,转到步骤S205;S205:发送任务模块按照RS485发送队列的顺序确定当前需要发送的RS485发送消息报文,转到步骤S206;S206:发送任务模块锁定并读取与当前RS485发送消息报文对应的RS485会话记录,转到步骤S207;S207:发送任务模块判断当前RS485发送消息报文的属性与当前会话记录的属性是否相同,若是,转到步骤S208,否则转到步骤S210;S208:发送任务模块确定定时器的工作状态,若定时器启动,停止定时器;若定时器未启动,发送任务模块通过RS485驱动程序发送当前RS485发送消息报文;并启动定时器,若在定时器设置的超时时间内收到接收任务模块的应答,则解锁当前RS485会话记录,转到步骤S209;若在超时时间内未收到接收任务模块的应答,则解锁并清楚当前RS485会话记录,转到步骤S209;S209:判断RS485发送队列中的RS485发送消息报文是否全部发送,若是,步骤S2结束,转到步骤S3;否则再次执行步骤S205;S210:解锁当前RS485会话记录,根据预先设置的延迟时间进行等待,延迟时间过后,重新执行步骤S206。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410500140.5/,转载请声明来源钻瓜专利网。
- 上一篇:一种蒸发式空冷器增膜板
- 下一篇:精确检测大流老化的方法及装置