Updated 8x8 and 16x16 audio

Easily. The screen isn't busy, just the bar graphs which don't take much computation. Plenty of CPU cycles and WiFi capacity left over.

WiFi has plenty of bandwidth to carry the audio packets as well, however the time lag tends to be excessive for live sound, due to WiFi's forward error correction.
 
Writing a reply to another post, it occurred to me that when you're implementing the chip configuration code, it probably makes sense to default to using even-numbered slots in the TDM data streams, so existing designs can use your hardware just by changing the control object. I'm guessing here that most users will have come from 32-bit-slot-land, and be used to using only the even-numbered ports on the TDM objects.

Just a thought...
 
An interesting thought!

I'll ponder on the added complexity, which shouldn't be great (adding an argument to the input and output object constructors, and simply incrementing the channel counter twice on transmit and receive, when channels <= 8).

The downside is continuing with the default being a somewhat confusing arrangement brought on by the CS42448's inability to transmit 16-bit slots.

Anyone else have an opinion?
 
Isn’t it just a matter of telling the TLV320AIC3104 chips to listen only on even-numbered slots? I need to read the data sheet again…
 
I don't think so, once the bit offset has been set, slots are always consecutive.

Setting 32-bit slots (Reg 9) at the hardware level would be the best approach and would be consistent with CS42448 practice. I'll have to think further on any other implications for 16x16 mode.
 
Ah yes … I’ve now looked back at the datasheet… that should do the trick.

If you wanted to put your existing control object on GitHub I’d be happy to have a go at tweaking it for various different use cases. Wouldn’t be able to test, of course…
 
Just curious if your new boards will have all in one xlr/ 1/4" jacks like your previous audio mixer project?
 
Because the CODECs have high-gain (0-60dB) PGAs and outputs that can source enough current to drive headphones or terminated balanced lines, this design does not need separate preamp or output driver boards. What I have done is made a series of 'wing' boards with different in/out jacks.

The TRS version works as either input or output, with stereo headphone mini jacks on the ends for outputs.

The XLR version has output (F) jacks mounted on the top or input (M) jacks on the bottom (pictured).

I'm considering making everything available either on Tindie or as a Kickstarter. Still to work out PCBA prices for the main board. The bare wing boards will be a few dollars each. I will post the prices here before committing.
 

Attachments

  • TRS wing mk 2.png
    TRS wing mk 2.png
    342.7 KB · Views: 41
  • XLR wing mk2.png
    XLR wing mk2.png
    291.3 KB · Views: 49
I’d love to make a powered mixer for a speaker out of these boards. I don’t need any outputs, but I’m sure I could simply not install some of the jacks and wire it internally. Amazing work! Looking forward to this.
 
Absolutely. I think it unlikely that all 16 outputs will be used often. In the existing matrix mixer, running on Mk 1 hardware, I drive CAT5 ethernet cable (as balanced twisted pairs) for each set of 4 outputs to a stage box and drive individual foldback amps from there.
 
Many of the nuances of this discussion are going over my head. I am an amateur in this arena. But I am looking into building a multi-channel USB DAC (or combined DAC/ADC), and the discussion of potentially offering a Kickstarter or Tindie kit for this project caught my attention. This seems like it could be the best option I've come across! But for my particular use case, the DAC must be DC-coupled, not AC-coupled, since my plan is to use it to transmit CV. Will this board be capable of producing DC-coupled output signals?
 
Yes, the unit produces differential DC-coupled outputs (and inputs).

Zero is at 1.5V with my driver, and adjustable in four 0.15V steps from 1.35V to 1.8V (register 40)

The zero value signal is not out output from the chip as a separate signal, but can be accessed by setting the other pin of the differential output pair to the common voltage (register 38), rather than the inverse of the HP-OUT signal.

That would provide you with both the reference voltage and +/- 1V full-scale output either side of the reference.

