一种用于智能硬件的同步通信方法及通信系统与流程

文档序号:12363635阅读:376来源:国知局
一种用于智能硬件的同步通信方法及通信系统与流程

本发明涉及芯片通讯领域,特别是一种用于智能硬件的同步通信方法及通信系统,所述通信方法可以支持智能硬件扩展相连多个USB插件并处于同步工作运行状态,进而使USB插件保持稳定运行。



背景技术:

现在的智能电器越来越多,使用的智能硬件也已经拥有良好的使用体验和较高的硬件性能,但在扩展性上有所欠缺,目前已有通过USB接口方式扩展硬件功能,其中USB插件口具有四个触点,分别为D+线、D-线、VBUS线和接地端,并通过外壳接地检测是否有USB插件插入。现有智能硬件的功能和可扩展性比较局限,要么只能提供USB接口给其他设备,如给手机充电;要么因为价格因素采用低成本的异步通信模块作为智能硬件的主控模块,当智能硬件想通过异步通信的方式和两个以上USB插件进行数据通信时,由于异步通信导致各个USB插件无法精确控制串口时钟产生,进而在串口通信时产生误码,使得通过异步通信方式和主控模块通信的各个USB插件都无法稳定运行工作,因此所述的智能硬件只能支持和一个设备进行数据通信,功能单一、效率低。现在虽然有采用异步通信模块实现同步通信,需要增加很多额外的芯片或电路,结构复杂成本高。



技术实现要素:

本发明要解决的技术问题和提出的技术任务是克服现有智能硬件使用异步通信方法导致各个USB插件无法稳定运行的缺陷,提供一种用于智能硬件的同步通信方法及通信系统,所述同步通信方法可以使现有用异步通信方式主控模块的智能硬件通信行为扩展为同步通信,让智能硬件通过开发USB插件化的形式扩展和延伸各种其他功能成为可能,所述智能硬件在使用低成本异步通信方式主控模块的同时最大化扩展智能硬件的功能,满足用户多种需求,将一对一设备间的异步通信扩展为一对多设备间的同步通信。

本发明所采用的技术方案:一种用于智能硬件的同步通信方法,包括以下步骤:

1)将智能硬件的主控模块的GPIO引脚分为数据引脚和时钟引脚,将所述数据引脚设为主控模块的数据总线,将所述时钟引脚设为主控模块的时钟总线;

2)每个USB插件上电复位后,向主控模块注册一个全局唯一地址,并把D-线和D+线中任一个作为数据线连接到主控模块的数据总线上,另一线作为时钟线连接到主控模块的时钟总线上;

3)通过主控模块对GPIO数据寄存器和时钟寄存器进行控制,所述USB插件上电之后,就保持收发数据的状态,所述收发数据的状态不会因为时钟线上的时钟信号而改变;当主控模块需要发送数据给某一USB插件时,主控模块发送时钟信号到时钟线上,同时在时钟信号的控制下把数据信号按照设定规则发送到数据线上;所述USB插件接收到数据,然后根据收到的数据判断是否要进行下一步动作。

工作时,由于主控模块对GPIO数据寄存器和时钟寄存器进行控制,每个USB插件上电之后,就一直处于收发数据的状态,并不会因为时钟线上有没有时钟信号而改变;当主控芯片需要发送数据给某一个USB插件或接受来自某一个USB插件的数据时,主控模块就会发送时钟信号到时钟线上,同时在时钟信号的控制下也会把数据信号按照约定好的规则,发送到数据线上或者在时钟信号的控制下按照约定好的规则,采用最低有效位数据优先或者最高有效位数据优先的规则从数据总线上读取来自某个USB插件的数据;接收到从主控模块发送过来数据的各个USB插件,在接收到数据之后再根据接收到的数据来判断是否要进行下一步的动作。

