硬件识别方法、装置、电子设备和计算机可读存储介质与流程

文档序号:27905045发布日期:2021-12-11 04:04阅读:118来源:国知局
硬件识别方法、装置、电子设备和计算机可读存储介质与流程

1.本发明实施例涉及硬件识别技术领域,尤其涉及一种硬件识别方法、装置、电子设备和计算机可读存储介质。


背景技术:

2.终端设备的开发过程中,为了减小软件开发与维护的工作量,需要实现单套软件适配多种不同的硬件。通常采用数模转换器(analog

to

digital converter)或者输入输出(input output)接口,或者两种组合的方式来识别硬件的类型。
3.现有技术中,采用adc进行识别时,部分系统的adc资源紧张,导致无法使用adc进行硬件类型的识别,采用io接口进行识别时,目前的单个io接口只能实现两种硬件的识别,对于一些需要区分较多硬件状态时,会占用较多的io接口资源。


技术实现要素:

4.本公开提供了一种硬件识别方法、装置、电子设备和计算机可读存储介质,能够提升单个io识别的硬件类型的数量,从而能够释放io接口资源。
5.第一方面,本公开提供了一种硬件识别方法,应用于至少一个输入输出io接口中,所述io接口的内部端口通过内部上拉电阻与高电平电连接,所述内部端口也通过内部下拉电阻接地;
6.所述方法,包括:
7.所述内部上拉电阻和所述内部下拉电阻均处于悬空状态时,获取所述内部端口接收到的第一电平信号;
8.所述内部上拉电阻处于导通状态时,获取所述内部端口接收到的第二电平信号;
9.所述内部下拉电阻处于导通状态时,获取所述内部端口接收到的第三电平信号;
10.根据所述第一电平信号、所述第二电平信号和所述第三电平信号,识别不同类型的硬件。
11.可选的,所述根据所述第一电平信号、所述第二电平信号和所述第三电平信号,识别不同类型的硬件包括:
12.若所述第一电平信号、所述第二电平信号和所述第三电平信号均为低电平信号,识别第一类型硬件;
13.若所述第一电平信号和所述第三电平信号均为低电平信号,且所述第二电平信号为高电平信号,识别第二类型硬件;
14.若所述第一电平信号和所述第二电平信号均为高电平信号,且所述第三电平信号为低电平信号,识别第三类型硬件;
15.若所述第一电平信号、所述第二电平信号和所述第三电平信号均为高电平信号,识别第四类型硬件。
16.可选的,所述获取所述内部端口接收到的第一电平信号之前,还包括:
17.根据所述内部上拉电阻的阻值、所述内部下拉电阻的阻值和电平阈值范围,确定上拉电阻的目标阻值范围和下拉电阻的目标阻值范围;
18.从所述目标阻值范围内确定所述上拉电阻的目标阻值和所述下拉电阻的目标阻值;
19.基于所述上拉电阻的目标阻值和/或所述下拉电阻的目标值,与硬件类型的对应关系,针对不同类型的硬件设置对应阻值的上拉电阻和/或下拉电阻。
20.可选的,所述根据所述内部上拉电阻的阻值、所述内部下拉电阻的阻值和电平阈值范围,确定上拉电阻的目标阻值范围和下拉电阻的目标阻值范围包括:
21.根据所述内部上拉电阻的阻值和高电平阈值范围,确定所述下拉电阻的第一目标阻值范围;
22.根据所述内部上拉电阻的阻值和低电平阈值范围,确定所述下拉电阻的第二目标阻值范围;
23.根据所述内部下拉电阻的阻值和所述高电平阈值范围,确定所述上拉电阻的第三目标阻值范围;
24.根据所述内部下拉电阻的阻值和所述低电平阈值范围,确定所述上拉电阻的第四目标阻值范围。
25.可选的,所述根据所述内部上拉电阻的阻值和高电平阈值范围,确定所述下拉电阻的第一目标阻值范围之前,还包括:
26.根据高电平判断系数、系统电源和电压参数,确定所述高电平阈值范围;
27.根据低电平判断系数、所述系统电源和所述电压参数,确定所述低电平阈值范围。
28.可选的,所述根据高电平判断系数、系统电源和电压参数,确定所述高电平阈值范围包括:
29.根据所述高电平判断系数和所述系统电源的乘积,确定第一高电平阈值;
30.根据所述系统电源和所述电压参数的和,确定第二高电平阈值;
31.将大于等于所述第一高电平阈值且小于等于所述第二高电平阈值的阈值范围,确定为所述高电平阈值范围。
32.可选的,所述根据低电平判断系数、所述系统电源和所述电压参数,确定所述低电平阈值范围包括:
33.根据所述电压参数的负值,确定第一低电平阈值;
34.根据所述低电平判断系数和所述系统电源的乘积,确定第二低电平阈值;
35.将大于等于所述第一低电平阈值且小于等于所述第二低电平阈值的阈值范围,确定为所述低电平阈值范围
36.第二方面,本公开提供了一种硬件识别装置,应用于至少一个输入输出io接口中,所述io接口的内部端口通过内部上拉电阻与高电平电连接,所述内部端口也通过内部下拉电阻接地;
37.所述识别装置包括:
38.获取模块,用于所述内部上拉电阻和所述内部下拉电阻均处于悬空状态时,获取所述内部端口接收到的第一电平信号;所述内部上拉电阻处于导通状态时,获取所述内部端口接收到的第二电平信号;所述内部下拉电阻处于导通状态时,获取所述内部端口接收
到的第三电平信号;
39.识别模块,用于根据所述第一电平信号、所述第二电平信号和所述第三电平信号,识别不同类型的硬件
40.第三方面,本公开提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面提供的任一种方法的步骤。
41.第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面提供的任一种方法的步骤。
42.本公开提供的技术方案中,通过内部上拉电阻和内部下拉电阻均处于悬空状态时,获取内部端口接收到的第一电平信号;内部上拉电阻处于导通状态时,获取内部端口接收到的第二电平信号;内部下拉电阻处于导通状态时,获取内部端口接收到的第三电平信号;根据第一电平信号、第二电平信号和第三电平信号,识别不同类型的硬件,由于每个电平信号可能是高电平信号也可能是低电平信号,故而三个电平信号有八种可能的结果,每种可能性不同类型的硬件,因此,单个io能够识别出多种不同类型的硬件,能够提升单个io识别的硬件类型的数量,从而能够释放io接口资源。
附图说明
43.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
44.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
45.图1为本公开提供的一种应用场景的结构示意图;
46.图2为本公开提供的一种硬件识别方法的流程示意图;
47.图3为本公开提供的另一种硬件识别方法的流程示意图;
48.图4为本公开提供的又一种硬件识别方法的流程示意图;
49.图5为本公开提供的又一种硬件识别方法的流程示意图;
50.图6为本公开提供的又一种硬件识别方法的流程示意图;
51.图7为本公开提供的又一种硬件识别方法的流程示意图;
52.图8为本公开提供的又一种硬件识别方法的流程示意图;
53.图9为本公开提供的一种硬件识别装置的结构示意图;
54.图10为本公开提供的一种计算机设备的内部结构示意图。
具体实施方式
55.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
56.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
57.图1为本公开提供的一种应用场景的结构示意图,如图1所示,包括:一个io接口10,io接口10内部包括:内部端口a、内部上拉电阻ru和内部下拉电阻rd。
58.其中,内部端口a通过内部上拉电阻ru与高电平vcc电连接,内部端口a也通过内部下拉电阻rd接地。
59.软件通过io接口与硬件电连接,io接口与软件连接的端口即为内部端口a,与硬件电连接的端口为外部端口b。内部端口a依次通过内部上拉电阻ru和第一开关k1与高电平vcc电连接,内部端口a依次通过内部下拉电阻rd和第二开关k2接地。通过控制第一开关k1和第二开关k2的通断状态,可以改变内部上拉电阻ru和内部下拉电阻rd的状态,例如,第一开关k1断开时,内部上拉电阻ru处于悬空状态,第一开关k1导通时,内部端口a和高电平vcc导通,内部上拉电阻ru处于导通状态;第二开关k2断开时,内部下拉电阻rd处于悬空状态,第二开关k2导通时,内部端口a和地导通,内部下拉电阻rd处于导通状态。
60.硬件的外围电路设置有上拉电阻r1和/或下拉电阻r2,硬件与io接口电连接后,如图1所示,外部端口b通过上拉电阻r1与高电平vcc电连接,和/或外部端口b通过下拉电阻r2接地。
61.需要说明的是,图1仅示例性展示了硬件的外围电路设置有上拉电阻r1和下拉电阻r2,在其他实施方式中,还可以是设置有上拉电阻r1,或者设置有下拉电阻r2。
62.还需要说明的是,图1仅示例性展示了包括一个io接口的应用场景,在其他应用场景中,还可以是包括多个io接口,每个io接口的结构与如图1所示的结构相同。
63.图2为本公开提供的一种硬件识别方法的流程示意图,图2所示的实施例应用于图1所示的io接口中,如图2所示,方法的具体步骤包括:
64.s101,所述内部上拉电阻和所述内部下拉电阻均处于悬空状态时,获取所述内部端口接收到的第一电平信号。
65.示例性的,如图1所示,控制断开第一开关k1和第二开关k2,使得内部上拉电阻ru与高电平vcc断开,内部下拉电阻rd与地断开,即内部上拉电阻ru和内部下拉电阻rd均处于悬空状态。
66.在内部上拉电阻ru和内部下拉电阻rd均处于悬空状态下,若硬件的外围电路仅设置有上拉电阻r1,由于上拉电阻r1与高电平vcc导通,因此内部端口a处的电压被拉升至高电平,即内部端口a接收到的第一电平信号为高电平信号。若硬件的外围电路仅设置有下拉电阻r2,由于下拉电阻r2接地,因此内部端口a处的电压被拉至低电平,即内部端口a接收到的第一电平信号为低电平信号。
67.s103,所述内部上拉电阻处于导通状态时,获取所述内部端口接收到的第二电平信号。
68.示例性的,如图1所示,导通第一开关k1且断开第二开关k2,使得内部上拉电阻ru与高电平vcc导通,内部下拉电阻rd与地断开,即内部上拉电阻ru处于导通状态,内部下拉电阻rd均处于悬空状态。
69.在内部上拉电阻ru处于导通状态,且内部下拉电阻rd均处于悬空状态下,若硬件的外围电路仅设置有上拉电阻r1,此时,上拉电阻r1与内部上拉电阻ru均与高电平vcc导通,内部端口a处的电压被拉升至高电平,即内部端口a接收到的第二电平信号为高电平信号。若硬件的外围电路仅设置有下拉电阻r2,此时,高电平信号依次通过内部上拉电阻ru和
下拉电阻r2释放至地,内部端口a处的电压取决于下拉电阻r2的阻值和内部上拉电阻ru的阻值,即内部端口a接收到的第二电平信号可能为低电平信号也可能为高电平信号。
70.s105,所述内部下拉电阻处于导通状态时,获取所述内部端口接收到的第三电平信号。
71.示例性的,如图1所示,控制断开第一开关k1且导通第二开关k2,使得内部上拉电阻ru与高电平vcc断开,内部下拉电阻rd与地导通,即内部上拉电阻ru处于悬空状态,内部下拉电阻rd均处于导通状态。
72.在内部上拉电阻ru处于悬空状态,且内部下拉电阻rd均处于导通状态下,若硬件的外围电路仅设置有上拉电阻r1,此时,高电平信号依次通过上拉电阻r1和内部下拉电阻rd释放至地,内部端口a处的电压取决于上拉电阻r1的阻值和内部下拉电阻rd的阻值,即内部端口a接收到的第三电平信号可能为低电平信号也可能为高电平信号。若硬件的外围电路仅设置有下拉电阻r2,此时,下拉电阻r2和内部下拉电阻rd均接地,内部端口a处的电压被拉至低电平,即内部端口a接收到的第三电平信号为低电平信号。
73.s107,根据所述第一电平信号、所述第二电平信号和所述第三电平信号,识别不同类型的硬件。
74.基于上述分析,第一电平信号、第二电平信号和第三电平信号均可以为低电平信号或者高电平信号,则第一电平信号、第二电平信号和第三电平信号组成的结果存在八种可能,基于单个io可以识别出八种不同的结果,每个结果对应一个类型的硬件,显然单个io可以识别出多种不同类型的硬件。
75.本实施例中,通过内部上拉电阻和内部下拉电阻均处于悬空状态时,获取内部端口接收到的第一电平信号;内部上拉电阻处于导通状态时,获取内部端口接收到的第二电平信号;内部下拉电阻处于导通状态时,获取内部端口接收到的第三电平信号;根据第一电平信号、第二电平信号和第三电平信号,识别不同类型的硬件,由于每个电平信号可能是高电平信号也可能是低电平信号,故而三个电平信号有八种可能的结果,每种可能性不同类型的硬件,因此,单个io能够识别出多种不同类型的硬件,能够提升单个io识别的硬件类型的数量,从而能够释放io接口资源。
76.图3为本公开提供的另一种硬件识别方法的流程示意图,图3为图2所示实施例的基础上,执行s107时的一种可能的实现方式的具体描述,如下:
77.s1071,若所述第一电平信号、所述第二电平信号和所述第三电平信号均为低电平信号,识别第一类型硬件。
78.若第一电平信号为低电平信号,则确定硬件的外围电路中设置有下拉电阻,或者设置有下拉电阻和上拉电阻,若第三电平信号为低电平信号,确定外围电路中设置有下拉电路。若第二电平信号为低电平信号,则确定出该下拉电阻的阻值满足低电平信号的条件。基于此,可以确定出该类型的硬件的外围电路中设置有满足低电平信号条件的下拉电阻,将此种类型的硬件作为第一类型硬件,故而能够识别出第一类型硬件。
79.s1072,若所述第一电平信号和所述第三电平信号均为低电平信号,且所述第二电平信号为高电平信号,识别第二类型硬件。
80.若第一电平信号为低电平信号,则确定硬件的外围电路中设置有下拉电阻,或者设置有下拉电阻和上拉电阻,若第三电平信号为低电平信号,确定外围电路中设置有下拉
电阻。若第二电平信号为高电平信号,则确定出该下拉电阻的阻值满足高电平信号的条件。基于此,可以确定出该类型的硬件的外围电路中设置有满足高电平信号条件的下拉电阻,将此种类型的硬件作为第二类型硬件,故而能够识别出第二类型硬件。
81.s1073,若所述第一电平信号和所述第二电平信号均为高电平信号,且所述第三电平信号为低电平信号,识别第三类型硬件。
82.若第一电平信号为高电平信号,则确定硬件的外围电路中设置有上拉电阻,或者设置有下拉电阻和上拉电阻,若第二电平信号为高电平信号,确定外围电路中设置有上拉电阻。若第三电平信号为低电平信号,则确定出该上拉电阻的阻值满足低电平信号的条件。基于此,可以确定出该类型的硬件的外围电路中设置有满足低电平信号条件的上拉电阻,将此种类型的硬件作为第三类型硬件,故而能够识别出第三类型硬件。
83.s1074,若所述第一电平信号、所述第二电平信号和所述第三电平信号均为高电平信号,识别第四类型硬件。
84.若第一电平信号为高电平信号,则确定硬件的外围电路中设置有上拉电阻,或者设置有下拉电阻和上拉电阻,若第二电平信号为高电平信号,确定外围电路中设置有上拉电阻。若第三电平信号为高电平信号,则确定出该上拉电阻的阻值满足高电平信号的条件。基于此,可以确定出该类型的硬件的外围电路中设置有满足高电平信号条件的上拉电阻,将此种类型的硬件作为第四类型硬件,故而能够识别出第四类型硬件。
85.本实施例仅示例性给出了通过三个电平信号识别出设置有上拉电阻或下拉电阻的硬件的四种类型,在其他实施方式中,还可以通过三个电平信号识别出设置有上拉电阻和下拉电阻硬件的多种类型。
86.本实施例中,通过根据若第一电平信号、第二电平信号和第三电平信号均为低电平信号,识别第一类型硬件;若第一电平信号和第三电平信号均为低电平信号,且第二电平信号为高电平信号,识别第二类型硬件;若第一电平信号和第二电平信号均为高电平信号,且第三电平信号为低电平信号,识别第三类型硬件;若第一电平信号、第二电平信号和第三电平信号均为高电平信号,识别第四类型硬件,能够基于三个电平信号识别出至少四种不同类型的硬件。
87.图4为本公开提供的又一种硬件识别方法的流程示意图,图4为图2所示实施例的基础上,执行s101之前,还包括:
88.s201,根据所述内部上拉电阻的阻值、所述内部下拉电阻的阻值和电平阈值范围,确定上拉电阻的目标阻值范围和下拉电阻的目标阻值范围。
89.作为s201的一种可能的实现方式的具体描述,如图5所示:
90.s2011,根据所述内部上拉电阻的阻值和高电平阈值范围,确定所述下拉电阻的第一目标阻值范围。
91.基于上述实施例,内部上拉电阻处于导通状态下,若硬件的外围电路仅设置有下拉电阻r2,内部端口a处的电压ua=vcc*r2(ru+r2)。示例性的,高电平阈值范围为[vh1,vh2],根据如下公式确定第一目标阻值范围:
[0092]
vh1≤vcc*r2(ru+r2)≤vh2
[0093]
求解上述不等式,可以得到第一目标阻值范围。
[0094]
s2012,根据所述内部上拉电阻的阻值和低电平阈值范围,确定所述下拉电阻的第
二目标阻值范围。
[0095]
基于上述实施例,示例性的,低电平阈值范围为[vl1,vl2],根据如下公式确定第二目标阻值范围:
[0096]
vl1≤vcc*r2(ru+r2)≤vl2
[0097]
求解上述不等式,可以得到第二目标阻值范围。
[0098]
s2013,根据所述内部下拉电阻的阻值和所述高电平阈值范围,确定所述上拉电阻的第三目标阻值范围。
[0099]
基于上述实施例,内部下拉电阻均处于导通状态下,若硬件的外围电路仅设置有上拉电阻r1,内部端口a处的电压ua=vcc*r1(rd+r1)。
[0100]
示例性的,高电平阈值范围为[vh1,vh2],根据如下公式确定第三目标阻值范围:
[0101]
vh1≤vcc*r1(rd+r1)≤vh2
[0102]
求解上述不等式,可以得到第三目标阻值范围。
[0103]
s2014,根据所述内部下拉电阻的阻值和所述低电平阈值范围,确定所述上拉电阻的第四目标阻值范围。
[0104]
基于上述实施例,示例性的,低电平阈值范围为[vl1,vl2],根据如下公式确定第四目标阻值范围:
[0105]
vl1≤vcc*r1(rd+r1)≤vl2
[0106]
求解上述不等式,可以得到第四目标阻值范围。
[0107]
下面给出一个具体的实施例:
[0108]
假设io接口中,内部上拉电阻ru=20k,内部下拉电阻rd=20k,高电平阈值范围为[1.26v,2.1v],低电平阈值范围为[

0.3v,0.54v],系统电源vcc=1.8v。基于1.26v≤1.8*r2(r2+20)≤2.1v,确定出第一目标阻值范围r2≥46.7k;基于

