一种多MCU数据交互智能采集装置的制作方法

文档序号:14183017阅读:308来源:国知局
一种多MCU数据交互智能采集装置的制作方法

本实用新型涉及工业控制技术领域,特别涉及一种多MCU数据交互智能采集装置。



背景技术:

在物联网行业发展迅速的今天,越来越多的传感器和智能化设备被应用于机房、农业等领域;怎样及时地对这些设备的参数和状态进行采集就成为了一个重要课题。对于智能化设备采集,多采用串口和网络的形式,以modbus协议或者TCP/IP协议进行数据的传输。因此,采集数据会占用一个MCU的很多接口资源。如采用单网口资源的核心芯片进行底层传感器的网络交互,则该传感器的网口将无法再和上位机进行通信,PC端将无法将采集的数据反馈给维护人员。因此,为了采集数据的最大化,需要将系统分为采集和处理两个部分,由负责采集的MCU(Microcontroller Unit,多微控制单元)和主MCU之间进行数据交互和通信,即一个主MCU某一时刻只与多个从MCU中的一个从MCU通信,并且从MCU之间不进行通信。这种通信通常都是由主MCU发起,与某个从MCU进行问答式的通信,从MCU通常不主动发起通信。这种通信方式常见于一个设备上存在多个电路板,并且有多个电路板上均具有自己的MCU,其中有一个电路板作为主控电路板,控制和协调其他的电路板进行工作。则主控电路板上的MCU为主MCU,其他电路板上的MCU为从MCU。再由主MCU与上位机进行交互,实现数据的显示和存储。

针对多MCU数据交互智能采集的方法,目前已有一些实用新型专利提出了解决方案。如CN101957808A提出了一种基于共享内存空间和中断方式的MCU数据传递方法,该专利预先规划出一片内存区域用于进行内存共享,当有数据时,将数据存放于共享内存区域,并发出中断信号。与上位机交互的MCU接收到中断信号时,读取数据,并将数据上发。又如专利CN106200454A中提出了一种通过串口通信线进行数据交互的方法,系统是级联的架构,每个MCU携带自身标识,通过身份识别和转发功能完成数据的传递。又如CN103529807中提出的采集系统,分为了数据处理单元和数据采集单元两部分,单元之间和人机交互均采用RS485总线。又如CN103345455A提出的基于SPI总线的DMA模式,系统按固定频率进行内存的搬运,搬运过程无需MCU干预,可以实现高速采集。

目前专利中提出的多MCU数据交互智能采集多采用内部共享内存、内存搬运和串口总线传递数据的形式。多MCU时访问共享内存区域,虽然从MCU有数据时会用中断方式通知主CPU,但当有多个从CPU时,临界资源不能实现同时读写,其过程需要介入自旋锁或者原子锁的阻塞等待机制,影响采集数据的实时性。内存DMA搬运虽无MCU干预,但主CPU无法监测DMA搬运状态,给数据的稳定性形成干扰。串口传递数据的方法连线简单,但接口占用过多,且效率低下,不适于大数据量的采集系统。



技术实现要素:

本实用新型要解决的技术问题是:提供一种多MCU数据交互智能采集装置,其不会占用采集数据的串口和网口资源,也不会存在访问临界资源而造成的自旋等待、影响系统的实时性的情况。

本实用新型的解决方案是这样实现的:一种多MCU数据交互智能采集装置,包括:

主MCU处理模块,用于进行广播包的发送,以及与从MCU采集模块和与上位机之间的数据交互;

从MCU采集模块,用于采集智能设备的数据,并将数据缓存后给主MCU处理模块反馈数据包;

底层模块,包括各种智能化采集设备。

本实用新型的另一技术方案在于在上述基础之上,所述主MCU处理模块与从MCU采集模块之间通过IIC总线进行通讯。

本实用新型的另一技术方案在于在上述基础之上,所述主MCU处理模块与上位机之间通过以太网进行通讯。

本实用新型的另一技术方案在于在上述基础之上,所述从MCU采集模块包括两个以上的从MCU,每个MCU的从地址中有3位是固定值,其余4位由硬件拨码开关确定。

本实用新型的另一技术方案在于在上述基础之上,所述从MCU采集模块对智能设备的数据采集通过网口和串口实现。

本实用新型的另一技术方案在于在上述基础之上,所述智能化采集设备至少包括网络支持设备或串口支持设备。

