Electronics > Projects, Designs, and Technical Stuff

Achieving SAR ADC Maximum Dynamics

(1/2) > >>

Hello i am currently having an application using C8051F06 Microcontroller and i am designing a buffer driver for its input i have been working with the Circuit from the reference design but , i can't quite manage to drive the ADC deferential mode without having to modify the gain inside the Microcontroller, that also i am having the issue that i was never able to reach the specifications in the data sheet and attain the full dynamics without distortions on the signal the input voltage across the ADC's is between 0 and +/-Vref and v ref is 2.5v, and I'm only able to reach 1.5V at one side and 1.7V at the other side of the ADC when working in differential mode. I also notice an imbalance in the internal resistance when measuring it directly for each ADC.

If its possible anyone can help me why do this imbalance is from ?
What is the best way to drive the ADC in differential mode without having to alter the code for gain and offset errors?

thank you

It is hard to respond in a constructive manner to your issue as it is probably code dependent and also development environment. I assume you are using the 'Simplicity Studio' development package by SiLabs? I have no experience with it though I have used the 8051 core before, but long ago, and I programmed in assembly, long time ago. I have found some code: AN118sw.zip which uses the 16 biy ADC, if you don't have it it might provide a good starting point for your code.

Thank you for your suggestion, i have read that application note about improving ADC resolution. it says a bit about the dynamic range but , i'm not quite sure how to prove that the ADC driver that i did would occupy the full dynamic range with minimum software calibration. i can provide the design if anyone can help 

Have you tried to compile the code in AN118sw.zip and run it? It should give you a known good starting point to work from. The configuration of the peripheral , in this case the ADC, can be difficult, so using an example that does it for you can be a big help. I prefer to modify a working example, to writing from scratch. You just have to have 1 bit in an obscure and apparently unrelated register not set and things go awry.

I suspect you're driving the input voltage beyond what the device will accept.
But without a schematic, your question flies in the wind.


[0] Message Index

[#] Next page

There was an error while thanking
Go to full version