ΣSigmaStudio Ask AI Русский Log in

Setting up an ADC with an ADAU1463 over I2C

SigmaDSP & SigmaStudio Gemüsesaft Jun 27, 2021 00:00 3 replies Original on forum ↗
Subscribe
Gemüsesaft Question
Jun 27, 2021 00:00

Hi, I'm trying to Settup an ADC through I2C.

The ADAU1463 operates at Selfboot Mode, so I have to settup the ADC with the DSP.

I've tried to send I2C writes with the "Master Control Port IO" block, but I have some issues.

- The lowest setting for the I2C Bitrate is 400kHz, but I need 100kHz

- When I try to load a Seqencefile with 1Byte of Register Address and 1Byte of Data, SigmaStudio displays an error message with "'Address Byte Length' configured in the module does not match the sequence file(XML)" or sometimes also the error message: "No data found to load for Master Control Port startup boot object."

- Also I'm a little confused about how the I2C message is derived out of the entrys in the Sequence File and the Master Control Port block. There is an address field in the block aswell in the XML file, in the block it's called device address so that one is clear, but in the Sequence Window it is only called Address. Is the Address field in the XML file the address of the Register I want to write to? And if it is another way to type in the device address, which one is send out? And is it 8 or 7 Bits? If it is the Register Address how do I change it to 1Byte, because when I check "Address in hex" it shows two Bytes of Address.

Sorry for this many questions, but I search the internet since days and have not found any clous on how I could send I2C writes over the I2C1_M Port of the DSP.

I would be very gratefull if someone could walk this trough with me.

Kind regards and thanks in advance

Till

Audio Signal Processors

sequence file

i2c

i2c_address

master control port

adau1463

sigmastudio

SigmaDSP Audio Processors

i2c write

adau146x

selfboot

Show More

Gemüsesaft Reply
Jul 11, 2021 00:00

I’ve done a bit of research, tried a little bit around and solved some issues.

One good thing is, that it seems to be possible to communicate with the ADC in I2C fast mode (400kHz) but nevertheless it would be nice to know if there is a possibility to communicate at 100kHz.

I got around the error with the sub address length by editing the xml sequence file (in fact this was described in the sigmastudio wiki and I just overlooked it).

Also the address situation I was confused about is now clear to me. The chip address is the address you enter in the module and the register address ist the one in the xml file. In fact it’s pretty obvious, I don’t know what was wrong with me that day. :D

But now there is a new error.

I can now click link compile download with no error message but I don’t measure anything on the I2C bus.

Also the ADCs don’t turn on and neither are the messages displayed on the capture window. So I assume that I’m still doing something wrong.

I’ve attached the xml file and some pictures of my schematic.

I would be very grateful if someone would respond me this time.

kind regards and thank you in advance.

Till Heuer

Gemüsesaft Reply
Jul 11, 2021 00:00

Fullscreen
ADC_I2C_Sequence.xml
Download

<?xml version="1.0" standalone="no"?>
<ROM IC="ADAU1463" IC_Address="112" Address_byte_length="1">
<dateTime>2021-06-27T12:05:58.2803567Z</dateTime>
<version>4.6.0.1812</version>
<page modetype="Mode 0">
<action instr="writeXbytes" len="2" addr="0" ParamName="Reg1" DspName="ADC1">00</action>
<action instr="writeXbytes" len="2" addr="5" ParamName="Reg2" DspName="ADC1">80</action>
<action instr="writeXbytes" len="2" addr="27" ParamName="Reg3" DspName="ADC1">20</action>
<action instr="writeXbytes" len="2" addr="81" ParamName="Reg4" DspName="ADC1">C0</action>
<action instr="writeXbytes" len="2" addr="82" ParamName="Reg5" DspName="ADC1">00</action>
</page>
</ROM>

DaveThib Reply
Jul 13, 2021 00:00

Hello Till,

Which I2C buss are you looking at?

The Capture Window is only for the SigmaStudio to DSP communications using the slave comms port. The booting up of an ADC will be happening on the master comms port. So you will not see the writes to the ADC on the capture window.

There are settings in this part to split off the I2C from the SPI pins. Do you have these set properly to match your hardware?

Dave T