Updated 8x8 and 16x16 audio

Er ... is the Gerber correct ... I'm only seeing two copper layers, which sounds scarily familiar. Trying to cancel my order...
 
There are no back components in the BOM or placement files. Everything is on the front for the standard set up.
I changed the test files, so refresh the screen for the new ones.
You pulled a switcharoo on me! Haha I am able to download it now, thank you!
Im not sure what I did on JLCPCB, but I think I selected assembly for both sides and it was looking for c11, c12, and c13 - which I assume is the optional -5v supply?
On the combo XLR board, am I able to swap out the 10uF for 100uF, so I can use one jack as an output (but on the same board as inputs)?
Could the optional negative voltage supply power an op-amp preamp for better SN ratio?
 
Excellent!

Noise and crosstalk shouldn't be any different with multiple boards - they are all main PCB issues that I have pretty much nailed. Substantial ground planes are why the boards are somewhat bigger than strictly needed for just the components and tracks.

Fan-out is less likely to be an issue with clock signals (up to a point - maybe ridiculous is outside that). Line impedance and signal reflections are more likely to be problematic. Hopefully series resistors will do the trick. Good luck with the clock driver boards.
 
@palmerr see post #126 … it’s probably too late now, but would like reassurance that it’s a 2-layer board! I think I’d assumed any audio board would be 4-layer, plus was confused by your copper fill disaster.

Yes, the driver boards are tracked for series resistors, so with luck a working solution can be found :)
 

jvphotog

You could use 100uF all around if you want as long as they fit. The only reason I specified the smaller caps for inputs is that they're driving into 30 k Ohms and will take longer to equalise voltages on start-up as VCOM rises. There's a description at the bottom of p40 (Reg 51)in the datasheet of start-up behaviour. The driver uses the "Weakly driven" option in Reg 51 to reduce start-up pops.

Combo jacks are almost never used for outputs as they have female XLR sockets, which are used for inputs.

For the plain XLR board, you could do a half and half. You'd have to hand wire between the main PCB and the Wing board as the main board IDC connectors are four in or four out.

Yes to the preamp - that's what the -5V supply is intended for. Two things on S/N. I had the gain too high (+59dB) on the TLV yesterday when I did a quick test and the signal was distorting if I spoke loudly. I thought the old microphone had been dropped one too many times. I'll do another one today closer to + 50dB gain. It should provide nearly another 10dB S/N.

IF you are heading towards a preamp, there are two obvious options - THAT 1520s which would provide an excellent, but costly, solution or the much cheaper TS472. I've used the TS472 in the past with some success for dynamic mics, despite it being designed mainly for electrets. It has balanced in and out.

You'd only need to configure them for 20-30dB gain, as the TLV has excellent S/N and distortion once you get out of the weeds.
 
Yes, it's two layer! Only the top is populated.

As above, I went for a slightly larger PCB for adequate ground planes, rather than 4 layers.
 
I've run some further input tests to explore jvphotog's question about mic preamps.

Here's the N+D and ENOB at the input level where distortion starts to rise at each gain setting. The source is a sine wave from a pro 24-bit audio interface.:
Gain N+D ENOB
0dB -97 16.0
20dB -96 15.8
30dB -89 14.9
40dB -82 13.6
50dB -75 12.0
60 dB -70 10.3

3 ENOB bits is around 20dB, so the TLVs operate best in the 0-40dB gain range. The performance above 40dB gain is still respectable, so the optimal preamp would have 40dB gain, which would allow for 20dB soft control.

I'll have a think about a design. First thoughts are THAT 1510 / 1580 or perhaps an INA217 with relay switched bypass. 4 or 8 to a board, stackable using an I2C bus expander to control the relays. IDC cable looped from the main PCB.
 
^Sorry, I probably should have elaborated. It would be cool to use this in a powered speaker. With one combo wing board, you could have two un/balanced inputs, that would take a 1/4"/ xlr in. And then have an xlr out and 1/4" out - by hand wiring them to the wing board and changing the capacitors. I know Id have to wire the wing board to the main board separately. But for a small install like this, I probably would anyways. Just trying to plan out which boards to order.
The other project im really interested in for your audio board is a live digital mixer for a speaker I built my mom. She uses an external mixer now, but id like to integrate it into the speaker. For that Id just need one combo wing board, for a vocal mic and guitar. The outputs would be internal, probably to an ICEpower amp. For that I guess id have to get creative with the decoupling caps.
This is very exciting! Thank you for all your hard work!
 
Yes, all that is quite possible, though I'd probably create a custom wing board with an input and output IDC cable.

