I'm trying to send 4 different sinewaves in TDM format to have it output on the DAC's.
Sport 4 I use as transmitting my TDM signal (4 timeslots = 4 blocks of different data = 4 sinewaves).
Sport 3 I use for receiving my TDM signal. I read my receive buffers and store the data from my TDM stream separately in 4 blocks. These 4 blocks I then send to the DAC's.
I routed SPORT4_DA_O to SPORT3_DA_I (used to be external with wire) at the moment internally and used the same PCG_CLK and FS for both sports for sync, etc. Both Sports are in multichannel mode and activated for 4 channels.
The problem is that when I check my signals from my DAC's with the scope I do see a sinewave on each DAC with the correct frequency and all, but after 7 secs there's a distortion in the sinewave for about 4 secs (where the frequency of the sinewave also changes and becomes unstable) and then it's back to normal again for another 7 secs, then 4 secs distorted sinewave again, etc.
I have tried to change the FS_Divider and CLK_Divider and other things, but without a succesfull result. i also tried using semaphores (but perhaps not using them correctly).
I'm quite sure it's a timing issue. It's as if I'm reading my receive buffer too fast/slow. I'm using DMA chaining as well by the way.
Or could it be because I'm using PCG for TDM (sport4 & 3) and CLK + FS from codec for sport 1 & 2.
See my attachments for an example for DAC 4.
Could anyone help me out?
Message was edited by: Didier