This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DAC70501: Can't get audio out to work correctly

Part Number: DAC70501

Hello,

We have an old audio board product which made use of an LTC1658 DAC.  Our audio board consists of a microcontroller, flash and the DAC.  Recently, the LTC1658 DAC became obsolete.  We chose to replace it with the DAC70501MDQFR.  Our microcontroller reads the audio data(WAV file in RIFF format) from the flash.  The data read from the flash goes to the microcontroller and the DAC.  Our obsolete DAC (LTC1658) is a simple 16-bit input device.  It has no configuration registers etc.  According to the datasheet for the DAC70501MDQFR (SBAS794D –NOVEMBER 2018–REVISED FEBRUARY 2020), this device requires 24-bit input.  We are running the DAC in SPI mode.  The datasheet is a bit confusing.  Under the I2C section, it mentions that the when receiving data, the DAC requires an 8-bit register number (0x8 for the DAC register) followed by 16 data bits.  However, the SPI section does not say that.  I have tried sending 24 bits of raw audio data and a 0x8 followed by 16 bits of audio data.  In each case, I hear only a few crackling sounds coming out of the speaker of our board rather than the word "CAUTION".  We have rung out all the input and output pins attached to the DAC and they all check out.  We see sporadic data on the output pin of the DAC (hence the crackling sounds) but no true audio.  I have verified that I am correctly clocking the data from the flash device to the DAC per the DAC datasheet.  Any assistance would be greatly appreciated.  I have been struggling with this for 4 weeks and getting nowhere.  Please let me know if you would prefer to communicate via telephone and I can call at your convenience.  Thank you.

  • Hello,

    Can you share a schematic? Please confirm that you have the SPI2C pin pulled low for SPI mode. Are you using the internal or external reference? What is the VDD you are using for the DAC? 

    The 24 bits required for the SPI write sequence is defined here. The command byte is the register address and the data byte is the 16-bit data written to the register. You were correct when you wrote 0x8 followed by the 16-bits of audio data. 

    You said you verified the input and output pins on the DAC, can you let me know what the voltages on those pins are? Can you write 0xFFFF to register 0x8 and then let me know the voltage level of the output?

    Best,

    Katlynne Jones 

  • Hi Katlynne,

     

    SPI2C is low.  We are using +5V for the VDD.

    Also, we have an external reference of +5V wired to pin 8.  However, the datasheet

    states that the DAC uses its internal reference by default (which is the setting we

    are using).  Is it a problem if we have +5V wired to pin 8 (Ref) and pin 1 (VDD) when

    the DAC is set up to use its own internal reference?  This might be a problem.

    I will provide more info. as I get it.

     

    thank you.

      - Myron.

  • Hi Myron,

    Yes, this could be an issue. The VREFIO pin is an output pin when the internal reference is enabled, so you should not connect this to the VDD pin. 

    Try breaking this connection or disabling the internal reference and test writing to the DAC output.

    If you disable the internal reference and use the 5V external reference then you will need to set the REF-DIV bit to 1 so the internal reference buffer does not shut down. 

    Best,

    Katlynne

  • Thank you Katlynne for the excellent information.  After programming DAC CONFIG Register (0x3) = 0x0100(Disable Internal Reference) and DAC GAIN Register (0x4) = 0x0100(DIV = 2, GAIN = 1), we are now getting audio out of the DAC.  The audio is not as intended but we need to work out details regarding the data we are sending etc.  Thank you again.  - Myron.

  • Hi Myron,

    Great to hear. You can reply to this post or start a new thread if you need any additional support. 

    Best,

    Katlynne Jones