具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本发明实施例1提供了一种电阻值测量装置及方法。
图2为本发明实施例1的电阻值测量装置的功能框图。如图2所示,该装置10包括:
集成电路IC110,所述IC110包括具有中断检测功能的输入输出I/O端口111和定时器(未图示),用于获取所述定时器的计时结果,并根据所述计时结果生成待测电阻器121的电阻值;
充放电路120,所述充放电路120由待测电阻器121和电容器122串联组成,并且所述充放电路120的一端耦接所述IC的I/O端口,所述充放电路120的另一端接地;
如图2所示,待测电阻器121的一端耦接所述IC110的I/O端111,所述电容器122的一端接地;可选地,也可将待测电阻器121和电容器122调换位置,调换位置后待测电阻器121的一端接地,另一端耦接电容器122,而电容器122的一端耦接I/O端口111,另一端耦接待测电阻器121。
其中,所述IC110,用于通过所述I/O端口111和所述待测电阻器121对所述电容器122进行充电,并当所述电容器122处于充电饱和状态时,控制所述定时器开始计时,触发所述电容器122执行放电过程,并启动所述I/O端口111的中断检测功能;
所述I/O端口111,用于在所述电容器122的放电过程中,当检测到所述电容器122的电压值达到中断触发电压阈值时,发送中断信号至所述IC110,以触发所述IC110根据所述中断信号控制所述定时器停止计时。
可选地,本发明实施例1的I/O端口111,包括IC芯片及其他器件上的能根据外部电平变化,进行中断检出的引脚,具体可以包括具有中断检测功能的通用目的输入输出GPIO端口。
具体地,上述IC可以将I/O端111的状态配置为输出(output),从而可通过该I/O端口111输出高电平经由电阻器121向电容器122进行充电。
具体地,上述IC110可以通过将I/O端口111的状态配置成输(input),以触发所述电容器122执行放电过程,并启动I/O端口111的中断检测功能。当I/O端口111被配置为input时,I/O端口为低电平,从而可触发电容器122执行放电过程。I/O端口的中断检测功能为本领域技术人员所能理解,在此不赘述。
具体地,可根据下列关系式计算待测电阻器121的电阻值:
ΔV=V1-V2=V1*(1-e^(-t/R*C)) (1)
由关系式(1)可推导出关系式(2):
其中,V1表示电容器充电至饱和状态时的饱和电压值,即为I/O端口输入的高电平,V2表示I/O端口的中断触发电压阈值;t表示定时器的计时结果,即电容器从饱和状态放电至中断触发电压阈值所需的放电时间;R表示待测电阻器的电阻值;C表示电容器的电容值;在上述测量装置中,V1、V2及C为已知常数,由此可见,待测电容器的电阻值R与放电时间t成正比,通过测量放电时间t即可以由关系式(2)计算出相应的电阻值R。
可选地,该IC,还可以用于按照预设的充电时间长度,通过所述I/O端口和所述待测电阻器对所述电容器进行充电,并当所述电容器的充电时间达到所述预设的充电时间长度时,控制所述定时器开始计时,触发所述电容器执行放电过程,并启动所述I/O端口的中断检测功能。
请结合参阅图2,对于固定电容器,不同电阻将导致电容器的充电饱和时间或完成充电过程所需时间长度不同,电阻值越大,电容器的充电时间越长。本发明实施例1的电阻值测量装置具有一定的电阻值测量范围,为了在统一的充电时间长度内,确保接入测量范围内的不同阻值待测电阻器,均能使固定电容器被充电至饱和状态,需要根据测量范围内的上限阻值设定预设的充电时间长度,当电容器的充电时间达到该预设的充电时间长度,该电容器处于充电饱和状态,其电压达到了I/O端口的输出高电平,从而可以保证接入测量范围内的不同电阻器,均能使电容器在放电过程中的电压降为:I/O端口输出的高电平和中断触发电压阈值的差值。
以下举例说明计算电容器充放电时间以及设定预设的充电时间长度的原理:假设V0为电容器上的初始电压值;V1为电容器最终可充到或放到的电压值;Vt为t时刻电容器上的电压值。则Vt=V0+(V1-V0)*[1-exp(-t/RC)];或者t=RC*ln[(V1-V0)/(V1-Vt)];其中,exp()表示以e为底数的指数函数;Ln()表示以e为底数的对数函数。
例如,电压为E的电池通过阻值为R的电阻器向初值电压为0的电容器C充电,则V0=0,V1=E,故充到t时刻时电容器上的电压为:Vt=E*[1-exp(-t/RC)];
再例如,初始电压为E的电容器C通过R放电,则V0=E,V1=0,故放到t时刻时电容器上的电压为:Vt=E*exp(-t/RC);
又例如,初值为Vcc/3的电容器C通过R充电,充电终值为Vcc,通过下式可计算电容器充到2/3Vcc时所需要的时间:
V0=Vcc/3,V1=Vcc,Vt=2Vcc/3;
故:t=RC*ln[(Vcc-Vcc/3)/(Vcc-2Vcc/3)]=RC*ln 2=0.693RC。
根据上述原理分析可知,在固定电容情况下,接入不同的电阻值将导致电容器充电至饱和状态所需的充电时间长度不同,且与电阻值成正比。所以应当根据电阻值测量范围内的上限阻值来设定预设的充电时间长度。
在本发明实施例中,IC的I/O端口输出的高电平可以约为3.3V,中断触发电压阈值为0.7V,从而电容器的电压降约为2.6V。
本发明实施例1还提供了一种电阻值测量方法,该方法通过本发明实施例1的上述测量装置进行电阻值测量。图3为本发明实施例1的方法的流程图。如图3所示,该方法包括如下步骤:
S301、通过集成电路IC的具有中断检测功能的输入输出I/O端口和待测电阻器对电容器进行充电,当所述电容器处于充电饱和状态时,控制所述IC包含的定时器开始计时,触发所述电容器执行放电过程,并启动所述I/O端口的中断检测功能;
可选地,步骤S301具体可以包括:按照预设的充电时间长度,通过所述I/O端口和所述待测电阻器对所述电容器进行充电,并当所述电容器的充电时间达到所述预设的充电时间长度时,控制所述定时器开始计时,触发所述电容器执行放电过程,并启动所述I/O端口的中断检测功能。
可选地,所述触发所述电容器执行放电过程包括:将所述I/O端口的状态配置成输入input以触发放电过程。
S302、在所述电容器的放电过程中,当检测到所述I/O端口发送的中断信号时,控制所述定时器停止计时;
S303、获取所述定时器的计时结果,并根据所述计时结果生成所述待测电阻器的电阻值。
其中,所述待测电阻器和所述电容器串联组成充放电路,所述IC的I/O端口耦接所述充放电路的一端,并且所述充放电路的另一端接地。
具体地,本发明实施例1的I/O端口,包括IC芯片及其他器件上的能根据外部电平变化,进行中断检出的引脚,具体可以包括具有中断检测功能的通用目的输入输出GPIO端口。
可选地,可以将所述待测电阻器的一端耦接所述IC的I/O端口,并将所述电容器的一端接地;也可以将所述待测电阻器一端接地,另一端耦接所述电容器,并将所述电容器的一端耦接所述IC的I/O端口,另一端耦接所述电阻器。
以下通过一个具体例子来说明上述方法的流程。图4为本发明实施例1的电容器充放电过程的示意图。请结合参阅图4,该例子的方法包括:
步骤10、将集成电路IC的具有中断检测功能的I/O端口耦接充放电路,该充放电路由待测电阻器R和电容器C串联组成,待测电阻器R的一端耦接该IC的I/O端口,电容器C的一端接地;具体电路连接关系请参阅图2;
步骤12、将I/O端口配置成output(输出)状态,以输出高电平经由R对电容C进行充电,将电容器C充电至饱和状态;如图4中的A~B段所示,电容器已处于充电饱和状态,此时电容C的电压值为I/O端口输出的高电平,A点的时间值表示在电阻的选定范围内电容器C充电完成所需的最短时间长度,B点的时间值表示在电阻的选定范围内电容器C充电完成所需的最长时间长度;从B点开始把I/O端口配置成input输入状态,以触发电容器执行放电过程,并启动I/O端口的中断检测功能,同时启动定时器进行计时;
其中,预设的充电时间长度为B点对应的时间值,把I/O端口配置成input,以便于IC可以检测到中断信号,并且使电容器C执行放电过程。从B点开始计时,可确保电容器获得足够长的充电时间以达到充电饱和状态。
步骤14、在电容器C的放电过程中,当电容器放电到C位置处,其对应的电压值达到I/O端口的中断触发电压阈值,I/O端口会产生中断信号给IC,IC侦测到I/O端口发出的中断信号,然后停止定时器计时;
步骤16、获取定时器的计时结果Ti,并根据计时结果Ti计算出待测电阻器R的电阻值;具体为按照关系式(1)来计算;
ΔV=V1-V2=V1*(1-e^(-t/R*C)) (1)
由关系式(1)可推导出: 其中t的取值为图4所示的Ti,V1取B点的电压值,即I/O端口输出的高电平,V2取C点的电压值,即中断触发电压阈值。由上述关系式可知,R不同,从B点至C点的放电时间Ti也不相同。
本发明实施例1的方法及装置,通过集成电路IC的具有中断检测功能的普通输入输出I/O端口,来输出中断信号以触发IC停止定时器计时,并利用定时器测量电容器从饱和电压值下降至中断触发电压值所需的放电时间,根据电容放电时间来计算出电阻值,从而可以不需要额外的AD转换器,降低了电阻值测量的成本,应用最低的硬件成本满足了游戏手柄、遥杆等对电阻值测量精度要求不高的应用场景的需求,从而可以通过上述方法来进行硬件配置区分、方位控制等用途,拓宽了应用范围。
实施例2:
本发明实施例2提供了一种电容值测量装置及方法。
图5为本发明实施例2的电容值测量装置的功能框图。如图5所示,该装置20包括:
集成电路IC210,所述IC210包括具有中断检测功能的输入输出I/O端口211和定时器(未图示),用于获取所述定时器的计时结果,并根据所述计时结果生成所述待测电容器222的电容值;
充放电路220,所述充放电路220由电阻器221和所述待测电容器222串联组成,并且所述充放电路220的一端耦接所述IC的I/O端口211,所述充放电路220的另一端接地;
如图5所示,所述电阻器221的一端耦接所述IC210的I/O端口211,所述待测电容器222的一端接地;可选地,也可将待测电容器222和电阻器221调换位置,即待测电容器222的一端耦接I/O端口211,电阻器221的一端接地;
其中,所述IC210,用于通过所述I/O端口211和所述电阻器221对所述待测电容器222进行充电,当所述待测电容器222处于充电饱和状态时,控制所述定时器开始计时,触发所述待测电容器执行放电过程,并启动所述I/O端口211的中断检测功能;
所述I/O端口211,用于在所述待测电容器222的放电过程中,当检测到所述待测电容器222的电压值达到中断触发电压阈值时,发送中断信号至所述IC210,以触发所述IC210根据所述中断信号控制所述定时器停止计时。
本发明实施例2的I/O端口211,包括IC芯片及其他器件上的能根据外部电平变化,进行中断检出的引脚,具体可以包括具有中断检测功能的通用目的输入输出GPIO端口。
可选地,所述IC210,还用于按照预设的充电时间长度,通过所述I/O端口211和所述电阻器221对所述待测电容器222进行充电,并当所述待测电容器222的充电时间达到所述预设的充电时间长度时,控制所述定时器开始计时,触发所述待测电容器222执行放电过程,并启动所述I/O端口211的中断检测功能。
请结合参阅图5,对于固定电阻器,不同电容值的电容器达到充电饱和状态所需时间长度不同,电容值越大,电容器的充电时间越长。本发明实施例2的电容值测量装置具有一定的电容值测量范围,为了在统一的充电时间长度内,确保接入测量范围内的不同待测电容器,均能被充电至饱和状态,需要根据测量范围内的上限电容值(最大电容值)设定预设的充电时间长度,当待测电容器的充电时间达到该预设的充电时间长度,该待测电容器处于充电饱和状态,其电压达到了I/O端口的输出高电平,从而可以保证接入测量范围内的不同电容器在放电过程中的电压降为:I/O端口输出的高电平和中断触发电压阈值的差值。
可选地,I/O端口输出的高电平可选地为3.3V,中断触发电压阈值可选地为0.7V。本领域技术人员可以理解,选用不同的集成电路芯片将会导致不同的输出高电平值和中断触发电压阈值。
具体地,上述IC210可以将I/O端口211的状态配置为输出(output),从而可通过该I/O端口211输出高电平经由电阻器221向电容器222进行充电。
具体地,上述IC210可以通过将I/O端口211的状态配置成输入(input),以触发所述待测电容器222执行放电过程,并启动I/O端口211的中断检测功能。
本发明实施例2还提供了一种电容值测量方法,该方法适用于本发明实施例2的电容值测量装置。图6为本发明实施例2的方法流程图,如图6所示,该方法包括如下步骤:
S601、通过集成电路IC的具有中断检测功能的输入输出I/O端口和电阻器对待测电容器C进行充电,当所述待测电容器C处于充电饱和状态时,控制所述IC的定时器开始计时,触发所述待测电容器执行放电过程,并启动所述I/O端口的中断检测功能;
S602、在所述待测电容器C的放电过程中,当检测到所述I/O端口发送的中断信号时,控制所述定时器停止计时;
S603、获取所述定时器的计时结果,并根据所述计时结果,生成所述待测电容器的电容值;
其中,所述电阻器和所述待测电容器串联组成充放电路,所述IC的I/O端口耦接所述充放电路的一端,并且所述充放电路的另一端接地。
可选地,所述电阻器的一端耦接所述IC的I/O端口,所述待测电容器C的一端接地;或所述待测电容器C的一端耦接所述IC的I/O端口,所述电阻器的一端接地。
具体地,可根据下列关系式计算待测电容器的电容值:
ΔV=V1-V2=V1*(1-e^(-t/R*C)) (1)
由关系式(1)可推导出关系式(3):
其中,结合参阅图4,V1表示电容器充电至饱和状态时的饱和电压值,V2表示I/O端口的中断触发电压阈值;t表示定时器的计时结果,即电容器从饱和状态放电至中断触发电压阈值所需的放电时间;R表示电阻器的电阻值;C表示待测电容器的电容值;在上述测量方法中,V1、V2及R为已知常数,由此可见,待测电容器的电容值C与放电时间t成正比,通过测量放电时间t,即可以由关系式(3)计算出相应的电容值C。
可选地,步骤S601的过程具体可以包括:按照预设的充电时间长度,通过所述I/O端口和所述电阻器对所述待测电容器进行充电,并当所述待测电容器的充电时间达到所述预设的充电时间长度时,控制所述定时器开始计时,触发所述待测电容器执行放电过程,并启动所述I/O端口的中断检测功能。
本发明实施例2的电容值测量方法及装置,可以减少硬件成本,无需额外的AD器件,简化了电路设计,低成本地实现了对精度要求不高的电阻值、电容值测量,从而可以根据不同的电阻或者电容值来进行硬件配置区分、方位控制等。例如用于游戏摇杆、硬件版本区分等用途。手柄和摇杆是根据X、Y方向的电阻变化来计算移动方向的;不同的电阻或者电容用于标识不同的PCB版本号,从而可以识别硬件的版本配置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。