Which Registers control SPI Mode and other configuration?
The datasheet warns that "The master port must be reconfigured in software before using a protocol other than the one configured at boot time." So, how is this done? Which Registers control this configuration?
I have moved my design from ADAU1452 to ADAU1463 to simplify the electrical connections to the SPI Master port (EEPROM for SELFBOOT, possibly other SPI chips) and I2C Master port (ADC, DAC, A2B, perhaps other I2C chips). This allow the proper pull-ups for each bus type, without tripping over the dual functionality of certain pins.
One question is whether I can use the SPI Master port after the EEPROM has been accessed during SELFBOOT. Although I could easily define more SPI Slave Select pins, and the SPI Master port is already configured, I get the impression that I cannot mix SPI and I2C transactions in software, even if the Master control port is reconfigured for each transaction.
At a minimum, I need to reconfigure the Master control port from SPI (used during SELFBOOT) to I2C (on SCK2_M and SDA2_M pins) and perhaps limit my design to only I2C peripherals after boot. Is this really the only option?
A related question, in addition to what register configures the Master control port, is where Mode 0 or Mode 3 can be selected for the SPI Master control port. I understand that SELFBOOT will use Mode 3, but if that needed to change to Mode 0 for other SPI devices attached with independent Slave Select pins, then how is that done? i.e. Which register configures this setting?
Audio Signal Processors
Datasheet/Specs
master control port
SCK2_M
SDA2_M
I2C Programming
spi communication
adau1463
SigmaDSP Audio Processors
Show More
Hello SoundConsulting,
I'm working on a response, I will post it soon.
BTW, you want to program SPI and I2C peripherals that you will select in runtime after the DSP self-booted by SPI?
I mean, the DSP will self-boot from EEPROM by SPI, once the DSP is running, you will have two master port instances in DSP program, one to program I2C peripheral and another one to program SPI peripheral, you want to change that setting of which protocol should be active at a time? like you will trigger the I2C port to be active at that time and after it's done, then you will reconfigure the port to SPI in runtime and trigger the SPI port to be active?
If that's what you want then I don't think it's possible, because when I drag and dropped two master control port instances and I set one to SPI and another to I2C and tried to compile but I got a compilation error.
So, I will respond soon with what is possible and what can't be done.
Regards,
Harish
Please log in to reply.