Post Go back to editing

AD5593R different address between documentation and reality

Is there a newer document than the Data Sheet Rev. D availble?

I was trying to contact the AD5593R over a Rasberry Pi.

The address Pin was on high.

The documentation says the slave address byte consist of  0  0  1  0  0  0  A0  R/W.

In my case the address should be 0010 0010 (0x22) for write and 0010 0011(0x23) for read. The Raspberry told me that the address is 0x11.

Meanwhile I have found a hint on your Webpage that the address with 0x1_ is the correct one (switched over one bit and throw out R/W bit).

Is the R/W bit switched to another place?

I could read all informations from the AD5539R, but I could not send any commands to it.

E. g.:

The try to activate / deactivate the internal reference voltage with following command had no effect on the REF-Pin as documented at the Data Sheet:

sudo i2cset -y 1 0x11 0x0b 0x0200 w   # activate internal reference voltage   =>   without effect
sudo i2cset -y 1 0x11 0x0b 0x0000 w   # deactivate internal reference voltage   =>   without effect

sudo i2cset -y 1 0x11, 0x05, 0x0007 w   # set IO0 - IO2 as DAC
sudo i2cset -y 1 0x11, 0x10, 0x8e00 w   # send some value in the middle to DAC0 (also 8001 and 8fff tested)   =>   without effect

sudo i2cset -y 1 0x11, 0x50   # set read back for DAC0
sudo i2cget -y 1 0x11, 0x90 w   # receive the Status form DAC     =>     receive some datas, on each power up different

The test where made with RaspberryPi 3 B+ and the ADAC-CLICK board from MicroE (part number microe-2690)
(you can find it on Webpage

  • There was a mistake on one command:

    sudo i2cget -y 1 0x11, 0x80 w   # receive the Status form DAC0     =>     receive some datas, on each power up different

  • Hi,

    Someone's currently looking at your query and will respond to you as soon as possible.



  • Hi,

    This is the latest version of the datasheet:

    Could you send the screen shot of the I2C transactions?



  • Hi Koushik,

    thank you for the answer.
    The link you have send is the same Revision (Rev.D) I had already. It shows the same Situation like previous Picture.
    The address is moved one bit to the left and so the R/W bit is cut of.
    This is the point all commutinies are telling.

    Here is the picture of the command with some undefined answer.
    If I send the command
    sudo i2cget -y 1 0x11, 0x80 w   # receive the Status form DAC0
    sudo i2cget -y 1 0x11, 0x90 w   # receive the Status form DAC1
    sudo i2cget -y 1 0x11, 0xa0 w   # receive the Status form DAC2
    without the set-command direct after booting there will be a read error.

    After each booting the answer will be different.
    How could I bring the AD5593R to communicate with my raspberry in a controlled way?



  • Hi Dave,

    This seems to be very strange. Could you probe the I2C lines near the AD5593R and send me the screenshot of the transaction. The reason i am asking is to check if there is no software issues.

    Also could you share the schematic?



  • Hi Koushik,

    I have no oscilloscpoe available, but I did several test with other IC's to verify, if there is a problem with bus communication, shell commands or programming. All port-expander and adc (e.g. AD5263) test were succsessful. I did the test with stand alone connection and combined connection on the bus. All IC’s are shown with right address (i2cdetect).

    The screenshot above was made by communication over the shell. I did also try without succsess to make the communication over python program.

    Meanwhile I did tests with different pull up resistors on the bus, combiened connection together with AD5263 (verification of bus functionality), 5V and 3.3V supply, onother ADAC-CLICK pcb (verification that IC isn#t defect).

    Attached you could find the schematics from oem. The complete documatation you could find on link of my fist message. The connection is direct between this DAC-board and the pi i2c bus.

    Could you please give me examples for shell commands (e.g. set dac output, set value of dac,..) which you know are working and I could test? I want to verify that I did’t forgett anything and that my commands are right.