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/TMS320C5515:将编解码器音频的数据写入 SD 卡以获取丢失的样本。

Guru**** 2595805 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/586047/ccs-tms320c5515-writing-data-of-codec-audio-to-sd-card-whitout-lost-samples

器件型号:TMS320C5515

工具/软件:Code Composer Studio

您好!

我尝试 将编解码器音频的数据写入 SD 卡以获取丢失的样本。 在本演示中、我使用 库示例:

- CSL_MMCSD_SdCardFSExtExample  

将该项目与输入音频编解码器组合在一起、我获得了一个文件、该文件的采样需要到音频编解码器、但问题是 DSP 在 SD 中写入时丢失了样本。 请浏览论坛、我认为我应该使用 DMA 交替模式来不丢失样片。 在这一点上、以及如何使用引用示例 CSL_MMCSD_PingPoongExample 时、不会获得文件来刷掉丢失的样本。

问题是 SD 卡中的数据记录数据项目是否存在?。

谢谢。

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

    我已通知 C5000团队。 他们的反馈将在此处发布。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Daniel:
    您的音频采样率是多少?
    您是否已经了解过 C:\ti\c55_lp\c55_CSL_3.07\ccs_v6.x_examples\mmc_sd 中的所有其他示例?
    我在阅读您的帖子时有点难理解、但您尝试制作一个基于 pinpong 的示例、但您仍然看到列表样本?

    Lali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    采样频率为8000Hz。 
    查看其他 MMCSD 项目、但其中许多项目不允许我稍后在计算机上读取数据、因为我不会生成文件。
    这就是为什么我选择这个项目(CSL_mmcsd_atafs_ext_example)、尽管我不确定它是否是正确的项目。
    我的代码首先读取 aic3204、然后写入文件:

    对于(n=0;n<30;n++)

      for (索引= 0;索引< CSL_MMCSD_ATA_BUF_SIZE;索引++)
       {
        aic3204_codec_read (&left_input、&right_input);//读取 aic3204
        MONO_INPUT =立体声_TO_MONO (LEFT_INPUT、RIGHT _INPUT);
        gMmcWriteBuf[索引]=mono_input+32768;

       }

    /*将数据写入文件*/
    ATA_SEEK (pAtaFile,n*CSL_MMCSD_ATA_BUF_SIZE);
    ATA_ERROR = ATA_WRITE (pAtaFile、gMmcWriteBuf、CSL_MMCSD_ATA_BUF_SIZE);//写入文件块数据


    printf ("FIN\n");
    ATA_Close (pAtaFile);

    获取1000Hz 正弦信号的结果为: 

    信号不连续、这就是问题所在、在写入文件时、会丢失样本(黄色)、每次256个样本丢失样本、即缓冲区的大小。 
    在论坛上、人们评论说、使用 DMA 交替模式可以很方便地避免丢失样本、但我在代码中丢失了 DMA 配置和实现。
    我需要有关如何在写入文件时在不丢失样本的情况下获取数据的帮助或建议。
    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Daniel:

    请参阅应用手册 www.ti.com/.../sprac51.pdf
    该代码位于 git.ti.com/.../master

    此示例在 C5515上使用乒乓 DMA、并应向您展示该技术的清晰实现、这是避免丢失样本的最佳方法。 请记住、此示例是从 I2S 获取音频样本、而不是编解码器、但方法应相同。

    显然、您必须对代码进行分析并使用所需的 DMA 特定部件。 希望这对您有所帮助。
    Lali