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.

Problems in using DAC8728

Other Parts Discussed in Thread: TMS320F28335, DAC8728, DAC8728EVM

I am designing a control system based on the DAC8728 and TMS320F28335, and they are connected directly by the buses(including data bus, address bus and control bus). The schematic is shown as below.

The analog output VOUT-1(pin10)  is set by writing to the space with the address of 0x0020023E in ZONE7, and followed by write the configuration register with the address of 0x0020003E to set the LD bit. However, the analog output is always 0V, no matter how I change the input digital data. I have checked the PCB solding, DSP output, and others I can think of, and all of them are OK. 

Could you give me some suggestings? Thank you!

 

  • Hi Zeng,

    The /LDAC input on the DAC8728 is an active low input - you can take this to a GPIO or tie it to GROUND.  Your schematic shows it tied to the +3.3V rail, so the DAC output will never update.  Try taking it to the GND node and see if that resolves your issues.

  • Thank you very much, Tom.

    I have tried the method you have told to me, and the issue is still not solved.

    Besides, I have tried to change the output of GPIO of DAC8728 by setting and clearing the D15 of the GPIO Register, and however, the output is always in high voltage level. even a pullup resistor is used for this pin.

    Moreover, I have check my schematic and the one of DAC8728EVM. However, I find that the pin30 in the DAC8728EVM is float, and the datasheet says pin30 is DGND. I was confused by this pin. 

    May the issue in my design is related to this pin?

     

  • Zeng,

    Pin 30 should be tied to ground as you have done in your schematic. I'm not sure what happened with the EVM.

    Your schematic looks alright. Can you share more information about your write sequences? Maybe some oscilloscope captures of CS/WR and some of the address/data lines would be good. Also share precisely what you're writing on the bus (address pins included) for writing to the GPIO register and the DAC data registers.

  • Kevin,

    Thank you for your reply.

    The DAC8728 is interfaced with MCU TMS320F28335 through the XINTF, and the address is mapped in ZONE7. The code to control the GPIO of DAC8728 is shown as below.

    *((unsigned int*)0x2000BE) = 0x8000;     // Set the GPIO of DAC8728

    *((unsigned int*)0x2000BE) = 0x0000;     // Clear the GPIO of DAC872

    Besides, I have checked the operation of XINTF, the soldering of pins, and all of them are OK. And I can't find the reason.

    Thank you!

    Zeng

     

  • Zeng,

    What about the address bits? I would have liked to verify the timing from a capture of the parallel bus in action but if you say it's ok...

  • I am facing a similar issue. I tried forcing the address to the particular registers I wanted to read/write. When I read I get back the default value. Eg: 0x8000 for the config register. But whatever value I write I always get the default value. Same true for offset and all other registers. Can tell why?