This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Asaka-san,
Sorry for this delay in responding to your query.
The behaviour you have described is not expected. We are in the process of putting together a setup to test this. Please give me a day to get back to you with a clear answer.
Thank you.
Regards,
Sandeep
Hello Asaka san,
I received a very similar query on the same device last week and I have a hunch on what might be going wrong. I have been working a creating the test setup based on that query.
But just in case this is a different issue, yes please, it would be useful to know the customers test conditions. In addition to the SPI signal conditions, could we find the exact commands that they are using to manually select and sequence through the channels? A chipscope or logic analyzer capture would also be helpful.
Thanks.
Regards,
Sandeep
Hello Asaka san,
I have got my setup operational and the output is exactly as you have described in your original mail. This is the correct behavior of the ADS7954.
I went back to the datasheet and it is now apparent that I was misled by looking at the flowchart on p28, Figure50 alone. We need to read this flowchart along with the timing diagram on p23, Figure45.
If I were to describe the behavior of the device with your customer’s use case as an example, it would be as follows:
In Frame n-1:
- The SDO output at this stage corresponds to the channel previously programmed by the user, which is Ch1 in this case.
In Frame n:
- The user makes the request to change the channel to Ch2.
- No change can take effect in this Frame since the command is still being received on SDI.
- The SDO output at this stage corresponds to the channel previously programmed by the user, Ch1. No issues so far.
In Frame n+1:
- The change channel request made in Frame n, will now start to take effect. The mux will change the selected channel to Ch2, the analog input settles after the change and is ready to be sampled.
- The SDO output at this stage corresponds to the channel that was programmed by the user in frame n-1, and mux selected by the device in Frame n, and sampled at the start of this frame (Frame n+1), which is still Ch1.
In Frame n+2:
- At the start of this frame, i.e. at the falling edge of CS, the analog signal mux selected in Frame n+1, that is Ch2 will now be sampled or latched.
- Within the same frame, the analog signal sampled by the ADC at the start of the frame is converted.
- The SDO output at this stage corresponds to the channel that was programmed by the user in frame n, and mux selected by the device in Frame n, which is now Ch2.
I hope this clarifies the response of the device to the sequence programmed. Please do let me know if you have any further questions.
Thanks.
Best Regards,
Sandeep
Hello Asaka san,
In any mode, the device can perform its mux selection in one frame and sampling + conversion is done in the next frame as per the timing diagram in Figure 45.
What happens different in Auto-1 is that rather than read the channel selection from the SDI, the device cycles through a selected set of channels in ascending order starting with the lowest number channel. The channel selection, as you pointed out, needs to be pre-programmed using the Auto-1 Program Register. But the behavior is the same.
Let’s assume the Auto-1 Program Register is programmed to select Ch2 and Ch3. In manual mode, the user was only interested in Ch0.
In Frame n:
- Based on SDI data the user indicates that he would like to move to Auto-1 mode in the next frame. The mux selection in the frame is still for Ch0.
- The SDO output at this stage corresponds to the channel selected by the user in Manual mode, Ch0.
In Frame n+1:
- The device enters Auto-1 mode and selects the lowest numbered channel irrespective of the value of DI10 bit in Mode Control Register Settings. The mux will change the selected channel to Ch2.
- The SDO output at this stage corresponds to the channel that was manually programmed by the user in frame n-1, and mux selected by the device in Frame n, and sampled at the start of this frame, Ch0.
In Frame n+2:
- At the start of this frame, the analog signal mux selected in Frame n+1, that is Ch2 will now be sampled or latched.
- The SDO output at this stage corresponds to the channel mux selected by the device in Frame n+1, which is now Ch2.
This matches with what the customer has reported. Please do let me know if this is not clear.
Thanks.
Best Regards,
Sandeep