本实用新型的另一技术方案在于在上述基础之上,所述从MCU采集模块采集到智能设备的数据后,将数据放置一个环形队列中进行缓存,直至收到主MCU处理模块发来的广播包后,再将环形队列中数据进行打包和上发操作。

本实用新型的另一技术方案在于在上述基础之上,根据所述从MCU采集模块中每个MCU的从地址量形成一个唯一的延时时间值,使得从MCU采集模块在主MCU处理模块发送广播包后,延时不同的时间后进行数据传输,实现分时传输。

从以上技术方案可以看出,本实用新型实施例具有以下优点:

在本实用新型提供的实施例中,提出一种多MCU数据交互智能采集装置,采集模块负责对传感器的数据进行采集、初步处理和打包,处理模块负责整合采集模块的数据,并进行进一步处理,最后与上位机部分共同实现人际交互功能。模块之间采用IIC总线分时传输的方式进行交互,不会占用采集数据的串口和网口资源,也不会存在访问临界资源而造成的自旋等待、影响系统的实时性的情况,而且能够保证数据的正确性。具体地,其通过将数据采集和数据处理、交互进行结构上的分层,以MCU之间通信的方式进行数据传递,保证了整个数据采集系统的实时性。所述多MCU数据交互智能采集装置并不通过串口或者网络等资源紧张的接口进行通信,而是采用IIC总线的机制进行通信,每个MCU设置不同的从地址,主MCU通过从地址的不同来和每个负责采集的MCU进行通讯。一方面使得连线更加简单,去除了因外接通讯模块而增加的成本;另一方面,采用IIC总线,并未占用串口和网口资源,使得MCU的接口资源得以保证。另外,通过拨码开关的选择可以使负责采集的MCU具备不同的IIC从地址,这种由硬件确定从地址的方法可以有效地避免因从地址不同而造成的软件版本多样化,减少软件维护的困难。而且,通过每台设备从地址的值经过算法处理可以产生一个唯一的延时时间值,该值可以使得从MCU在主MCU发送广播包后,延时不同的时间后进行基于IIC总线的数据传输,即分时传输。因此,这种方式可以减少IIC中继器的引入,节约了系统的成本,具体延时由内部定时器实现,不会影响系统的实时性。

附图说明

构成本实用新型的一部分的附图用来提供对本实用新型的进一步理解,本实用新型的示意性实施例及其说明用于解释本实用新型,并不构成对本实用新型的不当限定。

图1为本实用新型一种实施方式中多MCU数据交互智能采集装置的结构框图;

图2为实用新型一种实施方式中多MCU数据交互智能采集装置的结构示意图;

图3为本实用新型一种实施方式中多MCU数据交互智能采集装置的数据数据采集流程图。

具体实施方式

下面结合附图对本实用新型进行详细描述,本部分的描述仅是示范性和解释性,不应对本实用新型的保护范围有任何的限制作用。此外,本领域技术人员根据本文件的描述,可以对本文件中实施例中以及不同实施例中的特征进行相应组合。

本实用新型的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本实用新型的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本实用新型,而不能理解为对本实用新型的限制。相反,本实用新型的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。本部分的描述仅是示范性和解释性,不应对本实用新型的保护范围有任何的限制作用。此外,本领域技术人员根据本文件的描述,可以对本文件中实施例中以及不同实施例中的特征进行相应组合。在本实用新型的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本实用新型中的具体含义。此外,在本实用新型的描述中,除非另有说明,“多个”的含义是两个或两个以上。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本实用新型的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本实用新型的实施例所属技术领域的技术人员所理解。

本实用新型实施例如下,如图1所示,一种多MCU数据交互智能采集装置,包括:

主MCU处理模块,用于进行广播包的发送,以及与从MCU采集模块和与上位机之间的数据交互;

从MCU采集模块,用于采集智能设备的数据,并将数据缓存后给主MCU处理模块反馈数据包;

底层模块,包括各种智能化采集设备。

