Part Number: ADS8881
Other Parts Discussed in Thread: ADS7042, ADS7854
Hello!
Here is my Verilog HDL code: http://paste.org.ru/?x2a6yj
I trying to work with ADS8881 ADC and it's interface very often getting stuck. FPGA is Xilinx XC6SLX9 with 140 MHz clock speed (to meet 70 MHz clock maximum for ADS8881). Sample rate is 500 KHz and signal is sine at 525 KHz. Every 20-50 us interface hangs up and I restart cycle again. Byte ganged up interface I mean that ADC is not react on control signals. After cycle restart I see it continue to work as expected and then after 20-50 us the error repeats again =(
Also I see another error (take a look at left half of picture below: din=1, dout=orange, sclk=green, convst=red) - sometimes my module false starting to capture data, however dout erroneously getting back to level 1. Right half of picture shows normal cycle without error.
I tried many modes from datasheet: 3 wire 4 wire all with busy or without, and see that ADC working not stable. This makes my cry, what I doing wrong? Modeling in Xilinx ISIM and Modelsim shows that everything is OK with my code - many different measures with random 18-bit values with random conversion times from 500 to 700 ns - all is fine in HDL simulator, but not with real ADC =(
May be someone could share his code to me and all others? I can provide much more details if necessary. Please help, I spent many weeks to get it working stable. Which debug ideas I can try more?
