Teensy 4 PCM5242 Audio Shield - Stereo Balanced/Single Ended DAC Module

Status
Not open for further replies.
Hello Friends,

I've pretty much completed the drivers for both the DAC and the ADC. My first major test was to see if I could get 4 DACs hooked up to get 8 channels out. I have succeeded to make it work!

I created a USBPassthrough_TDM sketch, and a WaveFormTest_TDM sketch that is used in the following video. In the beginning of the video I'm showing the USB passthrough, and then towards the end I show that each of the outputs are playing different frequency wave forms.

PCM5242_TDM_WAVEFORM_SKETCH.png

TEENSY4_PCM5242_AUDIO_DAC_PROTOTYPE_2020-08-02.jpg

Here's a video demo.

Upon initial testing, the I2C was jamming up. I could successfully communicate with 3 of the devices at one time, but the fourth one would break the I2C. I had to enable two (of the four) "PU_EN" (pull-up enable) jumpers so we have two 2.2k pullups on the I2C lines. Once I did this I can successfully communicate with all 4 at the same time. I'm not sure why it works with 2 pullups enabled, and not just one. If you have any logic to share with me about this it would help me, so that I can ensure that the design is robust. Should I change the values? is there something that you can imagine is happening?

Up next: I'll do a similar test with my ADC module!
 
such great work! have you been able to get more than 2 channels of audio into the Teensy via the usb? A
 
such great work! have you been able to get more than 2 channels of audio into the Teensy via the usb? A

I have not. My project doesn't really demand multichannel USB audio, although the more I play with this, the more I'm realizing I've built a really bad ass soundcard for a DAW (recording workstation). Behringer, Focusrite, etc. But mine has the realtime monitoring functionality because of the teensy (DSP). Im sure high end recording devices have built in dsps but the cheaper common ones do not. Their monitoring capabilities are analog passthrough only.

I'm certain users are going to be asking about > stereo usb in/out, as well as 24 bit input. Paul (PJRC) has talked about an update to the usb code to take advantage of the full usb bandwidth on the new teensy with multichannel audio in/out. But no eta or feature list has been announced. 24 bit was never in the horizon, as far as I can tell. But there is a 32 bit floating point library I'm playing with. There is a 32 bit I2S object that is currently broken, but no TDM yet. So I'm just focusing on 16 bit for now.

I am however looking to expand the usb class specification to define every output and input volume level and feature (tones, effects, etc). I've been doing research and wrapping my head around it, but no progress so far. This goal has to do with merely controlling the pass through audio. Having the dsp on board means you can monitor the mix in real time. Specifying the usb feature descriptors, and input terminals, means the usb spec can control the dsp mixer. Windows and windows programs can control the mixer. Yes, midi or OSC is also an option but I feel like defining it inside usb is worth the effort - even if I also add other control methods in the future too. We will see...

I got 16 input channels working today. Lol. Its nuts. 8 out and 16 in worked... what!? Just a little more time and I'll demo it.
 
Yeah for sure! what you have made has so much potential : ) I will keep an eye on the forums for progress on the multi in via USB. keep up the great work!
A
 
Status
Not open for further replies.
Back
Top