0.3v≤1.8*r2(r2+20)≤0.54v,确定出第二目标阻值范围r2≤8.57k;基于1.26v≤1.8*r1(r1+20)≤2.1v,确定出第三目标阻值范围r1≥46.7k;基于

0.3v≤1.8*r1(r1+20)≤0.54v,确定出第四目标阻值范围r2≤8.57k。
[0109]
s203,从所述目标阻值范围内确定所述上拉电阻的目标阻值和所述下拉电阻的目标阻值。
[0110]
示例性的,基于上述实施例,在第一目标阻值范围r2≥46.7k内,任意确定一个阻值作为下拉电阻的目标阻值,例如,下拉电阻的目标阻值为46.7k;在第二目标阻值范围r2≤8.57k内,任意确定一个阻值作为下拉电阻的另一个目标阻值,例如,下拉电阻的另一个目标阻值为8.57k。在第三目标阻值范围r1≥46.7k内,任意确定一个阻值作为上拉电阻的目标阻值,例如,上拉电阻的目标阻值为46.7k;在第四目标阻值范围r2≤8.57k内,任意确定一个阻值作为上拉电阻的另一个目标阻值,例如,上拉电阻的另一个目标阻值8.57k。
[0111]
s205,基于所述上拉电阻的目标阻值和/或所述下拉电阻的目标值,与硬件类型的对应关系,针对不同类型的硬件设置对应阻值的上拉电阻和/或下拉电阻。
[0112]
示例性的,基于上述实施例,建立阻值为8.57k的下拉电阻与第一类型硬件的对应关系,阻值为46.7k的下拉电阻与第二类型硬件的对应关系,阻值为8.57k的上拉电阻与第三类型硬件的对应关系,阻值为46.7k的上拉电阻与第四类型硬件的对应关系。基于上述的对应关系,将阻值为8.57k的下拉电阻设置于第一类型硬件的外围电路,将阻值为46.7k的
下拉电阻设置于第二类型硬件外围电路,将阻值为8.57k的上拉电阻设置于第三类型硬件的外围电路,将阻值为46.7k的上拉电阻设置于第四类型硬件的外围电路。
[0113]
本实施例中,通过根据内部上拉电阻的阻值、内部下拉电阻的阻值和电平阈值范围,确定上拉电阻的目标阻值范围和下拉电阻的目标阻值范围;从目标阻值范围内确定上拉电阻的目标阻值和下拉电阻的目标阻值;基于上拉电阻的目标阻值和/或下拉电阻的目标值,与硬件类型的对应关系,针对不同类型的硬件设置对应阻值的上拉电阻和/或下拉电阻,能够针对不同类型的硬件设置不同阻值的上拉电阻和/或下拉电阻,确保不同类型的硬件能够被单个io接口识别。
[0114]
图6为本公开提供的又一种硬件识别方法的流程示意图,图6为图5所示实施例的基础上,执行s2011之前,还包括:
[0115]
s301,根据高电平判断系数、系统电源和电压参数,确定所述高电平阈值范围。
[0116]
作为执行s301时的一种可能的实现方式的具体描述,如图7所示:
[0117]
s3011,根据所述高电平判断系数和所述系统电源的乘积,确定第一高电平阈值。
[0118]
示例性的,根据高电平判断系数m,系统电源vcc,基于如下公式,确定第一高电平阈值vh1:
[0119]
vh1=m*vcc
[0120]
例如,系统电源vcc=1.8v,高电平判断系数m=0.7,根据上述公式确定出第一高电平阈值vh1=1.26v。
[0121]
s3012,根据所述系统电源和所述电压参数的和,确定第二高电平阈值。
[0122]
示例性的,根据系统电源vcc和电压参数δv,基于如下公式确定第二高电平阈值vh2:
[0123]
vh1=vcc+δv
[0124]
例如,基于上述实施例,电压参数δv=0.3v,根据上述公式确定出第二高电平阈值vh2=2.1v。
[0125]
s3013,将大于等于所述第一高电平阈值且小于等于所述第二高电平阈值的阈值范围,确定为所述高电平阈值范围。
[0126]
示例性的,基于上述实施例,高电平阈值范围可以为[1.26v,2.1v]。
[0127]
s303,根据低电平判断系数、所述系统电源和所述电压参数,确定所述低电平阈值范围。
[0128]
作为执行s303时的一种可能的实现方式的具体描述,如图8所示:
[0129]
s3031,根据所述电压参数的负值,确定第一低电平阈值。
[0130]
示例性的,将根据电压参数的负值

