Post Go back to editing

AD3541R only output +5V and-5V

Category: Hardware


      we are using AD3541R for analog output, it does not work correctly, seeking for your help, thanks a lot!

      below is the schematic of AD3541R,

      1 for the gain part, we only connected to RFB2; the  RFB1 and RFB4 pin are not connected(no R46, R48 on baord). 

      2 The LDAC pin is kept low level.

     After configuring the AD3541R registers according to the datasheet, the AD3541R cannot output the correct values according to the configuration, and only outputs -5V and +5V, there are no other intermediate values.

Here's how I configured it:(only these pins are configured: DAC_RST(RESET#),   DAC_SPI_CS(CS#),   DAC_SPI_SCLK(SCLK), DAC_SPI_SDI(SDI),    DAC_SPI_SDO(SDO))

1. Read Register CHIP_TYPE (0x03)
--The register value is 0x04.(waveform below)

2. Write register REFERENCE_CONFIG (0x15),
The configured value is 0x03, using an external reference voltage Vref.

3. Write register CH0_OUTPUT_RANGE (0x19),
The value is 0x02, which indicates 0-10V.

4. Write Register CH0_DAC_16B (0x2A)
The value written is 0xFFFF

5. Read Register CH0_DAC_16B (0x2A)
The read value is 0xFFFF, which is correct

Output Voltage Configuration:
If the configured value is 0x0, the output value is -5V(measured by oscilloscope)
If the configured value is 0x4000, the output value is -5V(measured by oscilloscope)
If the configured value is 0x8000, the output value is +5V(measured by oscilloscope)
If the configured value is 0xFFFF, the output value is +5V(measured by oscilloscope)

Why is the voltage range CH0_OUTPUT_RANGE configured to 0-10V, but the actual output only has two values, -5 and +5V, and no other values?


Gavin Li

  • Everything is correct in the schematic and the commands. I recommend connecting RFB4 in addition to RFB2 to improve dynamic response.

    If the configured range is 0-10V, the chip should be supplied with PVDD = 10.2V and PVSS = -0.2V.

    When writing the data to the DAC register, the order of the bytes is MSB then LSB.

  • Hi Antonius,

        Thank you very much for your suggetion, the result is better after the modification, but AD3541R sill does not output as expected. Need your further help on it!

        alredy confirmed the order of the bytes is MSB then LSB.

        modification as below:

        1 connect both RFB2 and RFB4.

         2 configure the output as -5V to +5V(Write 0x03 to Register CH0_OUTPUT_RANGE (0x19) )

     then run the DAC, got the result:

    register value(0x2A) Vout(V)
    Reset 0
    0x0 -5.2
    0x4000 -5.18
    0x6000 -5.05
    0x7000 -3.78
    0x8000 -2.51
    0xC000 2.68
    0xD000 4
    0xE000 5.2

    This time, we got the median value in the test, but the value is different from the value calculated by the formula. For example, if the value is 0x7000, the value calculated according to the formula should be -0.64V, but the actual result is -3.78V

    How to solve this?  Appreciate!!

    Gavin Li

  • It should work as expected unless the output amplifier is damaged. Did you try other boards?

    There are a couple of details to improve:

    If you are writing the DAC register directly, there is no need to pull down LDAC.

    ALERT is open drain. There is no need to have a pull-down resistor, only pull-up.

  • Hi Antonius,

          we fixed this by correcting the RFB2 value, which should be 0 ohm, but the factory mistakenly used 3kohm, thank you very much for you great help! 

Reply Children
No Data