I2s

Tonton

Active member
Hello Paul and all folks
I did a wave player from exemple code. Everything fine to reproduce files on
shield at standard rate, engine outputs the correct clocks.

Now I'm trying to make another project and I used the basic i2s object from
online design tool
On 3.2 clocks are slightly wrong (11.823, 2.823 and 44.12 instead 11.822,
2.822 and 44.11)
On 4.0 timings are ok but every approx.10 seconds engine stop, and after
1 second resume working ... ???
 
I wish to point out that I use a 5 volts codec, but works nicely except for
that strange blocking
 
Can the "10 seconds engine stop" problem be reproduced with Teensy 4.0 using the regular Rev D audio shield?

I hope you can understand how little I can do about a problem I can't reproduce which only happens using hardware I can't even see.

On the old Teensy models, indeed the audio samples rates are not exact. The old hardware lacks a PLL for audio, so the sample rate can only be created using integer multiply and divide of the CPU clock.
 
Thanks Paul
I never seen anything like that, I have here a 4.1 with shield type d, that works as Wav player like a breeze.
The device is a TI pcm1725 dac and pcm1801adc pair.
 
Last edited:
On Teensy 3.2, you can't get precise 44.1 kHz. Special software won't help, because the hardware simply can't do it.

I can't say why your pcm1725 dac and pcm1801 hardware isn't working. But I can tell you from Teensy's point of view, the task is simply a matter of transmitting digital data in I2S format. Maybe as a first step to troubleshoot you could try watching the I2S data signals with an oscilloscope or logic analyzer. Perhaps compare by also watching the behavior with the audio shield.

Again, I'm really limited in the help I can give for custom hardware I can't even see. But hopefully comparing against the known-good audio shield can help.
 
Back
Top