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.

[参考译文] CCS/TMS320C5545:I2S DMA 缓冲器长度和数据长度设置

Guru**** 2616675 points

Other Parts Discussed in Thread: CC8530

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/660355/ccs-tms320c5545-i2s-dma-buffer-length-and-data-length-setting

器件型号:TMS320C5545

工具/软件:Code Composer Studio

你(们)好

我使用 C5545通过 I2S 从 CC8530获取音频数据

fs 为44.1K、bck 为2.83Mhz 和24位数据。

当我将音频数据发送到 DAC 时、我丢失了一些数据。

我认为我需要修改缓冲区大小和 DMA 数据长度。

但我很困惑如何计算长度。

请给我一些提示吗?

谢谢  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已通知 RTOS 团队。 他们将直接在此处发布反馈。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    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