Why not just use the SGTL5000 board for this as it seems that you are only using 2in and 2 out?
 
I did! But it was way too noisy - plus very sloppy mic preamps, and no balanced inputs or PGAs. I dont possess your PCB design skills! Anyways, I dont want to hijack your thread, just letting you know some of the ways people might use your board :)
 
The THAT 1510 and INA217 both have single ended outputs though, right? Would that be less than ideal since it's possible to have balanced inputs into the TLV's?
 
Yes, it's always a trade-off. Once you're 'inside the box' it's less important to use balanced lines, as you have good control over interference and a solid earth. The noise impact (less than 3dB) is trivial compared to the PGA's rise in N+D at high gain.
 
Hello everyone,

I'm currently working on an audio project that I’ll reveal at a later time (and I don’t intend to hijack this thread with details right now).

I’m encountering a major challenge trying to get my codec to sync with the clocks. I’ve double-checked everything with an oscilloscope, and the clocks look great. My pins are all correct, and the I2C communication is working fine.

I’ve noticed in this thread that some modifications have been made to the audio library, but these changes haven't been merged into the original Audio Library. One thing in particular caught my attention: the BCLK seems to be inverted in some cases. I want to ensure that nothing in the code I’m using is causing issues with my setup.

Can anyone point me to the best, most up-to-date audio library? My latest tests were done using the main branch of this one:

Any advice on all the combinations of settings (48khz, BCLK reverse, Etc.) to test - I'm all ears. It's been over 2 weeks of hacking at this with no sound so far!

Thanks in advance!
 
May be best on a separate thread? If you could give some indication there of what you’re up to, like the codec in use, that would help us help you :)

The “master” branch you linked to I try to keep synced up with Paul’s upstream repo, so probably not super helpful. The branch you might want to try is the multi-TDM one at https://github.com/h4yn0nnym0u5e/Audio/tree/feature/multi-TDM, which does have a method to invert BCLK in software.
 
May be best on a separate thread? If you could give some indication there of what you’re up to, like the codec in use, that would help us help you :)

Yes, I agree. I didn’t want to hijack this thread, but I know y’all are on the cutting edge here, and I was hoping to get a sense of the library’s current state. When I have more to contribute, I’ll start a new thread dedicated to my project.

For now, I’ll be testing the branch you linked and crossing my fingers—it might just be my hardware. I’ve got an EVM that I got working almost a year ago (if I remember correctly), and I didn’t take very good notes. This project has stretched on far too long. Wish me luck.

I’ll catch you on a separate thread soon—where I’ll finally share what I’ve been working on. Looking forward to getting feedback when the time is right.

In the meantime, good luck, palmerr! I think what you are doing is awesome.
 
Let the fun begin!
IMG_2173sm.JPG
 
Good to see that you got them working without much trouble!

I forgot to mention - 13mm x 3mm tapped spacers work well for board stacking.

I'll add some construction notes to the repo in the next day or so.
 
Getting steadily more bonkers. 64 output channels, with a different frequency / waveform combination on each one. As shown it's taking 22% CPU and 64 audio blocks, plus ~770mA from the USB ( :eek: ). I can reduce the CPU to 5% by using sine and triangle waveforms in place of the bandwidth-limited square and triangles.
IMG_2178.jpg


Here's a detail of my buffer board, using a 74LVC245 with 100R resistors on its outputs. BCLK and MCLK have a channel each to a pair of TLV boards, LRCLK has one output to one pair and another to 2 pairs. The Teensy I²S clocks are thus directly driving one pair of boards, plus 2 or 3 inputs on the 74LVC245; data lines are unbuffered. I²C and reset are just sent to all boards, so the wiring is a bit long, but it all seems to work OK. Power and ground routing is terrible!

IMG_2179.jpg
 
What! Only 64 channels!

Seriously, it's great to see your multi-TDM code in action - and the moderate CPU usage is a nice surprise.

Did you try without the clock buffer board? What was the outcome?

Which DI/DO pin pairs did you end up using? I see one of them was the T4.1 P34, by the white floating wire.

I'll have a think about another board version - perhaps directly handling 32 x 32 and making it easy to do 64x64, as it would be straightforward to add the 245 buffer to the back of the main PCB. The pins selected for the expansion header, other than RST, I2C, power and GND, were just convenience, so I could make some of them the alternate DI/DO pins and buffered clocks, or more likely add another header above the POWER connector, with a bit of shuffling around. It looks like I'd need 8 buffered clocks + 3 DI/DO pairs. Is that enough?
 
Back
Top