Hello ADI Community,
Background
I am brand new to AD, and AD DAC's I came here to use 5370 to create 40 analog out device to control 40 channels of different 1000Hz signals. I bought the EVAL board in order to avoid working on the chip and use the pinouts to my advantage.
Board
EVAL-AD5370 | Rev A
What I have tried
I have additionally tried to probe a wide variety set of pins and i still get no significant result. Another observation that I have is that pressing the reset button does nothing to the power LED, my usual expectation is that at least the power LED flashes. Hopefully there is nothing fundamentally flawed in my approach. or i hope the dac is not DOA for me.
Any help and guidance would be deeply appreciated.
Thankyou isantos,
1. I am using windows 10, i have also tried windows 7 compatibility mode as well, and followed the instructions as you mentioned.
2. I tried to probe for voltages across these following…
Hi,
Looks like supplies were not provided through J2.
Please make sure that the supplies are at correct levels.
Cheers,
Ivan
Let's focus on making things work using the evaluation software in a Windows machine, may I know what Windows version you are using? Have you tried using Windows 7? Did you follow the User Guide?
After powering up the board, please measure VREF0, VREF1, DVCC and VDD pins and check if they are at correct voltage levels.
And when using the evaluation software, every time you send commands, please monitor the SPI lines (DIN, SCLK and SYNC).
The commands you see in the scope should be the exact command issued thru the evaluation software.
2. I tried to probe for voltages across these following pins and i got the following values
DGND - DVCC : 0.483 VAGND - VDD : 0.005 VAGND - VSS : 0.153 VAGND - VREF1(T64) : 0.006 VAGND - VREF0(T63) : 0.007 V
VREF0 and VREF1 being very close to zero make me wonder if the board is DOA.
Is there any other test i could do ?
isantos.Sorry for the extremely delayed response. Under the current situations, I have been relocating my "lab" to a "home" lab. I have to reach out and thank you again for your help.
Updates: YES, your guidance was precious. Apparently, I have not been giving the appropriate voltages at VSS, VCC and other supplies. Once I got that amounts in the board started working correctly.
I have also been able to use the code https://github.com/lightningviper/lightningstools (i am not sure who the author of this code) to work on windows with the board using libusb driver to push data to it by holding LDAC low, and pumping data as fast as I can. I created a timed loop to do so. I have been able to push data at a sample rate of one per millisecond, or 1000 Hz. I have also validated this by using an oscilloscope.
However, I am attempting to push the frequency even higher. The documentation says that each register takes up to 1500 ns for the update, which implies I can theoretically get a 666 Khz signal through. Although my aims are not that high, I would love to get the audio level sampling rate at 44.1 Khz through each channel.
1. do you think the eval board is the right one to do so?
2. is there any other limitations I should be aware of?
3. although I have a timer loop running at 10/20 microseconds I believe I am hitting some bottlenecks that need to be evaluated, i.e. could it be USB, could it be the API, Windows 10 or something else.
Any advice in this direction would be greatly appreciated, I hope you are doing okay in these trying times.
Apologies I am not very familiar with the code you shared.
Have you tried monitoring the SPI signals going into the AD5370? If the update rate is too slow then it might be due to the USB controller.
Have you also tried using RP3 at the same rates?
isantos Unfortunately, i am still struggling to find a reasonable and stable code base to start off with, is there any github links or some code that you think would make my life easier?
i.e. i want to output data as fast as i can from the device, preferably using USB (hence the eval board), rest of the conditions dont matter, i.e. OS/Device etc.
isantos I have been looking into the forums, and I found adiddseval.dll and adiddseval.h file that is used for DDS products of ADI, is there a similar DLL and H file for DACs? If so where can I find it?
Can you check this thread please?
https://ez.analog.com/data_converters/precision_dacs/f/q-a/27710/ad5370-ad5371-ad5372-and-ad5373-evaluation-board-software-commands/235341#235341
isantos Thankyou Ivan for your help. So I developed an entire application library to talk to EVAL board using C++ and windows. It works. But I am very concerned about the performance. I used ADI_CYUSB_PDA_x64.inf driver (as provided by the link), along with the HEX file also provided in the link with the specific DLL ADI_CYUSB_USB4.dll, with almost zero overhead. https://github.com/sandeepzgk/EVAL-AD5370 I tried to evaluate the performance of AD5370 using this driver provided by AD. I could not send SPI commands any faster than 1130 microseconds (on average for 1000 calls). I tried a different library/driver(libusb-win32) which helped me go a bit faster to 950 microseconds (on average for 1000 calls)
I am nowhere near the nanosecond scales promised in the datasheet of 600 ns for a single-channel update time. Although the register update time per the documentation states that two stages take 600 ns, the third stage takes 300 ns per one channel update, i.e. 900 ns or 0.9 microseconds. Adding say 200% overhead, it should take about 2.7 microseconds, per update. Is the evaluation board broken? From my understanding, as per the documentation it is supposed to be Full-Featured Evaluation Board for the AD5370/AD5372/AD5373 ?
Questions:** Did I misunderstand of how fast AD5370 can update? ** How can I get the board to work as fast as possible (i.e EVAL-AD5370)?** Is there a newer driver that can work faster (the driver from that link is pretty old, i.e 2012)?** Is there another board similar to this which can do faster updates, i.e. ~100 microseconds / 10 kHz?