The same goes for inputs - other than you would need to provide an appropriate reference voltage (buffering, filtering and looping back the output reference should work OK.

I hope that's helpful.
 
Hi, just wondering if there has been any progress on this? I am super eager to integrate this into a project I'm working on, the search for a working multichannel embedded audio solution has been almost completely fruitless except for the very expensive CTAG Bela multichannel stuff and this less expensive but intimidating xmos board.
 
I ran out and re-ordered the wrong CODECs. Waiting on the replacements to arrive.

Hopefully this will be the final prototype and then I can start thinking about how to get them into people's hands. PCBA seems to be the best way as there's a bunch of SMD parts involved.
 
I ran out and re-ordered the wrong CODECs. Waiting on the replacements to arrive.

Hopefully this will be the final prototype and then I can start thinking about how to get them into people's hands. PCBA seems to be the best way as there's a bunch of SMD parts involved.

How is this going? Is there a repo for the PCB design and audio library code?

I've made extensive use of a design based on the original CS42448 8x8 audio board from the hackable post but looking to update for more channels and future compatibility now that CS42448 is obsolete. Would love to take a look at the design so far and order a set once the design is complete.

Thank you for working on this!
 
Still working on it.

Unfortunately commercial work needs to come first!

I will post when I make any significant progress.
 
No, as design and spec tends to change during the prototype stage, I don't publish until I have something worth releasing.

The PCBs won't really be suitable for DIY construction due to the QFN CODECs. I'm exploring PCBA with JLCPCB and may offer boards with all SMD components mounted.

Until I have a finished board, I can't get solid pricing info from them as many of the parts are from the "extended" range.
 
Hey @palmerr I've just registered on the forum to check in to see if you've made any shareable progress in the past 7 or so weeks ! Pretty please yes?

This is a really exciting project since indeed, the Cirrus Logic CS42448 is discontinued forever and no longer available / out of stock from all the usual reliable sources.
 
Folks,

I've now built and tested the V2 prototype and it works and the Teensy Audio driver is in a solid beta state.
  • 8 in, 8 out, USB in and out
  • 0.002% input distortion with a 10-bit arb function generator. Probably better when I get around to testing with proper audio gear.
  • Balanced or single ended inputs. Up to 60dB (PGA) gain on the inputs - so microphone or line compatible.
  • Able to drive 600 ohm balanced lines directly by using the headphone outputs.
The downside is that the TLV320 chips are a real pain for humans to solder, being QFN (no pins) packages.

After putting the board through the SMD oven cycle, I spent nearly a day getting all the connections to work - with a needle point soldering iron!

I'm going to price PCBA in the next week to see if its economic to do shortish runs (10 or 20 boards). I have a feeling that the international postage will cost more than a board!

The current PCB is moderately large, 75 x 130. Close to 75 dimension is required if a T4.1 is used (e.g., for network audio).

It might be possible to shave a bit off the length by turning the chips 45 degrees.

Are folks more interested in the smallest possible form factor, or getting their hands on some boards ASAP?

I will open source the design and PCB(s) - this PCB is bare Teensy + CODECs, so I have designed a set of 'wing' boards that can accommodate TRS or XLR connectors. I think that's all explained in an earlier post.

Next up, commissioning a second board and trying out 16 x 16 operation!
 

Attachments

  • first test.png
    first test.png
    34.9 KB · Views: 35
  • tlv320aic3104 audio rev H - prod.png
    tlv320aic3104 audio rev H - prod.png
    191.4 KB · Views: 33
For me, it’d be preferable to get my hands on boards ASAP - I want to try out the ridiculous I/O count possibilities of my multi-TDM branch :)

Would it be easier for you to open-source the design at JLCPCB so we can order directly from them? Probably saves on shipping costs overall, plus they deal with the vagaries of duty and VAT. Happy to order from you, of course.

Your image says rev H in the title, but rev C on the silkscreen…
 
Folks,

I've now built and tested the V2 prototype and it works and the Teensy Audio driver is in a solid beta state.

Very cool! Is the full schematic / layout online anywhere to take a look?

I notice the resistors and caps around the codec chips are pretty spaced out, is that done for any signal integrity reason or just aesthetic?

Would be interested in ordering a board directly or from JLC whenever that becomes available.
 
Back
Top