Changing multiple parameters
Hi,
I am using the SigmaDSP in a real time situation where several similar elements need to change at the same time.
For example an EQ curve on several channels.
I am normally controlling the ADAU1442 from I2C but to change say 4 curves on 4 channels takes many commands and obviously adds a latency issue which I am trying to avoid.
For
So the question is:
1. is it possible to send a command to several components to change at the same (or at least near same) time
2. is SPI faster than I2C to update parameters
Thanks
Danny
Audio Signal Processors
adau1442
SigmaDSP Audio Processors
Hi Danny,
1. Yes, it's possible to update several parameters very quickly using a feature called safeload. It is documented here: https://ez.analog.com/docs/DOC-1897
Basically, you need one audio frame to set up the safeload transfer for up to five parameters, and then on audio frame to execute the transfer. This means it would take 2 audio frames to update a single IIR filter. If you had a 5-band EQ, for example, you could update the whole EQ curve in the span of 10 audio frames, which would be a total duration of 0.2 milliseconds. Quite fast!
2. SPI can be faster than I2C, but it all depends on the master device's settings. Basically, I2C is limited to a maximum clock frequency of 400 kHz, whereas SPI on the ADAU1442 can have a maximum clock frequency of 32 MHz when writing. That's quite a difference! However, in practice, you're limited in speed because you need at least two audio frames to execute a 5-parameter safeload write.
Please log in to reply.