I designed a custom board that uses the ADAU1701. I have several external ADC's, which output I2S over to a PIC32MZ microcontroller. The PIC is connected to the ADAU1701 with a SPI port, and a few GPIO. I wanted the PIC to have direct access to the audio samples, for processing and re-routing to other devices. Unfortunately, I didn't think it through very well, as I made the assumption that I could mix the samples in my microcontroller, and just write them over to the DSP over SPI (I'm using the SPI port to program the DSP, so I wanted to kill two birds with one stone). Now that I'm writing the code for it, it doesn't look like there's a direct way to write audio samples into the DSP. I've thought of a few possible workarounds, and I'm curious if these could work:
1. Use an Interface Register, ala the attached picture. At this point, I'm just looking at doing a simple audio pass-through. The datasheet states that these are typically used for volume and EQ settings, but also states that the settings are updated at the sampling frequency. This would be exactly what I'm looking for.
2. If the above solution isn't possible, I thought that it could be possible to have a 1st order FIR filter, with a DC input. I could then write (through safeloading) a scaled version of my audio sample as the coefficient of the filter. Since it's 1st order, the output of the filter would effectively be my audio sample.
Any insight on either of these choices would be appreciated. Once my software is at the point where it can program the ADAU1701, I'll try these out and come back to share if they work or not.