AnsweredAssumed Answered

Transmitting buffers over SPORT

Question asked by Tschem on Nov 21, 2011
Latest reply on Nov 29, 2011 by jeyanthi.jegadeesan



i'm using a 3-entry buffer and i want to continuously transmit the buffer-entries over the SPORTs. so, i need a continuous bitstream which consists of the 3 buffer-entries. there must not be zeroes in the stream!!!

my project is based on the talkthrough-projects for 21489.


using I2S-mode:
r0 = dm(var1);    dm(_tx0b_buf + Internal_DAC_L1) = r0;
r0 = dm(var2);    dm(_tx0b_buf + Internal_DAC_R1) = r0;
r0 = dm(var3);    dm(_tx0b_buf + Internal_DAC_L1) = r0;


r0 = dm(var1);    dm(_tx0b_buf + Internal_DAC_R1) = r0;
r0 = dm(var2);    dm(_tx0b_buf + Internal_DAC_L1) = r0;
r0 = dm(var3);    dm(_tx0b_buf + Internal_DAC_R1) = r0;


my intention was to alternately transmit L-R-L and R-L-R. so, there are always pairs. but var3 overwrites var1, so only var2 and var3 are being  transmitted. i tried to implement a waiting-function, but then only var1  is transmitted, var3 ignored.



using multichannel-mode (4 channels):

r0 = dm(test1);    dm(_tx0b_buf + Internal_DAC_L1) = r0;
r0 = dm(test3);    dm(_tx0b_buf + Internal_DAC_L2) = r0;
r0 = dm(test2);    dm(_tx0b_buf + Internal_DAC_R1) = r0;


32 zeroes are attached, which are related to R2.


is this possible with SPORT? does SPORT always need pairs and therefore n*32bits, where n is an even number???

thx in advance!