CN102708077A - 状态识别方法及设备 - Google Patents

状态识别方法及设备 Download PDF

Info

Publication number
CN102708077A
CN102708077A CN2012101655815A CN201210165581A CN102708077A CN 102708077 A CN102708077 A CN 102708077A CN 2012101655815 A CN2012101655815 A CN 2012101655815A CN 201210165581 A CN201210165581 A CN 201210165581A CN 102708077 A CN102708077 A CN 102708077A
Authority
CN
China
Prior art keywords
state
gpio port
equipment
electric capacity
state recognition
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
Application number
CN2012101655815A
Other languages
English (en)
Other versions
CN102708077B (zh
Inventor
钟光华
刘猛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Device Co Ltd
Original Assignee
Huawei Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Device Co Ltd filed Critical Huawei Device Co Ltd
Priority to CN201210165581.5A priority Critical patent/CN102708077B/zh
Publication of CN102708077A publication Critical patent/CN102708077A/zh
Application granted granted Critical
Publication of CN102708077B publication Critical patent/CN102708077B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Measurement Of Resistance Or Impedance (AREA)

Abstract

本发明提供一种状态识别方法及设备。其中,方法包括:状态识别设备通过状态识别设备的一个GPIO端口输出指定时间的高电平,以向GPIO端口所连接的电容充电,然后通过GPIO端口读取电容上的电平值,直到读取到低电平为止;状态识别设备根据读取到电容的低电平的时间间隔识别出电容对应的状态,其中,状态识别设备预设有时间间隔与状态的对应关系。本发明技术方案可以通过GPIO端口识别出更多状态,解决了应用受限的问题。

Description

状态识别方法及设备
技术领域
本发明涉及通信技术,尤其涉及一种状态识别方法及设备。
背景技术
通用输入输出(General Purpose Input Output,GPIO)端口常用于远端控制和远端通信过程。GPIO端口通过软件编程可扩展为各类工业标准,例如因特尔集成电路(Inter-Integrated Circuit,I2C)、通用异步接收/发送装置(Universal Asynchronous Receiver/Transmitter,UART)、串行外设接口(SerialPeripheral Interface,SPI)等。通过GPIO端口还可以进行状态识别。
其中,通过GPIO端口进行状态识别是通过在GPIO端口外接电阻,然后通过读取该GPIO端口上的电压状态实现的。目前,在没有硬件协议存在的情况下,通过GPIO端口最多可以判断出上拉状态(对应GPIO端口的高电平)、下拉状态(对应GPIO端口的低电平)和悬空状态。
但是,随着GPIO端口的广泛应用,GPIO端口的应用场景也越来越多,例如被用于硬件设计中的按键识别、外设ID识别等方面,这些场景可能存在多于3种的状态。而目前通过GPIO端口仅能识别出三种状态,无法识别出更多的状态,使其应用受到局限。
发明内容
本发明实施例提供一种状态识别方法及设备,用以通过GPIO端口识别出更多状态,解决因识别状态较少而使其使用受限的问题。
一方面提供一种状态识别方法,包括:
状态识别设备通过所述状态识别设备的一个通用输入输出GPIO端口输出指定时间的高电平,以向所述GPIO端口所连接的电容充电,在充电完成后通过所述GPIO端口读取所述电容上的电平值,直到读取到低电平为止;
所述状态识别设备根据读取到所述电容上的低电平的时间间隔识别出所述电容对应的状态,其中所述状态识别设备预设有时间间隔与状态的对应关系。
另一方面提供一种状态识别设备,包括:
第一读取模块,用于通过所述状态识别设备的一个通用输入输出GPIO端口输出指定时间的高电平,以向所述GPIO端口所连接的电容充电,在充电完成后通过所述GPIO端口读取所述电容上的电平值,直到读取到低电平为止;
第一识别模块,用于根据所述第一读取模块读取到的所述电容上的低电平的时间间隔识别出所述电容对应的状态,其中所述状态识别设备预设有时间间隔与状态的对应关系。
另一方面提供一种状态识别方法,包括:
状态识别设备通过所述状态识别设备的一个通用输入输出GPIO端口进行上拉读回,获取第一电平值;
所述状态识别设备通过所述GPIO端口进行下拉读回,获取第二电平值;
所述状态识别设备通过所述GPIO端口输出指定时间的低电平,并在等待所述指定时间之后进行上拉读回,获取第三电平值;
所述状态识别设备通过所述GPIO端口输出所述指定时间的高电平,并在等待所述指定时间之后进行下拉读回,获取第四电平值;
所述状态识别设备根据所述第一电平值、所述第二电平值、所述第三电平值和所述第四电平值识别出所述GPIO端口对应的状态,其中,所述状态识别设备预设有电平值与状态的对应关系。
另一方面提供一种状态识别设备,包括:
第二读取模块,用于通过所述状态识别设备的一个通用输入输出GPIO端口进行上拉读回,获取第一电平值;
第三读取模块,用于通过所述GPIO端口进行下拉读回,获取第二电平值;
第四读取模块,用于通过所述GPIO端口输出指定时间的低电平,并在等待所述指定时间之后进行上拉读回,获取第三电平值;
第五读取模块,用于通过所述GPIO端口输出所述指定时间的高电平,并在等待所述指定时间之后进行下拉读回,获取第四电平值;
第二识别模块,用于根据所述第一电平值、所述第二电平值、所述第三电平值和所述第四电平值识别出所述GPIO端口对应的状态,其中,所述状态识别设备预设有电平值与状态的对应关系。
本发明提供的状态识别方法,通过在状态识别设备的GPIO端口下配置电容,利用对电容的充放电过程,采用先向电容充电,在充电完成后再读取电容上的电平值直到读取到低电平为止的方式,从而利用不同电容的充放电时间不同的特定达到识别多个状态的目的。与现有技术通过配置电阻仅识别出上拉状态、下拉状态和悬空状态的方案相比,本发明技术方案通过配置电容可以识别出另一类状态,另外由于不同电容的充放电过程是不同的,还可以通过配置不同大小的电容并根据读取到不同电容的低电平的时间间隔不同的特征以及预设的不同时间间隔与状态的对应关系识别出更多的状态,有利于提高通过GPIO端口进行状态识别的应用范围,解决了因可识别的状态数量太少而受限的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明一实施例提供的状态识别方法的流程图;
图1B为本发明一实施例提供的状态识别电路的结构示意图;
图2A为本发明另一实施例提供的状态识别方法的流程图;
图2B为本发明另一实施例提供的状态识别电路的结构示意图;
图3为本发明一实施例提供的状态识别设备的结构示意图;
图4为本发明另一实施例提供的状态识别设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1A为本发明一实施例提供的状态识别方法的流程图。如图1A所示,本实施例的状态识别方法包括:
步骤101、状态识别设备通过状态识别设备的一个GPIO端口输出指定时间的高电平,以向与该GPIO端口所连接的电容充电,在充电完成后通过该GPIO端口读取该电容的电平值,直到读取到低电平为止。
步骤102、状态识别设备根据读取到电容上的低电平的时间间隔识别出所述电容对应的状态,其中,状态识别设备预设有时间间隔与状态的对应关系。
本实施例的状态识别设备是指具有GPIO端口的各种设备,例如可以是各种单片机。在本实施例中,状态识别设备和被识别状态对应的设备都不采用硬件协议,例如都不采用UART串口通信协议,无法将GPIO模拟成串行通信状态,即无法通过支持硬件协议通过GPIO端口识别出更多状态,但不限于此。
在此说明,本发明各实施例中,在给电容充电完成后开始读取,直到读取到电容上的低电平的时间间隔主要是指该电容的放电时间。
其中,所述电容对应的状态是指通过该电容所能识别出的状态。在此说明,本实施例的状态识别设备所能识别出的状态可以是设备的类型、设备上电的方式、设备的生产厂家等各种可识别的状态。其中,设备为需要被识别的状态对应的设备,例如可以是芯片、计算机、服务器等。
在本发明各实施例中,时间间隔和状态的对应关系是预先设定好的,在该对应关系中存储有本实施例中读取到所述电容上的低电平的时间间隔与所述电容所能识别出的状态的对应关系。在实际应用中,可以预先确定所使用的电容和该电容所能识别出的状态,然后将该电容的放电时间(即从充电完成后开始读取直到读取到该电容上的低电平为止的时间间隔)和该电容所能识别出的状态预先存储到时间间隔和状态对应关系中。这样当状态识别设备通过GPIO端口对电容上的电平值的读取结果满足上述对应关系时,就可以确定出该电容所能识别出的状态。
具体的,本实施例的状态识别设备通过状态识别设备的GPIO端口进行状态识别之前,首先要将状态识别设备的一个GPIO端口与需要被识别状态对应的设备(即所述电容对应的状态所对应的设备)连接,并在上述GPIO端口与地之间连接电容C(即在该GPIO端口上配置电容),这样可以构成如图1B所示的状态识别电路,电容C的一端与GPIO端口连接,另一端与地连接。其中,电容与需要被识别的状态对应的设备是共地的。
在图1B所示的状态识别电路下,状态识别设备通过GPIO端口进行状态识别的过程包括:状态识别设备通过GPIO端口输出指定时间的高电平,给电容C进行充电。然后,状态识别设备通过GPIO端口读取电容上的电平值,直到读取到低电平为止。其中,状态识别设备通过GPIO端口输出指定时间的高电平,相当于对电容充电。不同被识别状态对应不同的电容(例如电容的大小不同),电容充放电的时间也就不同,进而状态识别设备通过GPIO读取到电容上的低电平的时间间隔也就不同。具体哪种状态使用哪种电容可以根据实际应用场景自行设定。之后,状态识别设备根据读取到电容的低电平的时间间隔和预设的时间间隔与状态的对应关系,进行状态识别。该状态识别过程即步骤101和步骤102所描述的操作。
在具体实现上,状态识别设备读取到电容上的低电平的时间间隔可以用读取次数来表示。例如,当状态识别设备输出指定时间的高电平结束后,状态识别设备可以按照一定的读取周期不停的通过GPIO端口读取电平值,直到读取到低电平为止,并记录读取的次数。其中,读取的次数和读取周期的乘积就是从读取到电容上的低电平的时间间隔,即电容的放电时间。例如,状态识别设备每1us读取一次,第8次读取到低电平(即0)和第15次读取到低电平所识别出的状态是不同的。
其中,指定时间可以根据实际应用情况,结合所使用的状态识别设备、被识别状态对应的设备以及所使用的电容等进行适应性设置,只要输出指定时间的高电平能够保证给电容C充满电即可。例如,假设采用0.1uF的电容,则可以设置指定时间为10微秒(us),如果输出10us的高电平后,0.1uF的电容就会充电完成。
在本实施例中,状态识别可以是识别出同一类被识别设备的不同型号,或者是识别出同一个被识别设备的某个特性的不同值(例如识别出同一被识别设备的不同温度),或者是识别出不同类型的被识别设备等。举例说明,假设使用不同的电容用于识别不同厂家生产的同一类型的设备。假设,A厂家生产的设备使用0.1uF的电容,厂家B生产的设备使用0.5uF的电容,厂家C生产的设备使用0.3uF的电容,厂家D生产的设备使用0.8uF的电容等;其中,0.1uF的电容的放电时间值和A厂家对应关系,0.5uF的电容的放电时间值与B厂家的对应关系,0.3uF的电容的放电时间值与C厂家的对应关系,以及0.8uF的电容的放电时间值与D厂家的对应关系等预先存储在时间间隔与状态的对应关系中。基于此,状态识别状态读取到低电平的时间间隔,如果与0.1uF的电容的放电时间值相同,可以识别出所述设备是A厂家生产的设备,如果与0.5uF的电容的放电时间值相同,可以识别出所述设备是B厂家生成的设备,如果与0.3uF的电容的放电时间值相同,可以识别出所述设备是C厂家生成的设备,如果与0.8uF的电容的放电时间值相同,可以识别出所述设备是D厂家生成的设备等。
本实施例是在现有技术中通过在GPIO端口上配置电阻进行状态识别的基础上,扩展在GPIO端口上配置电容的识别方式,在使用一个GPIO端口进行状态识别的情况下,如果需要识别的状态超过三个,使用本实施例的方法通过读取状态,则可以判断出不同的状态。
进一步,由于不同被识别设备对电容的充放电特性不同,使用不同的电容就会对应不同的电容状态,因此,本实施例的方法可以继续延伸,通过使用不同的电容并配合相适应的从读取到电容的低电平的时间间隔和预设的时间间隔与状态的对应关系,做到更多状态的识别。即本实施例的状态识别方法不仅可以识别出第四类电容状态,并且还可以识别出多个电容状态。
另外,本发明实施例提供的通过在GPIO端口上连接电容进行状态识别的方法,其测试时间较快,满足现代高速电路设计需求。例如,如果使用0.2uF的电容,则该电容的充放电时间为20微秒(us),则如果将输出高电平的指定时间设为20us,输出高电平后等待20us,则从输出高电平到读取到低电平的时间间隔为40us,整个测试过程只需要40us,仍<1毫秒(ms),完全满足现代高速电路设计需求。
由于本实施例的状态识别方法通过一个GPIO端口可以识别出更多状态,因此,解决了因识别状态数量受限导致通过GPIO端口进行状态识别的方法的应用范围受限的问题,本实施例的状态识别方法具有广泛的应用场景。
下面举例说明可以应用本实施例提供的状态识别方法的场景。
例如,假设在一套系统里面需要兼容多块(大于3块)单板,在常规的模式下,即直接给正被使用的单板上电,然后通过I2C或者其他接口读取设备ID来判断单板型号。但不同的单板可能存在电源设计不一样的情况,按照同一种模式上电可能对单板造成损坏。而采用本实施例的方法通过使用不同电容值的电容对应不同类型的单板,并将每个电容和放电时间和所对应的单板类型存储到时间间隔与状态的对应关系中,然后使用图1A所示实施例的流程在单板不工作的情况下判断出每块单板的类型,然后根据单板的类型采用相适应的上电模式给不同类型的单板上电。其中,哪种类型的单板使用哪种电容可以自行配置。由此可见,采用本实施例的方法解决了现有技术中通过GPIO端口仅能识别出三种状态而不适用于该场景的问题不同的电容值,理论上可以判断出无限的不同单板型号。
又例如,在现代消费类电子设备的设计中,由于技术更新换代较快,同一块主板可能需要兼容不同厂家、不同品牌的摄像头、液晶显示器(LiquidCrystal Display,LCD)等模组。由于厂家不一样,很多设备的上电时序也不一样,如果采用统一的上电时序,容易造成器件工作异常。所以,在上电前先确定各种器件的型号是非常重要的,但是由于器件较多,现有技术中通过GPIO端口仅能识别出三种状态,无法对这么多的器件进行型号识别。采用本实施例提供的方法可以解决在上电前需要确定出多种器件的型号的问题,从而使用相适应的上电时序给各器件上电,保证各器件正常工作。
现有技术中,状态识别设备通过一个GPIO端口进行状态识别时,是在GPIO端口上配置下拉电阻或上拉电阻或悬空,从而达到通过该GPIO端口可识别三种状态的目的。本实施例通过扩展在GPIO端口上配置电容的方式,可以使该GPIO端口识别出不止三种状态。在本发明各实施例中,将通过在GPIO端口上配置电阻识别出的三种状态分别记为上拉电阻状态、下拉电阻状态和悬空状态,而将通过在GPIO端口上配置电容识别出的状态称为电容状态。则本实施例的状态识别装置总共可以识别出四大类状态。结合本实施例提供的状态识别流程,每类状态对应的两次读取操作的电平值应该如表1所示。
表1
Figure BDA00001683811200081
基于上述表1所示,当配置上拉电阻时,状态识别设备前后两步通过GPIO端口读回的电平值均为高电平;当配置下拉电阻时,状态识别设备前后两步通过GPIO端口读回的电平值均为低电平;当处于悬空状态时,状态识别设备前后两步通过GPIO端口读回的电平值先高电平再低电平;当配置电容时,状态识别设备前后两步通过GPIO端口读回的电平值先低电平再高电平。其中,通过将状态识别设备前后两步通过GPIO端口读回的电平值与表1中各状态对应的两个电平值相比较,可以获知具体使用哪种配置方式进行状态识别,并且可以获知能够识别出的状态种类。
图2A为本发明另一实施例提供的状态识别方法的流程图。如图2A所示,本实施例的方法包括:
步骤201、状态识别设备通过状态识别设备的一个GPIO端进行上拉读回,获取第一电平值。
步骤202、状态识别设备通过上述GPIO端口进行下拉读回,获取第二电平值。
步骤203、状态识别设备通过上述GPIO端口输出指定时间的低电平,并在等待指定时间之后进行上拉读回,获取第三电平值。
步骤204、状态识别设备通过上述GPIO端口输出指定时间的高电平,并在等待指定时间之后进行下拉读回,获取第四电平值。
步骤205、状态识别设备同时根据读取的第一电平值、第二电平值、第三电平值和第四电平值识别出GPIO端口对应的状态,其中状态识别设备预设有电平值与状态的对应关系。
本实施例的状态识别设备是指具有GPIO端口的各种设备,例如可以是各种单片机。在本实施例中,状态识别设备和被识别状态对应的设备都不采用硬件协议,例如都不采用UART串口通信协议,无法将GPIO模拟成串行通信状态,即无法通过支持硬件协议通过GPIO端口识别出更多状态,但不限于此。
其中,所述GPIO端口对应的状态是指通过该GPIO端口所能识别出的状态。在此说明,本实施例的状态识别设备所能识别出的状态可以是设备的类型、设备上电的方式、设备的生产厂家、设备的温度等各种可识别的状态。其中,设备为需要被识别的状态对应的设备,例如可以是芯片、计算机、服务器等。
在本实施例中,通过状态识别设备的GPIO端口进行状态识别之前,首先要将状态识别设备的一个GPIO端口与被识别状态对应的设备(即所述GPIO端口对应的状态所对应的设备)连接,并在上述GPIO端口上配置电阻,或者是同时配置电阻与电容。
可选的,如果在GPIO端口上配置电阻,则具体可以在GPIO端口与地之间连接电阻,构成下拉电阻;或者,具体在GPIO端口与电源之间连接电阻,构成上拉电阻。
可选的,如果在GPIO端口上配置电阻和电容,则具体可以在GPIO端口与地之间连接电容,在GPIO端口与地之间连接电阻,构成电容加下拉电阻;或者,具体可以在GPIO端口与地之间连接电容,在GPIO端口与电源之间连接电阻,构成电容加上拉电阻。
可选的,GPIO端口上也可以什么都不配置,则构成悬空状态。
其中,电阻或电容是与被识别状态对应的设备共地的。
本实施例以电容与GPIO端口和地连接,电阻分别与GPIO端口和地连接,构成下拉电阻R为例,这样可以构成如图2B所示的状态识别电路。
在图2B所示的状态识别电路下,状态识别设备通过GPIO端口进行状态识别的过程包括:状态识别设备通过GPIO端口进行上拉读回,获取第一电平值,该读回操作主要用于在GPIO端口上存在上拉电阻时读回上拉电阻上的电平值,在本实施例中通过读回的电平值可以判断上拉电阻是否存在。状态识别设备通过GPIO端口进行下拉读回,获取第二电平值,该读回操作主要用于在GPIO端口上存在下拉电阻时读回下拉电阻上的电平值,在本实施例中通过读回的电平值可以判断下拉电阻是否存在。在上述过程中,由于电阻不具有充放电的过程,所以状态识别设备可以直接通过GPIO端口读取电阻上的电平值。状态识别设备通过GPIO端口输出指定时间的低电平,并在等待指定时间之后通过GPIO端口进行上拉读回,获取第三电平值。该操作可以看作是对电容的初始化操作,该操作的目的是使状态识别设备通过GPIO端口先读取到低电平。较为优选的,状态识别设备通过GPIO端口输出指定时间的低电平后,可以等待指定时间,然后在执行通过GPIO端口进行读回操作,这样有利于减少读取操作的次数。接着,状态识别设备通过GPIO端口输出指定时间的高电平,在等待指定时间之后通过GPIO端口进行下拉读回,获取第四电平值。其中,状态识别设备通过GPIO端口输出指定时间的高电平,相当于通过被识别设备对电容充电。不同被识别设备对应不同的电容(例如电容的大小不同),对电容充电的时间也就不同,一旦电容固定其对应的充放电时间也就固定,在本实施例中,所述指定时间即为所使用的电容的充放电时间。在等待指定时间之后进行下拉读回是指读取电容放电后的电平值。之后,状态识别设备根据读取到的第一电平值、第二电平值、第三电平值、第四电平值和预设的电平值与状态的对应关系进行状态识别。该状态识别过程即步骤201-步骤205所描述的操作。其中,上述GPIO端口对应的状态是指该GPIO端口可以识别出的状态。
其中,指定时间会因所使用的电容的不同而不同。例如,假设采用0.1uF的电容,则可以设置指定时间为10微秒(us),如果输出10us的低电平后等待10us,然后再输出10us的高电平,由于0.1uF的电容充电完成需要10us,则整个测试过程只需要40us。
在本实施例中,状态识别可以是识别出同一类被识别设备的不同型号,或者是识别出同一个被识别设备的某个特性的不同值(例如识别出同一被识别设备的不同温度),或者是识别出不同类型的被识别设备等。
现有技术中,状态识别设备通过一个GPIO端口进行状态识别时,是在GPIO端口上配置下拉电阻或上拉电阻或悬空,从而达到通过该GPIO端口可识别三种状态的目的。本实施例通过扩展在GPIO端口上配置电容加上拉电阻或电容加下拉电阻的方式,可以使该GPIO端口识别出不止三种状态。在本发明各实施例中,将通过在GPIO端口配置电阻识别出的三种状态分别记为上拉电阻状态、下拉电阻状态和悬空状态,而将通过在GPIO端口上配置电容加上拉电阻识别出的状态称为电容上拉电阻状态,将通过在GPIO端口上配置电容加下拉电阻的状态称为电容加下拉电阻状态。则本实施例的状态识别装置总共可以识别出五大类状态。结合本实施例提供的状态识别流程,每类状态对应的四次读取操作的电压值如表2所示,该表2所示也就是电压值与状态的对应关系。
表2
Figure BDA00001683811200111
基于上述表2所示,当配置上拉电阻时,状态识别设备前后四步通过GPIO端口读回的电平值均为高电平;当配置下拉电阻时,状态识别设备前后四步通过GPIO端口读回的电平值均为低电平;当处于悬空状态时,状态识别设备前后四步通过GPIO端口读回的电平值依次为高电平、低电平、高电平、低电平;当配置电容和上拉电阻时,状态识别设备前后四步通过GPIO端口读回的电平值依次为高电平、高电平、低电平、高电平;当配置电容和下拉电阻时,状态识别设备前后四步通过GPIO端口读回的电平值依次为低电平、低电平、低电平、高电平。其中,通过将状态识别设备前后四步通过GPIO端口读回的电平值与表2中各状态对应的四个电平值相比较,可以获知具体使用哪种配置方式进行状态识别,并且可以获知能够识别出的状态种类,例如是上拉电阻状态、下拉电阻状态或电容加上拉电阻状态等。举例说明,通过预先设置上拉电阻状态、下拉电阻状态、电容加上拉电阻状态、电容加下拉电阻状态和悬空状态分别对应不同的设备型号,则通过本实施例的状态识别方法识别出使用的配置方式就可以识别出不同的设备型号,并且本实施例一共可以识别出五种不同的设备型号,与现有技术中只能识别出三种不同的设备型号相比,增加了所能识别的设备型号的数量。
本实施例是在现有技术中通过在GPIO端口上配置电阻进行状态识别的基础上,扩展出在GPIO端口上配置电容和下拉电阻,或电容和上拉电阻的识别方式,并通过改进状态识别的操作步骤,使得使用GPIO端口可以识别出五种状态,而不限于现有技术中的三种。由此可见,本实施例的状态识别方法通过一个GPIO端口可以识别出更多状态,因此,解决了因识别状态数量受限导致通过GPIO端口进行状态识别的方法的应用范围受限的问题,本实施例的状态识别方法具有广泛的应用场景。
举例说明,假设某些需要进行状态识别的设备本身不具备电路条件,例如大型设备的壳体,并且壳体距离线路板较远,则无法通过线路板上的热敏电阻来读取壳体的温度,则可以使用本实施例提供的方法实现简单的温度读取。
具体的,将热敏电阻与电容固定在被测物体(即不具备电路条件的设备的壳体)上,同时热敏电阻与电容串联到地。在本实施例中,热敏电阻和电容构成了电容加下拉电阻的电路结构。本实施例使用的电容足够大,在指定时间内不会被充满。在状态识别过程中,状态识别设备先进行上拉读回,然后再进行下拉读回,接着输出指定时间的低电平并在等待指定时间后进行上拉读回,接着输出高电平对热敏电阻上电,同时电流通过热敏电阻向电容充电,当指定时间结束后充电完成,接着进行下拉读回,直到读取到低电平为止。具体的,状态识别设备在给电容充电完成后,开始分时读取电容上的电平值。由于电容放电是一个曲线过程,状态识别设备通过GPIO端口读取电容上的电平值,可以读取到电容电平值由高变低的时间。然后,状态识别设备通过对该段时间的计算,可以大致判断出电容充电的电量,进而判断出热敏电阻的状态,最后算出当前温度。本实施例的方法可以在没有ADC检测的条件下,方便简单测出当前温度,达到状态识别的目的,并且通过配置不同电阻和电容可以在不同环境中进行温度测试。
综上所述,本发明实施例的方法具有以下有益效果:1、利用简单的电容充电/放电的动态特性,增加了通过GPIO端口进行状态识别的识别方式,对于需要兼容多设备的系统来说简化了系统设计。2、利用本实施例的方法可以在多个模组或器件不工作时,提前进行型号判别更利于多种模组或器件的兼容。3、在一些特殊场合,例如被识别设备无软件支持的情况,无法采用标准工业协议传输的情况,无法进行ADC检测的情况等,使用本实施例的方法可以完成粗略的温度识别等功能。4、与通过增加硬件/软件成本,例如使用UART口、SPI口等实现更多的状态识别的方案相比,本实施例的方法占用的系统资源更少,完全基于硬件设计,无需CPU参与运算,实现更为简单高效。
图3为本发明一实施例提供的状态识别设备的结构示意图。如图3所示,本实施例的设备包括:第一读取模块31和第一识别模块32。
其中,第一读取模块31,用于通过状态识别设备的一个GPIO端口输出指定时间的高电平,以向上述GPIO端口所连接的电容充电,在充电完成后通过上述GPIO端口读取上述电容的电平值,直到读取到低电平为止。
其中,上述电容具体连接于上述GPIO端口和地之间。其中,所述电容与需要被识别的状态对应的设备共地。
第一识别模块32,与第一读取模块31连接,用于根据第一读取模块31读取到电容的低电平的时间间隔识别出所述电容对应的状态,其中本实施例的状态识别设备预设有时间间隔与状态的对应关系。
可选的,当上述GPIO端口与所述电容对应的状态所对应的设备连接时,本实施例的状态识别设备识别出的所述电容对应的状态为所述设备的型号、所述设备的生产厂家、所述设备的上电方式或所述设备的温度,但不限于此。其中,所述设备与所述电容共地。本实施例的状态识别设备的各功能模块可用于执行图1A所示状态识别方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的状态识别设备,通过在现有技术中通过在GPIO端口上配置电阻进行状态识别的基础上,扩展在GPIO端口上配置电容的识别方式,充分利用不同电容的充放电特性不同,使用不同的电容并配合预先设定的读取到电容的低电平的时间间隔与状态的对应关系做到更多状态的识别,因此,解决了因识别状态数量受限导致通过GPIO端口进行状态识别的方法的应用范围受限的问题,具有广泛的应用场景。
图4为本发明另一实施例提供的状态识别设备的结构示意图。如图4所示,本实施例的设备包括:第二读取模块41、第三读取模块42、第四读取模块43、第五读取模块44和第二识别模块45。
其中,第二读取模块41,用于通过状态识别设备的一个GPIO端口进行上拉读回,获取第一电平值。
第三读取模块42,用于通过上述GPIO端口进行下拉读回,获取第二电平值。
第四读取模块43,用于通过上述GPIO端口输出指定时间的低电平,并在等待指定时间之后进行上拉读回,获取第三电平值。
第五读取模块44,用于通过上述GPIO端口输出指定时间的高电平,并在等待指定时间之后进行下拉读回,获取第四电平值。
第二识别模块45,分别与第二读取模块41、第三读取模块42、第四读取模块43和第五读取模块44连接,用于根据第二读取模块41获取的第一电平值、第三读取模块42获取的第二电平值、第四读取模块43获取的第三电平值和第五读取模块44获取的第四电平值识别出GPIO端口对应的状态。其中,本实施例的状态识别设备预设有电平值与状态的对应关系。
在本实施例上述各功能模块执行相应操作之前,需要在GPIO端口上配置电阻,或者同时配置电阻和电容。
可选的,上述GPIO端口与地之间连接有电容,上述GPIO端口与地之间连接有电阻。基于此,本实施例的状态识别设备的GPIO端口构成电容加下拉电阻的状态。或者
上述GPIO端口与地之间连接有电容,上述GPIO端口与电源之间连接有电阻。基于此,本实施例的状态识别设备的GPIO端口构成电容加上拉电阻的状态。或者
上述GPIO端口和地之间连接有电阻。基于此,本实施例的状态识别设备的GPIO端口构成下拉电阻的状态。或者
上述GPIO端口与电源之间连接有电阻。基于此,本实施例的状态识别设备的GPIO端口构成上拉电阻的状态。
可选的,本实施例的状态识别设备的GPIO端口还可以处于悬空状态。
可选的,当上述GPIO端口与上述GPIO端口对应的状态所对应的设备连接时,本实施例的状态识别设备识别出的所述GPIO端口对应的状态为所述设备的型号、所述设备的生产厂家、所述设备的上电方式或所述设备的温度,但不限于此。其中,所述设备与上述电阻或电容共地。
本实施例的各功能模块可用于执行图2A所示状态识别方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的状态识别设备,通过在现有技术中通过在GPIO端口上配置电阻进行状态识别的基础上,扩展出在GPIO端口上配置电容加上拉电阻或电容加下拉电阻的识别方式,并通过改进状态识别的操作步骤,使得通过GPIO端口可以识别出五种状态,与现有技术相比增加了可识别状态数量,因此,在一定程度上解决了因识别状态数量受限导致通过GPIO端口进行状态识别的方法的应用范围受限的问题,具有广泛的应用场景。
综上所述,本发明各实施例的状态识别设备具有以下有益效果:1、本实施例的状态识别设备利用简单的电容充电/放电的动态特性,增加了通过GPIO端口进行状态识别的识别方式,对于需要兼容多设备的系统来说简化了系统设计。2、本实施例的状态识别设备可以在多个模组或器件不工作时,提前进行型号判别更利于多种模组或器件的兼容。3、在一些特殊场合,例如被识别设备无软件支持的情况,无法采用标准工业协议传输的情况,无法进行ADC检测的情况等,本实施例的状态识别设备可以完成粗略的温度识别等功能。4、与通过增加硬件/软件成本,例如使用UART口、SPI口等实现更多的状态识别的方案相比,本实施例的状态识别设备占用的系统资源更少,完全基于硬件设计,无需CPU参与运算,实现更为简单高效。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种状态识别方法,其特征在于,包括:
状态识别设备通过所述状态识别设备的一个通用输入输出GPIO端口输出指定时间的高电平,以向所述GPIO端口所连接的电容充电,在充电完成后通过所述GPIO端口读取所述电容上的电平值,直到读取到低电平为止;
所述状态识别设备根据读取到所述电容上的低电平的时间间隔识别出所述电容对应的状态,其中所述状态识别设备预设有时间间隔与状态的对应关系。
2.根据权利要求1所述的状态识别方法,其特征在于,所述GPIO端口与所述电容连接具体为:所述GPIO端口与所述电容的一端连接,所述电容的另一端与地连接。
3.根据权利要求1或2所述的状态识别方法,其特征在于,
当所述GPIO端口与所述电容对应的状态所对应的设备连接时,所述状态识别设备识别出的所述电容对应的状态为所述设备的型号、所述设备的生产厂家或所述设备的上电方式;
其中,所述设备与所述电容共地。
4.一种状态识别方法,其特征在于,包括:
状态识别设备通过所述状态识别设备的一个通用输入输出GPIO端口进行上拉读回,获取第一电平值;
所述状态识别设备通过所述GPIO端口进行下拉读回,获取第二电平值;
所述状态识别设备通过所述GPIO端口输出指定时间的低电平,并在等待所述指定时间之后进行上拉读回,获取第三电平值;
所述状态识别设备通过所述GPIO端口输出所述指定时间的高电平,并在等待所述指定时间之后进行下拉读回,获取第四电平值;
所述状态识别设备根据所述第一电平值、所述第二电平值、所述第三电平值和所述第四电平值识别出所述GPIO端口对应的状态,其中,所述状态识别设备预设有电平值与状态的对应关系。
5.根据权利要求4所述的状态识别方法,其特征在于,所述状态识别设备通过所述状态识别设备的一个GPIO端口进行上拉读回,获取第一电平值之前包括:
在所述GPIO端口与地之间连接电容,在所述GPIO端口与所述地之间连接电阻;或者
在所述GPIO端口与地之间连接电容,在所述GPIO端口与电源之间连接电阻;或者
在所述GPIO端口与地之间连接电阻;或者
在所述GPIO端口与电源之间连接电阻。
6.根据权利要求5所述的状态识别方法,其特征在于,
当所述GPIO端口与所述GPIO端口对应的状态所对应的设备连接时,所述状态识别设备识别出的所述GPIO端口对应的状态为所述设备的型号、所述设备的生产厂家或所述设备的上电方式或所述设备的温度;
其中,所述设备与所述电阻或所述电容共地。
7.一种状态识别设备,其特征在于,包括:
第一读取模块,用于通过所述状态识别设备的一个通用输入输出GPIO端口输出指定时间的高电平,以向所述GPIO端口所连接的电容充电,在充电完成后通过所述GPIO端口读取所述电容上的电平值,直到读取到低电平为止;
第一识别模块,用于根据所述第一读取模块读取到的所述电容上的低电平的时间间隔识别出所述电容对应的状态,其中所述状态识别设备预设有时间间隔与状态的对应关系。
8.根据权利要求7所述的状态识别设备,其特征在于,所述电容连接于所述GPIO端口与地之间。
9.根据权利要求7或8所述的状态识别设备,其特征在于,当所述GPIO端口与所述电容对应的状态所对应的设备连接时,所述状态识别设备识别出的所述电容对应的状态为所述设备的型号、所述设备的生产厂家、或所述设备的上电方式;
其中,所述设备与所述电容共地。
10.一种状态识别设备,其特征在于,包括:
第二读取模块,用于通过所述状态识别设备的一个GPIO端口进行上拉读回,获取第一电平值;
第三读取模块,用于通过所述GPIO端口进行下拉读回,获取第二电平值;
第四读取模块,用于通过所述GPIO端口输出指定时间的低电平,并在等待所述指定时间之后进行上拉读回,获取第三电平值;
第五读取模块,用于通过所述GPIO端口输出所述指定时间的高电平,并在等待所述指定时间之后进行下拉读回,获取第四电平值;
第二识别模块,用于根据所述第一电平值、所述第二电平值、所述第三电平值和所述第四电平值识别出所述GPIO端口对应的状态,其中,所述状态识别设备预设有电平值与状态的对应关系。
11.根据权利要求10所述的状态识别设备,其特征在于,
所述GPIO端口与地之间连接有电容,所述GPIO端口与地之间连接有电阻;或者
所述GPIO端口与地之间连接有电容,所述GPIO端口与电源之间连接有电阻;或者
所述GPIO端口和地之间连接有电阻;或者
所述GPIO端口与电源之间连接有电阻。
12.根据权利要求10或11所述的状态识别设备,其特征在于,当所述GPIO端口与所述GPIO端口对应的状态所对应的设备连接时,所述状态识别设备识别出的所述GPIO端口对应的状态为所述设备的型号、所述设备的生产厂家、所述设备的上电方式或所述设备的温度;
其中,所述设备与所述电阻或所述电容共地。
CN201210165581.5A 2012-05-25 2012-05-25 状态识别方法及设备 Active CN102708077B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210165581.5A CN102708077B (zh) 2012-05-25 2012-05-25 状态识别方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210165581.5A CN102708077B (zh) 2012-05-25 2012-05-25 状态识别方法及设备

Publications (2)

Publication Number Publication Date
CN102708077A true CN102708077A (zh) 2012-10-03
CN102708077B CN102708077B (zh) 2015-04-29

Family

ID=46900873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210165581.5A Active CN102708077B (zh) 2012-05-25 2012-05-25 状态识别方法及设备

Country Status (1)

Country Link
CN (1) CN102708077B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103543682A (zh) * 2013-11-06 2014-01-29 深圳市邦彦信息技术有限公司 普通io口识别输入状态的方法及装置
CN106445862A (zh) * 2016-09-06 2017-02-22 广州视睿电子科技有限公司 一种插拔模块识别电路和方法
CN107682040A (zh) * 2017-11-20 2018-02-09 珠海市魅族科技有限公司 终端网络制式的识别电路及识别方法
CN108733587A (zh) * 2017-04-20 2018-11-02 中兴通讯股份有限公司 子设备定位方法及系统
CN108768379A (zh) * 2018-05-31 2018-11-06 华勤通讯技术有限公司 多态识别方法、系统及终端
CN109002410A (zh) * 2018-07-02 2018-12-14 广州视源电子科技股份有限公司 一种gpio口的检测方法
CN109358238A (zh) * 2018-09-27 2019-02-19 普联技术有限公司 一种天线防呆电路及装置
CN109932640A (zh) * 2019-03-29 2019-06-25 北京唯实兴邦科技有限公司 一种高精度fpga焊点故障实时诊断方法及诊断装置
CN111122000A (zh) * 2018-10-31 2020-05-08 杭州海康威视数字技术股份有限公司 一种硬件标识号的生成方法及装置
CN111144733A (zh) * 2019-12-23 2020-05-12 宁波三星医疗电气股份有限公司 平台识别方法、装置、计量自动化终端和可读存储介质
CN114333734A (zh) * 2022-03-14 2022-04-12 成都万创科技股份有限公司 一种支持多种lcd显示的主板电路、系统及实现方法
CN114519027A (zh) * 2022-02-21 2022-05-20 上海矽翊微电子有限公司 一种自适应通讯接口、通讯协议自动识别方法及电子器件

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667166A (zh) * 2009-09-25 2010-03-10 深圳华为通信技术有限公司 设备识别方法及装置
CN101727188A (zh) * 2008-10-15 2010-06-09 索尼株式会社 开关电路
CN101788609A (zh) * 2010-02-09 2010-07-28 华为终端有限公司 电阻值测量方法及装置、电容值测量方法及装置
CN102216918A (zh) * 2011-05-30 2011-10-12 华为终端有限公司 设备标识信息的获取方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727188A (zh) * 2008-10-15 2010-06-09 索尼株式会社 开关电路
CN101667166A (zh) * 2009-09-25 2010-03-10 深圳华为通信技术有限公司 设备识别方法及装置
CN101788609A (zh) * 2010-02-09 2010-07-28 华为终端有限公司 电阻值测量方法及装置、电容值测量方法及装置
CN102216918A (zh) * 2011-05-30 2011-10-12 华为终端有限公司 设备标识信息的获取方法及装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103543682B (zh) * 2013-11-06 2016-06-08 邦彦技术股份有限公司 普通io口识别输入状态的方法及装置
CN103543682A (zh) * 2013-11-06 2014-01-29 深圳市邦彦信息技术有限公司 普通io口识别输入状态的方法及装置
CN106445862A (zh) * 2016-09-06 2017-02-22 广州视睿电子科技有限公司 一种插拔模块识别电路和方法
WO2018045687A1 (zh) * 2016-09-06 2018-03-15 广州视睿电子科技有限公司 一种插拔模块识别电路和方法
CN108733587A (zh) * 2017-04-20 2018-11-02 中兴通讯股份有限公司 子设备定位方法及系统
CN107682040B (zh) * 2017-11-20 2020-02-18 珠海市魅族科技有限公司 终端网络制式的识别电路及识别方法
CN107682040A (zh) * 2017-11-20 2018-02-09 珠海市魅族科技有限公司 终端网络制式的识别电路及识别方法
CN108768379A (zh) * 2018-05-31 2018-11-06 华勤通讯技术有限公司 多态识别方法、系统及终端
CN108768379B (zh) * 2018-05-31 2022-04-05 华勤技术股份有限公司 多态识别方法、系统及终端
CN109002410A (zh) * 2018-07-02 2018-12-14 广州视源电子科技股份有限公司 一种gpio口的检测方法
CN109358238A (zh) * 2018-09-27 2019-02-19 普联技术有限公司 一种天线防呆电路及装置
CN111122000A (zh) * 2018-10-31 2020-05-08 杭州海康威视数字技术股份有限公司 一种硬件标识号的生成方法及装置
CN109932640A (zh) * 2019-03-29 2019-06-25 北京唯实兴邦科技有限公司 一种高精度fpga焊点故障实时诊断方法及诊断装置
CN111144733A (zh) * 2019-12-23 2020-05-12 宁波三星医疗电气股份有限公司 平台识别方法、装置、计量自动化终端和可读存储介质
CN114519027A (zh) * 2022-02-21 2022-05-20 上海矽翊微电子有限公司 一种自适应通讯接口、通讯协议自动识别方法及电子器件
CN114333734A (zh) * 2022-03-14 2022-04-12 成都万创科技股份有限公司 一种支持多种lcd显示的主板电路、系统及实现方法

Also Published As

Publication number Publication date
CN102708077B (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN102708077A (zh) 状态识别方法及设备
CN106571657B (zh) 终端、转换器以及连接转换系统和方法
US8788852B2 (en) System and method for providing power through a reverse local data transfer connection
US9483093B2 (en) Electronic device and method for controlling a setting of a maximum consumption current
CN103186483B (zh) 终端、用于其的otg功能和充电功能的并行执行方法
US20160004287A1 (en) Portable electronic device and power management method thereof
US8352760B2 (en) Power supply circuit and motherboard including the same
CN101398459A (zh) 识别充电器类型的方法及装置
CN203069750U (zh) 一种新型数字芯片测试仪
CN106329630A (zh) 一种充电方法及装置
CN105914547A (zh) 一种数据线、充电装置及其智能识别切换otg的方法
CN208848137U (zh) 具有充电功能的主机板
CN107506321A (zh) 一种基于龙芯2H芯片的COMe_nano核心板
CN219145076U (zh) 一种快充电路
CN100504723C (zh) 电源的usb数据采集装置
CN103795586A (zh) 切换式通信接口检测方法及其装置
CN102508810A (zh) 一种转接装置及转接方法
CN201805437U (zh) 基板管理控制器检测装置
CN202661610U (zh) 遥控器及其电池电量的检测装置
CN2938208Y (zh) 电源顺序控制装置
CN108920392A (zh) 一种数据接口与spi的转换装置及方法
CN106655339A (zh) 一种移动终端的充电管理方法、装置及移动终端
CN101383518A (zh) 电子装置的充电系统及其方法
CN209417725U (zh) 一种带有灯效的单usb-c接口转双usb-c接口的转接器
CN209282342U (zh) 一种检测在位状态的电池系统及移动终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171031

Address after: Metro Songshan Lake high tech Industrial Development Zone, Guangdong Province, Dongguan City Road 523808 No. 2 South Factory (1) project B2 -5 production workshop

Patentee after: HUAWEI terminal (Dongguan) Co., Ltd.

Address before: 518129 Longgang District, Guangdong, Bantian HUAWEI base B District, building 2, building No.

Patentee before: Huawei Device Co., Ltd.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee after: Huawei Device Co., Ltd.

Address before: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee before: HUAWEI terminal (Dongguan) Co., Ltd.

CP01 Change in the name or title of a patent holder