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

ADC Value changes due to oscillator

I am working on C8051F120, I am getting a problem in ADC value.

When I am working on Internal Oscillator (24.5 MHz), my PLL Setting makes SYSCLK as 98 MHZ. My Reference is provided from external source (3.0V). when I read 1.5V value on any channel, I get 2048 (which is correct). But when I change the Oscillator to an external one (25MHz), my SYSCLK becomes 100MHz. with all the same settings and no change in the code, my ADC starts reading it as 2080 instead of 2048. I had tried reducing SAR Clock value and also tried increasing the Settling time by providing a much bigger delay but the result is unchanged.

Had anybody encountered such a problem ?

Parents
  • "The 1.5V signal I am refering to is generated by a Reference Generator chip and its value varies by just +-0.001 to 0.002 Volt (At Max)"

    And you're sure that you're board is thoroughly well designed and well-made - with all components of at least that same precision - to maintain that precision?

    eg, have you taken care that the external oscillator doesn't inject any noise?
    or that any higher current consumption due to the higher speed doesn't affect anything?
    etc?

    It all sounds very much like a hardware issue - so, as noted, you should probably be speaking to SiLabs about this, and posting in the SiLabs forum (not forgetting to cross-reference this thread, of course).

Reply
  • "The 1.5V signal I am refering to is generated by a Reference Generator chip and its value varies by just +-0.001 to 0.002 Volt (At Max)"

    And you're sure that you're board is thoroughly well designed and well-made - with all components of at least that same precision - to maintain that precision?

    eg, have you taken care that the external oscillator doesn't inject any noise?
    or that any higher current consumption due to the higher speed doesn't affect anything?
    etc?

    It all sounds very much like a hardware issue - so, as noted, you should probably be speaking to SiLabs about this, and posting in the SiLabs forum (not forgetting to cross-reference this thread, of course).

Children