利用一个I/O口实现A/D转换的方法和装置转让专利

申请号 : CN200910239014.8

文献号 : CN101789790A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王超刘建伟李志娟

申请人 : 深圳和而泰智能控制股份有限公司

摘要 :

本发明涉及一种利用一个I/O口实现A/D转换的方法和装置,用于将被测部件的模拟量转换为数字值。该装置包括I/O口、电容、计数器及运算器。其中,电容与I/O口连接,根据I/O口的输入或者输出呈充电或放电状态;该电容还与被测部件并联。计数器用于测量电容的放电时间。运算器可以根据放电时间,计算出被测部件的数字值。本发明的一种利用一个I/O口实现A/D转换的方法和装置,通过计数器测量电容的放电时间,运算器根据放电时间进行运算处理,即可得出被测部件的数字值,因而实现了A/D转换。而且,该装置只是利用了I/O口及电容、电阻等低成本的器件,大大降低了A/D转换的成本。

权利要求 :

1.一种利用一个I/O口实现A/D转换的装置,与被测部件连接,用于将被测部件的模拟量转换为数字值,其特征在于,包括I/O口、电容、计数器及运算器,其中,所述电容与I/O口连接,根据I/O口的输入或者输出呈充电或放电状态;该电容与所述被测部件并联;

所述计数器,用于测量电容的放电时间;

所述运算器,根据所述计数器测量的放电时间计算被测部件的数字值。

2.如权利要求1所述的利用一个I/O口实现A/D转换的装置,其特征在于,所述电容的放电过程为恒定电流放电。

3.如权利要求2所述的利用一个I/O口实现A/D转换的装置,其特征在于,所述计数器在I/O口由输出转为输入时开始计数,当检测I/O口的电压等于低电平门限电压时,停止计数。

4.如权利要求1至3中任一项所述的利用一个I/O口实现A/D转换的装置,其特征在于,所述运算器通过采用预存的运算公式来计算被测部件的数字值,所述运算公式为:ΔT=G*被测部件的数字值;其中G=(Vdd-Vth)*C/Ve为常量,Vdd为I/O作为输出时,电容的充电电压,Vth为I/O口的低电平门限电压,Ve为所述被测部件两端的电压。

5.如权利要求1至3中任一项所述的利用一个I/O口实现A/D转换的装置,其特征在于,所述装置还包括电源、固定电阻、三极管、LED灯及限流电阻,其中,所述固定电阻的一端与所述被测部件连接,另一端与三极管的发射极连接;

所述三极管的基极与LED灯的正极连接,集电极与所述电容连接;

所述LED灯的正极还与限流电阻连接,负极接地;

所述限流电阻还与电源连接。

6.一种利用一个I/O口实现A/D转换的方法,其特征在于,包括以下步骤:当I/O口为输出状态时,对电容进行充电;

待电容充电达到稳定值时,I/O口转换为输入状态;

计算电容通过被测部件的放电时间;

根据电容的放电时间,计算被测部件的数字值。

7.如权利要求5所述的利用一个I/O口实现A/D转换的方法,其特征在于,所述计算电容通过被测部件的放电时间的步骤包括:计数器开启;

待I/O口检测到低电平门限电压时,计数器关闭,获得电容的放电时间。

8.如权利要求6所述的利用一个I/O口实现A/D转换的方法,其特征在于,所述根据放电时间,计算被测部件的数字值的步骤包括:根据放电时间,通过运算公式做运算处理,获得被测部件的数字值,所述运算公式为:ΔT=G*被测部件的数字值;其中G=(Vdd-Vth)*C/Ve为常量,Vdd为I/O作为输出时,电容的充电电压,Vth为I/O口的低电平门限电压,Ve为所述被测部件两端的电压。

9.如权利要求6至8中任一项所述的利用一个I/O口实现A/D转换的方法,其特征在于,所述电容的放电过程为恒定流放电。

说明书 :

利用一个I/O口实现A/D转换的方法和装置

技术领域

[0001] 本发明涉及数模转换领域,特别涉及一种利用一个I/O口实现A/D转换的方法和装置。

背景技术

[0002] 在某些特定的场合,主要是数字电子应用方面,需要一个模拟信号输入来做一些基本的模拟量的测量,并通过A/D转换器将模拟量转换为数字量进行统计。
[0003] 但是A/D转换器的结构复杂,成本也很高。对于A/D转换精度要求不高的测量,则可以利用成本低的A/D转换装置来充当A/D转换器。

发明内容

