This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640 ADC input impedance

Other Parts Discussed in Thread: CC2640, CC2640R2F

Hello,


I will implement a battery voltage sensing voltage divider, but in the datasheet there is no mention for the ADC input impedance, I would like to use a circuit with as high impedance as possible without affecting performance.


Could I get this value? Thank you!

  • The input resistance will behave as a switched capacitor circuit with a C of about 2.3pF. You can then find R by R=1/(C*f). But the capacitance might vary in the order of 40% and then the input resistance will vary accordingly. The impedance is also dependent on what they select as sampling time (which again will limit the conversion rate). Since this is programmable you should be able to use even high-impedance sources with the 26XX ADC.
  • Thanks! This will help me.
  • Hy,
    in which cases is it neccessary to design an own battery voltage measurement. Can't I simply use the AONBatMonBatteryVoltageGet() function from driverlib/aon_batmon.h? At least as long as the CC26xx is connected directly to the battery, no external DCDC.
    As far as I understood, this should return the battery voltage quite exact and reliable, because the measured voltage is used internally for disabling some functions on undervoltage, correct?
    Regards
    Harald
  • Hello Harald,


    That is my case at the moment, external regulator, for that I can't use the built on function.

    Thanks!,

    Angel C.

  • Harald Ilg said:
    Hy,
    in which cases is it neccessary to design an own battery voltage measurement. Can't I simply use the AONBatMonBatteryVoltageGet() function from driverlib/aon_batmon.h? At least as long as the CC26xx is connected directly to the battery, no external DCDC.
    As far as I understood, this should return the battery voltage quite exact and reliable, because the measured voltage is used internally for disabling some functions on undervoltage, correct?
    Regards

    Yes you can use this API directly but the accuracy is limited with the internal bat.monitor (~50mV).

    Regards,
    Svend

  • CHS said:
    The input resistance will behave as a switched capacitor circuit with a C of about 2.3pF. You can then find R by R=1/(C*f). But the capacitance might vary in the order of 40% and then the input resistance will vary accordingly. The impedance is also dependent on what they select as sampling time (which again will limit the conversion rate). Since this is programmable you should be able to use even high-impedance sources with the 26XX ADC.

    Can you clarify the R?  I expect R = 1/(C*(2*pi*f), where f is the 3dB bandwidth [Hz} of the ADC. 

    What is the 3dB bandwidth of the ADC, preferably as a link to a public, official TI document? 

    It would be very helpful if TI can provide measurements to support this RC model?

    Thanks,

    Charlie

  • The ADC input resistance is now listed in the datasheet (p 17 table 5.12 in the CC2640). You can also look at https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/452067

  • CC2640R2F SET CACHE AS RAM,

    I follow the developer guilder set cache as ram in simple_peripheral , it's run ok.
    but,simple_peripheral_oad_offchip ,it can not run.
    is there anyting I lost?
    1) in the project option ,set CACHE_AS_RAM=1,and define CACHE_AS_RAM
    2) include the ccfg_app_ble.c,and add:
    #ifdef CACHE_AS_RAM
    #define SET_CCFG_SIZE_AND_DIS_FLAGS_DIS_GPRAM 0x0 /* Enable GPRAM */
    #endif //CACHE_AS_RAM
    3),modify the cc26xx_app_oad_icf