因为所有已注册的USB插件都能从数据总线中获取到从智能硬件发出来的通信数据,所以每个USB插件从数据中解析出智能硬件的主控模块想要通信的目的地址,再和自己的已注册的通信地址进行比较,如果USB插件发现两个通信地址一致,则解析已收到的通信数据进行相应处理,如果发现两个通信地址不一致,则丢弃已收到的通信数据,不作任何处理。由于所有已注册的USB插件的时钟线均连入智能硬件的主控模块的时钟总线中,因此能够保证所有已注册的USB插件监听、发送和接收来自智能硬件的主控模块的数据始终均保持一致,不会造成在通信中因为时钟序列不一致,而产生监听、发送和接收数据的误码问题,使各USB插件在智能硬件的主控模块的数据总线监听、发送和接收数据的动作过程都与智能硬件保持同步工作的运行状态。其中,D-和D+线,可以互换连接数据总线或时钟总线,但一旦确定,则所有USB插件都遵循同一连接规则。

作为对上述技术方案的进一步完善和补充,本发明采用如下技术措施:步骤3)中所述的设定规则为最低有效位数据优先或者最高有效位数据优先的规则。最低有效位数据(LSB,Least Significant Bit)优先和最高有效位数据(MSB,Most Significant Bit)优先规则是现有常见的数据处理方式。

一种实现同步通信的通信系统,包括主控端和被控端,所述主控端包括电连接的主控模块、检测模块、电源模块,所述主控模块包括主控芯片、数据寄存器和配套数据总线、时钟寄存器和配套时钟总线、以及配套的多引脚芯片;所述检测模块包括检测各个USB插件是否插入的检测芯片和配套的多引脚芯片,所述电源模块包括电源芯片和配套的多引脚芯片;所述被控端包括多个USB插件,所述USB插件具有和扩展功能对应的传感器,其特征是所述主控模块、电源模块和检测模块通过各自的闲置GPIO引脚连接同一多引脚模块,所述多引脚模块包括至少一个多引脚芯片,多引脚模块通过其上的2N+2个GPIO引脚扩展N个USB插件,其中N为自然数,多引脚模块上一个单独GPIO引脚用做所有待接入USB插件口的D-线,连接到所述数据总线上,作为USB插件的数据线连接到所述数据总线上;多引脚模块上一个单独GPIO引脚用做所有待接入USB插件口的D+线,连接到所述时钟总线上,作为USB插件的时钟线连接到所述时钟总线上;多引脚模块上N个GPIO引脚分别做N个待接入USB插件口的VBUS线,所述VBUS线通过多引脚模块连接电源模块为对应的USB插件供电,单独连接一个GPIO引脚到电源模块上为对应的USB插件供电;使用N个GPIO引脚作为检测USB插件是否插入智能硬件的检测线,实时检测N个USB插件口上是否有USB插件插入,如果有检测到有新的USB插件插入的话,则立即通过相应的VBUS线给新插入的USB插件供电,如果有检测到有USB插件拔出的话,则立即通过相应的VBUS线给拔出的USB插件口断电。

本发明在现有智能硬件普遍采用异步通信方式的主控模块的基础上,通过增设多引脚模块,并用其上2N+2个闲置的GPIO引脚对应扩展支持N个USB插件的方式,具体是主控模块、电源模块、检测模块直接连接多引脚模块后,再利用多引脚模块中的闲置GPIO芯片引脚扩展支持USB插件 ,进而通过更多的GPIO引脚灵活扩展USB插件的数量,拓展智能硬件的功能,满足用户的各种不同需求;GPIO引脚不够的话,就增加多引脚模块中的多引脚芯片数量,直到满足为止。本发明通过多引脚模块中的GPIO引脚扩展支持USB插件,适用于智能硬件如常见的智能插座,以及其它需要把一对一设备间的异步通信扩展为一对多设备间的同步通信的应用开发场景。在智能硬件的主控芯片不变的前提下,采用本发明方案,用主控模块、电源模块、检测模块和多引脚模块中闲置GPIO引脚采用有机的组合,可以最大化的扩展智能硬件的功能,满足用户的各种不同需求,如通过智能硬件监测PM2.5及报警、监测空气中的煤气含量及报警、监测空气中的烟雾颗粒密度及报警、监测空气温湿度及报警、支持远程控制红外遥控设备、支持远程遥控射频设备等。

