基于CAN与RS485总线二合一的BMS协议的通信防错方法与流程
- 国知局
- 2024-09-11 15:08:25
本发明涉及数字信息的传输,电数字数据处理,bms协议等,尤其涉及一种基于can与rs485总线二合一的bms协议的通信防错方法。
背景技术:
1、rs485和can总线是工业自动化领域广泛应用的两种通信协议。rs485以其长通信距离、高差分信号抗干扰性等优点在诸多场合得到应用。而can总线则以其高实时性、多主站通信能力等特点在复杂工业环境中占据重要地位。然而,传统的 bms通信rs485、can是有两个物理接口和两个通信协议,在复杂的工作环境中容易出现物理接口接错,导致bms系统性能下降,造成掉包和连接失败等通信错误。为解决这一问题,目前存在将can和rs485物理总线合并在同一个总线上的技术,但是由于can和rs485物理总线都是差分信号,通信出错问题依然频发。
2、综上所述,现有bms通信技术存在易出现物理接口接错,bms系统性能下降,通信出错频发等技术问题。
技术实现思路
1、针对上述现有技术存在的不足,本发明提供一种基于can与rs485总线二合一的bms协议的通信防错方法,以避免物理接口接错,提升bms系统的性能,减少通信出错。
2、本发明提供的基于can与rs485总线二合一的bms协议的通信防错方法,包括以下步骤:
3、将can与rs485总线设置为二合一的bms协议的通信总线,所述二合一的bms协议的通信总线搭载n个bms系统进行并机通信,同一个接口接入rs485总线或can总线时自动识别是can通信还是rs485通信,所述bms系统配置为从机,与所述bms系统通信的上位机为主机;n为大于1的自然数;
4、当所述主机和所述从机之间发生数据传输通信时,在数据发送端,为每个数据包添加帧头、读写位、功能码、心跳包、校验码以及帧尾位,在数据接收端,使用与所述数据发送端相同的校验算法对接收到的数据包进行校验码验证,如果校验码不匹配,则判定数据包传输错误,并请求重传;
5、在所述bms系统中设置通信异常检测机制,所述通信异常检测机制实时监测通信状态和数据传输情况,当检测到通信异常时,根据异常类型自动启动相应的处理流程。
6、进一步,所述二合一的bms协议的通信总线搭载n个bms系统进行并机通信,包括:
7、所述二合一的bms协议的通信总线同时连接rs485通信接口和can通信接口,所述rs485通信接口连接m个bms系统,所述can通信接口连接p个bms系统;所述m个bms系统和所述p个bms系统之和等于n个bms系统,分别连接所述二合一的bms协议的通信总线进行并机通信。
8、进一步,所述m个bms系统和所述p个bms系统进行并机通信时,通过配置的总线控制器和接口适配器,实现rs485和can通信协议在总线上的透明传输。
9、进一步,n个所述bms系统的共享节点信息最小支持16 个节点,n个所述bms系统中不同控制单元之间通过所述共享节点信息进行通信。
10、进一步,n个bms系统进行并机通信时,包括:根据n个所述bms系统中不同控制单元的数据传输需求,选择适配所述数据传输需求的总线技术进行通信。
11、进一步,根据n个所述bms系统中不同控制单元的数据传输需求,选择适配所述数据传输需求的总线技术进行通信,包括:
12、判断n个所述bms系统中不同控制单元对需要传输的数据量需求和传输速度需求;
13、在需要传输的数据量大于预设的大数据量阈值且数据传输速度大于预设的高速率阈值时,自动选择所述二合一的bms协议的通信总线中can总线的通信格式进行通信;
14、在需要传输的数据量小于预设的大数据量阈值或数据传输速度小于预设的高速率阈值时,自动选择所述二合一的bms协议的通信总线中rs485总线的通信格式进行通信。
15、进一步,选择所述rs485总线的通信格式进行通信,所述主机发送命令时数据包的帧头占1字节,读写位占1字节,功能码1字节,心跳包占1字节,校验码占1字节,帧尾位占1字节;所述从机响应命令时数据包帧头占1字节,读写位占1字节,功能码1字节,心跳包占1字节,校验码占1字节,帧尾位占1字节。
16、进一步,选择所述can总线的通信格式进行通信,所述主机发送can数据帧时,can通信格式包括数据长度码dlc为8,对应数据长度码dlc的数据data的字节为byte0、byte1、byte2、byte3、byte4、byte5、byte6、byte7;byte0为帧头,byte1为起始功能码,byte2为索引位,byte3为起始字节,byte4为长度,byte5和byte6均为0,byte7为校验码crc;所述从机响应所述can数据帧的数据内容,can通信格式包括数据长度码dlc为8,对应数据长度码dlc的数据data的字节为byte0-byte7。
17、进一步,基于can与rs485总线二合一的bms协议的通信防错方法,包括:设置通信异步机制,所述通信异步机制用于确保can总线和rs485总线在数据传输过程中进行异步性通信,以防止两种通信相互信号干涉。
18、进一步,数据接收时,数据接收方通过所述校验码对数据进行校验,如果校验结果不正确,则认为数据出现错误,并采取相应的错误处理措施。
19、本发明与现有技术相比,其有益效果如下:
20、本发明提供一种基于can与rs485总线二合一的bms协议的通信防错方法,通过将can与rs485总线设置为二合一的bms协议的通信总线,所述二合一的bms协议的通信总线搭载n个bms系统进行并机通信,同一个接口接入rs485总线或can总线时自动识别是can通信还是rs485通信,所述bms系统配置为从机,与所述bms系统通信的上位机为主机,当所述主机和所述从机之间发生数据传输通信时,在数据发送端,为每个数据包添加帧头、读写位、功能码、心跳包、校验码以及帧尾位,在数据接收端,使用与所述数据发送端相同的校验算法对接收到的数据包进行校验码验证,如果校验码不匹配,则判定数据包传输错误,并请求重传,在所述bms系统中设置通信异常检测机制,所述通信异常检测机制实时监测通信状态和数据传输情况,当检测到通信异常时,根据异常类型自动启动相应的处理流程,从而兼容同一个接口实现两种不同的物理通信协议,提升bms系统的性能,减少通信出错。
技术特征:1.一种基于can与rs485总线二合一的bms协议的通信防错方法,其特征在于,包括:
2.如权利要求1所述的基于can与rs485总线二合一的bms协议的通信防错方法,其特征在于,所述二合一的bms协议的通信总线搭载n个bms系统进行并机通信,包括:
3.如权利要求2所述的基于can与rs485总线二合一的bms协议的通信防错方法,其特征在于,所述m个bms系统和所述p个bms系统进行并机通信时,通过配置的总线控制器和接口适配器,实现rs485和can通信协议在总线上的透明传输。
4.如权利要求1所述的基于can与rs485总线二合一的bms协议的通信防错方法,其特征在于,n个所述bms系统的共享节点信息最小支持16 个节点,n个所述bms系统中不同控制单元之间通过所述共享节点信息进行通信。
5.如权利要求1所述的基于can与rs485总线二合一的bms协议的通信防错方法,其特征在于,n个bms系统进行并机通信时,包括:根据n个所述bms系统中不同控制单元的数据传输需求,选择适配所述数据传输需求的总线技术进行通信。
6.如权利要求5所述的基于can与rs485总线二合一的bms协议的通信防错方法,其特征在于,根据n个所述bms系统中不同控制单元的数据传输需求,选择适配所述数据传输需求的总线技术进行通信,包括:
7.如权利要求6所述的基于can与rs485总线二合一的bms协议的通信防错方法,其特征在于,选择所述rs485总线的通信格式进行通信,所述主机发送命令时数据包的帧头占1字节,读写位占1字节,功能码1字节,心跳包占1字节,校验码占1字节,帧尾位占1字节;所述从机响应命令时数据包帧头占1字节,读写位占1字节,功能码1字节,心跳包占1字节,校验码占1字节,帧尾位占1字节。
8.如权利要求6所述的基于can与rs485总线二合一的bms协议的通信防错方法,其特征在于,选择所述can总线的通信格式进行通信,所述主机发送can数据帧时,can通信格式包括数据长度码dlc为8,对应数据长度码dlc的数据data的字节为byte0、byte1、byte2、byte3、byte4、byte5、byte6、byte7;byte0为帧头,byte1为起始功能码,byte2为索引位,byte3为起始字节,byte4为长度,byte5和byte6均为0,byte7为校验码crc;所述从机响应所述can数据帧的数据内容,can通信格式包括数据长度码dlc为8,对应数据长度码dlc的数据data的字节为byte0-byte7。
9.如权利要求1所述的基于can与rs485总线二合一的bms协议的通信防错方法,其特征在于,包括:设置通信异步机制,所述通信异步机制用于确保can总线和rs485总线在数据传输过程中进行异步性通信,以防止两种通信相互信号干涉。
10.如权利要求7所述的基于can与rs485总线二合一的bms协议的通信防错方法,其特征在于,数据接收时,数据接收方通过所述校验码对数据进行校验,如果校验结果不正确,则认为数据出现错误,并采取相应的错误处理措施。
技术总结本发明涉及数字信息的传输等技术领域,提供一种基于CAN与RS485总线二合一的BMS协议的通信防错方法,通过将CAN与RS485总线设置为二合一的BMS协议的通信总线,搭载N个BMS系统进行并机通信,同一个接口接入RS485总线或CAN总线时自动识别是CAN通信还是RS485通信,通信时在数据发送端为每个数据包添加帧头、读写位、功能码、心跳包、校验码以及帧尾位,在数据接收端使用与数据发送端相同的校验算法对接收到的数据包进行校验码验证,如果校验码不匹配,则判定数据包传输错误,并请求重传,监测通信状态和数据传输情况,当检测到通信异常时,根据异常类型自动启动相应的处理流程,从而兼容同一个接口实现两种不同的物理通信协议,提升BMS系统的性能,减少通信出错。技术研发人员:冯丽莉,莫礼宏受保护的技术使用者:深圳市华芯控股有限公司技术研发日:技术公布日:2024/9/9本文地址:https://www.jishuxx.com/zhuanli/20240911/293347.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表