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

uC vs. SigmaStudio booting a gaggle of ADAU1701s

SigmaDSP & SigmaStudio KJBob Jan 24, 2015 00:00 2 replies Original on forum ↗
Subscribe
KJBob Question
Jan 24, 2015 00:00

Here's a second issue from a troubled mixer prototype. Posting my first issue resulted in some real help, so here goes:

The mixer uses a dsPIC booting six ADAU1701s on two I2C buses (Snow White and nearly seven dwarfs?). It's got the usual jumper arrangement pictured, allowing three DSPs at a time to load either from SigmaStudio, or from the uC. Booting from SigmaStudio, everything works consistently. Booting via the microcontroller, it runs about 90% of the time. We can reset the thing a dozen times, then on the next boot-up one or two of the DSPs fail to run properly. It appears quite random.

Originally the first -1701 to get loaded never came up properly -- this was fixed when we had the uC wait sufficiently before booting the DSPs. Thus we have been adding more delays in various spots within the I2C process, but so far reliability has remained elusive.

Our first product with a PIC-18 uC and one -1701 has proved quite reliable, so both my friend (who writes the uC code) and I are surprised to have so much trouble with this one. We did find out that the PIC-18's I2C port is double-buffered while the dsPIC's ports are not -- but our CCS C compiler has coded their respective I2C routines accordingly. We get ACKs back after each I2C write, but that may not mean much. The I2C buses look clean on a scope. Likely the info I've provided won't point to a solution unless someone has run into similar circumstances -- which is what I'm hoping for. In the meantime we'll just keep guzzling coffee and banging our heads against the wall.

Best regards,

Bob

Audio Signal Processors

boot

i2c

microcontroller

SigmaDSP Audio Processors

adau1701

Show More

d0a5854bb20ec08de04c0cd886b3c8b5.png
d0a5854bb20ec08de04c0cd886b3c8b5.png
d0a5854bb20ec08de04c0cd886b3c8b5.png-403x197.png
d0a5854bb20ec08de04c0cd886b3c8b5.png-403x197.png
KJBob Reply
Jan 24, 2015 00:00

Oops. we just discovered the cause of this problem -- wrong resistor value in the PLL filter (47.5 K ohms instead of 475 ohms) for all six DSPs. Apparently this makes their PLLs just unstable enough to mess things up! I apologize in case anyone has already been thinking up answer(s). This does show how analog our digital problems can be!

Best regards,

Bob

ColemanR Reply
Jan 26, 2015 00:00

I am glad that you discovered the problem! I hope your development goes smoothly.

Regards,

Coleman