δv确定为第一低电平阈值vl1。例如,电压参数δv=0.3v,第一高电平阈值vl1=

0.3v。
[0131]
s3032,根据所述低电平判断系数和所述系统电源的乘积,确定第二低电平阈值。
[0132]
示例性的,根据低电平判断系数n,系统电源vcc,基于如下公式,确定第二低电平阈值vl2:
[0133]
vl2=n*vcc
[0134]
例如,系统电源vcc=1.8v,低电平判断系数n=0.3,根据上述公式确定出第二低电平阈值vl2=0.54v。
[0135]
s3033,将大于等于所述第一低电平阈值且小于等于所述第二低电平阈值的阈值范围,确定为所述低电平阈值范围。
[0136]
示例性的,基于上述实施例,低电平阈值范围可以为[

0.3v,0.54v]。
[0137]
本公开还提供了一种硬件识别装置,图9为本公开提供的一种硬件识别装置的结构示意图,图9所示的实施例应用于图1所示的io接口中,如图9所示,硬件识别装置100包括:
[0138]
获取模块110,用于所述内部上拉电阻和所述内部下拉电阻均处于悬空状态时,获取所述内部端口接收到的第一电平信号;所述内部上拉电阻处于导通状态时,获取所述内部端口接收到的第二电平信号;所述内部下拉电阻处于导通状态时,获取所述内部端口接收到的第三电平信号。
[0139]
识别模块120,用于根据所述第一电平信号、所述第二电平信号和所述第三电平信号,识别不同类型的硬件。
[0140]
可选的,识别模块120,进一步用于若所述第一电平信号、所述第二电平信号和所述第三电平信号均为低电平信号,识别第一类型硬件;若所述第一电平信号和所述第三电平信号均为低电平信号,且所述第二电平信号为高电平信号,识别第二类型硬件;若所述第一电平信号和所述第二电平信号均为高电平信号,且所述第三电平信号为低电平信号,识别第三类型硬件;若所述第一电平信号、所述第二电平信号和所述第三电平信号均为高电平信号,识别第四类型硬件。
[0141]
可选的,硬件识别装置100,还包括:
[0142]
确定模块,用于根据所述内部上拉电阻的阻值、所述内部下拉电阻的阻值和电平阈值范围,确定上拉电阻的目标阻值范围和下拉电阻的目标阻值范围;从所述目标阻值范围内确定所述上拉电阻的目标阻值和所述下拉电阻的目标阻值。
[0143]
设置模块,用于基于所述上拉电阻的目标阻值和/或所述下拉电阻的目标值,与硬件类型的对应关系,针对不同类型的硬件设置对应阻值的上拉电阻和/或下拉电阻。
[0144]
可选的,确定模块,进一步用于根据所述内部上拉电阻的阻值和高电平阈值范围,确定所述下拉电阻的第一目标阻值范围;根据所述内部上拉电阻的阻值和低电平阈值范围,确定所述下拉电阻的第二目标阻值范围;根据所述内部下拉电阻的阻值和所述高电平阈值范围,确定所述上拉电阻的第三目标阻值范围;根据所述内部下拉电阻的阻值和所述低电平阈值范围,确定所述上拉电阻的第四目标阻值范围。
[0145]
可选的,确定模块,还用于根据高电平判断系数、系统电源和电压参数,确定所述高电平阈值范围;根据低电平判断系数、所述系统电源和所述电压参数,确定所述低电平阈值范围。
[0146]
可选的,确定模块,进一步用于根据所述高电平判断系数和所述系统电源的乘积,确定第一高电平阈值;根据所述系统电源和所述电压参数的和,确定第二高电平阈值;将大于等于所述第一高电平阈值且小于等于所述第二高电平阈值的阈值范围,确定为所述高电平阈值范围。
[0147]
可选的,确定模块,进一步用于根据所述电压参数的负值,确定第一低电平阈值;根据所述低电平判断系数和所述系统电源的乘积,确定第二低电平阈值;将大于等于所述第一低电平阈值且小于等于所述第二低电平阈值的阈值范围,确定为所述低电平阈值范
围。
[0148]
本实施例提供的硬件识别装置,用于执行上述任一方法实施例的步骤,具备方法实施例具有的技术方案和技术效果,这里不再赘述。
[0149]
本发明实施例还提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、近场通信(nfc)或其他技术实现。该计算机程序被处理器执行时以实现一种定制应用的切换方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0150]
本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0151]
在一个实施例中,本技术提供的硬件识别装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该切换装置的各个程序模块,比如,图9所示的获取模块110和识别模块120。各个程序模块构成的计算机程序使得处理器执行上述各方法实施例中的步骤。
[0152]
例如,图10所示的计算机设备可以通过如图9所示的硬件识别装置中的获取模块110执行步骤s101、s103和s105。计算机设备可通过识别模块120执行步骤s107。
[0153]
本发明实施例还提供了一种电子设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0154]
s101,所述内部上拉电阻和所述内部下拉电阻均处于悬空状态时,获取所述内部端口接收到的第一电平信号。
[0155]
s103,所述内部上拉电阻处于导通状态时,获取所述内部端口接收到的第二电平信号。
[0156]
s105,所述内部下拉电阻处于导通状态时,获取所述内部端口接收到的第三电平信号。
[0157]
s107,根据所述第一电平信号、所述第二电平信号和所述第三电平信号,识别不同类型的硬件。
[0158]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0159]
s1071,若所述第一电平信号、所述第二电平信号和所述第三电平信号均为低电平信号,识别第一类型硬件。
[0160]
s1072,若所述第一电平信号和所述第三电平信号均为低电平信号,且所述第二电平信号为高电平信号,识别第二类型硬件。
[0161]
s1073,若所述第一电平信号和所述第二电平信号均为高电平信号,且所述第三电平信号为低电平信号,识别第三类型硬件。
[0162]
s1074,若所述第一电平信号、所述第二电平信号和所述第三电平信号均为高电平信号,识别第四类型硬件。
[0163]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0164]
s201,根据所述内部上拉电阻的阻值、所述内部下拉电阻的阻值和电平阈值范围,确定上拉电阻的目标阻值范围和下拉电阻的目标阻值范围。
[0165]
s203,从所述目标阻值范围内确定所述上拉电阻的目标阻值和所述下拉电阻的目标阻值。
[0166]
s205,基于所述上拉电阻的目标阻值和/或所述下拉电阻的目标值,与硬件类型的对应关系,针对不同类型的硬件设置对应阻值的上拉电阻和/或下拉电阻。
[0167]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0168]
s2011,根据所述内部上拉电阻的阻值和高电平阈值范围,确定所述下拉电阻的第一目标阻值范围。
[0169]
s2012,根据所述内部上拉电阻的阻值和低电平阈值范围,确定所述下拉电阻的第二目标阻值范围。
[0170]
s2013,根据所述内部下拉电阻的阻值和所述高电平阈值范围,确定所述上拉电阻的第三目标阻值范围。
[0171]
s2014,根据所述内部下拉电阻的阻值和所述低电平阈值范围,确定所述上拉电阻的第四目标阻值范围。
[0172]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0173]
s301,根据高电平判断系数、系统电源和电压参数,确定所述高电平阈值范围。
[0174]
s303,根据低电平判断系数、所述系统电源和所述电压参数,确定所述低电平阈值范围。
[0175]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0176]
s3011,根据所述高电平判断系数和所述系统电源的乘积,确定第一高电平阈值。
[0177]
s3012,根据所述系统电源和所述电压参数的和,确定第二高电平阈值。
[0178]
s3013,将大于等于所述第一高电平阈值且小于等于所述第二高电平阈值的阈值范围,确定为所述高电平阈值范围。
[0179]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0180]
s3031,根据所述电压参数的负值,确定第一低电平阈值。
[0181]
s3032,根据所述低电平判断系数和所述系统电源的乘积,确定第二低电平阈值。
[0182]
s3033,将大于等于所述第一低电平阈值且小于等于所述第二低电平阈值的阈值范围,确定为所述低电平阈值范围。
[0183]
本实施例提供的技术方案中,通过内部上拉电阻和内部下拉电阻均处于悬空状态时,获取内部端口接收到的第一电平信号;内部上拉电阻处于导通状态时,获取内部端口接收到的第二电平信号;内部下拉电阻处于导通状态时,获取内部端口接收到的第三电平信号;根据第一电平信号、第二电平信号和第三电平信号,识别不同类型的硬件,由于每个电平信号可能是高电平信号也可能是低电平信号,故而三个电平信号有八种可能的结果,每种可能性不同类型的硬件,因此,单个io能够识别出多种不同类型的硬件,能够提升单个io识别的硬件类型的数量,从而能够释放io接口资源。
[0184]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0185]
s101,所述内部上拉电阻和所述内部下拉电阻均处于悬空状态时,获取所述内部端口接收到的第一电平信号。
[0186]
s103,所述内部上拉电阻处于导通状态时,获取所述内部端口接收到的第二电平信号。
[0187]
s105,所述内部下拉电阻处于导通状态时,获取所述内部端口接收到的第三电平信号。
[0188]
s107,根据所述第一电平信号、所述第二电平信号和所述第三电平信号,识别不同类型的硬件。
[0189]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0190]
s1071,若所述第一电平信号、所述第二电平信号和所述第三电平信号均为低电平信号,识别第一类型硬件。
[0191]
s1072,若所述第一电平信号和所述第三电平信号均为低电平信号,且所述第二电平信号为高电平信号,识别第二类型硬件。
[0192]
s1073,若所述第一电平信号和所述第二电平信号均为高电平信号,且所述第三电平信号为低电平信号,识别第三类型硬件。
[0193]
s1074,若所述第一电平信号、所述第二电平信号和所述第三电平信号均为高电平信号,识别第四类型硬件。
[0194]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0195]
s201,根据所述内部上拉电阻的阻值、所述内部下拉电阻的阻值和电平阈值范围,确定上拉电阻的目标阻值范围和下拉电阻的目标阻值范围。
[0196]
s203,从所述目标阻值范围内确定所述上拉电阻的目标阻值和所述下拉电阻的目标阻值。
[0197]
s205,基于所述上拉电阻的目标阻值和/或所述下拉电阻的目标值,与硬件类型的对应关系,针对不同类型的硬件设置对应阻值的上拉电阻和/或下拉电阻。
[0198]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0199]
s2011,根据所述内部上拉电阻的阻值和高电平阈值范围,确定所述下拉电阻的第一目标阻值范围。
[0200]
s2012,根据所述内部上拉电阻的阻值和低电平阈值范围,确定所述下拉电阻的第二目标阻值范围。
[0201]
s2013,根据所述内部下拉电阻的阻值和所述高电平阈值范围,确定所述上拉电阻的第三目标阻值范围。
[0202]
s2014,根据所述内部下拉电阻的阻值和所述低电平阈值范围,确定所述上拉电阻的第四目标阻值范围。
[0203]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0204]
s301,根据高电平判断系数、系统电源和电压参数,确定所述高电平阈值范围。
[0205]
s303,根据低电平判断系数、所述系统电源和所述电压参数,确定所述低电平阈值范围。
[0206]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0207]
s3011,根据所述高电平判断系数和所述系统电源的乘积,确定第一高电平阈值。
[0208]
s3012,根据所述系统电源和所述电压参数的和,确定第二高电平阈值。
[0209]
s3013,将大于等于所述第一高电平阈值且小于等于所述第二高电平阈值的阈值范围,确定为所述高电平阈值范围。
[0210]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0211]
s3031,根据所述电压参数的负值,确定第一低电平阈值。
[0212]
s3032,根据所述低电平判断系数和所述系统电源的乘积,确定第二低电平阈值。
[0213]
s3033,将大于等于所述第一低电平阈值且小于等于所述第二低电平阈值的阈值范围,确定为所述低电平阈值范围。
[0214]
本发明实施例提供的技术方案中,通过内部上拉电阻和内部下拉电阻均处于悬空状态时,获取内部端口接收到的第一电平信号;内部上拉电阻处于导通状态时,获取内部端口接收到的第二电平信号;内部下拉电阻处于导通状态时,获取内部端口接收到的第三电平信号;根据第一电平信号、第二电平信号和第三电平信号,识别不同类型的硬件,由于每个电平信号可能是高电平信号也可能是低电平信号,故而三个电平信号有八种可能的结果,每种可能性不同类型的硬件,因此,单个io能够识别出多种不同类型的硬件,能够提升单个io识别的硬件类型的数量,从而能够释放io接口资源。
[0215]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random accessmemory,ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,比如静态随机存取存储器(static random accessmemory,sram)和动态随机存取存储器(dynamic random accessmemory,dram)等。
[0216]
以上实施例的各技术特征可以进行任意组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0217]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
[0218]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在
包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0219]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1