Other Parts Discussed in Thread: CC8530
器件型号:TMS320C5545
工具/软件:Code Composer Studio
你(们)好
我使用 C5545通过 I2S 从 CC8530获取音频数据
fs 为44.1K、bck 为2.83Mhz 和24位数据。
当我将音频数据发送到 DAC 时、我丢失了一些数据。
我认为我需要修改缓冲区大小和 DMA 数据长度。
但我很困惑如何计算长度。
请给我一些提示吗?
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: CC8530
器件型号:TMS320C5545
工具/软件:Code Composer Studio
你(们)好
我使用 C5545通过 I2S 从 CC8530获取音频数据
fs 为44.1K、bck 为2.83Mhz 和24位数据。
当我将音频数据发送到 DAC 时、我丢失了一些数据。
我认为我需要修改缓冲区大小和 DMA 数据长度。
但我很困惑如何计算长度。
请给我一些提示吗?
谢谢
Minkyo、
以下是数据丢失的一些原因。
不同的 I2S 时钟源。 在这种情况下、CC8530应该是 I2S 时钟主器件、而音频 DAC 应该是 I2S 时钟从器件。 通过这种方式、I2S 时钟将同步
2、I2S DMA 缓冲器的大小。 显然、I2S 接收和发送缓冲器的大小应相同、且足够大、以容纳音频接收帧。 实际大小应如下所示:
100 (ms)*441 (样本/ ms)*2 (16位字/样本)= 88、200字(请注意此处的帧长度为100ms、因为采样率为44.1kHz)
I2S 的 DMA 模式和缓冲区大小。 在这种情况下、应使用具有乒乓缓冲模式的 DMA、乒乓缓冲器的一半用于接收缓冲器、另一半用作发送/处理缓冲器。 它将防止数据丢失。 请注意、乒乓缓冲器的大小应为项目2中所述接收缓冲器大小的2倍。
Lali