Post Go back to editing

AD9257 waveform jump


I‘ve had a problem using AD9257. I used it to acquire a sine wave, but the waveform will jump if the input exceed a value, as shown below.

The problem does not occur in all of the 8 channels. 

I made a few test boards, and each board has different error channels.

I use AD8138 as the differential Driver. I watched the differential input of AD9257 with an oscilloscope, and it is a standard sine wave.

I used the test pattern function of AD9257 to test my driver program, and I can receive the test pattern correctly.

What is the possible reason for this problem?

Appreciate all your efforts and help.




  • Hi Zhao,

    Thank you for using the AD9257. You mentioned that the problem does not occur on all channels, and different boards show the problem on different channels. On a given board, are the problem channels the same from power-up to power-up? For example, if only Channel A is not working on one board, will it always be only Channel A that does not work?

    If you are able to post your schematic, I would be glad to look at them.

    Also, as a sanity check, please try a Digital Reset as described in the CLOCK STABILITY CONSIDERATIONS section of the AD9257 datasheet.

    SPI_Write (0x08, 0x03); # Start Digital Reset

    SPI_Write (0x08, 0x00); # Finalize Digital Reset and Return to Normal Operation

    Thank you.


  • Hi Doug,

    I really appreciate your reply. It is indeed a problem of CLOCK STABILITY. The power of my clock is little later than AD9257's power. After a digital reset, AD9257 works properly.

    Thank you!


  • Hi Zhao,

    You are very welcome!

    I hope your project goes well.