Post Go back to editing

I2C communication with ADAU1466Z

Category: Hardware
Product Number: ADAU1466Z & ADAUSD2Z

I have an ADAU1466Z dev board working well with the SPI communication for programing and control via Sigma Studio using the ADAUSD2Z com board and SPI.

Is there any documentation for connecting the ADAU1466Z board via I2C to one of my own dev boards to start testing communications from Linux over I2C?

  • Hello starkers,

    SPI and I2C from a hardware basis is not compatible. However, you could do this and let me explain how. 

    The four SPI comms port pins for the DSP slave comms port goes directly to the USBi connector and nowhere else. The USBi uses separate pins for SPI verses I2C but that is not a problem only something to note. 

    Here is the USBi pinout I captured from the user guide for the eval board. 

    You can see the SCL and SDA pins are separate from the SPI pins. You will also need to have pull-up resistors for the I2C bus but I suspect they exist elsewhere in your system. 

    My suggestion is to build a custom 10-way ribbon connector to connect to the USBi connector to your other boards. 

    Connect the MISO to the SDA of your system

    Connect SCLK to the SCL of your system

    Then you need to set the address of the I2C port. Fortunately, those also use two of the four SPI port pins. Those also come up on the USBi connector. 

    So you will need to ground both the /SS and the MOSI pins to set the I2C address to 00. Well, the variable part of the address to zeros. Look in the datasheet for the I2C addresses. 

    This part of the schematic shows you the pin assignments. 

    Here you can see the address pins. 

    So if you do this using a 10-way ribbon cable and connector, then you do not have to modify the eval board. The tradeoff is that you will not be able to have SigmaStudio connected at the same time. What you will have to do is disconnect your hardware and connect the USBi and then Link/Compile/Connect to connect to the DSP. 

    The other detail you need to be aware of is that the slave port is in I2C mode when powered up. I changes to SPI mode when you toggle the /SS pin three times. Once you change it to SPI, you cannot go back to I2C until you reset the part or power it down. 

    What you could do with your custom cable is to connect the I2C lines of the USBi, and the ground pin, and then connecting that the I2C pins of your system. Then change SigmaStudio settings to I2C and you can have both at the same time with no mods to the board. You just have to make sure the Linux system is not talking to the part when SigmaStudio is. Because it cannot function in a dual master system.  

    Anyhow, I went a bit beyond your question. 

    Dave T

  • Dave

    Thank you for the time you spent on the above. Great info and exactly what I was looking for.

  • hi, I am also in the process of trying to replace the windows PC (running sigmadsp) to control ADAU1467 eval board. I'm not done yet but at least I managed to 'ping' over I2C my eval board, from a C app running on an ESP32 dev module. At some point, I'd like to also have a working solution for arm linux board (like rpi or others running armbian), and ideally from nodeJS. It would be cool if you share your achievement to the community. tks.