一种双SoC芯片复位系统及方法
技术领域
本发明涉及一种通信领域,特别是涉及一种双SoC芯片复位系统及方法。
背景技术
在通信领域,为了在一个产品上集成更多的功能,有时会采用双SoC(System On Chip,片上系统)芯片来设计产品。例如,智能无线拓展器为了同时支持IEEE802.11n标准以及PLC(Power Line Communication,电力线通信)标准,集无线路由、AP(Access Point,无线访问节点)、电力猫功能于一体,可以采用两颗SoC芯片通过MII(Media Independent Interface,介质无关接口)口对接组成,分别为WIFI模块和PLC电力模块,两颗SoC芯片分别由自己的处理器去处理指令。其中,WIFI模块支持ETH(Ethernet,以太网)接口和无线接口。PLC模块完成电力线上数据传输组网以及转发。这时,所述智能无线拓展器就属于双SoC芯片的产品。针对这种情况,所述智能无线拓展器在恢复出厂设置时可以用外接按键按键实现或者网络管理工具实现,由于涉及两颗SoC软件的恢复出厂设置,故有三种情况需要考虑:只复位WI-FI软件、只复位PLC软件、两者同时复位。传统的做法是分别对两颗SoC的GPIO引脚外接,分别对应一颗SoC软件复位,或者通过管理工具去进行复位。
由于现有技术一般都是各自的外接按键去完成各自SoC芯片软件的复位,这种处理方式需要多接一个外接按键,而且在对两个SoC芯片软件同时复位时需要按键两次。鉴于此,如何找到更好的双SoC芯片复位方法成为了本领域技术人员亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种双SoC芯片复位系统及方法,用于解决现有技术中双SoC芯片复位需要设置两个外接按键的问题。
为实现上述目的及其他相关目的,本发明提供一种双SoC芯片复位系统,所述双SoC芯片中的两个SoC芯片分别为第一芯片和第二芯片;所述第一芯片设置有一个外接按键;所述第一芯片的一个GPIO引脚与所述第二芯片的复位引脚相连;所述双SoC芯片复位系统包括:按键监测模块,用于监测所述外接按键的连续按键时间;按键处理模块,与所述按键监测模块相连,用于预设三个互不重叠的时间段与三个芯片复位操作的对应关系,所述三个芯片复位操作包括:第一芯片复位操作、所述第二芯片复位操作、以及所述第一芯片与第二芯片同时复位操作;根据获取的所述连续按键时间所属的时间段确定对应的所述芯片复位操作,并发出所述芯片复位操作对应的复位电平信号;软件复位模块,与所述按键处理模块相连,用于当监测到所述复位电平信号时,完成相应的软件复位操作。
可选地,所述按键处理模块通过中断模式实现。
可选地,所述复位电平信号包括:先向所述复位引脚发出一个电平变化,达到设定的软件复位时间后再向所述复位引脚发出一个电平变化。
可选地,所述三个时间段之间有1到3秒的间隔。
可选地,所述三个时间段分别为:1到3秒,对应所述第一芯片复位;5到8秒,对应所述第二芯片复位;10到15秒,对应所述第一芯片与所述第二芯片同时复位。
本发明提供一种双SoC芯片复位方法,所述双SoC芯片中的两个SoC芯片分别为第一芯片和第二芯片;所述双SoC芯片复位方法包括:预设互不重叠的三个时间段,所述三个时间段分别对应所述第一芯片复位,所述第二芯片复位,以及所述第一芯片与所述第二芯片同时复位;获取外接按键的连续按键时间;当监测到所述连续按键时间属于所述三个时间段的任一时间段范围内时,执行所述连续按键时间所属时间段对应的芯片复位操作。
可选地,所述执行所述连续按键时间所属时间段对应的芯片复位操作的具体实现包括:启动所述第一芯片上的软件以及第二芯片上的软件,所述第一芯片上的软件以及第二芯片上的软件都具有软件复位功能;所述双SoC芯片的驱动程序注册中断,根据所述连续按键时间所属时间段对应的芯片复位操作发送不同的信号;当所述芯片复位操作为第一芯片复位时,向所述第一芯片的复位引脚发出复位电平信号,触发所述第一芯片的软件复位;当所述芯片复位操作为第二芯片复位时,向所述第二芯片的复位引脚发出复位电平信号,触发并完成所述第一芯片的软件复位。
可选地,所述复位电平信号包括:先向所述复位引脚发出一个电平变化,达到设定的软件复位时间后再向所述复位引脚发出一个电平变化。
可选地,所述三个时间段之间有1到3秒的间隔。
可选地,所述三个时间段分别为:1到3秒,对应所述第一芯片复位;5到8秒,对应所述第二芯片复位;10到15秒,对应所述第一芯片与所述第二芯片同时复位。
如上所述,本发明的一种双SoC芯片复位系统及方法,具有以下有益效果:通过一个外接按键根据按键时间来确定对两颗SoC芯片的不同复位方式,这样在减少了外接按键的个数的情况下,不仅能够实现对不同SoC芯片的单独软件复位,还可以一次实现对两个SoC芯片同时软件复位。
附图说明
图1显示为本发明的一种双SoC芯片复位系统的一实施例的模块示意图。
图2显示为本发明的一种双SoC芯片复位系统的一实施例的硬件结构示意图。
图3显示为本发明的一种双SoC芯片复位方法的一实施例的流程示意图。
元件标号说明
1 双SoC芯片复位系统
11 按键监测模块
12 按键处理模块
13 软件复位模块
S1~S3 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提供一种双SoC芯片复位系统。在一个实施例中,如图1所示,双SoC芯片复位系统1包括按键监测模块11、按键处理模块12、以及软件复位模块13。在一个实施例中,如图2所示,所示SoC芯片复位系统1的硬件结构中:所述双SoC芯片中的两个SoC芯片分别为第一芯片和第二芯片;所述第一芯片为WLAN芯片,所述第二芯片为PLC芯片(包括控制芯片与PLC功能芯片),所述第一芯片与第二芯片之间通过MII接口相连。所述第一芯片设置有一个外接按键,所述外接按键与所述第一芯片的一个GPIO引脚相连,用于软件复位控制;所述第一芯片的另一个GPIO引脚与所述第二芯片的复位引脚相连。
在一个实施例中,所述双SoC芯片复位系统1包括按键监测模块11、按键处理模块12、以及软件复位模块13。其中:
按键监测模块11用于监测所述外接按键的连续按键时间。具体地,按键监测模块11监测所述外接按键并当所述外接按键按下时,获取所述外接按键的按下的连续时间,即连续按键时间。
按键处理模块12与所述按键监测模块11相连,用于预设三个互不重叠的时间段与三个芯片复位操作的对应关系,所述三个芯片复位操作包括:第一芯片复位操作、所述第二芯片复位操作、以及所述第一芯片与第二芯片同时复位操作;根据获取的所述连续按键时间所属的时间段确定对应的所述芯片复位操作,并发出所述芯片复位操作对应的复位电平信号。在一个实施例中,所述三个时间段之间有1到3秒的间隔。在一个实施例中,所述三个时间段分别为:1到3秒,对应所述第一芯片复位;5到8秒,对应所述第二芯片复位;10到15秒,对应所述第一芯片与所述第二芯片同时复位。在一个实施例中,所述按键处理模块12通过中断模式实现。在一个实施例中,所述复位电平信号包括:先向所述复位引脚发出一个电平变化,达到设定的软件复位时间后再向所述复位引脚发出一个电平变化。
软件复位模块13与所述按键处理模块12相连,用于当监测到所述复位电平信号时,完成相应的软件复位操作。
在一个实施例中,所述双SoC芯片复位系统1的硬件支持包括:1,一颗SoC(以下用SoC-A来表示)的GPIO引脚(以下用A-G-1表示)外接,此外接按键用来完成软件复位,所述SoC-A也可称为第一芯片。2,SoC-A的另一个GPIO引脚(以下用A-G-2表示)连接另一颗SoC(以下用SoC-B)复位引脚(以下用B-G-2表示),所述SoC-B也可称为第二芯片。软件支持包括:1,SoC-A软件上层应用程序通过IOCTL接口向GPIO注册其进程ID值。2,在驱动那边注册中断,判断A-G-1电平变化时间,根据A-G-1电平变化时间确定属于所述三个时间段的哪一个,所述三个时间段分别对应所述第一芯片复位,所述第二芯片复位,以及所述第一芯片与所述第二芯片同时复位。根据不同的变化时间所对应的时间段向注册的进程发送不同的3个信号,3个信号对应三种不同的复位操作,其中,信号1对应所述第一芯片复位,信号2对应所述第二芯片复位,信号3对应所述第一芯片与所述第二芯片同时复位。3,上层软件根据驱动给的三个不同信号完成不同的复位操作:信号1完成SoC-A软件复位;信号2则SoC-A上层软件先向A-G-2写入一个电平变化,达到SoC-B软件复位时间范围时再写入电平变化,由于SoC-B的软件监测到有复位信号,完成SoC-B的软件复位;信号3则SoC-A上层软件先向A-G-2写入电平变化,达到SoC-B软件复位时间范围时再写入电平变化,由于SoC-B的软件监测到有复位信号,完成SoC-B的软件复位,之后完成SoC-A软件复位。
本发明提供一种双SoC芯片复位方法。所述双SoC芯片复位方法的所述双SoC芯片中的两个SoC芯片分别为第一芯片和第二芯片。在一个实施例中,如图3所示,所述双SoC芯片复位方法包括:
步骤S1,预设互不重叠的三个时间段,所述三个时间段分别对应所述第一芯片复位,所述第二芯片复位,以及所述第一芯片与所述第二芯片同时复位。在一个实施例中,所述三个时间段之间有1到3秒的间隔。在一个实施例中,所述三个时间段分别为:1到3秒,对应所述第一芯片复位;5到8秒,对应所述第二芯片复位;10到15秒,对应所述第一芯片与所述第二芯片同时复位。
步骤S2,获取外接按键的连续按键时间。具体地,监测所述外接按键并当所述外接按键按下时,获取所述外接按键的按下的连续时间,即连续按键时间。
步骤S3,当监测到所述连续按键时间属于所述三个时间段的任一时间段范围内时,执行所述连续按键时间所属时间段对应的芯片复位操作。在一个实施例中,所述执行所述连续按键时间所属时间段对应的芯片复位操作的具体实现包括:启动所述第一芯片上的软件以及第二芯片上的软件,所述第一芯片上的软件以及第二芯片上的软件都具有软件复位功能;所述双SoC芯片的驱动程序注册中断,根据所述连续按键时间所属时间段对应的芯片复位操作发送不同的信号;当所述芯片复位操作为第一芯片复位时,向所述第一芯片的复位引脚发出复位电平信号,触发所述第一芯片的软件复位;当所述芯片复位操作为第二芯片复位时,向所述第二芯片的复位引脚发出复位电平信号,触发并完成所述第一芯片的软件复位。在一个实施例中,所述复位电平信号包括:先向所述复位引脚发出一个电平变化,达到设定的软件复位时间后再向所述复位引脚发出一个电平变化。
在一个实施例中,所述双SoC芯片复位方法的硬件支持包括:1,一颗SoC(以下用SoC-A来表示)的GPIO引脚(以下用A-G-1表示)外接,此外接按键用来完成软件复位,所述SoC-A也可称为第一芯片。2,SoC-A的另一个GPIO引脚(以下用A-G-2表示)连接另一颗SoC(以下用SoC-B)复位引脚(以下用B-G-2表示),所述SoC-B也可称为第二芯片。软件支持包括:1,SoC-A软件上层应用程序通过IOCTL接口向GPIO注册其进程ID值。2,在驱动那边注册中断,判断A-G-1电平变化时间,根据A-G-1电平变化时间确定属于所述三个时间段的哪一个,所述三个时间段分别对应所述第一芯片复位,所述第二芯片复位,以及所述第一芯片与所述第二芯片同时复位。根据不同的变化时间所对应的时间段向注册的进程发送不同的3个信号,3个信号对应三种不同的复位操作,其中,信号1对应所述第一芯片复位,信号2对应所述第二芯片复位,信号3对应所述第一芯片与所述第二芯片同时复位。3,上层软件根据驱动给的三个不同信号完成不同的复位操作:信号1完成SoC-A软件复位;信号2则SoC-A上层软件先向A-G-2写入一个电平变化,达到SoC-B软件复位时间范围时再写入电平变化,由于SoC-B的软件监测到有复位信号,完成SoC-B的软件复位;信号3则SoC-A上层软件先向A-G-2写入电平变化,达到SoC-B软件复位时间范围时再写入电平变化,由于SoC-B的软件监测到有复位信号,完成SoC-B的软件复位,之后完成SoC-A软件复位。
综上所述,本发明的一种双SoC芯片复位系统及方法,可以通过1个外接按键选择划分时间区域完成两个SoC芯片的软件复位,通过一个SoC芯片软件向GPIO写入电平变化去控制另一个SoC芯片软件复位。该技术方案通过一个外接按键根据按键时间来确定对两颗SoC芯片的不同复位方式,这样在减少了外接按键的个数的情况下,不仅能够实现对不同SoC芯片的单独软件复位,还可以一次实现对两个SoC芯片同时软件复位。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。