[0004] 本发明的发明目的是提供一种利用一个I/O口实现A/D转换的装置,旨在降低A/D转换的使用成本。
[0005] 本发明利用一个I/O口实现A/D转换的装置,与被测部件连接,用于将被测部件的模拟量转换为数字值,包括I/O口、电容、计数器及运算器,其中,
[0006] 上述电容,与I/O口连接,根据I/O口的输入或者输出呈充电或放电状态;该电容与上述被测部件并联;
[0007] 上述计数器,用于测量电容的放电时间;
[0008] 上述运算器,根据所述计数器测量的放电时间计算被测部件的数字值。
[0009] 优选地,上述电容的放电过程为恒定电流放电。
[0010] 优选地,上述计数器在I/O口由输出转为输入时开始计数,当检测I/O口的电压等于低电平门限电压时,停止计数。
[0011] 优选地,上述运算器通过采用预存的运算公式来计算被测部件的数字值,其中运算公式为:
[0012] ΔT=G*被测部件的数字值;其中G=(Vdd-Vth)*C/Ve为常量,Vdd为I/O作为输出时,电容的充电电压,Vth为I/O口的低电平门限电压,Ve为所述被测部件两端的电压。
[0013] 优选地,上述装置还包括电源、固定电阻、三极管、LED灯及限流电阻,其中,[0014] 上述固定电阻的一端与所述被测部件连接,另一端与三极管的发射极连接;
[0015] 上述三极管的基极与LED灯的正极连接,集电极与所述电容连接;
[0016] 上述LED灯的正极还与限流电阻连接,负极接地;
[0017] 所述限流电阻还与电源连接。
[0018] 本发明还提供了一种利用一个I/O口实现A/D转换的方法,该方法包括以下步骤:
[0019] 当I/O口为输出状态时,对电容进行充电;
[0020] 待电容充电达到稳定值时,I/O口转换为输入状态;
[0021] 计算电容通过被测部件的放电时间;
[0022] 根据电容的放电时间,计算被测部件的数字值。
[0023] 优选地,上述计算电容通过被测部件的放电时间的步骤包括:
[0024] 计数器开启;
[0025] 待I/O口检测到低电平电压时,计数器关闭,获得电容的放电时间。
[0026] 优选地,上述根据放电时间,计算被测部件的数字值的步骤包括:
[0027] 根据放电时间,通过运算公式做运算处理,获得被测部件的数字值,所述运算公式为:
[0028] ΔT=G*被测部件的数字值;其中G=(Vdd-Vth)*C/Ve为常量,Vdd为I/O作为输出时,电容的充电电压,Vth为I/O口的低电平门限电压,Ve为所述被测部件两端的电压。
[0029] 优选地,上述电容的放电过程为恒电流放电。
[0030] 本发明的一种利用一个I/O口实现A/D转换的方法和装置,通过计数器测量电容的放电时间,运算器根据放电时间进行运算处理,即可得出被测部件的数字值,因而实现了A/D转换。而且,该装置只是利用了一个I/O口及电容、电阻等低成本的器件,大大降低了A/D转换的成本。

附图说明

