[Urgent] Extenal reference voltage for Nordic ADC

Hello,

We have a project which requires high accuracy for 14-bit resolution ADC output by using Nordic nrf52832, we regard that the accuracy is linked to the internal reference voltage 0.6v that we had used in the firmware.

The current output accuracy of power supply for Nordic Vdd is 2.8v +/- 2%, we're using internal reference voltage.

Here are several questions, can you help me out?

1. What's the accuracy level of Nordic nrf52832 internal reference voltage - 0.6v?  

    After checking from the blog, we find some answers, like +/- 3%, +/- 0.2%, which one is correct?

    If both of them are incorrect, what's the correct tolerance of accuracy?

2. If we want to achieve more accurate reference voltage, can we use a more accurate Vdd supply?

    Would the accuracy of Vdd be impacted by Nordic internal LDO (or DC/DC)?

    If we use a high accurate external power supply for Vdd, like 3v (+/- 0.08%), can I get 0.75v (+/- 0.08%) (Vdd/4 mode) as reference voltage for ADC?

 

3. Is there another way that we could use external reference voltage to achieve a high accuracy of reference voltage?

    For example, it seems like external reference can be used for comparator; can we use "Analogy input port" to achieve reference voltage with high accuracy for ADC?

4. Does Nordic have any recommended solution to achieve 14-bit resolution of ADC in a stable and accurate manner for nrf52832 from hardware and/or software aspects?

    Any recommendation on the accuracy level of power supply to achieve 14-bit resolution on nrf52832?

