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.

DAC7760 produceing improper output signal

Other Parts Discussed in Thread: DAC7760, DAC8760

Hi Guys please any one help me,

am newly started development of interfacing DAC7760 with MCU (C8051F340) with help of SPI mechanism if am sending 0x0101 data along with address throgh MOSI line in 24 clock cycles and reading back same signal with MISO line at this moment am not getting same signals from MISO line. and am getting only 7.02v as output from IOUT for catching this signal in voltage form i used 250ohm resister. for getting proper signals what are the conditions i need to follow please help me.

and if possiable provide C source code of interfaceing Dac7760 with any MCU with help of SPI.

Thanks,

Poch kumar

  • Hello Poch,

    In order to help you debug this issue, it would be best if you could provide a complete schematic of the design as well as oscilloscope captures of the write sequence on the SPI bus so I can check various timing parameters.

  • Hi Kevin,

    I'm so glad to get your reply, Here am attached my schematic ans oscilloscope captures and am sending fisrt 8-bits address 0x01(Write DAC Data register),then send my data that is 0xA5A5 . please help me kevin.

    Thanks&Rearguards

    Poch kumar

  • Poch,

    In your schematic DVDD-EN is connected to GND, which means the internal DVDD LDO is disabled. There is no external supply connected to the DVDD pin, so it looks like you are not providing a digital supply to the device. Without the digital core powered, you will not be able to communicate to the device.
  • kevin,

    after your provided information i added 5v power supply to DVDD then also am not getting proper output and one more thing while am sending data to MOSI line through SPIDAT register it not reading my data after 8 cycles it's getting 0xFF. so please help me how to do all thease things to get proper output signals. now am getting thease signals Hear am passing first 0x01 address,0xA5A5 as data. if possible provide sample program also.

  • Poch,

    Did you add this 5V supply to the same unit / board that you performed the previous tests on? With the 5V supply provided now, your schematic looks fine and there is no reason for the MISO data to look as erratic it does. To me, this suggests that the unit that you're testing was damaged from the digital signals being applied to the device without a digital supply in the previous tests.

    In your initial post, you indicated that a 7.02V potential is being developed across a 250 ohm load on your current output. This means 28.08mA is flowing through the current output - which also suggests that the unit under test has been damaged, since this is not a valid output for the DAC8760.

    If you haven't already, try the tests on a fresh unit/board with the 5V digital supply provided.

    pochkumar malyala said:
    while am sending data to MOSI line through SPIDAT register it not reading my data after 8 cycles it's getting 0xFF

    I do not understand. Can you explain this in more detail?

    pochkumar malyala said:
    now am getting thease signals Hear am passing first 0x01 address,0xA5A5 as data

    I don't completely understand this either. Can you explain in more detail? 0xA5A5 to address 0x01 means you are writing 0xA5A5 to the DAC data register. If one of the output modes is enabled you should see a current/voltage output. If not, the device will not show any change on either output.

    Here is a set of sample code for the DAC8760 on a MSP430: DAC8760_Interface.zip

    If you perform tests on a new unit / board and still see issues, please provide oscilloscope captures of the digital interface that also includes the behavior of the LATCH signal.

  • Kevin, 

    Today i taken new board of DAC7760 that schematic is attached below and also attached Oscilloscope captures. for any input signal(MOSI) output current is not getting it is always showing 0v so please help me.

            

  • Poch,

    The MISO line still looks incorrect - it appears to me that the ground you have the oscilloscope is the ground of the MCU or SPI signal source but that ground is not connected to the DAC8760 ground so the waveform is floating. How are the SPI signals introduced to the board? Is there an adequate ground connection between the SPI host and DAC8760? Where is the ground clip of the scope applied?

  • kevin,

    i used common ground between the  MCU and DAC also used connected ground to oscilloscope then also am not getting IOUT .

  • Kevin,
    in my above post DAC7760's pin no-11,12,4,5 ,23 ground is connected to the MCU's pin no 7,12 ground.and i used to connect ground clip of the scope when observing wave forms.
  • Poch,

    Could there be an issue with the layout? The MISO oscilloscope captures strongly suggest that something is floating.
  • kevin,

    To get proper output signal from MISO line what i need to verify.
  • Kevin,

    if am disconnecting MISO line Between MCU and DAC7760 am getting below wave forms Here MISO line varying from -120mv to 800mv

    After connecting MISO line Between MCU and DAC7760 i got thease wave forms,here MISO line varying 2.60v to 3.84v

    please provided me the solution in this case

  • Poch,

    This continues to add to my suspicion of the integrity of the GND connection. Using a DMM, can you measure the voltage difference between the GND measured local to the MCU versus the GND measured local to the DAC8760? Simply attach the GND lead to the GND near the DAC and the positive probe to the GND near the MCU.

  • Hi Kevin,
    very good evening ,

    In my project as i told you am using SPI to communicate MCU with DAC7760 . Recently i done communication between MCU1 to MCU2 there i am sending 0x10 to 0XAA data and reading back the same data this is done with perfectly if am doing same communication between MCU with DAC7760 that means for sending of 0x10 to 0xff data and reading back sent data but here always 0XFF data came why? please help me
  • Poch,

    If the SDO of the DAC8760 still looks like what you've shown in the previous captures, I'm not really surprised that you cannot communicate with the device. Maybe you can acquire an EVM and try to blue-wire your MCU to a known working hardware platform to eliminate one more variable.
  • Hai Kevin Duke,


    i have one problem in DAC7760 at output that is am selected IOUT range 4ma-20ma for that i used code values from 0x0000-0xFFAA for getting 4ma to 20ma output current but theoretically it is 0x0000 to 0x1000, why Dac7760 not providing proper output in the range of 0x0000 to 0x1000 please provide the solution .

    and i want to know the how to connect IOUT1(FROM DAC1), IOUT2(DAC2) in serial channels
  • Poch,

    I am not sure I understand your problem. Are you saying that on the DAC7760 current output you observe 4-20mA output when using codes 0x0000 to 0xFFAA? That's significantly more codes than a 12-bit device requires. How are you making this observation? By measuring the output at the end-point codes you mentioned? (i.e. measure at 0x0000 and 0xFFAA for "working" case and 0x0000 and 0x1000 for "bad" case?). Are you measuring the output while every code is applied in that span? If so, can you share the output waveform?
  • Poch,

    I forgot to address your second question.

    I assuming by "connect in serial channels" you mean you want both current outputs in parallel so you can sum the output currents? I've not seen anyone using these parts in this way before, for my own curiosity what is the application? Why is this needed?

    As I mentioned I haven't considered or built & tested this idea before, but off the top of my head there shouldn't be anything wrong with putting two high-side voltage to current converters in parallel to sum output currents.
  • Kevin Duke,

    am using IOUT output signal that to 4mA to 20mA range. for generating this output current am sending input signal to DAC7760 that is 0x0000 to 0x1000 as CODE value(IOUT = 16mA *(CODE/2N)+4mA). But in this CODE range DAC7760 is not providing
    4mA to 20mA ,if we are proving range CODE 0x0000 to 0xFFAA it is proving 4mA to 20mA but this is theritically wronge why DAC7760 not providing proper output current in theritically calculated range please help me what are the configuration may i follow . and am using these bits in configurations register(0x0310) and control register (0x1000).


    and i want to know this DAC7760 can support loop power mechanisum for N number of outputs that means for the iout signal internal ground should be used by respective system or device.
  • Poch,

    0x1000 is not the correct full-scale code for a 12-bit converter, 0x1000 is 0001-0000-0000-0000 in binary which is a 13 bit number. The 12-bit converter is effectively ignoring the 13th bit and remaining at zero scale.  0xFFAA is 1111-1111-1010-1010 in binary which is a 16 bit number. In this case though you're nearly at full-scale since the top 5 MSBs are all 1's so it appears that you have reached full-scale. The proper full-scale input code for a 12-bit converter is 0x0FFF.

    pochkumar malyala said:
    and i want to know this DAC7760 can support loop power mechanisum for N number of outputs that means for the iout signal internal ground should be used by respective system or device.

    Can you provide a diagram that illustrates this? I do not understand.

  • Dear Kevin Duke,

      am using two DAC7760s ics , Dac7760-1 is used for tempature sensore signals and Dac7760-2 s used for RH sensore signals, these both signals IOUT output signal i am using that to in 4mA to 20mA range. and am giveing 24volts as input voltage to DAC7760 IC'S.

    Here i am attaching schematics of DAC7760-1,DAC7760-2

    from these DAC7760 ics am measuring 1v to 5v output by connecting resistors(250ohm) load across current signal.

    like this current signals are am getting from DAC7760 ics but for my application i want this type of output that is in below

    that means i want IOUT output signal without DAC7760 ground line please provide the solution and is it possible with DAC7760

  • Poch,

    The diagram you've shared does not illustrate a ground symbol anywhere. Where is the ground for the "24V of input voltage" block? How does it connect to the DAC7760s? How does the load connect to the DAC7760s and GND?

    Without knowing where the grounds are and how the loops are closed I cannot advise on the feasibility of this design.
  • Dear Kevin Duke,

    very Good evening.........

    i want to know complete information about calibration , and slew rate functionalities which is available in dac7760 so please provide me the information how it can works and what are uses in application.


    Thanks,
    Poch kumar
  • Poch,

    The calibration features are intended to be implemented with some external measurement circuitry. Typcially a two-point measurement is taken from the linear region of operation of the DAC and those two points are used to obtain offset and gain calibration values. Generally these values and the correction is implemented in a MCU, but on the DAC7760 you can load the codes inside the device and offload this responsibility from the MCU.

    Slew-rate control basically provides the DAC with several small updates instead of one large update to keep the output from slewing. This is mostly of interest in applications that also implement HART because HART compliance requires that the "DC" 4-20mA signal does not impact the HART FSK signals. By slew limiting the 4-20mA output you will see less of a transient on the HART FSK.
  • Hai Kevin Duke,

    very Good evening.........

    In my project am trying to generate 4 mA to 20 mA current but here am getting 3.99 mA to 19.95 mA is there any way to get full scale of output. for generating this current output am running a counter that is from 0x0000 to 0xFFFFF. Is calibration mechanism will useful in this case, if yes how to design that pease of code please help me.

    Thanks,
    Poch kumar
  • Poch,

    The calibration that is implemented inside the device is purely digital calibration - meaning that the codes that are written to the DAC modified with some simple mathematics before they are actually loaded to the DAC data register. There is no analog calibration feature inside of the device to modify the zero-scale or full-scale values.

    The values that you have measured are beyond the specifications of the device. The DAC7760 specifies +/- 0.1% FSR TUE for the 4-20mA output span. Observing 19.95mA at full-scale means the TUE is 0.3125%. Are you using the external current setting resistor? If so, what is the tolerance of that resistor? Can you measure it? Can you measure the value of the reference voltage? How are you conducting the current measurement? Is there a load?
  • Kevin Duke,

    I am using multi meter to measure the IOUT. i connected multi meter in series at Iout & ground signals

    Thanks,
    Poch kumar
  • Poch,

    A DMM in ammeter mode is typically a very low impedance load for the current output, something on the order of milliohms up to a few ohms. You're only using 12V supplies, but that's still a fair bit of power being dissipated in the output stage. You might try making measurements with a more favorable higher impedance load that allows less power to be dissipated across the output FET and see if your full-scale results improve.