Distorted DAC output using TDM Topic is solved

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
ilkerxlm
Junior Member
Posts: 5
Joined: Mon Dec 02, 2024 7:03 pm

Distorted DAC output using TDM

Post by ilkerxlm »

Hi,

I have an application where I built a custom hardware based on XU316-1024-QF60B and PCM1690 using TDM. The application has a goal of 8-channel audio over USB.

I use Audacity to generate 400Hz sine wave to play over XMOS device and on the other end I have oscilloscope on PCM1690 output to verify that I receive the generated
sine wave. However, the sine wave looks very distorted and distortion varies with the volume adjustment. When I set the playback volume to 20% (on Linux) the
waveform looks like a sine wave (400Hz and distorted) but if I change the volume the wave doesn't look like a sine wave anymore. And the corresponding wavefrom to volume level
is not linear. It's reaching peak when volume is 20% and going beyond is adding more and more noise.

My configuration is: 1 line TDM, 32-bits and 8-channel per TDM line. I generate clock of 512*48KHz. Hardware wise connections and digital interface is checked.

I'm using PCM1690 in "0110 | 24-bit i2s mode TDM format" and the rest of registers are in default values.
Screenshot from 2024-12-02 19-12-25.png
You do not have the required permissions to view the files attached to this post.
View Solution
ilkerxlm
Junior Member
Posts: 5
Joined: Mon Dec 02, 2024 7:03 pm

Post by ilkerxlm »

Find out that my TDM data line is having some weird toggling. I will experiment with different configuration.
ilkerxlm
Junior Member
Posts: 5
Joined: Mon Dec 02, 2024 7:03 pm

Post by ilkerxlm »

The issue was clock related.I use xu316-1024-qf60b-i32 (which can go up to 800MHz). In my .xn file the system clock was configured to 800MHz, while in cmake XUD tile speed was defined as 600MHz.
User avatar
Ross
Verified
XCore Legend
Posts: 1154
Joined: Thu Dec 10, 2009 9:20 pm
Location: Bristol, UK

Post by Ross »

Glad you have it working as your TDM config looked good to me!
Technical Director @ XMOS. Opinions expressed are my own