Parents
  • What are you sampling? There may be a way to use a ratiometric measurement mode; in this recent answer I achieved a measured value of 905.2 Ohms with 0.02% error on a 905.0 Ohm test resistor using 12-bit sampling (14-bit slightly better) using a noisy USB supply (even better using a battery supply). I included a schematic and my code.

    nrf52833-adc-reference

    // Internal 0.6v Ref 12-bit S0S1 RTD actual value 905.0 Ohm (reference 2001.4 Ohm) - Forward current measurement
    //        VDD     Iref    RdsOnA    RdsOnB      V1      V2      V3      V4         Vrtd         Vref        Rrtd  Error
    //     ======   ======  ========  ========  ======  ======  ======  ======  ===========  ===========  ========== ======
    // RTD 2982mV,  926 uA,  173 Ohm,  136 Ohm, 2821mV, 1989mV, 1977mV,  126mV,  477 counts, 1055 counts, 904.9 Ohms -0.01%
    // RTD 2979mV,  925 uA,  168 Ohm,  139 Ohm, 2823mV, 1984mV, 1984mV,  129mV,  477 counts, 1054 counts, 905.8 Ohms  0.08%
    // RTD 2978mV,  926 uA,  174 Ohm,  150 Ohm, 2816mV, 1989mV, 1989mV,  139mV,  478 counts, 1055 counts, 906.8 Ohms  0.20%
    // RTD 2981mV,  925 uA,  172 Ohm,  144 Ohm, 2821mV, 1989mV, 1989mV,  134mV,  477 counts, 1054 counts, 905.8 Ohms  0.08%
    
    // Internal 0.6v Ref 12-bit S0S1 RTD actual value 905.0 Ohm (reference 2001.4 Ohm) - Reverse current measurement
    //        VDD     Iref    RdsOnA    RdsOnB      V1      V2      V3      V4         Vrtd         Vref        Rrtd  Error
    //     ======   ======  ========  ========  ======  ======  ======  ======  ===========  ===========  ========== ======
    // RTD 2984mV,  922 uA,  135 Ohm,  183 Ohm,  125mV,  965mV,  970mV, 2815mV,  475 counts, 1051 counts, 904.5 Ohms -0.05%
    // RTD 2980mV,  922 uA,  144 Ohm,  180 Ohm,  133mV,  960mV,  959mV, 2814mV,  475 counts, 1051 counts, 904.5 Ohms -0.05%
    // RTD 2981mV,  923 uA,  144 Ohm,  179 Ohm,  133mV,  961mV,  965mV, 2815mV,  475 counts, 1052 counts, 903.7 Ohms -0.15%
    // RTD 2979mV,  921 uA,  145 Ohm,  170 Ohm,  134mV,  970mV,  965mV, 2822mV,  475 counts, 1050 counts, 905.4 Ohms  0.04%
    
    // Measured 12-bit value of 905.0 Ohm test resistor is 905.2 Ohms with  0.02% error
    
    // Internal 0.6v Ref 14-bit S0S1 RTD actual value 905.0 Ohm (reference 2001.4 Ohm) - Forward current measurement
    //        VDD     Iref    RdsOnA    RdsOnB      V1      V2      V3      V4         Vrtd         Vref        Rrtd  Error
    //     ======   ======  ========  ========  ======  ======  ======  ======  ===========  ===========  ========== ======
    // RTD 2976mV,  923 uA,  169 Ohm,  138 Ohm, 2820mV, 1979mV, 1972mV,  128mV, 1898 counts, 4205 counts, 903.4 Ohms -0.18%
    // RTD 2973mV,  924 uA,  174 Ohm,  136 Ohm, 2812mV, 1975mV, 1977mV,  126mV, 1899 counts, 4211 counts, 902.6 Ohms -0.27%
    // RTD 2968mV,  923 uA,  154 Ohm,  136 Ohm, 2825mV, 1989mV, 1978mV,  126mV, 1897 counts, 4209 counts, 902.0 Ohms -0.33%
    // RTD 2973mV,  923 uA,  167 Ohm,  130 Ohm, 2818mV, 1983mV, 1978mV,  120mV, 1898 counts, 4209 counts, 902.5 Ohms -0.28%
    
    // Internal 0.6v Ref 14-bit S0S1 RTD actual value 905.0 Ohm (reference 2001.4 Ohm) - Reverse current measurement
    //        VDD     Iref    RdsOnA    RdsOnB      V1      V2      V3      V4         Vrtd         Vref        Rrtd  Error
    //     ======   ======  ========  ========  ======  ======  ======  ======  ===========  ===========  ========== ======
    // RTD 2968mV,  924 uA,  130 Ohm,  168 Ohm,  121mV,  954mV,  958mV, 2812mV, 1912 counts, 4213 counts, 908.3 Ohms  0.36%
    // RTD 2973mV,  923 uA,  131 Ohm,  173 Ohm,  121mV,  964mV,  960mV, 2813mV, 1909 counts, 4209 counts, 907.7 Ohms  0.30%
    // RTD 2979mV,  925 uA,  136 Ohm,  175 Ohm,  126mV,  959mV,  963mV, 2817mV, 1908 counts, 4216 counts, 905.8 Ohms  0.08%
    // RTD 2976mV,  924 uA,  132 Ohm,  170 Ohm,  122mV,  953mV,  966mV, 2818mV, 1909 counts, 4214 counts, 906.7 Ohms  0.18%
    
    // Measured 14-bit value of 905.0 Ohm test resistor is 904.9 Ohms with -0.01% error
    