所述检测模块、电源模块和多引脚模块三个模块可以集成在主控模块上;或者检测模块、电源模块和多引脚模块分别是单独的模块,通过控制线和主控模块相连进行通信;或者检测模块、电源模块和多引脚三个模块中,模块两两结合为一个比较大的模块再集成在主控模块上,剩余的单独模块通过控制线和主控模块相连进行通信;或者检测模块、电源模块和多引脚模块结合为一个整体后再集成在主控模块上。检测模块、电源模块和多引脚模块可以根据实际情况采用多种灵活组合形式,方便后续连接和制造封装,将检测模块、电源模块和多引脚模块分别做成独立模块与主控模块相连,使用灵活,方便维护;将三个模块中两两组合集成在主控模块上,剩余一个模块单独连接主控模块,这样集成度高,便于后期组装,生产效率高。

另一种实现同步通信的通信系统,包括主控端和被控端,所述主控端包括电连接的主控模块、检测模块、电源模块,所述主控模块包括主控芯片、数据寄存器和配套数据总线、时钟寄存器和配套时钟总线、以及配套的多引脚芯片;所述检测模块包括检测各个USB插件是否插入的检测芯片和配套的多引脚芯片,所述电源模块包括电源芯片和配套的多引脚芯片;所述被控端包括多个USB插件,所述USB插件具有和扩展功能对应的传感器,其特征是所述主控模块、电源模块和检测模块通过2N+2个GPIO引脚扩展N个USB插件,其中N为自然数,主控模块一个单独GPIO引脚用做所有待接入USB插件口的D-线,连接到所述数据总线上,作为USB插件的数据线连接到所述数据总线上;主控模块上另一个单独GPIO引脚用做所有待接入USB插件口的D+线,连接到所述时钟总线上,作为USB插件的时钟线连接到所述时钟总线上;电源模块上N个GPIO引脚分别做N个待接入USB插件口的VBUS线,所述VBUS线连接电源模块为对应的USB插件供电,每个USB插件单独连接电源模块上一个GPIO引脚为对应的USB插件供电;检测模块上N个GPIO引脚分别做N个待接入USB插件口的检测线,实时检测N个USB插件口上是否有USB插件插入,如果有检测到有新的USB插件插入的话,则立即通过相应的VBUS线给新插入的USB插件供电,如果有检测到有USB插件拔出的话,则立即通过相应的VBUS线给拔出的USB插件口断电。这种通信系统直接利用主控模块、检测模块和电源模块各自的GPIO引脚扩展连接USB插件。

所述主控模块上的两个GPIO引脚为主控芯片的闲置引脚,或主控模块内独立设置的多引脚芯片上的闲置引脚。充分利用主控模块上的GPIO引脚扩展支持USB插件,其中GPIO引脚可以来自主控芯片的闲置引脚或者主控模块内设置的多引脚芯片上的闲置引脚。

附图说明

图1:实施例1所述通信系统示意图。

图2:主控模块使用闲置GPIO引脚扩展支持USB插件整体示意图。

图3:主控模块使用闲置GPIO引脚扩展支持USB插件局部示意图。

图4:电源模块使用闲置GPIO引脚扩展支持USB插件整体示意图。

图5:电源模块使用闲置GPIO引脚扩展支持USB插件局部示意图。

图6:检测模块使用闲置GPIO引脚扩展支持USB插件整体示意图。

图7:检测模块使用闲置GPIO引脚扩展支持USB插件局部示意图。

图8:实施例2所述通信系统示意图。

