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.

Amc7904 negative dac o/p voltage

Hi,

Vss used is -7V for our project.

I am able to read the Device id from the dac.

But just cannot change the output voltage. It is always -7V.

I have set LUTDIS = 1 and enable all the DACs 0XB = 0F.

I am able to write the voltage values to the 0x8 and 0x9 dac overwrite register through serial interface I2C.

And am enabling the DRVEN1 pin also.

But the values are not reflecting at DAC input data registers and at the o/p pins also.

Please let me know any other register need to change for negative output?

  • Hi Uzumaki-san,

    Is the device in an alarm state? Please read the values in register 0x4 and 0x5.  If you have a temperature alarm, you could disable the LEN and REN bits to disable the temperature sensors.

    Thanks,

    Paul

  • Hi Paul,

    Values of 0x4 and 0x5 is 0x0 and 0x9, which is correct for negative operating range.

    I am following the below sequence to write to overwrite reg. please correct me if it is not correct.

    1. Write LUTDIS = 1 of 0xA

    2. Write 0xF to 0xB

    3. write 0x33 to 0XD

    4. Write 0xC to 0x1

    5. set the page to 2(0x7e)

    6. write to dac register high and low.

  • When we read the dac input register the values is not updating from zero.

  • I am confused by your step 4.  Do you mean that you are writing value 0x33 to Register 0x0C?

    You should be writing to the DACx Overwrite registers (0x08 to 0x0E).  You can read the value back on page 2, registers 0x00 to 0x06.  Do you see any change when you measure the voltage on the DAC1 and DAC2 pins? (these two are dedicated to the DACs and should correct regardless of DRVENx state).

    Thanks,

  • Hi Paul,

    The above sequence which am following is to drive the output voltage through the software using the drv0,drv1..bits register 0xc.

    As mentioned in step 6 writing the expected voltage value to the registers 0x8 to 0xe.

    Output of reading the registers 0-0x06 is always zero.

    Dac1 & Dac2 pins are getting the expected volatge.

    Thanks,

  • You should confirm what you are writing in step 4.  You place the device in a mode were it ignores the DRVENx pins and expects you to use register 0x0C to toggle the DAC outputs.  If you see the correct values on pin DAC1 and DAC2, then you are writing to the DACs correctly.  You just need to confirm that you are switching the output.

    Thanks,

    Paul

  • Hi,

    As mentioned in the data sheet, the output can be drive by DRVENx pins or software using the register 0xC.

    What I mentioned above sequence is for software driven method.

    DAC1 and DAC2 outputs are correct,but switching using bits(0xC) and also DRVENx pins not happening.

    Thanks,

  • Writing 0x33 to register 0xD, you have configured the device to switch using the values in the Drive Enable Register  0x0C.

    If you want to enable the OUTx, DAC0, and DAC3 pins to switch to the active DAC voltage, you must write 0x33 to register 0x0C.

  • Hi,

    As mentioned in query, am writing 0x1 to 0xC which means enable the DAC0 to switch to active  DAC voltage.

    My goal is to get -2.5v at the DAC0.Let me know the sequence.

    Thanks,

  • If you are only interested in DAC0, then your steps are correct.  At this point, I suspect that the device is in some alarm state.  Can you measure the voltage on the PA_ON pin?  If the pin is 0V, then we have some alarm event.  You could try reading Register 0x4 and 0x5 again, but please also read the Reset Status Register 0x24 and report the value. 

    The RESETSTA reports the current state of the device.