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

Changing multiple parameters

SigmaDSP & SigmaStudio danderson Aug 20, 2012 00:00 1 replies Original on forum ↗
Subscribe
danderson Question
Aug 20, 2012 00:00

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

ADIApproved Reply
Aug 21, 2012 00:00

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.