DAC7613 Monotonicity Issues

Hi All,

I am currently having troubles with the monotonicity of the DAC7613. As I step the DAC one bit at a time, its output jumps back and forth between 2.5 and 2.8V. My VREFH is +3.3V and my VREFL is +1V. The VSS pin is connected to ground.

When I reset the DAC, its ouput goes to +1V as it should (RESETSEL is low); however, when I write a 001(hex) to the input register, the DAC's output jumps to 2.5V. As I continue to increment the input register, the output voltage bounces around without any apparent pattern. Any suggestions as to why it may be doing this? Have I missed something vital in the data sheet?

Thanks, 

3 Replies

  • Hi Zach,

    Could you post an oscilloscope picture showing this behavior? Is the data glitching to a voltage range of 2.5V-2.8V and then stabilizing to the correct code or is it outputting the output showing the wrong value? My nature of the DAC's design, you will see some glitching across major carry transitions but the output should stabilize quickly to the appropriate output code.

    As for your second concern, you may having a timing issue. Double check that you are meeting the setup (DS) and hold (DH) timings for the parallel interface.

    Regards,

    Tony Calabria

  • In reply to Tony Calabria:

    Hi Tony,

    Thanks for your response. The output of the DAC is stabilizing to incorrect voltages between 2.5V and 2.8V i.e. 001(hex) gives 2.5V(stable), 002(hex) gives 2.65V(stable), 003(hex) gives 2.78V(stable), 004(hex) gives 2.63V(stable), 005(hex) gives 2.72V(stable), etc. 

    I believe that I am meeting the setup and hold times for the parallel interface. After writing to the input register, I read back from the input register each time to confirm that it was written correctly. The read back value seems to consistently match the previous write value.

  • In reply to Zack Bomsta:

    Hi Zach,

    Double check your reference values. Try tying VrefL to ground for preliminary testing to see if as you count up codes, the DAC responds as expected. You may also want to check the individual bits on the parallel bus using an O-scope to verify you are writing the data word that you think you are in your code.

    Regards,

    Tony Calabria