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.

Trouble using DAC7553

Other Parts Discussed in Thread: DAC7553

HI all,

Anyone here working with DAC7553?

I am working with it and have serious problem!

I have a piece of code to set it in a way to have special volts on output A,

this is my code:

DigIn = ((Volt*4096 ) /3 + 0x800) & 0x0FFF ; //Changing desired output voltage to a hex value, 4 upper bits set to 0
DigInHI = DigIn >> 8 ;
DigInLOW = ((unsigned char)DigIn) ;

PwrI2CstateLO &= 0xFE; // falling edge on SYNC!
WriteI2Creg(0x02, PwrI2CstateLO);

SPIwrt(DigInHI); // sending upper byte of temp
temp1 = DelayT4(0x0010); // delay for SPI transfer to complete
SPIwrt(DigInLOW); // sending lower byte of temp
temp1 = DelayT4(0x0010); // delay for SPI transfer to complete

PwrI2CstateLO |=0x01; // rising edge on SYNC!
WriteI2Creg(0x02, PwrI2CstateLO);
ClrSel(); // release the I2C bus

this is indeed a function and then in my main I call it with a special volt parameter that I need, but it is not working, no matter what voltage I write instead of Volt parameter.

Is there any especial thing that i have to take consider into? like timing in sync! or so?

Bests

  • Bahar,

    The DAC7553 has specific timing requirements that must be met. These are illustrated and defined on page 5 of the datasheet in the 'Timing Characteristics' section. Based on what you have provided here, I cannot say whether you are meeting these requirements or not.

    I do not see where you are inserting the control bits for the serial interface as defined on page 14. The first 4 bits of the data-word are instructions to tell the device which output to update and in what way to do it.

    Review the timing requirements and make certain that you are meeting them. You'll want to focus on SYNC falling edge to SCLK falling edge setup time, data setup time, data hold time, and SCLK falling edge to SYNC rising edge. If this is something you have difficulty with, use an oscilloscope to capture the transaction on the digital bus and I will take a look at it. It is best if you can verify the timing yourself since the cursor functions of the oscilloscope will provide more accurate timing measurements than I can deliver by eye. If in addition to this you can provide a schematic and describe what, if anything, happens on the DAC output this will help debug your problem.