In revision D of AD9643 the BIST enable register 0x0E is not given but in Revision B it was given. So is there any other setting that is used for starting the bist ? How to enable this feature ?
The user pattern and BIST are two separate features. In order ot use the user pattern you must enable it for each channel in register 0x0D and then program the desired user pattern into registers 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, and 0x20. Do keep in mind that register 0x0D is local to each channel but the test pattern registers are global so the patterns stored there will be output on both channels if the user pattern mode is selected for both channels.
The BIST feature was removed from the documentation as it is not supported on the AD9643. This was an oversight in the first few versions of the datasheet. Unfortunately, there is not another setting to use nor another way to enable the feature.
Ok, So for testing with user pattern we just need to write 0x08 in register 0x0D and need not give any other enable ?
The user pattern is working fine without the register 0x0E also but the data whatever I am getting is inverted.
When I am writing 0x02 in register 0x0D I am getting all 0s but it should give positive full scale output similarly for 0x03(negative full scale) I am getting all 1s. Are these values expected for negative and positive fullscales ?
I have even tried with the user data patterns those values are also inverted.
[Register 0x14 is set to 0x04]
What you are seeing is correct. In order to see the output patterns correctly you will need to set bit 2 of 0x14 to a 0. There is an inversion internally that affected the analog data from the ADC core but not the test patterns. For your case, if you set reg 0x14 to 0x00 you should see the output test patterns correctly.
Hope this helps,
But the bit 2 is set to 1 for normal data without inversion as per the datasheet. If I am testing for the normal Analog inputs then also I need this bit set to 0 or just for test patterns I require it as 0 and for remaining operations I should use it as 1 (as i have not currently tested with analog inputs).
For normal operation (data from ADC core), bit 2 needs to be set to a 1. For the test patterns to be proper 'polarity' bit 2 should be a 0. You can still use the test patterns with bit 2 equal to a 1, the 'polarity' will just be opposite from expected. Hope this makes more sense.
This clears the doubt. Thanks for the help.
Great, I am happy this got things cleared up!
Retrieving data ...