报文转发方法、数据通信方法及单片机产品与流程
- 国知局
- 2024-08-02 13:54:10
本发明涉及单片机通信,特别是涉及一种报文转发方法、数据通信方法及单片机产品。
背景技术:
1、目前储能电源设备中常有多个单片机,如负责蓝牙、wifi通讯的单片机,负责整流逆变的信号处理单片机、负责监控存储的单片机、负责电池管理的单片机、负责安全管理的单片机等等。因串行通信uart(universal asynchronous receiver/transmitter,通用异步收发传输器)通讯速率设定范围广、通讯协议制定简单,不需专用收发器硬件,各种单片机也多有配备,当机器内部各单片机之间有通讯需求时,得到了广泛应用。
2、在现有的多单片机硬件系统中,存在一些多个单片机通过uart串联在一起形成多节点单片机系统的架构,如图1所示。在该硬件系统中,假设第一节点要向第三节点发送指令信息,第三节点收到指令信息后,再回复信息给第一节点,常用的通信方法如图2所示。
3、以指令报文和答复报文的长度均为10个字符,波特率为9600bps为例,传输一个字符数据需要(以起始位1bit+数据位8bit+停止位1bit,无校验位的串口协议举例)1000ms/9600*10≈1.042ms≈1ms。图2的具体传输过程如下:第一节点经过10个字符传输时间把指令报文传输到第二节点,再经过3.5字符的空闲等待时间,第二节点判定整包报文接收完成,开始处理报文,也就是第一节点到第二节点的传输要占用13.5ms。第二节点解析报文后,发现它是给第三节点的指令,第二节点再将指令转发到第三节点,这次发送也需要13.5ms。所以经过13.5*2=27ms,第三节点才收到第一节点的指令。同样地,第三节点向第一节点回复指令时,也要经过27ms。这样,完成一条指令发送和回复接收共需54ms。
4、上述常用通信方法中,报文越长,跨越节点层数越多,则延时越多,指令响应体验越差。当然可以通过改变硬件,使用并连总线,如采用rs485或can总线解决此问题,但这样改变了系统结构,增加了成本。对既有的硬件系统,在不变更现有硬件系统的情形下,优化响应体验是需解决的问题。
技术实现思路
1、本发明实施例旨在提供一种报文转发方法、数据通信方法、单片机产品及存储介质,以解决现有技术中多节点单片机系统中主节点和从节点通信时指令响应慢的问题。
2、为解决上述技术问题,本发明实施例提供以下技术方案:
3、根据本发明的一方面,提供一种报文转发方法,所述报文转发方法应用于多节点单片机系统的从节点,所述多节点单片机系统包括一个主节点和多个从节点,所述多个从节点通过串口串联后连接至所述主节点,所述报文转发方法包括:
4、持续接收主节点或上一级从节点发送的指令报文数据直至所述指令报文数据全部接收完毕;
5、若当前从节点不为最后一级从节点,则在首次接收到第一比特位数指令报文数据时,启动指令报文转发流程,将持续接收到的所述指令报文数据转发到与之相连的下一级从节点。
6、可选地,所述第一比特位数为采用预设的串口协议传输预设的第一数量的字符所需的比特位数。
7、可选地,所述预设的串口协议传输一个字符时包括1位起始位、8位数据位和1位停止位。
8、可选地,若当前从节点不为最后一级从节点,所述报文转发方法还包括:
9、持续接收下一级从节点发送的答复报文数据直至所述答复报文数据全部接收完毕;
10、当首次接收到第二比特位数答复报文数据时,启动答复报文转发流程,将持续接收到的所述答复报文数据转发到与之相连的上一级节点。
11、可选地,所述第二比特位数为采用预设的串口协议传输预设的第一数量的字符所需的比特位数。
12、根据本发明的另一方面,提供一种数据通信方法,所述方法应用于多节点单片机系统,所述多节点单片机系统包括一个主节点和多个从节点,所述多个从节点通过串口串联后连接至所述主节点,所述数据通信方法包括:
13、主节点将指令报文数据发送到与之相连的第一级从节点,所述指令报文数据包括目标地址;
14、第一级从节点至最后一级从节点依次采用上述所述的报文转发方法转发所述指令报文数据,以使得节点地址为所述目标地址的目标从节点接收到所述指令报文数据。
15、可选地,所述数据通信方法还包括:
16、各从节点依次完成所述指令报文数据的接收后,从所述指令报文数据中解析出所述目标地址;
17、若所述目标地址和自身节点地址相同,则发送答复报文数据至与之相连的上一级节点,若所述上一级节点为从节点,则所述上一级节点至第一级从节点依次上述所述的报文转发方法将所述答复报文数据转发至主节点。
18、可选地,各从节点首次接收到的第一比特位数指令报文数据中包括所述目标地址,非最后一级的各级从节点在启动指令报文转发流程之前,所述数据通信方法还包括:
19、从所述首次接收到的第一比特位数指令报文数据中解析出所述目标地址;若所述目标地址和自身节点地址相同,则不启动指令报文转发流程;若所述目标地址和自身节点地址不同,则启动指令报文转发流程。
20、根据本发明的再一方面,提供一种单片机产品,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。
21、根据本发明的又一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,所述处理器执行上述任一项所述方法的步骤。
22、本发明实施例的有益效果是:区别于现有技术的情况,本发明实施例中,提供了一种报文转发方法,应用于多节点单片机系统的从节点,该多节点单片机系统包括一个主节点和多个从节点,所述多个从节点通过串口串联后连接至所述主节点,非最后一级的各级从节点在转发主节点发给某一目标从节点的指令报文数据时,持续接收主节点或上一级从节点发送的指令报文数据,在接收到第一比特位数指令报文数据时,启动指令报文转发流程,将持续接收到的指令报文数据转发到与之相连的下一级从节点。本发明的方法,各中间节点接收到上一级节点或下一级节点发送的报文数据时,不等报文数据全部接收完毕,即启动无差别转发,大大缩短了报文数据到达目标节点的时间,提高了多节点单片机系统中主节点与从节点通信时的指令响应速度,从而有效改善了用户体验。
技术特征:1.一种报文转发方法,其特征在于,所述报文转发方法应用于多节点单片机系统的从节点,所述多节点单片机系统包括一个主节点和多个从节点,所述多个从节点通过串口串联后连接至所述主节点,所述报文转发方法包括:
2.根据权利要求1所述的报文转发方法,其特征在于,所述第一比特位数为采用预设的串口协议传输预设的第一数量的字符所需的比特位数。
3.根据权利要求2所述的报文转发方法,其特征在于,所述预设的串口协议传输一个字符时包括1位起始位、8位数据位和1位停止位。
4.根据权利要求1至3任一项所述的报文转发方法,其特征在于,若当前从节点不为最后一级从节点,所述报文转发方法还包括:
5.根据权利要求4所述的报文转发方法,其特征在于,所述第二比特位数为采用预设的串口协议传输预设的第一数量的字符所需的比特位数。
6.一种数据通信方法,所述方法应用于多节点单片机系统,所述多节点单片机系统包括一个主节点和多个从节点,所述多个从节点通过串口串联后连接至所述主节点,所述数据通信方法包括:
7.根据权利要求6所述的数据通信方法,其特征在于,所述数据通信方法还包括:
8.根据权利要求6或7所述的数据通信方法,其特征在于,各从节点首次接收到的第一比特位数指令报文数据中包括所述目标地址,非最后一级的各级从节点在启动指令报文转发流程之前,所述数据通信方法还包括:
9.一种单片机产品,包括存储器、处理器及存储在存储器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,所述处理器执行如权利要求1-8任一项所述方法的步骤。
技术总结本发明实施例公开了一种报文转发方法、数据通信方法及单片机产品,其中报文转发方法包括:多节点单片机系统中当前从节点持续接收主节点或上一级从节点发送的指令报文数据直至所述指令报文数据全部接收完毕;若当前从节点不为最后一级从节点,则在首次接收到第一比特位数指令报文数据时,启动指令报文转发流程,将持续接收到的所述指令报文数据转发到与之相连的下一级从节点。本发明的方法,提高了多节点单片机系统中主节点与从节点通信时的指令响应速度,从而有效改善了用户体验。技术研发人员:马辉,许亮,裴斌斌,赖崇锋,杨林达受保护的技术使用者:深圳市德兰明海新能源股份有限公司技术研发日:技术公布日:2024/7/18本文地址:https://www.jishuxx.com/zhuanli/20240801/241031.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。