I'm working with ADC in AT91SAM7S micro-controller. Apart from parameters like ADC clock frequency prescaler and 'sample and hold time' (that I'm familiar with), there is a parameter called 'Startup time' which I don't really understand.
The documentations says: "Each ADC has its own minimal Startup Time that is programmed through the field STARTUP in the Mode Register ADC_MR." My feeling is that this may be related to sleep mode so that when ADC was sleeping and later started it needs some time to 'wake up'. But I don't use sleep mode. Probably ADC is sleeping by default until it is really requested to make conversion.
If I set this parameter to zero then first conversion after program start gives zero code, although channel "End of conversion" flag is set. All subsequent conversions work normally.
- What is the physics behind this parameter?
- Why should I program it? Why ADC can't just automatically wait needed time and don't set 'end of conversion' flag until it really woke up and finished conversion?
- How do I calculate it?