lib_tsn - AN00203 - TDM outputs 3/4 corrupted?

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
nippoo
Junior Member
Posts: 7
Joined: Tue Sep 12, 2023 11:43 pm

lib_tsn - AN00203 - TDM outputs 3/4 corrupted?

Post by nippoo »

Hi,

I'm trying to get lib_tsn to work on a custom board with 32 channels as a listener-only device. (At the moment it also reports to be a 32x32 channel device because there are a bunch of bugs and compile errors if I try make it listener-only but... that's a problem for another thread/PR)

My issue is that I'm getting audio corruption and incorrect output on TDM8 streams 3 and 4 (the last two). This doesn't appear to be a hardware issue - the board works fine with lib_xua, and I can change the portmap but whatever the last two output 1-bit ports are, get errors.

Specifically:

TDM8 3 (of 4) works with all channels except 4, 5, 6, 8 (which appear to drop samples, see video - this should be sending all bits at 1)

TDM8 stream 4 appears to be offset by a couple of clocks, causing horrible full-scale noise on the following channel.

Photo of TDM8 stream 1 (correctly aligned, like 2, 3, 4) and TDM4 (incorrectly aligned).

Before I go hunting too deep into the library - has anyone else come across this? It feels like it might be some race condition like https://www.xcore.com/viewtopic.php?t=6109
You do not have the required permissions to view the files attached to this post.