优选的是,所述主MCU处理模块与从MCU采集模块之间通过IIC总线进行通讯。所述主MCU处理模块与上位机之间通过以太网进行通讯。所述从MCU采集模块包括两个以上的从MCU,每个MCU的从地址中有3位是固定值,其余4位由硬件拨码开关确定。所述从MCU采集模块对智能设备的数据采集通过网口和串口实现。所述智能化采集设备至少包括网络支持设备或串口支持设备。优选的是,所述从MCU采集模块采集到智能设备的数据后,将数据放置一个环形队列中进行缓存,直至收到主MCU处理模块发来的广播包后,再将环形队列中数据进行打包和上发操作。根据所述从MCU采集模块中每个MCU的从地址量形成一个唯一的延时时间值,使得从MCU采集模块在主MCU处理模块发送广播包后,延时不同的时间后进行数据传输,实现分时传输。

如图2所示,为以一个负责处理的主MCU和以八个负责采集的从设备为例的采集装置示意图。需要说明的是,图2中以八个从MCU为例进行说明仅是示意性的,本实用新型中负责采集的从MCU数量并无限制,以八个从MCU为例仅是为了清楚起见。其中,

MCU0是通讯的发起者(广播包),即IIC的主设备。当需要采集数据时,MCU0将发起广播包,采集模块的从机收到广播包后将对数据进行分时发送。MCU0接收到数据后,将进行数据的整理和打包,与上位机进行数据传输和交互。

MCU1-MCU8是IIC通讯的响应者,即IIC的从设备。每个IIC的从地址是由3位固定值和4个硬件拨码开关一起确定。从地址确认后,将通过算法形成一个唯一的延时参数,以供接收到广播包后分时发送的延时值。发送的数据来自于MCU1-MCU8的采集过程,采集通过串口和网口共同实现;采集后的数据放置于一个环形队列以供读取。

如图3所示,为所述多MCU数据交互智能采集装置的数据数据采集流程图,包括:

主MCU处理模块进行广播包的发送,并采用IIC总线与从MCU采集模块进行数据交互,通过以太网与上位机之间进行数据交互;

从MCU采集模块采集智能设备的数据,并将数据缓存后给主MCU处理模块反馈数据包;其中,

所述从MCU采集模块包括两个以上的从MCU,每个MCU设置不同的从地址,所述主MCU处理模块通过不同的从地址来和每个负责采集的MCU进行通讯。

具体地:

(1)初始化,读取从MCU的拨码开关值对应的唯一从地址;将读取拨码开关连接输入引脚的IO量,形成一个与拨码开关对应的唯一从地址,并进行串口、网口等硬件初始化工作;

(2)通过unique_delay_create()延时参数生成函数和从地址量形成一个唯一的延时参数;

(3)通过配置好的串口和网口及相应协议实现基本的传感器数据采集功能,并将采集的数据存入环形队列;

(4)当所述从MCU采集模块接收到主MCU处理模块发送的IIC数据时,将进入IIC接收中断,在中断中将对数据进行判断,如果是所述主MCU采集模块发来的广播包,则以延时参数为定时器延时量设置定时器,设置完成后,退出IIC接收中断;

(5)当定时器时间来到时,进入定时器中断,将Flag标志位置1,清中断标志后将定时器中断关闭;

(6)主函数将判断Flag标志是否为1,如果为1且环形队列非空,则通过IIC总线进行数据的发送;否则,跳回步骤(3)继续进行底层数据的采集。

从以上技术方案可以看出,本实用新型所述多MCU数据交互智能采集装置具有以下优点:

1、通过将数据采集和数据处理、交互进行结构上的分层,以MCU之间通信的方式进行数据传递,保证了整个数据采集系统的实时性。

2、并不通过串口或者网络等资源紧张的接口进行通信,而是采用IIC总线的机制进行通信,每个MCU设置不同的从地址,主MCU通过从地址的不同来和每个负责采集的MCU进行通讯。一方面使得连线更加简单,去除了因外接通讯模块而增加的成本;另一方面,采用IIC总线,并未占用串口和网口资源,使得MCU的接口资源得以保证。

3、通过拨码开关的选择可以使负责采集的MCU具备不同的IIC从地址,这种由硬件确定从地址的方法可以有效地避免因从地址不同而造成的软件版本多样化,减少软件维护的困难。

4、通过每台设备从地址的值经过算法处理可以产生一个唯一的延时时间值,该值可以使得从MCU在主MCU发送广播包后,延时不同的时间后进行基于IIC总线的数据传输,即分时传输。因此,这种方式可以减少IIC中继器的引入,节约了系统的成本,具体延时由内部定时器实现,不会影响系统的实时性。

以上所述仅是本实用新型的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本实用新型原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本实用新型的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1