This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Maximum voltage clarification on nrf52 analog pins

The datasheet for the nrf52832 specifies two key constraints:

  1. I/O pin voltage max VDD + 0.3V, min -0.3V
  2. The AIN0-AIN7 inputs cannot exceed VDD, or be lower than VSS.

It seems logical that one would need to not exceed the Vf of the protection diodes for the pad, but I don't understand what drives the second constraint: "The AIN0-AIN7 inputs cannot exceed VDD, or be lower than VSS".

For example if VDD = 2.5V, is it OK to have a pin voltage of 2.52V for a SAADC input (AIN0-AIN7)?

Any clarification you can bring to this question would be greatly appreciated.

Thanks in advance,

James

  • Hi there,

     For the measurements from the SAADC to be reliable, the input range can not exceed VDD or be lower than VSS.

    For example if VDD = 2.5V, is it OK to have a pin voltage of 2.52V for a SAADC input (AIN0-AIN7)?

    The pin will not be damaged by this as it's under the VDD + 0V3 constraint, but the measurement will not be reliable since it violates the second constraint. 

    regards

    Jared 

  • Perfect, thank you!.  But that leads to a follow up question: can you clarify what you mean by unreliable?

    So, in a scenario where VDD = 2.5V and 2.7V is applied to the pin ( which should be safe ), and:

    1. the SAADC input range is configured as (VDD/4)/(1/4), I should reliably read 2.5V (max value) from the SAADC, correct?
    2. If the SAADC input range is configured as (0.6 V)/(1/6), I should reliably read a value between 2.5V and 2.7V, but that value will become increasingly inaccurate as the voltage to the pin approaches the 0.3 V threshold of the ESD protection, correct? Does unreliable mean the SAADC would ever report a value below 2.5V?
  • jgartrel said:
    • the SAADC input range is configured as (VDD/4)/(1/4), I should reliably read 2.5V (max value) from the SAADC, correct?

    Correct.

    jgartrel said:
    If the SAADC input range is configured as (0.6 V)/(1/6), I should reliably read a value between 2.5V and 2.7V, but that value will become increasingly inaccurate as the voltage to the pin approaches the 0.3 V threshold of the ESD protection, correct? Does unreliable mean the SAADC would ever report a value below 2.5V?

    No, you'll still be limited by VDD = 2V5. You can not read a value reliably that is over VDD or under VSS. Unreliable means that we can't be sure what the SAADC will return, This also means that I can't answer whether the SAADC will report a value under 2.5V when you measure a value over VDD. Most probably not, but I'm not sure If we have tested it, since it's outside the specification. 

    regards

    Jared 

  • Jared, thank you very much for the help. 

    FWIW, I tested this today on an nrf52840 with input range configured as (0.6 V)/(1/6). I seemed to get quite accurate results when the external pin voltage was in the range of VDD to VDD+0.15V (no difference in the normal error margin in that range).  All values measured were in the range of VDD to VDD+0.15V.  I did not test it beyond VDD+0.15V.  The nrf52840 still seems to be in a healthy working condition.

Related