具体实施方式

下面结合附图说明和具体实施方式对本发明做进一步的说明。

一种用于智能硬件的同步通信方法,包括以下步骤:

1)将智能硬件的主控模块的GPIO引脚分为数据引脚和时钟引脚,将所述数据引脚设为主控模块的数据总线,将所述时钟引脚设为主控模块的时钟总线;

2)每个USB插件上电复位后,向主控模块注册一个全局唯一地址,并把D-线和D+线中任一个作为数据线连接到主控模块的数据总线上,另一线作为时钟线连接到主控模块的时钟总线上;

3)通过主控模块对GPIO数据寄存器和时钟寄存器进行控制,每个USB插件上电之后,就一直处于收发数据的状态,并不会因为时钟线上有或者没有时钟信号而改变;当主控芯片需要发送数据给某一个USB插件或接受来自某一个USB插件的数据时,主控芯片就会发送时钟信号到时钟总线上,同时在时钟信号的控制下也会把数据信号按照约定好的规则,采用最低有效位数据优先或者最高有效位数据优先的规则,发送数据到数据总线上或者在时钟信号的控制下按照约定好的规则,采用最低有效位数据优先或者最高有效位数据优先的规则从数据总线上读取来自某个USB插件的数据;接收到从主控模块发送过来数据的各个USB插件,在接收到数据之后再根据接收到的数据来判断是否要进行下一步的动作。第二步中也可以将D+线与D-线互换使用,具体是将D+线作为数据线连接到所述主控模块的数据总线上,将D-线作为时钟线连接到所述主控模块的时钟总线上。

实施例1如图1~7所示,一种实现同步通信的通信系统,包括主控端和被控端,所述主控端包括电连接的主控模块、检测模块、电源模块和多引脚模块,其中检测模块、电源模块和多引脚模块三个模块均为单独的模块,通过控制线和主控模块相连进行通信,三个模块内都设有若干多引脚芯片,所述主控模块包括主控芯片、数据寄存器和配套数据总线、时钟寄存器和配套时钟总线、以及配套的多引脚芯片;所述检测模块包括检测各个USB插件是否插入的检测芯片和配套的多引脚芯片,所述电源模块包括电源芯片和配套的多引脚芯片,所述多引脚模块包括若干多引脚芯片;所述被控端包括多个USB插件,所述USB插件具有和扩展功能对应的传感器。此外,检测模块、电源模块和多引脚模块三个模块还可以集成在主控模块上;或者三个模块中每两个模块结合为一个比较大的模块,并集成在主控模块上,剩余一个单独的模块通过控制线和主控模块相连进行通信;或者三个模块结合为一个整体的模块后,再集成在主控模块上。

所述主控模块、电源模块和检测模块通过各自的闲置GPIO引脚和多引脚模块相连,多引脚模块通过少量的控制线和主控模块、电源模块和检测模块上对应GPIO引脚连接进行交互,此为常规的现有技术;多引脚模块通过其上的2N+2个GPIO引脚扩展N个USB插件,其中N为自然数,多引脚模块上一个单独GPIO引脚用做所有待接入USB插件口的D-线,连接到所述数据总线上,作为USB插件的数据线连接到所述数据总线上;多引脚模块上一个单独GPIO引脚用做所有待接入USB插件口的D+线,连接到所述时钟总线上,作为USB插件的时钟线连接到所述时钟总线上;多引脚模块上N个GPIO引脚分别做N个待接入USB插件口的VBUS线,所述VBUS线通过多引脚模块连接电源模块为对应的USB插件供电,单独连接一个GPIO引脚到电源模块上为对应的USB插件供电;使用N个GPIO引脚作为检测USB插件是否插入智能硬件的检测线,实时检测N个USB插件口上是否有USB插件插入,如果有检测到有新的USB插件插入的话,则立即通过相应的VBUS线给新插入的USB插件供电,如果有检测到有USB插件拔出的话,则立即通过相应的VBUS线给拔出的USB插件口断电。

