CN114428758A - 基于iic总线的数据采集方法、系统、空调器及存储介质 - Google Patents
基于iic总线的数据采集方法、系统、空调器及存储介质 Download PDFInfo
- Publication number
- CN114428758A CN114428758A CN202210097230.9A CN202210097230A CN114428758A CN 114428758 A CN114428758 A CN 114428758A CN 202210097230 A CN202210097230 A CN 202210097230A CN 114428758 A CN114428758 A CN 114428758A
- Authority
- CN
- China
- Prior art keywords
- iic
- slave device
- device group
- iic slave
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000006854 communication Effects 0.000 claims description 32
- 238000004891 communication Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 5
- 238000013480 data collection Methods 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 6
- 238000004378 air conditioning Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供一种基于IIC总线的数据采集方法、系统、空调器及存储介质,其中方法包括:将多个IIC从设备分为至少一个第一IIC从设备组和至少一个第二IIC从设备组,第二IIC从设备组所采集的数据的优先级高于第一IIC从设备组所采集的数据;控制IIC主设备通过IIC总线依次轮询每一第一IIC从设备组以获取每一第一IIC从设备组所采集到的数据;预设时间后,中断IIC主设备轮询操作;控制IIC主设备通过IIC总线与依次与每一第二IIC从设备组进行通信以获取第二IIC从设备组所采集到的数据,直至完成所有第二IIC从设备的数据获取;恢复IIC主设备与被中断的第一IIC从设备组之间的轮询操作。通过此方法可以及时获取优先级高的数据。
Description
技术领域
本申请涉及IIC(Inter-Integrated Circuit,互连集成电路)通信技术领域,特别涉及一种基于IIC总线的数据采集方法、系统、空调器及存储介质。
背景技术
IIC总线系统通常采用一个IIC主设备和至少一个IIC从设备的架构,并且,基于IIC主设备在IIC总线的SCL(Serial Clock,串行时钟)信号线产生的时钟信号,IIC主设备与每个IIC从设备之间可以通过SDA(Serial Data Address,串行数据地址)信号线进行数据通信。通常一个IIC总线上所挂载的IIC从设备的数量会受到MCU管脚和IIC总线的硬件资源的限制,从而影响IIC从设备的数据采集。
发明内容
本申请实施例提供一种基于IIC总线的数据采集方法、系统、空调器及存储介质,可以及时获取优先级高的数据。
本申请实施例提供一种基于IIC总线的数据采集方法,所述方法包括:
将多个IIC从设备分为至少一个第一IIC从设备组和至少一个第二IIC从设备组,所述第二IIC从设备组所采集的数据的优先级高于所述第一IIC从设备组所采集的数据;
控制IIC主设备通过IIC总线依次轮询每一所述第一IIC从设备组以获取每一所述第一IIC从设备组所采集到的数据;
预设时间后,中断所述IIC主设备轮询操作;
控制所述IIC主设备通过所述IIC总线与依次与每一所述第二IIC从设备组进行通信以获取所述第二IIC从设备组所采集到的数据,直至完成所有所述第二IIC从设备的数据获取;
恢复所述IIC主设备与被中断的第一IIC从设备组之间的轮询操作。
可选的,所述第二IIC从设备组为多个,所述控制所述IIC主设备通过所述IIC总线与依次与每一所述第二IIC从设备组进行通信以获取所述第二IIC从设备组所采集到的数据,直至完成所有所述第二IIC从设备的数据获取包括:获取所述多个第二IIC从设备组的优先级信息;根据所述优先级信息,控制所述IIC主设备按照所述优先级从高到低的顺序依次通过IIC总线与每一所述第二IIC从设备组通信,直至完成与所有所述第二IIC从设备的通信。
可选的,将多个IIC从设备分为至少一个第一IIC从设备组和至少一个第二IIC从设备组,所述第二IIC从设备组所采集的数据的优先级高于所述第一IIC从设备组所采集的数据包括:将数据实时性要求高的多个IIC从设备分为第一IIC从设备群,将数据实时性要求低的多个IIC从设备分为第二IIC从设备群;根据所述IIC主设备的性能,分别对所述第一IIC从设备群中的IIC从设备和第二IIC从设备群中的IIC从设备进行分组以得到所述至少一个第一IIC从设备组和所述至少一个第二IIC从设备组。
可选的,根据所述IIC主设备的性能,分别对所述第一IIC从设备群中的IIC从设备和第二IIC从设备群中的IIC从设备进行分组以得到所述至少一个第一IIC从设备组和所述至少一个第二IIC从设备组包括:根据所述IIC主设备的容差对所述第一IIC从设备群中的IIC从设备进行分组以得到所述多个第一IIC从设备组,一个所述第一IIC从设备组的等效电容不大于所述IIC主设备的容差;根据所述IIC主设备的容差对所述第二IIC从设备群中的IIC从设备进行分组以得到所述多个第二IIC从设备组,一个所述第二IIC从设备组的等效电容不大于所述IIC主设备的容差。
可选的,控制IIC主设备通过IIC总线依次轮询每一所述第一IIC从设备组以获取每一所述第一IIC从设备组所采集到的数据包括:获取所述多个第一IIC从设备组的排序信息;根据所述排序信息,按照顺序控制所述IIC主设备依次询问每一所述第一IIC从设备组以获取每一所述第一IIC从设备组所采集到的数据,其中所述IIC主设备一次询问一个所述第一IIC从设备组。
可选的,控制IIC主设备通过IIC总线依次轮询每一所述第一IIC从设备组之前包括:所述IIC主设备上电或复位;控制所述IIC主设备读取EEPROM芯片的参数。
本申请实施例提供一种基于IIC总线的数据采集系统,包括IIC总线、IIC主设备、多个IIC从设备和EEPROM芯片,所述数据采集系统按照上述申请实施例所述的基于IIC总线的数据采集方法获取数据。
本申请实施例提供一种空调器,包括如上申请实施例所述的数据采集系统。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上申请实施例所述的基于IIC总线的数据采集方法。
本申请实施例提供一种基于IIC总线的数据采集系统,包括:
IIC总线;
IIC主设备,与所述IIC总线连接;
多个第一IIC从设备组,一个所述第一IIC从设备组包括至少一个IIC从设备;
多个第二IIC从设备组,一个所述第二IIC从设备组包括至少一个IIC从设备,所述第二IIC从设备组所采集的数据的优先级高于所述第一IIC从设备组所采集的数据;以及
定时器,与所述IIC主设备连接以间隔性地向所述IIC主设备发送中断信号;
其中,所述IIC主设备被配置为:
按照顺序依次轮询每一所述第一IIC从设备组以获取每一所述第一IIC从设备组所采集到的数据;
当接收到所述定时器所发送的中断信号时,中断轮询操作,并通过所述IIC总线依次与每一所述第二IIC从设备组进行通信以获取所述第二IIC从设备组所采集到的数据,直至完成所有所述第二IIC从设备的数据获取。
可选的,所述IIC总线包括串行时钟线和串行数据线,每个所述第一IIC从设备组通过第一开关与所述串行时钟线连接且通过第二开关与所述串行数据线连接,每个所述第二IIC从设备通过第三开关与所述串行时钟线连接且通过第四开关与所述串行数据线连接;
所述IIC主设备被配置为:按照顺序依次控制对应的第一开关和对应的第二开关导通,以使得所述IIC总设备获取对应的第一IIC从设备组所采集的数据,其中一个第一开关导通时,其他第一开关不导通,一个第二开关导通时,一个第二开关不导通;当接收到所述定时器所发送的中断信号时,控制当前与所述串行数据线连接的第一开关以及当前与所述串行时钟线连接的第二开关断开,并依次控制每一个所述第三开关与所述串行时钟线通信连接以及每一个所述第四开关与所述串行数据线通信连接,其中一个第三开关导通时,其他第三开关不导通,一个第四开关导通时,一个第四开关不导通。
本申请实施例可以将多个IIC从设备分为第一IIC从设备组和第二IIC从设备组,IIC主设备轮询每一个第一IIC从设备组以获取第一IIC从设备组所采集到的数据,预设时间后中断轮询操作并与每一个第二IIC从设备组通信以获取第二IIC从设备组所采集到的数据,以实现快速获取高优先级的数据。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于IIC总线的数据采集方法的第一种流程示意图。
图2为本申请实施例提供的数据采集系统的第一种结构示意图。
图3为本申请实施例提供的数据采集方法的第二种流程示意图。
图4为本申请实施例提供的数据采集方法的第三种流程示意图。
图5为本申请实施例提供的数据采集方法的第四种流程示意图。
图6为本申请实施例提供的数据采集方法的第五种流程示意图。
图7为本申请实施例提供的基于IIC总线的数据采集系统的第二种结构示意图。
图8为本申请实施例提供的基于IIC总线的数据采集系统的第三种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种基于IIC总线的数据采集方法,如图1,图1为本发明实施例提供的基于IIC总线的数据采集方法的第一种流程示意图。该方法包括:
110,将多个IIC从设备分为至少一个第一IIC从设备组和至少一个第二IIC从设备组,所述第二IIC从设备组所采集的数据的优先级高于所述第一IIC从设备组所采集的数据。
在本申请实施例中,IIC从设备为具有IIC通信功能的设备,其主要用于采集数据,如温度传感器、湿度传感器、空气质量检测模块或其他数据采集模块等。将多个IIC从设备分为至少一个第一IIC从设备组和至少一个第二IIC从设备组。
示例性的,结合图2所示,图2为本申请实施例提供的数据采集系统的第一种结构示意图。数据采集系统可以包括IIC总线、IIC主设备、多个IIC从设备和EEPROM芯片。图2所示的数据采集系统根据图1所示的基于IIC总线的数据采集方法获取数据。IIC从设备的数量可以为11个,本申请实施例可以根据总的IIC从设备及IIC总线等效电容情况将分为两组或更多组。本次以四个组为例进行说明,11个IIC从设备可以分为两个第一IIC从设备组和两个第二IIC从设备组,两个第一IIC从设备组所包含的IIC从设备数量可以相同,诸如每个第一IIC从设备组可以包括三个IIC从设备,如图2所示。当然,两个第一IIC从设备组所包含的IIC从设备数量可以不同,诸如其中一个第一IIC从设备组可以包含两个IIC从设备,另一个第一IIC从设备组可以包含四个IIC从设备。其中,一个第一IIC从设备组所包含的IIC从设备的数据只要满足当一个第一IIC从设备组与IIC总线通信连接时,数据采集系统可正常运行即可。
两个第二IIC从设备组所包含的IIC从设备数量可以不同,诸如第二IIC从设备组可以包含两个IIC从设备,另一个第一IIC从设备组可以包含三个IIC从设备,如图2所示。当然,两个第一IIC从设备组所包含的从设备组数量也可以相同。其中,一个第二IIC从设备组所包括的IIC从设备数量只要满足当一个第二IIC从设备组与IIC总线通信连接时,数据采集系统可正常运行,不超载即可。其中,第二IIC从设备组所采集的数据的优先级高于第一IIC从设备组所采集的数据。比如,第二IIC从设备组所采集的数据可以与设备的控制相关的,比如设备的运行温度、预设器件的电流、电压或其他可能需要对设备进行控制或者说做出反应的参数。第一IIC从设备组所采集的数据可以为常规的数据,或者说此类数据不参与控制仅用于显示,比如空气质量、室外温度或室内温度等。
120,控制IIC主设备通过IIC总线依次轮询每一所述第一IIC从设备组以获取每一所述第一IIC从设备组所采集到的数据。
IIC主设备为具有IIC通信功能的微控制单元(Microcontroller Unit,MCU),IIC主设备和多个IIC从设备之间可以采用IIC总线通信连接。IIC主设备通常仅设置一路通信接口,在对至少一个第一IIC从设备组进行通信时,依次轮询每一个第一IIC从设备组。例如,IIC主设备可以先询问图2所示中的一个第一IIC从设备组,并将一个第一IIC从设备组所采集到的数据导入IIC主设备中。待数据导入结束后断开IIC主设备与一个第一IIC从设备组之间的通信连接,再接着询问另一个第一IIC从设备组,并将另一个第一IIC从设备组所采集到的数据导入IIC主设备中,以此依次对各个第一IIC从设备组进行访问。当访问所有的第一IIC从设备组时,从第一个第一IIC从设备组开始,IIC主设备依次访问所有第一IIC从设备组,以此循环,完成轮询操作。IIC主设备对第一IIC从设备组一一查询,即可完成对所有第一IIC从设备组所采集到的数据的获取。
130,预设时间后,中断所述IIC主设备轮询操作。
例如,可以采用定时器进行定时,当预设时间一到,定时器可以发出中断信号给IIC主设备,IIC主设备收到该中断信号后可以中断步骤120中的轮询操作。预设时间可以根据第二IIC从设备所采集的参数的重要性进行预先设置,诸如,预设时间可以为3毫秒、5毫秒或其他数值的。
140,控制所述IIC主设备通过所述IIC总线与依次与每一所述第二IIC从设备组进行通信以获取所述第二IIC从设备组所采集到的数据,直至完成所有所述第二IIC从设备的数据获取。
当IIC主设备对第一IIC从设备组的轮询操作被中断后,可以控制IIC主设备通过IIC总线一次与每一个第二IIC从设备组进行通信。比如,结合图2所示,IIC主设备从两个第二IIC从设备组中选择一个第二IIC从设备组进行通信,待IIC主设备与其中一个第二IIC从设备组完成通信后,再选择另一个第二IIC从设备组进行通信,直至IIC主设备完成与所有第二IIC从设备组的通信,获取完所有第二IIC从设备组的数据。需要说明的是,同一时间IIC主设备仅与一个第二IIC从设备组进行通信。
150,恢复所述IIC主设备与被中断的第一IIC从设备组之间的轮询操作。
当IIC主设备完成与所有第二IIC从设备组的通信后,可以恢复IIC主设备与被中断的第一IIC从设备组之间的轮询操作,继续获取第一IIC从设备组所采集到的数据。
相关技术中,通常对所有的IIC从设备进行轮询,依次获取对应IIC从设备的数据,这样会导致优先级较高的参数无法及时获取而影响设备控制。
本申请实施例可以将多个IIC从设备分为第一IIC从设备组和第二IIC从设备组,IIC主设备轮询每一个第一IIC从设备组以获取第一IIC从设备组所采集到的数据,预设时间后中断轮询操作并与每一个第二IIC从设备组通信以获取第二IIC从设备组所采集到的数据,以实现快速获取高优先级的数据。
如图3所示,图3为本申请实施例提供的数据采集方法的第二种流程示意图。其中,“140,控制所述IIC主设备通过所述IIC总线与依次与每一所述第二IIC从设备组进行通信以获取所述第二IIC从设备组所采集到的数据,直至完成所有所述第二IIC从设备的数据获取”包括:
141,获取所述多个第二IIC从设备组的优先级信息;
142,根据所述优先级信息,控制所述IIC主设备按照所述优先级从高到低的顺序依次通过IIC总线与每一所述第二IIC从设备组通信,直至完成与所有所述第二IIC从设备的通信。
可以预先定义多个第二IIC从设备组的优先级,比如可以根据第二IIC从设备组所采集的数据的重要程度设置优先级,并将该信息以表格或者其他形式存储至存储器中。在中断IIC主设备与第一IIC从设备组的轮询操作后,IIC主设备可以通过访问存储器的方式获取该优先级信息。
示例性的,可以预先定义图2所示的两个第二IIC从设备组的优先级,诸如定义具有两个IIC从设备的第二IIC从设备组的优先级高于具有三个IIC从设备的第二IIC从设备组,在中断IIC主设备与第一IIC从设备组的轮询操作后,IIC主设备先建立与具有两个IIC从设备的第二IIC从设备组的通信以获取具有两个IIC从设备的第二IIC从设备组所采集的数据,再获取完对应数据之后,IIC主设备断开与具有两个IIC从设备的第二IIC从设备组的通信,与具有三个IIC从设备的第二IIC从设备组建立通信以获取具有个IIC从设备的第二IIC从设备组所采集的数据。
本申请实施例中,可以对第二IIC设备组进行优先级排序,针对优先级顺序依次与第二IIC从设备组通信,使得优先级高的数据可以被优先获取。
如图4所示,图4为本申请实施例提供的数据采集方法的第三种流程示意图。其中,“110,将多个IIC从设备分为至少一个第一IIC从设备组和至少一个第二IIC从设备组,所述第二IIC从设备组所采集的数据的优先级高于所述第一IIC从设备组所采集的数据”包括:
111,将多个IIC从设备分为第一类IIC从设备和第二类IIC从设备,所述第二类IIC从设备的数据实时性要求高于所述第一类IIC从设备;
112,根据所述IIC主设备的性能,分别对所述第一类IIC从设备中的IIC从设备和第二类IIC从设备中的IIC从设备进行分组以得到所述至少一个第一IIC从设备组和所述至少一个第二IIC从设备组。
可以理解的是,在对多个IIC从设备进行分组时,可以先将多个IIC从设备分为两个群组,将数据实时性要求高的一些IIC从设备归结在一起,组成第一IIC从设备群,并将数据实时性要求低的另一些IIC从设备归结到一起组成第二IIC从设备群。示例性的,可以将图2所示的IIC从设备1至IIC从设备6归结为第一IIC从设备群,将IIC从设备7至IIC从设备11归结为第二IIC从设备群。
针对第一IIC从设备群,可以根据IIC主设备的性能,对第一IIC从设备群所包括的IIC从设备进行分组。诸如,可以根据IIC主设备的容差对第一IIC从设备群中的IIC从设备进行分组以得到多个第一IIC从设备组,一个第一IIC从设备组的等效电容不大于IIC主设备的容差。可以理解的是,当同一时间挂载到IIC总线的IIC从设备的数量比较多,导致IIC从设备的等效电容超过IIC主设备的容差时,会导致IIC总线的数据传输延迟,从而导致数据传输出错。故而,在对IIC从设备进行分组时,可以对一个第一IIC从设备组的等效电容进行限制,以在不超过IIC主设备的容差的情况下,尽可能涵盖多一些IIC从设备。
同理,针对第二IIC设备群,可以根据IIC主设备的性能,对第二IIC从设备群所包括的IIC从设备进行分组。诸如,可以根据IIC主设备的容差对第二IIC从设备群中的IIC从设备进行分组以得到多个第二IIC从设备组,一个第二IIC从设备组的等效电容不大于IIC主设备的容差,具体可参见第一IIC设备群的相关描述,在此不再赘述。
如图5所示,图5为本申请实施例提供的数据采集方法的第四种流程示意图。其中,“120,控制IIC主设备通过IIC总线依次轮询每一所述第一IIC从设备组以获取每一所述第一IIC从设备组所采集到的数据”包括:
121,获取所述多个第一IIC从设备组的排序信息;
122,根据所述排序信息,按照顺序控制所述IIC主设备依次询问每一所述第一IIC从设备组,其中所述IIC主设备一次询问一个所述第一IIC从设备组。
可以预先定义多个第一IIC从设备组的顺序,比如可以根据第一IIC从设备组所采集的数据对用户需求程度进行设置,诸如对于空调而言,室内温度比空气质量对于用户来说更为重要,可以将检测室内温度的第一IIC从设备组排在检测空气质量的第一IIC从设备组之前,将多个第一IIC从设备组依次排序后形成相应的排序信息存储到存储器中。IIC主设备在与第一IIC从设备组建立通信之前可以先获取该排序信息,再根据该排序信息,按照顺序依次访问每一个第一IIC从设备组。在对第一IIC从设备组进行访问时,IIC主设备同一时刻询问一个第一IIC从设备组。
示例性的,可以预先定义图2所示的两个第一IIC从设备组的顺序,诸如定义从左到右的顺序,IIC主设备先建立与左边的第一IIC从设备组的通信以获取该第一IIC从设备组所采集的数据,再获取完对应数据之后,IIC主设备断开与左边的第一IIC从设备组的通信,与右边的第一IIC从设备组建立通信以获取该第一IIC从设备组所采集的数据。
如图6所示,图6为本申请实施例提供的数据采集方法的第五种流程示意图。其中,“120,控制IIC主设备通过IIC总线依次轮询每一所述第一IIC从设备组”之前包括:
160,所述IIC主设备上电或复位;
170,控制所述IIC主设备读取EEPROM芯片的参数。
IIC主设备从断电状态到通电状态,或者复位后,可按照常规的IIC总线时序读取EEPROM芯片数据。其中,IIC主设备与EEPROM芯片,通过IIC总线时序建立通讯。EEPROM芯片中存储有空调的最优运行参数,按照最优运行参数运行可保证空调机组以最优状态运行。当EEPROM芯片数据读取成功时,直接基于读取到的数据控制空调机组运行,这样操作可保证正常状态下IIC主设备能够以最快速度完成EEPROM芯片数据的读取,并尽快进入正常运行。
本申请实施例还提出一种空调器,所述空调器包括如上申请实施例所述数据采集系统。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项所述基于IIC总线的数据采集方法。比如:将多个IIC从设备分为至少一个第一IIC从设备组和至少一个第二IIC从设备组,所述第二IIC从设备组所采集的数据的优先级高于所述第一IIC从设备组所采集的数据;控制IIC主设备通过IIC总线依次轮询每一所述第一IIC从设备组以获取每一所述第一IIC从设备组所采集到的数据;预设时间后,中断所述IIC主设备轮询操作;控制所述IIC主设备通过所述IIC总线与依次与每一所述第二IIC从设备组进行通信以获取所述第二IIC从设备组所采集到的数据,直至完成所有所述第二IIC从设备的数据获取。
在本申请实施例中,存储介质可以是磁碟、光盘、只读存储器(Read Only Memory,ROM)、或者随机存取记忆体(Random Access Memory,RAM)等。
本申请实施例还提供一种基于IIC总线的数据采集系统,如图7所示,图7为本申请实施例提供的基于IIC总线的数据采集系统的第二种结构示意图。数据采集系统20包括IIC总线、IIC主设备21、多个第一IIC从设备组22、多个第二IIC从设备组23和定时器24。其中,IIC主设备21与IIC总线连接,一个第一IIC从设备组22包括至少一个IIC从设备,比如,一个第一IIC从设备组22可以包括两个IIC从设备、三个IIC从设备或其他数值的IIC从设备。一个第二IIC从设备组23包括至少一个IIC从设备,比如,一个第二IIC从设备组23可以包括两个IIC从设备、三个IIC从设备或其他数值的IIC从设备,其所包含的IIC从设备的数量可以与第一IIC从设备组22所包含的IIC从设备的数量相同,也可以不同。其中,第二IIC从设备组23所采集的数据的优先级高于第一IIC从设备组22所采集的数据,诸如,第一IIC从设备组22可以采集空气质量相关的数据,第二IIC从设备组23可以采集与温度相关的数据。
定时器24与IIC主设备21连接,定时器24被配置为间隔性地向IIC主设备21发送中断信号。示例性的,定时器24可以间隔3毫秒向IIC主设备21发送中断信号。当然,定时器24的间隔时间可以根据第二IIC从设备组23所采集数据的数据实时性要求而具体设置。
本申请实施例中,IIC主设备21被配置为,按照顺序依次轮询每一第一IIC从设备组22以获取每一第一IIC从设备组22所采集到的数据;当接收到定时器24所发送的中断信号时,中断轮询操作,并通过IIC总线依次与每一第二IIC从设备组23进行通信以获取第二IIC从设备组23所采集到的数据,直至完成所有第二IIC从设备23的数据获取。其中,具体的通信过程可以参阅上述申请实施例中的基于IIC总线的数据采集方法的相关描述,在此不再赘述。
如图8所示,图8为本申请实施例提供的基于IIC总线的数据采集系统的第三种结构示意图。IIC总线可以包括串行时钟线(System Clock Line,SCL)和串行数据线(SerialData Address,SDA),IIC主设备21基于IIC总线的SCL(Serial Clock Line,串行时钟线)产生的时钟信号,IIC主设备21与第一IIC从设备组22、IIC主设备21与第二IIC从设备组23之间可以通过SDA(Serial Data Address,串行数据线)进行数据通信。每个第一IIC从设备组22通过第一开关25a与串行时钟线连接且通过第二开关25b与串行数据线连接,每个第二IIC从设备23通过第三开关25c与串行时钟线连接且通过第四开关25d与串行数据线连接。
其中,第一开关25a、第二开关25b、第三开关25c和第四开关25d可以为场效应管、三极管、微动开关或其他类型的电子开关中的一种或几种的组合。诸如,本申请实施例的开关均采用三极管。
所述IIC主设备被配置为:按照顺序依次控制对应的第一开关和对应的第二开关导通,以使得所述IIC总设备获取对应的第一IIC从设备组所采集的数据,其中一个第一开关导通时,其他第一开关不导通,一个第二开关导通时,一个第二开关不导通。当接收到所述定时器所发送的中断信号时,控制当前与所述串行数据线连接的第一开关以及当前与所述串行时钟线连接的第二开关断开,并依次控制每一个所述第三开关与所述串行时钟线通信连接以及每一个所述第四开关与所述串行数据线通信连接,其中一个第三开关导通时,其他第三开关不导通,一个第四开关导通时,一个第四开关不导通。
示例性的,在IIC主设备21得电复位后,数据采集系统初始化,IIC主设备21中的GPIO1(General-purpose input/output1,通用输入与输出1端口)和GPIO2(General-purpose input/output2,通用输入与输出2端口)分别控制打开三极管Q1和三极管Q2,读取EEPROM芯片26中的参数信息后关断三极管Q1和三极管Q2后进入轮询操作,即GPIO1不再读取EEPROM中的数据。
IIC主设备21的GPIO3(General-purpose input/output3,通用输入与输出3端口)和GPIO4(General-purpose input/output4,通用输入与输出4端口))分别控制打开三极管Q3和三极管Q4,与第一个第一IIC从设备组22进行通信,获取第一个第一IIC从设备组22所采集的数据。获取该数据后,关断三极管Q3和三极管Q4,IIC主设备21中的GPIO5(General-purpose input/output5,通用输入与输出5端口)和GPIO6(General-purpose input/output6,通用输入与输出6端口)分别控制打开三极管Q5和三极管Q6,与第二个第一IIC从设备组22进行通信,获取第二个第一IIC从设备组22所采集的数据,以此循环,进行轮询工作。以上过程在主循环中的轮询方式执行,即按顺序执行即可,完成每一个第一IIC从设备组22所采集的数据的获取。可以理解的是,此类数据的数据实时性不高,只用于显示相关信息而不参与控制。
当IIC主设备21接收到定时器24所发送的中断信号时,IIC主设备21的GPIO7(General-purpose input/output7,通用输入与输出7端口)和GPIO8(General-purposeinput/output8,通用输入与输出8端口)分别控制打开三极管Q7和三极管Q8,读取第一个第二IIC从设备23所采集的数据,并在数据获取完成后,关断三极管Q7和三极管Q8。而后,IIC主设备21的GPIO9(General-purpose input/output9,通用输入与输出9端口)和GPIO10(General-purpose input/output10,通用输入与输出10端口)分别控制打开三极管Q9和三极管Q10,读取第二个第二IIC从设备23所采集的数据,并在数据获取完成后,关断三极管Q9和三极管Q10。在获取完所有第二IIC从设备组23的数据之后,恢复IIC主设备21与第一IIC从设备组22之间的轮询操作,以继续获取待通信的第一IIC从设备组22所采集的数据。
可以理解的是,第二IIC从设备组所采集数据的数据实时性要求较高,更新太慢会影响控制精度,故此过程在定时器24中断中执行,如每隔n毫秒进一次定时器24中断去采集该类数据。
本申请实施例中,通过分时段接入不同的IIC从设备组,保证IIC总线上同一时刻只接入一组IIC从设备,有效避免了接入等效电容过大引起的参数采集不准确的问题。
以上对本申请实施例提供的基于IIC总线的数据采集方法、系统、空调器及存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请。同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种基于IIC总线的数据采集方法,其特征在于,所述方法包括:
将多个IIC从设备分为至少一个第一IIC从设备组和至少一个第二IIC从设备组,所述第二IIC从设备组所采集的数据的优先级高于所述第一IIC从设备组所采集的数据;
控制IIC主设备通过IIC总线依次轮询每一所述第一IIC从设备组以获取每一所述第一IIC从设备组所采集到的数据;
预设时间后,中断所述IIC主设备轮询操作;
控制所述IIC主设备通过所述IIC总线与依次与每一所述第二IIC从设备组进行通信以获取所述第二IIC从设备组所采集到的数据,直至完成所有所述第二IIC从设备的数据获取;
恢复所述IIC主设备与被中断的第一IIC从设备组之间的轮询操作。
2.根据权利要求1所述的基于IIC总线的数据采集方法,其特征在于,所述第二IIC从设备组为多个,所述控制所述IIC主设备通过所述IIC总线与依次与每一所述第二IIC从设备组进行通信以获取所述第二IIC从设备组所采集到的数据,直至完成所有所述第二IIC从设备的数据获取包括:
获取所述多个第二IIC从设备组的优先级信息;
根据所述优先级信息,控制所述IIC主设备按照所述优先级从高到低的顺序依次通过IIC总线与每一所述第二IIC从设备组通信,直至完成与所有所述第二IIC从设备的通信。
3.根据权利要求1或2所述的基于IIC总线的数据采集方法,其特征在于,将多个IIC从设备分为至少一个第一IIC从设备组和至少一个第二IIC从设备组,所述第二IIC从设备组所采集的数据的优先级高于所述第一IIC从设备组所采集的数据包括:
将数据实时性要求高的多个IIC从设备分为第一IIC从设备群,将数据实时性要求低的多个IIC从设备分为第二IIC从设备群;
根据所述IIC主设备的性能,分别对所述第一IIC从设备群中的IIC从设备和第二IIC从设备群中的IIC从设备进行分组以得到所述至少一个第一IIC从设备组和所述至少一个第二IIC从设备组。
4.根据权利要求3所述的基于IIC总线的数据采集方法,其特征在于,根据所述IIC主设备的性能,分别对所述第一IIC从设备群中的IIC从设备和第二IIC从设备群中的IIC从设备进行分组以得到所述至少一个第一IIC从设备组和所述至少一个第二IIC从设备组包括:
根据所述IIC主设备的容差对所述第一IIC从设备群中的IIC从设备进行分组以得到所述多个第一IIC从设备组,一个所述第一IIC从设备组的等效电容不大于所述IIC主设备的容差;
根据所述IIC主设备的容差对所述第二IIC从设备群中的IIC从设备进行分组以得到所述多个第二IIC从设备组,一个所述第二IIC从设备组的等效电容不大于所述IIC主设备的容差。
5.根据权利要求1所述的基于IIC总线的数据采集方法,其特征在于,控制IIC主设备通过IIC总线依次轮询每一所述第一IIC从设备组以获取每一所述第一IIC从设备组所采集到的数据包括:
获取所述多个第一IIC从设备组的排序信息;
根据所述排序信息,按照顺序控制所述IIC主设备依次询问每一所述第一IIC从设备组以获取每一所述第一IIC从设备组所采集到的数据,其中所述IIC主设备一次询问一个所述第一IIC从设备组。
6.根据权利要求1所述的基于IIC总线的数据采集方法,其特征在于,控制IIC主设备通过IIC总线依次轮询每一所述第一IIC从设备组之前包括:
所述IIC主设备上电或复位;
控制所述IIC主设备读取EEPROM芯片的参数。
7.一种基于IIC总线的数据采集系统,包括IIC总线、IIC主设备、多个IIC从设备和EEPROM芯片,其特征在于,所述数据采集系统按照权利要求1至6任一所述的基于IIC总线的数据采集方法获取数据。
8.一种空调器,其特征在于,包括如权利要求7所述的数据采集系统。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述的基于IIC总线的数据采集方法。
10.一种基于IIC总线的数据采集系统,其特征在于,包括:
IIC总线;
IIC主设备,与所述IIC总线连接;
多个第一IIC从设备组,一个所述第一IIC从设备组包括至少一个IIC从设备;
多个第二IIC从设备组,一个所述第二IIC从设备组包括至少一个IIC从设备,所述第二IIC从设备组所采集的数据的优先级高于所述第一IIC从设备组所采集的数据;以及
定时器,与所述IIC主设备连接以间隔性地向所述IIC主设备发送中断信号;
其中,所述IIC主设备被配置为:
按照顺序依次轮询每一所述第一IIC从设备组以获取每一所述第一IIC从设备组所采集到的数据;
当接收到所述定时器所发送的中断信号时,中断轮询操作,并通过所述IIC总线依次与每一所述第二IIC从设备组进行通信以获取所述第二IIC从设备组所采集到的数据,直至完成所有所述第二IIC从设备的数据获取。
11.根据权利要求10所述的数据采集系统,其特征在于,所述IIC总线包括串行时钟线和串行数据线,每个所述第一IIC从设备组通过第一开关与所述串行时钟线连接且通过第二开关与所述串行数据线连接,每个所述第二IIC从设备通过第三开关与所述串行时钟线连接且通过第四开关与所述串行数据线连接;
所述IIC主设备被配置为:
按照顺序依次控制对应的第一开关和对应的第二开关导通,以使得所述IIC总设备获取对应的第一IIC从设备组所采集的数据,其中一个第一开关导通时,其他第一开关不导通,一个第二开关导通时,一个第二开关不导通;
当接收到所述定时器所发送的中断信号时,控制当前与所述串行数据线连接的第一开关以及当前与所述串行时钟线连接的第二开关断开,并依次控制每一个所述第三开关与所述串行时钟线通信连接以及每一个所述第四开关与所述串行数据线通信连接,其中一个第三开关导通时,其他第三开关不导通,一个第四开关导通时,一个第四开关不导通。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210097230.9A CN114428758B (zh) | 2022-01-27 | 2022-01-27 | 基于iic总线的数据采集方法、系统、空调器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210097230.9A CN114428758B (zh) | 2022-01-27 | 2022-01-27 | 基于iic总线的数据采集方法、系统、空调器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114428758A true CN114428758A (zh) | 2022-05-03 |
CN114428758B CN114428758B (zh) | 2024-06-04 |
Family
ID=81312493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210097230.9A Active CN114428758B (zh) | 2022-01-27 | 2022-01-27 | 基于iic总线的数据采集方法、系统、空调器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114428758B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5568649A (en) * | 1994-05-31 | 1996-10-22 | Advanced Micro Devices | Interrupt cascading and priority configuration for a symmetrical multiprocessing system |
CN111984576A (zh) * | 2019-05-24 | 2020-11-24 | 鸿富锦精密电子(天津)有限公司 | 数据通信系统以及方法 |
CN112269749A (zh) * | 2020-10-30 | 2021-01-26 | 厦门紫光展锐科技有限公司 | I2c通信系统 |
-
2022
- 2022-01-27 CN CN202210097230.9A patent/CN114428758B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5568649A (en) * | 1994-05-31 | 1996-10-22 | Advanced Micro Devices | Interrupt cascading and priority configuration for a symmetrical multiprocessing system |
CN111984576A (zh) * | 2019-05-24 | 2020-11-24 | 鸿富锦精密电子(天津)有限公司 | 数据通信系统以及方法 |
CN112269749A (zh) * | 2020-10-30 | 2021-01-26 | 厦门紫光展锐科技有限公司 | I2c通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114428758B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201923606A (zh) | 針對多執行環境之i3c頻帶內中斷 | |
US11150619B2 (en) | Intelligent lighting control system based on internet of things | |
CN104102150A (zh) | 用于微处理器整合的传感器轮询单元 | |
CN112100007A (zh) | 一种多控制器存储设备中主控制器的切换方法和系统 | |
JP6531593B2 (ja) | 通信方法、通信プログラムおよび情報処理装置 | |
CN114422412A (zh) | 一种设备检测方法、装置和通信设备 | |
CN107526703A (zh) | 内部集成电路系统中的内部集成电路装置及其控制方法 | |
CN114428758B (zh) | 基于iic总线的数据采集方法、系统、空调器及存储介质 | |
CN112714010B (zh) | 一种网络拓扑管理方法、装置、拓展单元及存储介质 | |
US20210141755A1 (en) | Bridge chip with function of expanding external devices and associated expansion method | |
CN108605054B (zh) | 实现增值服务的方法、装置与云服务器 | |
WO2023168933A1 (zh) | 一种信息处理方法、装置及系统 | |
CN108845613B (zh) | 交互智能平板及其数据处理方和装置 | |
CN108055185B (zh) | 家用电器的通信系统、通信方法以及家用电器 | |
CN115695073A (zh) | 通信方法、装置、设备及存储介质 | |
CN113242169B (zh) | 多从机数据更新方法、系统、设备和存储介质 | |
CN115334041A (zh) | 一种主从站通讯设备自动分配地址的方法、主站、从站和系统 | |
CN110391823B (zh) | 通信电路及其控制方法、具有通信功能的设备 | |
CN111984576B (zh) | 数据通信系统以及方法 | |
CN111367852B (zh) | 一种设备的操作方法、装置、设备和存储介质 | |
CN110822667A (zh) | 空气调节设备的控制方法、装置、服务器和空气调节设备 | |
CN113746896A (zh) | 数据传输方法、装置、系统和可读存储介质 | |
CN112187595B (zh) | 识别码编号方法以及多点通信系统 | |
CN116594721A (zh) | 用于页面显示的方法及装置、移动终端、存储介质 | |
JPH11341017A (ja) | データ収集方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |