I am having an issue getting the AD7859 to consistently perform a full self-calibration.
AVDD and DVDD are at 5V with a stable external 5V reference.
My clock is running at about 3.75MHz.
I do not see any activity on the CS.
About 1 out of every 25 times, when I pull the /CAL pin low for 10us and then release it back to 5V I do not see the BUSY line go high.
Because of this when my software goes to perform its first conversion, the chip does a calibration and my conversion fails.
Is there any documentation of using the /CAL pin to perform the full self-calibration as the datasheet only full explains using the /CONVST pin?
What are the potential reasons the full self-calibration did not start when the /CAL pin was taken from low to high?
From the datasheet on p.22, self calibration timing section. To initiate self calibration, it needs to write to the control register and set the STCAL bit to 1. This should result to BUSY going Hi after writing to the control register and goes low when self calibration is complete. Please follow timing diagram ( fig. 29 of the datasheet) for self calibration.
Maybe you can share to us the status or snapshots of your pins during calibration ( like CS, WR, DATA and BUSY) and also the schematic diagram, so may we have a better understanding of the problem.
Thank you for your reply. However, I am not using the registers to initiate the calibration. I am using the /CAL pin (pin number 16 on the AD7859AS). From page 7 of the datasheet: "Calibration Input. A logic 0 in this pin resets all logic. A rising edge on this pin initiates a calibration. This input overrides all other internal operations."
My clock is 3.75MHz, which should give a calibration time of about 33ms.
My external reference is stable.
I pull the /CAL pin low for 10us, and then set it back high.
Most of the time I get a 33ms pulse on the BUSY (passing calibration).
Sometimes I do not get a BUSY pulse at all, and sometimes I get a BUSY pulse of about 100ms (which indicates a failed calibration).
I need to know what could cause a calibration to fail.
And I need to know what would cause a calibration not to start from the /CAL pin.
Apologies for the delay.
Now I understand that you are using the /CAL pin for self calibration. How do you do the Power up sequence of the AD7859 and the external reference? At power up the AD7859, the first /CONVST after AVDD and DVDD is on, the part sets 32ms (4MHZ CLKIN). This allows internal reference to settle before calibration is performed. You mentioned that you are using an external reference, please ensure that this must be stabilize. Kindly share the schematic, so we may have better understanding of the issue.
Have you tried using the internal reference? just to check if the same result occur.
On the p.25 of the datasheet also, it was mentioned that the Test Registers might be corrupted when the AD7859 is not operating as expected, a 16-bit word 0x0002 should be written on the AD7859 to restore Test Register content.
The AD7859 after power is applied to AVdd and DVdd and the /CONVST is applied, the part requires 32ms + 1/sample rate for the internal reference to settle and for the self calibration to be completed. As you mentioned, you are using external reference, please make sure that this is stabilize. Have you tried using internal reference? just to check if the same problem will occur. Please also follow recommended decoupling capacitors for the AD7859. You may also want to share the schematic diagram so we may have better understanding of the issue.
When the AD7658 is not operating as expected, it is possible that the Test Register may have been corrupted. A 16-bit word 0x0002 should be written to the AD7859 to restore Test Register contents to the default value.
No problem. I have checked the external reference and it is stable for at least 100ms before trying the calibration. I have not tried the internal reference, only because most of my A/D inputs are higher than the internal reference. I will look into it, to see if that may damage the part.
I am writing to the test register to reset it back to its default value, although currently I am holding /CAL low when I do this. The datasheet is not clear on whether that write will work or not, since the pin description for /CAL states that a low resets all logic and that the /CAL pin overrides all other internal operations.
There is a snapshot of the schematic attached.