一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多MCU数据发送系统及方法与流程

2022-09-03 16:50:23 来源:中国专利 TAG:

多mcu数据发送系统及方法
技术领域
1.本发明涉及数据发送的技术领域,具体地,涉及多mcu数据发送系统及方法。


背景技术:

2.微控制单元(microcontroller unit;mcu),又称单片微型计算机(single chip microcomputer)或者单片机,是把中央处理器(central process unit;cpu)的频率与规格做适当缩减,并将内存(memory)、计数器(timer)、usb、a/d转换、uart、plc、dma等周边接口,甚至lcd驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、上位机外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到mcu的身影。
3.在公开号为cn113505094a的专利文献中公开了一种主机与多个mcu传输数据的方法、mcu,主机与多个mcu连接为菊花链结构,主机和多个mcu各自包括单向的时钟接口和双向的数据接口,数据接口传输的数据包包括:顺序布置的起始码、前导码、有效载荷码和终止码,前导码定义数据包的类型。该方法包括:当主机向mcu写入数据时,主机发送固定周期的时钟信号和数据包到多个mcu,多个mcu根据数据包中的前导码确定写入数据的类型,将数据包中的有效载荷区的数据写入到目标mcu;当主机从mcu读取数据时,主机发送固定周期的时钟信号和数据包到多个mcu,当主机检测到目标mcu的数据接口使能时,根据前导码定义的数据类型从目标mcu读出数据。
4.针对上述中的相关技术,发明人认为存在多个mcu作为485从机发送数据冲突的问题,因此,需要提出一种新的方案以改善上述技术问题。


技术实现要素:

