h4yn0nnym0u5e
Well-known member
I’ll get to the full 80o32i
, just need to figure out the geometry to keep the wiring as short as possible. Plus, recover a bit from that build, it was pretty fiddly.
Yes, I’m pleased the multi-TDM works as well as it does. I’d done some testing with dual CS42448 boards but this is pretty much the acid test. I should really look at inputs at some point, of course, just to check they’re OK.
I didn’t try without the buffer, I decided that rebuilding if it didn’t work (a distinct possibility) would be tedious, with a good chance of breaking something in the process.
All the TDM/SAI1 data pins are used: OUT1A, B, C and D, and IN1, so pins 7, 32, 9 and 6, and pin 8. To get the last 16o16i will need the TDM2/SAI2 pins.
I used 8 buffers for clocks: 3 each for MCLK and BCLK, and the last 2 for LRCLK. One could always get another buffered LRCLK with a 74LVC1G125 or similar. I didn’t buffer data, as those signals are “only” fanning out to 8 chips, not 32, which you’d shown to work. So for SAI1 your audio expansion connector would need to carry 9 buffered clocks and 5 data pins: on the back of the PCB you’d have jumpers to select which are use, bearing in mind 32, 9 and 6 can be outputs or inputs.
For full flexibility you’d add SAI2 (5 pins) and another I²C (because the muxes are maxed out…).
I‘d imagine good practice dictates a few ground pins near the clocks, too. Maybe a 3.3V regulator to take the load off the Teensy’s one - not sure what current’s used off that.
Looks like a minimal expansion for SAI1 only is 14 clock/data pins plus grounds. Add another 7 for SAI2+I2C2. Add another 4 so you don’t have to wire 3.3V, reset and I²C separately? So, 25 pins for the maximal option, say a 2x16 header to give you plenty of ground pins.
Jumper array has to route 3 clock, 2 data and 2 I²C pins, from 4 clock sources each (1 local+3 buffered), 7 data sources (2 output only, 2 input only, though), 4 I²C sources.
Yes, I’m pleased the multi-TDM works as well as it does. I’d done some testing with dual CS42448 boards but this is pretty much the acid test. I should really look at inputs at some point, of course, just to check they’re OK.
I didn’t try without the buffer, I decided that rebuilding if it didn’t work (a distinct possibility) would be tedious, with a good chance of breaking something in the process.
All the TDM/SAI1 data pins are used: OUT1A, B, C and D, and IN1, so pins 7, 32, 9 and 6, and pin 8. To get the last 16o16i will need the TDM2/SAI2 pins.
I used 8 buffers for clocks: 3 each for MCLK and BCLK, and the last 2 for LRCLK. One could always get another buffered LRCLK with a 74LVC1G125 or similar. I didn’t buffer data, as those signals are “only” fanning out to 8 chips, not 32, which you’d shown to work. So for SAI1 your audio expansion connector would need to carry 9 buffered clocks and 5 data pins: on the back of the PCB you’d have jumpers to select which are use, bearing in mind 32, 9 and 6 can be outputs or inputs.
For full flexibility you’d add SAI2 (5 pins) and another I²C (because the muxes are maxed out…).
I‘d imagine good practice dictates a few ground pins near the clocks, too. Maybe a 3.3V regulator to take the load off the Teensy’s one - not sure what current’s used off that.
Looks like a minimal expansion for SAI1 only is 14 clock/data pins plus grounds. Add another 7 for SAI2+I2C2. Add another 4 so you don’t have to wire 3.3V, reset and I²C separately? So, 25 pins for the maximal option, say a 2x16 header to give you plenty of ground pins.
Jumper array has to route 3 clock, 2 data and 2 I²C pins, from 4 clock sources each (1 local+3 buffered), 7 data sources (2 output only, 2 input only, though), 4 I²C sources.