SAI module for TDM communication using eDMA

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

SAI module for TDM communication using eDMA

跳至解决方案
1,865 次查看
RValls
Contributor III

Hello everybody,

 

I have an application where we need to receive 8 audio channels via TDM format. For this purpose, I am using the SAI module. For improving the performance, I want also to use the eDMA of the device.

 

The problem is that with the SDK I have not been able to receive anything, it always stops after the first transfer.

What I have tried is to follow the example in the SDK's API, but it is using DMA (not eDMA), and I haven't managed to get it working.

 

Does somebody have some working example?

 

I am using a Kinetis K64 device.

 

Thank you in advance,

Ruben

标签 (1)
0 项奖励
1 解答
1,229 次查看
RValls
Contributor III
0 项奖励
3 回复数
1,229 次查看
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Ruben,

Regarding your question, I need more details. For example, what is TDM?  does TDM mode mean that you have 8 slot for each frame for the audio stream? or TDM mode means that the data stream just has 2 slot for each frame and you need 4 input I2S pins(SAI_RX_DATA) to receive the data stream, this is I2S mode.

Furthermore, are the bit clock and frame clock source are input or output? which tools are you using.

I have an normal mode example based on K70 and CodeWarrior for mcu tools and PE, "normal mode" mode means that just the first slot of multiple slots frame is valid, you can modify based on the example. I think PE is a good tools to develop code.

I attach the example, hope it can help you.

BR

Xiangjun Rong

0 项奖励
1,230 次查看
RValls
Contributor III

Hi Xiangjun,

The mentioned thread is here:

Implementing audio delay using SSI and DMA

0 项奖励
1,229 次查看
RValls
Contributor III

Hi Xiangjun,

Sorry for the long delay.

What I need is transmit and receive TDM. By TDM I mean an audio stream consisting of 8 slots in each frame, thus using only one pin as RX and one pin as TX.

The K64 is acting as slave, so all clocks are input.

About the tools, I am using the SDK v2.0.

After some experimenting,  I have been able to set up the SDK, and now I am able to receive and transmit the audio data using the DMA.

Now I am facing another problem, but since it is different than my original question, I am going to open a new question. If you want to follow it up, I will post the link here

0 项奖励