Post Go back to editing

ADAU1467 Dual Master Control Port

I'm starting a new thread based on this post by DaveThib:

"If you absolutely MUST use a SPI EEPROM for fast booting and be able to control some I2C parts then you will have to move over to the Sigma350 parts and it will have to be the 88 pin versions. So the ADAU1463 and ADAU1467 are the parts that you would need. They are capable of splitting off the I2C master port over to two MP pins so both can be used."

My design uses an 88-pin ADAU1467 which selfboots from an SPI EEPROM (this is working), but needs to then configure some I2C-controlled ADC's. ADAU1979s specifically.

I've written my xml sequence file and tried using both boot and runtime master control port I2C write blocks in my schematic, but nothing is happening on I2C bus when the script executes.

I have also set the "Secondary I2C Master Enable" register to use pins MP24/MP25 for the I2C master port.

Pins MP24 and MP25 are set to "Primary Function of the pin" in the ADAU1467 MPx_MODE register settings.

In the ADAU1467 datasheet there is a Secondary I2C Master Register section which states:

"This register allows the master control port to be split such that the I2C signals appear on different pins than the SPI signals. This allows an application to use both master port protocols without external switches. Note that only one of the two protocols can be used at a time. The master port must be reconfigured in software before using a protocol other than the one configured at boot time."

This seems to be my problem, but I can't find any description of how to reconfigure the master port.



Formatting
[edited by: trjeppsdl at 9:45 PM (GMT -4) on 18 Sep 2018]
Parents
  • Hello trjeppsdl,

    My partner here at ADI who was doing this work with setting up this example file, sent me this one this morning. I think the other one was not quite working so try this one. There is some slight differences. The first is that the I2C split to the MP pins is not set to be active as a default. Then the other change is that the transmission of the XML commands to boot up the codec is delayed until the first time the program is run. The difference is that the other bootup cell will send the code to the codec just before the DSP starts running the program. A slight difference. So this project should work.

    Sorry for the duplication. Like I said, we are working on a document to detail all this but you need this info now.

    SigmaDSP Programming CODEC via I2C to 192 kHz.zip

    Dave T

Reply
  • Hello trjeppsdl,

    My partner here at ADI who was doing this work with setting up this example file, sent me this one this morning. I think the other one was not quite working so try this one. There is some slight differences. The first is that the I2C split to the MP pins is not set to be active as a default. Then the other change is that the transmission of the XML commands to boot up the codec is delayed until the first time the program is run. The difference is that the other bootup cell will send the code to the codec just before the DSP starts running the program. A slight difference. So this project should work.

    Sorry for the duplication. Like I said, we are working on a document to detail all this but you need this info now.

    SigmaDSP Programming CODEC via I2C to 192 kHz.zip

    Dave T

Children
No Data