发明内容
有鉴于此,本发明实施例提供一种模组识别方法及终端设备,以解决现有方法中识别3个以上的模组时造成的GPIO端口资源的多度占用的问题。
为了实现上述目的,现提出的方案如下:
本发明实施例的第一方面提供一种模组识别方法,应用于终端设备,所述终端设备的CPU的第一端口与模组的检测端口相连,所述CPU的第二端口与所述模组的第二端口相连;所述方法包括:
控制所述CPU的第二端口分别输出高电平信号和低电平信号;
在所述CPU的第二端口输出高电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;在所述CPU的第二端口输出低电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;所述CPU的第一端口被配置的状态包括输入上拉状态、输入下拉状态和输入不拉状态;
结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组。
结合本发明实施例的第一方面,在本发明实施例的第一方面的第一种实施方式中,所述结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组,包括:
确定满足第一预设条件,识别所述模组为所述模组检测端口接地的模组;
其中,所述第一预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
结合本发明实施例的第一方面,在本发明实施例的第一方面的第二种实施方式中,所述结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组,包括:
确定满足第二预设条件,识别所述模组为所述模组的检测端口悬空的模组;
其中,所述第二预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号为高电平信号,检测到所述模组的检测端口在接收到被配置为输入下拉和输入不拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号;
并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号为高电平信号,检测到所述模组的检测端口在接收到被配置为输入下拉和输入不拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
结合本发明实施例的第一方面,在本发明实施例的第一方面的第三种实施方式中,所述结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组,包括:
确定满足第三预设条件,识别所述模组为所述模组的检测端口接电源的模组;
其中,所述第三预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号。
结合本发明实施例的第一方面,在本发明实施例的第一方面的第四种实施方式中,所述结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组,包括:
确定满足第四预设条件,识别所述模组为所述模组的第二端口与所述模组的检测端口相连接的模组;
其中,所述第四预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
结合本发明实施例的第一方面的第一种实施方式、第二种实施方式或者第三种实施方式,在本发明实施例的第一方面的第五种实施方式中,所述结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型识别所述模组,还包括:
确定满足第四预设条件,识别所述模组为所述模组的第二端口与所述模组的检测端口相连接的模组;
其中,所述第四预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
在本发明实施例的第二方面提供一种终端设备,包括:CPU和模组,所述CPU的第一端口与所述模组的检测端口相连,所述CPU的第二端口与所述模组的第二端口相连,其中,
所述CPU用于控制所述CPU的第二端口分别输出高电平信号和低电平信号;在所述CPU的第二端口输出高电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;在所述CPU的第二端口输出低电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;并结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组,所述CPU的第一端口被配置的状态包括输入上拉状态、输入下拉状态和输入不拉状态。
结合本发明实施例的第二方面,在本发明实施例的第二方面的第一种实施方式中,所述CPU在结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组时,具体用于:确定满足第一预设条件,识别所述模组为所述模组检测端口接地的模组;
其中,所述第一预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
结合本发明实施例的第二方面,在本发明实施例的第二方面的第二种实施方式中,所述CPU在结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组时,具体用于:确定满足第二预设条件,识别所述模组为所述模组的检测端口悬空的模组;
其中,所述第二预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号为高电平信号,检测到所述模组的检测端口在接收到被配置为输入下拉和输入不拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号;
并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号为高电平信号,检测到所述模组的检测端口在接收到被配置为输入下拉和输入不拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
结合本发明实施例的第二方面,在本发明实施例的第二方面的第三种实施方式中,所述CPU在结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组时,具体用于:确定满足第三预设条件,识别所述模组为所述模组的检测端口接电源的模组;
其中,所述第三预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号。
结合本发明实施例的第二方面,在本发明实施例的第二方面的第四种实施方式中,所述CPU在结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组时,具体用于:确定满足第四预设条件,识别所述模组为所述模组的第二端口与所述模组的检测端口相连接的模组;
其中,所述第四预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
结合本发明实施例的第二方面的第一种实施方式、第二种实施方式、或第三种实施方式,在本发明实施例的第五种实施方式中,所述CPU在结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组时,具体还用于:确定满足第四预设条件,识别所述模组为所述模组的第二端口与所述模组的检测端口相连接的模组;
其中,所述第四预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
从上述的技术方案可以看出,本发明实施例公开模组识别方法中,将被识别的模组的第二端口和检测端口相连接,此种类型的模组,在CPU的第二端口传输高电平信号和低电平信号时,所述模组的检测端口接收处于输入上拉、输入下拉和输入不拉的状态下的所述CPU的第二端口传输的信号时的输出信号,不同于将所述模组的第二端口与所述模组的检测端口不进行连接下的模组的检测端口的输出信号;这样,除根据所述模组的检测端口接收处于输入上拉、输入下拉和输入不拉的状态下的所述CPU的第二端口的传输信号时的输出信号来识别3个模组之外,还可以通过在所述CPU的第二端口输出高电平信号和低电平信号时,所述模组的检测端口的输出信号来识别出将所述模组的第二端口与所述模组的检测端口相连接的模组,即识别出第四个模组,由于未增加检测的GPIO端口,解决了现有方法中识别3个以上的模组时造成的GPIO端口资源的多度占用的问题。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种模组识别方法,以解决现有方法中识别3个以上的模组时造成的GPIO端口资源的多度占用的问题。
此处需要说明的是,本发明实施例公开的模组识别方法应用于终端设备,所述终端设备包括CPU和模组,并且,所述模组识别方法除可以识别现有的模组之外,还可以识别模组的第二端口与模组的检测端口相连接的模组,其中,所述第二端口为所述模组中除模组的检测端口外的任意一个端口,所述模组的检测端口与所述CPU的第一端口相连接,且所述CPU的第一端口为所述CPU的任意一个GPIO端口。
并且,本发明实施例公开的模组指具有通信接口的器件,例如:摄像头、液晶显示屏以及触摸屏等一系列的多媒体器件。
参见图1,本发明实施例公开的一种模组识别方法,包括:
S101、控制所述CPU的第二端口分别输出高电平信号和低电平信号。
本实施例中,CPU的第二端口和所述被识别的模组的第二端口相连接,所述CPU在识别任意一个被识别的模组时,所述CPU的第二端口被分别配置为输出高和输出低,对应的,所述CPU的第二端口输出高电平信号和低电平信号至所述模组的第二端口,所述CPU的第二端口输出的信号即为所述模组的第二端口接收的信号。
S102、在所述CPU的第二端口输出高电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;在所述CPU的第二端口输出低电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号。
其中,所述CPU的第一端口被配置的状态包括输入上拉状态、输入下拉状态和输入不拉状态。
其中,所述模组的任意一个端口均可以作为本发明实施例公开的检测端口,一般情况下,将所述模组的第一端口作为模组的检测端口。
并且,所述CPU的第二端口配置为不同的状态时,传输的信号不相同,具体的,所述CPU的第二端口处于输入上拉的状态,其传输信号为高电平信号;所述CPU的第二端口处于输入下拉的状态,其传输信号为低电平信号;所述CPU的第二端口处于输入不拉的状态,其传输信号为空。
S103、结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组。
将被识别的模组的第二端口和检测端口相连接,此种类型的模组,所述CPU的第二端口传输高电平信号和低电平信号时,所述模组的检测端口接收处于输入上拉、输入下拉和输入不拉的状态下的所述CPU的第二端口传输的信号时的输出信号,不同于将所述模组的第二端口与所述模组的检测端口不进行连接下的模组的检测端口的输出信号;这样,除根据所述模组的检测端口接收处于输入上拉、输入下拉和输入不拉的状态下的所述CPU的第二端口的传输信号时的输出信号来识别3个模组之外,还可以通过所述CPU的第二端口输出高电平信号和低电平信号和所述模组的检测端口的输出信号识别出将所述模组的第二端口与所述模组的检测端口相连接的模组,即识别出第四个模组,由于未增加检测的GPIO端口,解决了现有方法中识别3个以上的模组时造成的GPIO端口资源的多度占用的问题。
并且,此处还需要说明的是,所述CPU的第二端口和所述CPU的第一端口是功能复用的,且所述模组的第二端口和所述模组的检测端口也是功能复用,所述CPU的第二端口和所述模组的第二端口仅在所述CPU进行识别所述模组时,用作识别的功能,当所述模组识别结束后,所述CPU的第二端口和所述模组的第二端口均可以完成其他工作。因此,实施例本实施例公开的模组的识别方法,相当于仅占用了所述CPU的一个GPIO端口,也占用了所述模组的一个端口。
本发明另一实施例还公开了一种模组识别方法,如图2所示,包括步骤:
S201、控制所述CPU的第二端口分别输出高电平信号和低电平信号;
S202、在所述CPU的第二端口输出高电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;在所述CPU的第二端口输出低电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;
其中,所述CPU的第一端口被配置的状态包括输入上拉状态、输入下拉状态和输入不拉状态;
S203、确定满足第一预设条件,识别所述模组为所述模组检测端口接地的模组;
其中,所述第一预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
具体的,本实施例中,在所述CPU的第二端口输出高电平信号时,所述模组的检测端口分别接收处于输入上拉、输入下拉和输入不拉的状态下的所述CPU的第一端口的传输信号,即所述模组的检测端口分别接收高电平信号、低电平信号以及空信号时,检测所述模组的检测端口的输出信号,判断所述模组的检测端口的输出信号均为低电平信号。
并且,在所述CPU的第二端口输出低电平信号时,所述模组的检测端口分别接收处于输入上拉、输入下拉和输入不拉的状态下的所述CPU的第一端口的传输信号,检测所述模组的检测端口的输出信号,判断所述模组的检测端口的输出信号也均为低电平信号,说明此时所述模组的第二端口接收的电平信号对所述模组的检测端口的输出信号没有影响,即可以得出:此时被识别的模组中的所述第二端口和所述模组的检测端口没有进行连接。
又由于所述模组的检测端口接收高电平信号、低电平信号以及空信号时的输出信号均为低电平信号,则说明所述模组的检测端口接地,这样,所述模组的检测端口的输出信号才会被拉低,且无论所述模组的检测端口接收哪种信号,输出信号均为低电平信号。
本发明另一实施例还公开了一种模组识别方法,参见图3,包括:
S301、控制所述CPU的第二端口分别输出高电平信号和低电平信号;
S302、在所述CPU的第二端口输出高电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;在所述CPU的第二端口输出低电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;
其中,所述CPU的第一端口被配置的状态包括输入上拉状态、输入下拉状态和输入不拉状态;
S303、确定满足第二预设条件,识别所述模组为所述模组的检测端口悬空的模组;
其中,所述第二预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号,检测到所述模组的检测端口在接收到被配置为输入下拉和输入不拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号;
并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号,检测到所述模组的检测端口在接收到被配置为输入下拉和输入不拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
同样,在本实施例中,在所述CPU的第二端口输出高电平信号,或者输出低电平信号,所述模组的检测端口接收高电平信号、低电平信号以及空信号时的输出信号均相同,说明所述模组的第二端口接收所述CPU的第二端口输出的电平信号对所述模组的检测端口的输出信号没有影响,即此时被识别的模组中的所述模组的第二端口和所述模组的检测端口没有连接。
又由于所述模组的检测端口接收高电平信号时的输出信号为高电平信号,所述模组的检测端口接收低电平信号和空信号时的输出信号均为低电平信号,即所述模组的检测端口的输出信号跟随所述模组的检测端口的输入信号,此时说明所述模组的检测端口悬空,即被识别的模组为所述模组的检测端口悬空的模组。
本发明另一实施例还公开了一种模组识别方法,参见图4,包括:
S401、控制所述CPU的第二端口分别输出高电平信号和低电平信号;
S402、在所述CPU的第二端口输出高电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;在所述CPU的第二端口输出低电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;
其中,所述CPU的第一端口被配置的状态包括输入上拉状态、输入下拉状态和输入不拉状态;
S403、确定满足第三预设条件,识别所述模组为所述模组的检测端口接电源的模组;
其中,所述第三预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号。
同样,在本实施例中,在所述CPU的第二端口输出高电平信号,或者输出低电平信号,所述模组的检测端口接收高电平信号、低电平信号以及空信号时的输出信号均相同,说明所述模组的第二端口接收所述CPU的第二端口输出的电平信号对所述模组的检测端口的输出信号没有影响,即此时被识别的模组中的所述模组的第二端口和所述模组的检测端口没有进行连接。
又由于所述模组的检测端口接收高电平信号、低电平信号以及空信号时的输出信号均为高电平信号,此时说明所述模组的检测端口均输入高电平,即所述模组的检测端口接电源,此时,所述模组的检测端口无论输入信号为哪种信号,其输出信号均会被拉高。
本发明另一实施例还公开了一种模组识别方法,参见图5,包括:
S501、控制所述CPU的第二端口分别输出高电平信号和低电平信号;
S502、在所述CPU的第二端口输出高电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;在所述CPU的第二端口输出低电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;
其中,所述CPU的第一端口被配置的状态包括输入上拉状态、输入下拉状态和输入不拉状态;
S503、确定满足第四预设条件,识别所述模组为所述模组的第二端口与所述模组的检测端口相连接的模组;
其中,所述第四预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
本实施例中,所述CPU的第二端口输出为高电平信号和输出低电平信号时,所述模组的检测端口接收高电平信号、低电平信号以及空信号时输出信号是有区别的,此时,说明所述模组的第二端口接收CPU的第二端口输出的信号对所述模组的检测端口的输出信号有影响,说明此时被识别的模组的所述模组的第二端口与所述模组的检测端口相连接。
具体的,当所述CPU的第二端口输出高电平信号时,由于所述模组的第二端口和所述模组的检测端口相连接,无论所述模组的检测端口的输入信号为哪种信号,所述模组的第二端口接收所述CPU的第二端口输出的高电平信号均会把所述模组的检测端口的输出信号拉高。
同样,所述CPU的第二端口输出低电平信号时,由于所述模组的第二端口和所述模组的检测端口相连接,无论所述模组的检测端口的输入信号为哪种信号,所述模组的第二端口接收所述CPU的第二端口输出的低电平信号均会把所述模组的检测端口的输出信号拉低。
本发明另一实施例还公开了一种模组识别方法,参见图6,包括:
S601、控制所述CPU的第二端口分别输出高电平信号和低电平信号。
S602、在所述CPU的第二端口输出高电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;在所述CPU的第二端口输出低电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号。
其中,所述CPU的第一端口被配置的状态包括输入上拉状态、输入下拉状态和输入不拉状态。
然后,结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,就可以识别所述模组;当确定满足第一预设条件时,执行步骤603;当确定满足第二预设条件时,执行步骤604;当确定满足第三预设条件时,执行步骤605;当确定满足第四预设条件时,执行步骤606。
S603、识别所述模组为所述模组检测端口接地的模组。
其中,所述第一预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
S604、识别所述模组为所述模组的检测端口悬空的模组。
其中,所述第二预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号为高电平信号,检测到所述模组的检测端口在接收到被配置为输入下拉和输入不拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号为高电平信号,检测到所述模组的检测端口在接收到被配置为输入下拉和输入不拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
S605、识别所述模组为所述模组的检测端口接电源的模组。
其中,所述第三预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号。
S606、识别所述模组为所述模组的第二端口与所述模组的检测端口相连接的模组;
其中,所述第四预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
具体的,本实施例公开的步骤的具体工作请参见对应图2-图5中的实施例,此处不再赘述。
以下通过两个示例来说明本发明对应图5的实施例公开的多媒体识别方法。
参见图7,将模组101的P1端口作为检测端口,将模组101的P2端口作为第二端口,模组101的P1端口和P2端口连接在一起。
中央处理器CPU102和模组101的相应端口连接,可以参见图7中显示内容,如:模组101的P1端口和中央处理器CPU102的GPIO_0端口连接,模组101的P2端口与中央处理器CPU102的GPIO_1端口连接。
中央处理器CPU102的GPIO_1端口被配置为输出高和输出低,此时,中央处理器CPU102的GPIO_1端口输出高电平信号和低电平信号至模组101的P2端口。
在模组101的P2端口接收高电平信号和低电平信号的过程中,中央处理器CPU102的GPIO_0端口分别被配置为输入上拉、输入下拉和输入不拉的状态,该端口的传输信号分别输入至模组101的P1端口,中央处理器CPU102获取模组101的P1端口的输出信号,并结合输入至模组101的P2端口的信号和模组101的P1端口的输出信号来识别模组101。
此处需要说明的是,中央处理器CPU102的GPIO_0端口被配置为输入上拉的状态下,该端口传输的信号为高电平信号;中央处理器CPU102的GPIO-_0端口被配置为输入下拉的状态下,该端口传输的信号为低电平信号;中央处理器CPU102的GPIO_0端口被配置为输入不拉的状态下,该端口传输的信号为空信号。
具体的,模组101的P2端口接收的信号为高电平信号,模组101的P1端口接收高电平信号、低电平信号以及空信号时,输出信号均为高电平信号;模组101的P2端口接收的信号为低电平信号,模组101的P1端口接收高电平信号、低电平信号以及空信号时,输出信号均为低电平信号。
同样,在另一示例中,参见图8,将模组103的P1端口作为检测端口,将模组103的P4端口作为第二端口,模组103的P1端口和P4端口连接在一起。
与上述内容相同,中央处理器CPU102和模组103的相应端口连接,请参见图8。
中央处理器CPU102的GPIO_2端口被配置为输出高和输出低,此时,中央处理器CPU102的GPIO_2端口输出高电平信号和低电平信号至模组101的P4端口。
在模组103的P4端口接收高电平信号和低电平信号的过程中,模组103的P1端口接收高电平信号、低电平信号以及空信号,中央处理器CPU102获取模组103的P1端口的输出信号,并结合输入至模组103的P4端口的信号和模组103的P1端口的输出信号来识别模组103。
在图7和图8中,与模组的P1端口相连接的端口不相同,通过检测模组的端口是否有输出信号的输出,可以区别对应不同端口连接到模组的P1端口的模组。
再结合通过模组的P1端口接收不同信号下输出信号的不同,可以识别不同的P1端口的接法,对应不同的P1端口的接法识别不同的模组,具体参见以下列表。
本发明另一实施例还公开了一种终端设备,包括:
CPU和模组,所述CPU的第一端口与所述模组的检测端口相连,所述CPU的第二端口与所述模组的第二端口相连,其中,
所述CPU用于控制所述CPU的第二端口分别输出高电平信号和低电平信号;在所述CPU的第二端口输出高电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;在所述CPU的第二端口输出低电平信号时,分别检测所述模组的检测端口在接收到被配置为不同状态的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号;并结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组,所述CPU的第一端口被配置的状态包括输入上拉状态、输入下拉状态和输入不拉状态。
此处需要说明的是,本实施例公开的终端设备包括的模组一般为多个,所述CPU依次对每一个模组进行识别。并且,本实施例中公开的终端设备中包括的CPU和模组的连接关系,可参见图7和图8。
本发明实施例公开的终端设备,第二端口和检测端口相连接的模组,CPU控制所述CPU的第二端口传输高电平信号和低电平信号时,CPU得到的所述模组的检测端口接收处于输入上拉、输入下拉和输入不拉的状态下的所述CPU的第二端口传输的信号时的输出信号,不同于将所述模组的第二端口与所述模组的检测端口不进行连接下的模组的检测端口的输出信号;这样,除根据所述模组的检测端口接收处于输入上拉、输入下拉和输入不拉的状态下的所述CPU的第二端口的传输信号时的输出信号来识别3个模组之外,还可以通过在所述CPU的第二端口输出高电平信号和低电平信号时,所述模组的检测端口的输出信号来识别出将所述模组的第二端口与所述模组的检测端口相连接的模组,即识别出第四个模组,由于未增加检测的GPIO端口,解决了现有方法中识别3个以上的模组时造成的GPIO端口资源的多度占用的问题。
优选地,所述CPU在结合所述CPU的第二端口的输出信号和检测到的所述模组的检测端口的输出信号的类型,识别所述模组的方式具体可以包括以下四种方式的任意一种或者任意组合。
第一种、确定满足第一预设条件,识别所述模组为所述模组检测端口接地的模组;
其中,所述第一预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
第二种、确定满足第二预设条件,识别所述模组为所述模组的检测端口悬空的模组;
其中,所述第二预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号,检测到所述模组的检测端口在接收到被配置为输入下拉和输入不拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号;
并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号,检测到所述模组的检测端口在接收到被配置为输入下拉和输入不拉的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
第三种、确定满足第三预设条件,识别所述模组为所述模组的检测端口接电源的模组;
其中,所述第三预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号。
第四种、确定满足第四预设条件,识别所述模组为所述模组的第二端口与所述模组的检测端口相连接的模组;
其中,所述第四预设条件为:所述CPU的第二端口的输出信号为高电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为高电平信号;并且,所述CPU的第二端口的输出信号为低电平信号时,检测到所述模组的检测端口在接收到被配置为输入上拉、输入下拉和输入不拉三种状态下的所述CPU的第一端口传输的信号时,所述模组的检测端口的输出信号均为低电平信号。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。