5.针对现有技术中的缺陷,本发明的目的是提供一种多mcu数据发送系统及方法。
6.根据本发明提供的一种多mcu数据发送系统,包括n个mcu和一台上位机;每个mcu具有唯一的设备号;从n个mcu中选择一个mcu作为主mcu,主mcu的设备号设为1,其余n-1个mcu作为从mcu,从mcu的设备号从2开始逐个递增至n;设备号用1个字节存储,设备号最大数值为255。
7.优选地,每个mcu包含至少一个串口和一个定时器;每个mcu利用自身串口通过串行总线与所述上位机连接,每个mcu通过所述串行总线发送和接收数据,所述上位机通过所述串行总线接收数据。
8.优选地,所述串行总线为485总线。
9.优选地,所述上位机为微型计算机。
10.本发明还提供一种多mcu数据发送方法,所述方法应用上述中的多mcu数据发送系统,所述方法包括如下步骤:
11.步骤s1:所述主mcu以固定周期tmcu通过所述串行总线向所述上位机发送数据,一次发送一个数据包;
12.步骤s2:所有从mcu开启串口中断功能,接收到所述串行总线上的数据包;
13.步骤s3:设备号为m的从mcu读取数据包中的设备号信息,2≤m≤n,若所述设备号信息不是m-1,则该从mcu不做任何动作,若所述设备号信息是m-1,则该从mcu立刻开启一个周期为tp的定时器,当该定时器第一次发生中断时,该从mcu将自身的数据包通过所述串行总线发送给所述上位机,然后关闭该定时器;
14.步骤s4:设备号从2到n的从mcu依次执行步骤s2和步骤s3,全部执行完后跳回步骤s1。
15.优选地,每个数据包包含字头、设备号、数据、crc和字尾,其中设备号占用1个字节;若每个数据包的长度为k个字节,每个字节包含a个起始位、b个数据位、c个校验位和d个停止位,数据传输波特率为bd,则一个数据包的传输时间至少为tt=k(a b c d)/bd;若考虑安全裕量to,则传输一个数据包所需的时间为tp=tt to。
16.优选地,从设备号为m-1的从mcu发出数据包,到设备号为m的从mcu识别出该数据包的设备号信息为m-1,这段时间为tr。
17.优选地,所述主mcu发送数据的周期tmcu应满足:tmcu≥(n-1)(tr tp) tt。
18.与现有技术相比,本发明具有如下的有益效果:
19.1、本发明以非轮询的方式解决多个mcu作为485从机发送数据冲突的问题,最大化提升发送数据包的频率;
20.2、本发明只需要使用一个485接口,无需其他的外设,能显著降低硬件成本。
附图说明
21.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
22.图1为本发明的数据包结构示意图;
23.图2为本发明的时间标识示意图;
24.图3为本发明的多mcu通讯时序图。
具体实施方式
25.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
26.实施例1:
27.根据本发明提供的一种多mcu数据发送系统,包括n个mcu和一台上位机;每个mcu具有唯一的设备号;从n个mcu中选择一个mcu作为主mcu,主mcu的设备号设为1,其余n-1个mcu作为从mcu,从mcu的设备号从2开始逐个递增至n;设备号用1个字节存储,设备号最大数值为255。
28.每个mcu包含至少一个串口和一个定时器;每个mcu利用自身串口通过串行总线与上位机连接,每个mcu通过串行总线发送和接收数据,上位机通过串行总线接收数据;串行总线为485总线;上位机为微型计算机。
29.本发明还提供一种多mcu数据发送方法,方法应用上述中的多mcu数据发送系统,方法包括如下步骤:
30.步骤s1:主mcu以固定周期tmcu通过串行总线向上位机发送数据,一次发送一个数据包;
31.步骤s2:所有从mcu开启串口中断功能,接收到串行总线上的数据包;
32.步骤s3:设备号为m的从mcu读取数据包中的设备号信息,2≤m≤n,若设备号信息不是m-1,则该从mcu不做任何动作,若设备号信息是m-1,则该从mcu立刻开启一个周期为tp的定时器,当该定时器第一次发生中断时,该从mcu将自身的数据包通过串行总线发送给上位机,然后关闭该定时器;
33.步骤s4:设备号从2到n的从mcu依次执行步骤s2和步骤s3,全部执行完后跳回步骤s1。
34.每个数据包包含字头、设备号、数据、crc和字尾,其中设备号占用1个字节;若每个数据包的长度为k个字节,每个字节包含a个起始位、b个数据位、c个校验位和d个停止位,数据传输波特率为bd,则一个数据包的传输时间至少为tt=k(a b c d)/bd;若考虑安全裕量to,则传输一个数据包所需的时间为tp=tt to。
35.从设备号为m-1的从mcu发出数据包,到设备号为m的从mcu识别出该数据包的设备号信息为m-1,这段时间为tr;主mcu发送数据的周期tmcu应满足:tmcu≥(n-1)(tr tp) tt。
36.实施例2:
37.实施例2为实施例1的优选例,以更为具体地对本发明进行说明。
38.本发明需要mcu至少有一个定时器以及一个串口,所有的mcu通过485总线与上位机连接到一起,选择一个muc作为主mcu以合适固定的周期tmcu向上位机发出自己采集到的数据包,周期例如10ms,此周期tmcu是根据总的mcu数量、发出的数据包长度以及串口的配置信息来进行设置的,如单个数据包总长度为30字节,固定起始位1位,数据位8位,无校验位,停止位1位,波特率115200bps,计算此数据包传输时间tt约为:
39.30*(1 8 1)/115200=0.002604167s=2.604ms
40.然后向上取整为3ms,再加上1ms的裕量时间to,得出传输一个数据包需要的间隔时间为4ms,记作tp;数据包中包含1个字节的设备号信息,设备号信息最大可表示255,主mcu分配设备号为1,其他从mcu按顺序分配依次递增设备号,数据包结构可参考图1。
41.在进行通讯时,设备号为n的从mcu在串口中断中判断接收的数据包中的设备号信息,如果接收到的设备号信息为n-1,则立刻开启一个周期为tp的定时器,同时我们把发出数据包到判断完设备号信息这段时间记作tr,tr值较小,我们设为固定的1ms;mcu在第一次触发定时器中断后就发出自身的数据包,然后关闭定时器,这样最后就能在不需要上位机发送轮询读取指令的情况下,多个mcu也能依次有序无冲突的发出自身的数据,如果485总线上共挂在n个mcu,则主mcu的发送周期tmcu至少需要略大于(n-1)(tr tp) tt,时序图参照图2和图3。
42.本领域技术人员可以将本实施例理解为实施例1的更为具体的说明。
43.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌
入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
44.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献