Teensy 4.0 + CS4344

ghostintranslation

Well-known member
Hi,

I'm trying to use the CS4344 chip for audio output, I've read another thread that showed a working schematics:
https://forum.pjrc.com/threads/55137-I2S-output-with-CS4344/page2?p=197879

But I must be missing something because for me it is not working, I have tried soldering 5 chips in case my soldering was the problem and I don't think that's the issue as I don't get continuity between the pins. I got the chips from DigiKey also so they should be good chips.

I also bought a cs4344 board from AliExpress that comes with a couple components around, all soldered, so I eliminate the tiny soldering possible issue, but I get the same problem.

All it outputs is either no signal either noise.

Here is my schematics:
cs4344.png
cs4344-teensy4.png

Is something wrong in the schematics?

If there is nothing wrong there, do I have to do anything in the code? I thought it was transparent so if it's working with the audio board it should be working with the cs4344 without code change? (and it is working properly with the audio board).

Thanks
 
It certainly should work. Schematic looks ok.

Same basic advise as msg #19 on that old thread, start by measuring the 3 clocks at the CS4344 chip. If you only have a multimeter, just measure DC voltage. A clock signal should measure about 1.65 volts, since it's 3.3V at 50% duty cycle. If your multimeter has a frequency mode, it should see 44.1 kHz for LRCLK, but the others are MHz range which most handheld meters can't measure.

Then look at the 2 DC bias (the 2 capacitors). When the chip started detecting I2S data, it should turn on bias voltage circuitry. I don't know what voltage is expected on each capacitor, but you're basically looking for something more than zero to tell if the chip has detected I2S data and come out of its low power mode.

This CS4344 chip really should "just work" when it gets valid I2S data. For testing, I'd recommend running the Synthesis - Guitar example, as it constantly outputs sound over I2S even if you don't have a SD card or other stuff connected. If Teensy really is sending I2S, then check all the connections again. Or show us photos of the wiring and maybe we'll be able to see something you've missed. As you can see in msg #21 on the old thread, this does work "The CS4344 is a plug'n play, low part count, Audio library compatible chip". You just need code on the Teensy which is definitely sending I2S and the wires to be connected properly.
 
I retook a look at the old thread and I noticed there the chip was powered with 3.3v but I am using 5v, so I tried 3.3v and that makes it work... even though the chip is supposed to accept 3.3v and 5v.

Thanks for the help anyway that made me have another look at it, and if I get in trouble again I know what to look at.
 
When working with a 3v3 microcontroller, the VL input needs to be 3v3 so it expects and presents the correct level to the controller. The voltage at VA determines the analog voltage used as reference for analog audio input and output. Setting both voltages to 5v would work fine with a microcontroller with 5v I/O but not with a 3v3 Teensy 4.0. Check out the datasheet for more info on your options there if you are interested in higher voltage analog outputs (more volume!).
 
Back
Top