如图2和图3所示,所述主控模块包括主控芯片、数据寄存器和配套数据总线、时钟寄存器和配套时钟总线、以及配套的多引脚芯片,主要功能是处理各种信息和控制,以及和各个具有各种传感器的USB插件之间进行数据通信,通过主控模块内部设置的多引脚芯片上的闲置GPIO引脚扩展,即主控芯片对数据寄存器和时钟寄存器进行控制,当主控芯片需要发送数据给某一个USB插件或接受来自某一个USB插件的数据时,主控芯片就会发送时钟信号到时钟总线上,同时在时钟信号的控制下也会把数据信号按照约定好的规则,采用最低有效位数据优先或者最高有效位数据优先的规则,发送数据到数据总线上或者在时钟信号的控制下按照约定好的规则,采用最低有效位数据优先或者最高有效位数据优先的规则从数据总线上读取来自某个USB插件的数据。

如图4和图5所示,所述电源模块包括电源芯片和配套的多引脚芯片,主要功能是通过电源模块内部设置的多引脚芯片上的闲置GPIO引脚扩展,所述引脚和各个待接入的USB插件口的VBUS线相连,作为接到智能硬件上的各个USB插件口的VBUS线,给被控端包含各种传感器的USB插件提供电源。

如图6和图7所示,所述检测模块包括检测各个USB插件是否插入的检测芯片和配套的多引脚芯片,主要功能是通过检测模块内部设置的多引脚芯片上的闲置GPIO引脚扩展,实时检测智能硬件上的N个USB插件口上是否有新的USB插件插入,如果有检测到有新的USB插件插入的话,则立即通过相应的VBUS线给新插入的USB插件供电,如果有检测到有USB插件拔出的话,则立即通过相应的VBUS线给拔出的USB插件口断电。

实施例2如图8所示,一种实现同步通信的通信系统,包括主控端和被控端,所述主控端包括电连接的主控模块、检测模块、电源模块,所述主控模块包括主控芯片、数据寄存器和配套数据总线、时钟寄存器和配套时钟总线、以及配套的多引脚芯片;所述检测模块包括检测各个USB插件是否插入的检测芯片和配套的多引脚芯片,所述电源模块包括电源芯片和配套的多引脚芯片;所述被控端包括多个USB插件,所述USB插件具有和扩展功能对应的传感器,所述主控模块、电源模块和检测模块通过2N+2个GPIO引脚扩展N个USB插件,其中N为自然数,主控模块一个单独GPIO引脚用做所有待接入USB插件口的D-线,连接到所述数据总线上,作为USB插件的数据线连接到所述数据总线上;主控模块上另一个单独GPIO引脚用做所有待接入USB插件口的D+线,连接到所述时钟总线上,作为USB插件的时钟线连接到所述时钟总线上;电源模块上N个GPIO引脚分别做N个待接入USB插件口的VBUS线,所述VBUS线连接电源模块为对应的USB插件供电,每个USB插件单独连接电源模块上一个GPIO引脚为对应的USB插件供电;检测模块上N个GPIO引脚分别做N个待接入USB插件口的检测线,实时检测N个USB插件口上是否有USB插件插入,如果有检测到有新的USB插件插入的话,则立即通过相应的VBUS线给新插入的USB插件供电,如果有检测到有USB插件拔出的话,则立即通过相应的VBUS线给拔出的USB插件口断电。

本实施例直接使用主控模块、电源模块和检测模块上的闲置GPIO引脚进行USB插件扩展,其中主控模块上的两个GPIO引脚为主控芯片的闲置引脚,或主控模块内独立设置的多引脚芯片上的闲置引脚,2N个GPIO引脚为电源模块内设置的多引脚芯片上的N个闲置引脚和检测模块内设置的多引脚芯片上的N个闲置引脚。

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