Quantcast
Channel: Data converters
Viewing all articles
Browse latest Browse all 89076

Forum Post: RE: ADS1256 DOUT/MISO response

$
0
0

Hi Chris,

thanks for the prompt reply. anyways, i have had several progress with my ADC adventures. the good news is that i have succeeded in getting some kind of output from the chip. the DRDY line is now alive, and there is some response from the read register command. how did that happen? i still have no idea. left the mess on my desk to get some dinner, and return with activity on the DRDY line. i swear there is some voodoo stuff going on there. also, since this is a commercial product development, i probably shouldn't hope on that happening every single time.

the bad news, i'm afraid, is that the response is somewhat inconsistent. for example, i gave several repetitions of the multiple registers read command for registers 0x00 to 0x03, with a logic toggle on the CS line between each command repetition. the problem is that while most of the responses are exactly the same, and i could easily confirm them as default values on the datasheet, there are still several responses that is completely different or sometimes even no response whatsoever. I'll try to get the screenshot of the data after this.

the other problem is when i try to write multiple registers starting from the status register (address 0x00). i tried setting the auto-calibration and enabling the buffer, however, after that command, i noticed that the DRDY line goes high and basically all my other write commands for the subsequent registers would not be recognized. i would only be able to check or read the registers after toggling the CS line. which led me to discover that the status register remains unchanged.

is there any required pauses or delays i should incorporate to the code to get better results? i'm assuming that 0x50, 0x03, 0x06, 0x1F, 0x00, 0x33 is the correct sequence of commands for me to : enable buffer, auto calibration, read channel 0 to AINCOM, 1x Gain, at a speed of only 15 SPS? because if i do that, none of the commands are accepted. however, if i change them into 0x51, 0x02, 0x1F, 0x00, 0x33 the registers were changed successfully. of course, if i give 20 read register command, probably there are about 6 to 8 packets that are erroneous. is there something special regarding the timing on the STATUS register write command? 

oh, and with the SDATC command, should i use it for every start of my transmission? is it required prior to the write register or read conversion data commands as well? have you got any sample code or pseudocode for me to try?

sorry about the massive amount of questions, and this time not even with any pretty pictures. i'll get some saleae screenshot in a bit. i'm just still trying to figure out how to show the erroneous data stream since it's pretty long and i dont think the zoom would be sufficient to see what's going on.

anyway, thanks for all the help. very much appreciated. looking forward to reading your take on this problem.

cheers,

jati


Viewing all articles
Browse latest Browse all 89076

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>