We are using the AD5590 both for its capabilities of DAC and ADC.
We are able to control the DAC with the Raspberry SPI0 bus by linking SCLK, MOSI, CE0 and CE1 (Raspberry) to the AD5590 pins, DSCLK, DDIN and DSYNCK1 and DSYNCK2 respectively.
We have programmed an other GPIO to obtain a third CE2 (GPIO26), which seems working fine.
In order to control with the same bus SPI0 the ADC, I make the connection between DDIN and ADIN, and between MISO (of the Raspberry) to ADOUT. And finally I have connected together the clock DSCLK to ASCLK.
After this last connection I am not able to control the DAC. the other previous connections do not interfere with the functioning of the DAC when using the program
ie. I am not able to control the VREF to 0 to 2.5V or inversely, using the same program working well without the connection between the DSCLK and ASCLK.
Could you explain why, what is the problem (I am beginner on this kind of bus) ? The level of the clock has been measured on the card and is closed to 3.3V (DSCLK connected or not to ASCLK)
We have already controlled both the DAC and the ADC on a same program but we have used two different SPI bus(there is an other SPI called SPI1 on the raspberry with already three chip select available, but our goal is to control two cards each having an AD5590 with a single Raspberry).
Thanks for your help.
You have not responded to my original query.
For your experiment, have you ever tried communicating with the DACs while ADIN and ASYNC remains static (either low or high depending on the SPI…
We have communicate with the DACs using the first SPI bus (so-called SPI0) with the ADIN connected to the second SPI bus (so-called SPI1). So this two bus have each their own clock , separate…
Someone is currently looking into your query and will respond the soonest possible time.
Given that the both the SCLKs are driven from a single CLK, please confirm if the timing specifications given on Page 9 and 10 of the product datasheet are met.
It will be good if you share the timing waveforms.
Today we have try to control the AD5590 using only one SPI (SPI0 ) of the raspberry. And it is working, we don't meet the problem for what I had posted the question !
Only occurs some little problems (ie the 2.5V internal VREF is shutting down after when reading the ADCs. But that could be a problem due to the multiple wires used for the test or perhaps a bug in the software we have written with PYTHON.
I share with you some chronogram of the SPI0 bus. DDIN and ADIN is connected to the same MOSI PIN of the Raspberry as well as DSCLK and ASCLK to the same Clock of the Raspberry. Three chip enable have been used and the MISO PIN of the Raspberry is connected to the ADOUT
The figure above corresponds to the VREF ON command on both Chip Enable concerning the DACs CS1 and CS2 (trigger on the Clock).
Next figure corresponds to the DAC command
Next figure correspond to the request of measurement by the ADC, two commands are consecutively sent in order to obtain the result on the second concerning the demand of the first !
I thank you for your help.
Can you share the picture of the entire hardware?
In your previous reply, I see only two figures, but your statement says that there has to be third figure with ADC output.
Based on your statements, you are using two AD5590s and one Raspberry PI board?
Are you using an AD5590 Eval board?
Probably, I do an error when I try to send my answer, I do that now at the end of this letter.
To clarify our experience.
Initially we met the probleme that we cannot use only one SPI both for the DACs and for the ADC. Probably, it was an hardware probleme (ie connections wires problem).
In a second step, we have succesfully controled two AD5590 with one Raspberry using SPI0 for the four DACs (Two per AD5590), and SPI1 for two ADC (one per AD5590). This solution works fine.
At last we return back to our initial investigation in order to control the AD5590 with a single SPI (here SPI0) and finally we have succesfully controled one AD5590 with the Raspberry in this last configuration. That is the case for the expected three figures of my last letter (with one figure missing !).
We don't try to control two AD5590 with the Raspberry using only one SPI bus but we are confident that it could be possible.
NB: find hereafter the missing figure. Two successive commandes in order to obtain the respons on the second corresponding to the question of the first (perhaps it's 1V on DAC0 connected to ADC0 but in the different tst we do, I'm not sur of that !)
Let me clarify on few things before I proceed further.
1. You are using a Raspberry PI board to communicate with two AD5590 ICs.
2. Are you using the two Eval-AD5590 boards or have you designed your own application board with two AD5590s on it? How are these connected to Raspberry PI board?
3. You have mentioned that you are able to control a single AD5590 with a common SPI for both 2 DACs and a ADC on the same chip. Am I correct?
4. You have mentioned that you are able to control two AD5590s with one common SPI for 4 DACs and one common SPI for 2 ADCs.
5. You have unsuccessfully tried to control two AD5590s using a common SPI for all DACs and ADCs. Am I correct?
My respons to your questions
2) we don't use the EVAL-BOARD. We have two different cards designed by us, a first wich correspond to a kind of copy of the eval board and the second (after verification that we are able to use the first) implemented on the final solution of the global card with all the fonctionnalities for our application.
For the test each cards (first and second card) have their own AD5590.
5) No. I don't verify if we can control the two cards using the same bus SPI but we are confident that should work. Taking into account that we have an alternative solution, it is not a problem if we don't achieve the control with a single SPI bus.
For me, we can conclude about this topic because all is working succesfully.