Reply
  • What are you sampling? There may be a way to use a ratiometric measurement mode; in this recent answer I achieved a measured value of 905.2 Ohms with 0.02% error on a 905.0 Ohm test resistor using 12-bit sampling (14-bit slightly better) using a noisy USB supply (even better using a battery supply). I included a schematic and my code.

    nrf52833-adc-reference

    // Internal 0.6v Ref 12-bit S0S1 RTD actual value 905.0 Ohm (reference 2001.4 Ohm) - Forward current measurement
    //        VDD     Iref    RdsOnA    RdsOnB      V1      V2      V3      V4         Vrtd         Vref        Rrtd  Error
    //     ======   ======  ========  ========  ======  ======  ======  ======  ===========  ===========  ========== ======
    // RTD 2982mV,  926 uA,  173 Ohm,  136 Ohm, 2821mV, 1989mV, 1977mV,  126mV,  477 counts, 1055 counts, 904.9 Ohms -0.01%
    // RTD 2979mV,  925 uA,  168 Ohm,  139 Ohm, 2823mV, 1984mV, 1984mV,  129mV,  477 counts, 1054 counts, 905.8 Ohms  0.08%
    // RTD 2978mV,  926 uA,  174 Ohm,  150 Ohm, 2816mV, 1989mV, 1989mV,  139mV,  478 counts, 1055 counts, 906.8 Ohms  0.20%
    // RTD 2981mV,  925 uA,  172 Ohm,  144 Ohm, 2821mV, 1989mV, 1989mV,  134mV,  477 counts, 1054 counts, 905.8 Ohms  0.08%
    
    // Internal 0.6v Ref 12-bit S0S1 RTD actual value 905.0 Ohm (reference 2001.4 Ohm) - Reverse current measurement
    //        VDD     Iref    RdsOnA    RdsOnB      V1      V2      V3      V4         Vrtd         Vref        Rrtd  Error
    //     ======   ======  ========  ========  ======  ======  ======  ======  ===========  ===========  ========== ======
    // RTD 2984mV,  922 uA,  135 Ohm,  183 Ohm,  125mV,  965mV,  970mV, 2815mV,  475 counts, 1051 counts, 904.5 Ohms -0.05%
    // RTD 2980mV,  922 uA,  144 Ohm,  180 Ohm,  133mV,  960mV,  959mV, 2814mV,  475 counts, 1051 counts, 904.5 Ohms -0.05%
    // RTD 2981mV,  923 uA,  144 Ohm,  179 Ohm,  133mV,  961mV,  965mV, 2815mV,  475 counts, 1052 counts, 903.7 Ohms -0.15%
    // RTD 2979mV,  921 uA,  145 Ohm,  170 Ohm,  134mV,  970mV,  965mV, 2822mV,  475 counts, 1050 counts, 905.4 Ohms  0.04%
    
    // Measured 12-bit value of 905.0 Ohm test resistor is 905.2 Ohms with  0.02% error
    
    // Internal 0.6v Ref 14-bit S0S1 RTD actual value 905.0 Ohm (reference 2001.4 Ohm) - Forward current measurement
    //        VDD     Iref    RdsOnA    RdsOnB      V1      V2      V3      V4         Vrtd         Vref        Rrtd  Error
    //     ======   ======  ========  ========  ======  ======  ======  ======  ===========  ===========  ========== ======
    // RTD 2976mV,  923 uA,  169 Ohm,  138 Ohm, 2820mV, 1979mV, 1972mV,  128mV, 1898 counts, 4205 counts, 903.4 Ohms -0.18%
    // RTD 2973mV,  924 uA,  174 Ohm,  136 Ohm, 2812mV, 1975mV, 1977mV,  126mV, 1899 counts, 4211 counts, 902.6 Ohms -0.27%
    // RTD 2968mV,  923 uA,  154 Ohm,  136 Ohm, 2825mV, 1989mV, 1978mV,  126mV, 1897 counts, 4209 counts, 902.0 Ohms -0.33%
    // RTD 2973mV,  923 uA,  167 Ohm,  130 Ohm, 2818mV, 1983mV, 1978mV,  120mV, 1898 counts, 4209 counts, 902.5 Ohms -0.28%
    
    // Internal 0.6v Ref 14-bit S0S1 RTD actual value 905.0 Ohm (reference 2001.4 Ohm) - Reverse current measurement
    //        VDD     Iref    RdsOnA    RdsOnB      V1      V2      V3      V4         Vrtd         Vref        Rrtd  Error
    //     ======   ======  ========  ========  ======  ======  ======  ======  ===========  ===========  ========== ======
    // RTD 2968mV,  924 uA,  130 Ohm,  168 Ohm,  121mV,  954mV,  958mV, 2812mV, 1912 counts, 4213 counts, 908.3 Ohms  0.36%
    // RTD 2973mV,  923 uA,  131 Ohm,  173 Ohm,  121mV,  964mV,  960mV, 2813mV, 1909 counts, 4209 counts, 907.7 Ohms  0.30%
    // RTD 2979mV,  925 uA,  136 Ohm,  175 Ohm,  126mV,  959mV,  963mV, 2817mV, 1908 counts, 4216 counts, 905.8 Ohms  0.08%
    // RTD 2976mV,  924 uA,  132 Ohm,  170 Ohm,  122mV,  953mV,  966mV, 2818mV, 1909 counts, 4214 counts, 906.7 Ohms  0.18%
    
    // Measured 14-bit value of 905.0 Ohm test resistor is 904.9 Ohms with -0.01% error
    

Children
No Data
Related