专利名称:在手机上低成本实现adc的方法
技术领域:
本发明涉及移动通信终端所采用的模数转换技术,特别是一种在手机上低成本实现ADC功能的方法。
背景技术:
模数转换器(ADC)为负责将模拟信号转换成为数字信号的电子器件。随着集成工艺的发展,模数转换器的性价比不断提高,其应用范围也越来越广,特别是在通信领域。目前,在移动通信终端(手机)的基带芯片内均设置模数转换器(ADC)模块。随着市场对手机功能要求的不断提高,手机功能越来越多,其中很多功能都要用到ADC模块。在这种形势下,现在的手机基带芯片经常会出现ADC不够用的情况,一般的补救方案是外加ADC芯片或者外加模拟开关复用基带芯片内置的ADC模块,这种做法会增加手机成本,而且会占用PCB (印刷电路板)空间。
发明内容
本发明的目的是为了提供一种可靠、有效的在手机上低成本实现ADC功能的方法,从根本上解决外加ADC芯片或者外加模拟开关复用基带芯片内置的ADC模块,所带来的手机成本增加的问题。本发明的技术方案是在手机上低成本实现ADC功能的方法,其技术要点是包括如下步骤
通过所述手机基带芯片的通用IO 口 GPIOl输出固定周期的高或低电平(一次转换过程GPIOl输出的平均电压为Vo),GPIOl连接电阻Rl —端;所述基带芯片的另一通用IO 口 GPI02连接电阻R2另一端。并且GPI02连接一个电容Cl,所述电容Cl另一端接地。GPI02 还连接一个电阻R2,电阻R2另一端就是所测量电压Vi,
设定一变量ADC_Result,此变量记录ADC转化结果,初始化为0,再设定一变量ADC_ Bit,此变量设定ADC的转换位数,初始化为0,然后利用通用IO 口 GPI02检测电压Vt ;
当所述通用IO 口 GPI02读取到电压Vt为高电平时,则通用IO 口 GPIOl马上输出低电平,然后变量ADC_Result加1 ;如果通用IO 口 GPI02读取到电压Vt为低电平,则通用IO 口 GPIOl马上输出高电平;
延时少量时间,所述变量ADC_Bit加1 ;
根据所要实现的ADC的位数,判断所述ADC_Bit是否等于位数对应值,如果是,此ADC 功能转换结束;如果否,继续利用通用IO 口 GPI02检测电压Vt至实现ADC功能转换结束。本发明的优点及积极的技术效果是本发明只是利用了手机基带芯片的两个通用 IO 口 GPIOl和GPI02,外加两个电阻Rl、R2和一个电容Cl实现转换的硬件要求,另通过软件编程设定实现ADC功能的位数等。本发明以软硬件结合的方式以极低的成本就完成了 ADC的转换功能,从根本上解决使用外加模数转换器(ADC)或者外加模拟开关复用基带芯片内置的ADC模块,所带来的手机成本增加的问题。同时由于软件可以灵活设定实现ADC功能的位数,且其转换精度能够得到保证。所以本发明具有在保证实现ADC功能精度要求的基础上,降低手机成本的优点。
图1为本发明的实现示意图。图2为本发明的实现流程图。
具体实施例方式下面结合附图,详细说明本发明的技术方案。如图1所示为实现ADC转换功能的电路设置。Vi为我们要测量的电压,被测电压 Vi端串联了电阻R2。手机基带芯片的通用IO 口 GPIOl串联电阻R1,同时通用IO 口 GPIOl 所串联的电阻R1、另一通用IO 口 GPI02、被测电压Vi端并联后连接电容Cl,电容Cl另一端接地。通过手机基带芯片的通用IO 口 GPIOl输出固定周期的高或低电平,通用IO 口 GPI02 检测电压Vt,可以读取电压Vt是高还是低电平,然后再控制GPIOl输出高或者低电平使所述电压Vt达到门限电压范围。此方法的主要工作就是通用IO 口 GPIOl控制的电压Vo和被测电压Vi共同作用下使电压Vt保持在通用IO 口 GPI02检测的门限电压范围。由于基带芯片的门限电压是固定的,电压Vo我们通过输出的高低电平比例可以求出,通过Vt,Vo就可以求出我们测量的电压Vi 了。如图2所示为实现ADC转换功能的流程。首先通过通用IO 口 GPIOl输出高或者低电平,控制电压Vt,通过通用IO 口 GPI02 检测,使电压Vt达到通用IO 口 GPI02检测门限电压范围,这样做的目的是消除一开始测量
的误差。当电压Vt在门限电压范围时,开始进行ADC转换。设定两个变量一个变量为ADC_ Result,此变量记录ADC转换的结果,最后测量的电压Vi与此变量有关。一个变量为ADC_ Bit,软件通过此变量可以灵活设定ADC转换的精度,比如实现8bit或者IObit ADC功能。转换开始,首先通用IO 口 GPI02检测电压Vt,读取其电平状态,如果读取电平为高,说明电压Vt已经高于门限电压。为了维持电压Vt在门限电压范围,通用IO 口 GPIOl 输出低,则变量ADC_Result加1。通用IO 口 GPIOl如果读取电平为低,说明电压Vt已经低于门限电压,为了维持Vt在门限电压范围,GPIOl输出高;
然后再延时少量固定时间如20us (其时间与RC常数有关),延时后变量ADC_Bit加1 ; 根据所要实现的ADC的位数,判断所述ADC_Bit是否等于位数对应值。例如,如果要实现8bit ADC功能,则判断ADC_Bit是否等于255,如果等于255,则此次ADC转换结束;如果不等于,则通用IO 口 GPI02继续测量电压Vt,通过通用IO 口 GPIOl输出高或者低维持Vt 电压在门限范围内,循环上述转换步骤,直至实现ADC功能转换结束。转换结束后,通过变量ADC_Result的数值,就可以求出被测电压Vi 了。下面说明 ADC_Result 与 Vi 的关系
根据图1所示可以得到如下关系式 (Vo - Vt) / Rl = (Vt - Vi)/ R2由上可得Vi = Vt - R2 (Vo-Vt) /Rl 其中 Vo = Vdd(l-ADC_Result/ADC_Bit)
则通过变量ADC_Result与ADC_Bit可以求出电压Vo的大小,门限电压Vt大小是固定的,电阻R1,R2大小都是已知的,软件通过以上关系最终就可以求出被测电压Vi的大小了, 这样就完全实现了 ADC的功能。 选择不同的电阻R1,R2可以决定测量电压的范围,其数值可以根据实际需要制定。比如在满足测量电压量程的基础上为了计算方便,两个电阻都可以设定为47K,至于门限电压每种基带芯片都有自己的典型值。不同芯片此数值不同。
权利要求
1. 一种在手机上低成本实现ADC功能的方法,其特征在于包括如下步骤 通过所述手机基带芯片的通用IO 口 GPIOl输出固定周期的高、低电平Vo,并串联电阻 Rl ;所述通用IO 口 GPIOl与所述基带芯片的另一通用IO 口 GPI02、串联了电阻R2的被测电压Vi端并联后连接电容Cl,所述电容Cl另一端接地;所述通用IO 口 GPI02检测电压Vt, 使所述电压Vt达到门限电压范围;设定一变量ADC_Result,此变量记录ADC转化结果,初始化为0,再设定一变量ADC_ Bit,此变量设定ADC的转换位数,初始化为0,然后利用通用IO 口 GPI02检测电压Vt ;当所述通用IO 口 GPI02读取到电压Vt为高电平时,则通用IO 口 GPIOl马上输出低电平,然后变量ADC_Result加1 ;如果通用IO 口 GPI02读取到电压Vt为低电平,则通用IO 口 GPIOl马上输出高电平;延时少量时间,所述变量ADC_Bit加1 ;根据所要实现的ADC的位数,判断所述ADC_Bit是否等于位数对应值,如果是,此ADC 功能转换结束;如果否,继续利用通用IO 口 GPI02检测电压Vt至实现ADC功能转换结束。
全文摘要
本发明公开了一种在手机上低成本实现ADC功能的方法,从根本上解决外加ADC芯片或者外加模拟开关复用基带芯片内置的ADC模块,所带来的手机成本增加的问题。其技术要点是通过所述手机基带芯片的通用IO口GPIO1输出固定周期的高、低电平Vo,并串联电阻R1;所述通用IO口GPIO1与所述基带芯片的另一通用IO口GPIO2、串联了电阻R2的被测电压Vi端并联后连接电容C1,所述电容C1另一端接地;所述通用IO口GPIO2检测电压Vt,使所述电压Vt达到门限电压范围。其具有在保证实现ADC功能精度要求的基础上,降低手机成本的优点。
文档编号H04M1/02GK102468853SQ201010545070
公开日2012年5月23日 申请日期2010年11月16日 优先权日2010年11月16日
发明者柴路 申请人:沈阳晨讯希姆通科技有限公司