[0031] 图1是本发明的第一实施例中利用一个I/O口实现A/D转换的装置的结构示意图;
[0032] 图2是上述实施例中电容放电过程的示意图;
[0033] 图3是本发明第二实施例中利用一个I/O口实现A/D转换的装置的结构示意图;
[0034] 图4是本发明第三实施例中利用一个I/O口实现A/D转换的方法的流程示意图。
[0035] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0036] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0037] 参照图1,提出第一实施例的一种利用一个I/O口实现A/D转换的装置,与被测部件10连接,用于将被测部件10的模拟量转换为数字值。该装置包括I/O口、电容C1,计数器20和运算器30。电容C1与I/O口连接。电容C1与被测部件10并联连接且形成充、放电回路。被测部件10一端与电源V连接,另一端接地。
[0038] 当I/O口作为输出时,电源V对电容C1进行充电,将达到一个稳定的值,即此时电容C1两端的电压为Vdd。此时,将I/O口由输出转为输入,则电容C1将通过被测部件10进行放电,开启计数器20开始计数。待电容C1放电至I/O口的低电平门限电压Vth时,关闭计数器20。将计数器20所计的数与计数周期相乘,即可获得电容C1的放电时间ΔT。
[0039] 运算器30根据该放电时间ΔT,计算出被测部件10的值。该运算器30采用的公式为ΔT=G*被测部件的数字值。其中,G=(Vdd-Vth)*C/Ve为常量,Vdd为I/O作为输出时,电容的充电电压,Vth为I/O口的低电平门限电压,Ve为所述被测部件10两端的电压。
[0040] 上述被测部件10可以为温度传感器、压力传感器等。
[0041] 下面将详细叙述该公式的原理,其中,为了更方便地说明,以下将被测部件的数字值用电阻R来代替:
[0042] (1)、电流大小与电容电量之间的关系式如下:
[0043] I/C=dv/dt.................................................公式(1)[0044] (2)如果经过电容的电流是恒定的,那么充电时电容电压上升的速率也是恒定的,实际上也就是说对电容的充放电斜坡的斜率是由电容参数值和充放电电流值决定的。如图2所示。
[0045] ΔT=ΔV*C/I...............................................公式(2)[0046] ΔT为电容放完一次电用的时间,ΔV为电容放完一次电后的电压差。
[0047] (3)假设放电电流是恒定的,那么公式(2)中可以用V/R代替这个恒定的I(被测电阻的大小决定放电电流的大小,电容电压以恒定电流从Vdd放电到Vth。),因此得到:
[0048] ΔT=ΔV*RC/V..............................................公式(3)[0049] (4)假设公式(3)中ΔV,V,C的值是恒定的,那么ΔT与R就存在一个线性的对应关系。即,
[0050] ΔT=G*R...............................................公式(4)[0051] 其中,G=(Vdd-Vth)*C/Ve,而且可知G为常量。
[0052] 因此,只要获得ΔT(电容的放电时间),再由公式(4)就可得出R的值,即上述被测部件10的数字值。
[0053] 本实施例的一种利用一个I/O口实现A/D转换的装置,通过计数器测量电容的放电时间,运算器根据放电时间进行运算处理,即可得出被测部件的数字值,因而实现了A/D转换。而且,该装置只是利用了I/O口及电容、电阻等低成本的器件,大大降低了A/D转换的成本。
[0054] 参照图3,提出了第二实施例的利用一个I/O口实现A/D转换的装置。该装置与第一实施例中的装置的区别在于,还包括:固定电阻R2,三极管T1,限流电阻R1及LED灯D1。限流电阻R1的一端与电源V连接,另一端与LED灯D1的正极连接。LED灯D1的负极与地连接。三极管T1的基极与LED灯D1的正极连接,集电极与电容C1的一端连接,发射极与固定电阻R2的一端连接。固定电阻R2的另一端与上述被测部件10连接。LED灯D1可以为三极管T1的基极提供一个恒定的电压,使得三极管T1一致处于导通状态,则此时的Ve为三极管T1的基极电压减去三极管T1的导通电压。通过LED灯D1的状态可以检查该装置是否正常工作。
[0055] 上述第二实施例中,运算器30采用的公式相应地修改为:
[0056] ΔT=G*(R2+被测部件的数字值)..................................公式(5)
[0057] 公式(5)中G=(Vdd-Vth)*C/Ve,且G为常量。当不知道G的值时,可以将被测部件的数字值设置为零,通过计数器测量电容C1的放电时间ΔT,R2为固定值,根据公式(5)即可求出G的值。
[0058] 本实施例通过增加限流电阻R1、LED灯D1、固定电阻R2和三极管T1,使得整个A/D转换的精度更高。
[0059] 参照图4,提出了第三实施例的利用一个I/O口实现A/D转换的方法,应用于上述第一例的利用一个I/O口实现A/D转换的装置。该方法包括以下步骤:
[0060] S10、当I/O口为输出状态,对电容进行充电;
[0061] I/O口既可以作输入口,也可以作输出口。当I/O口作为输出口时,则+5V的电源将对电容进行充电。
[0062] S11、待电容达到稳定值时,I/O口转换为输入状态;
[0063] 当电容充电并达到稳定值时,即Vdd。
[0064] S12、计算电容对被测部件的放电时间;
[0065] 当电容的电压达到稳定值Vdd时,I/O口由为输入口,则电容通过被测部件进行放电,并且控制计数器开启,开始计数。当电容放电后的电压等于I/O口的低电平门限电压Vth时,控制计数器关闭,停止计数。再将计数器所计的数与计数周期相乘,即可计算出电容对被测部件的放电时间ΔT。
[0066] S13、根据电容的放电时间,计算被测部件的数字值。
[0067] 计算被测部件的值时采用的公式为:
[0068] ΔT=G*被测部件的数字值......................................公式(6)
[0069] 其中,G=(Vdd-Vth)*C/Ve为常量,Vdd为I/O作为输出时,电容C1的充电电压,Vth为I/O口的低电平门限电压,Ve为所述被测部件两端的电压。因此,只要获得ΔT(电容的放电时间),再由公式(6)就可得出被测部件的数字值。
[0070] 本实施例的利用一个I/O口实现A/D转换的方法,通过对电容的放电时间进行测量,再通过计算可以获得被测部件的阻值,实现了A/D转换。
[0071] 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。