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.

[参考译文] EDMA McBSP

Guru**** 2563960 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/627381/edma-mcbsp

你(们)好

我使用的是好旧的 C6713 DSK。 我尝试使用 EDMA、McBSP 和 DAC (AIC23)在 DAC 的两个通道上生成纯音。 它起作用了! 但是、通道之间有一个采样(1/fs)延迟。 我使用 Tretter'code 作为代码的主要灵感来源。  有什么想法吗?

谢谢

Dan

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

    什么是 Tretter'code? 听起来、无论它意味着什么、它都能让您走得非常远。

    如何将两个通道的数据呈现给 McBSP、以便它们传输到 DAC?

    您的采样频率是否正确、这意味着第二个通道的数据与预览采样时间内第一个通道上的数据相同?

    我建议您将 EDMA 从图片中取出、使这一简单操作按照您希望的方式工作、然后在了解需要发送到两个通道的内容以及何时发送的情况下重新介绍 EDMA。

    另一个要尝试的方法是使用 EDMA 使第一个通道发出提示音、第二个通道保持静音。 然后将其切换、使第二个通道具有音调、第一个通道处于静音状态。 这将向您展示 EDMA 的行为方式以及 McBSP 和 DAC 如何处理发送的数据。

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

    您好、Randy

    我尝试了所有这些。 。 每个通道的行为符合预期:两种不同的音调、不同的振幅。  除了两个通道的一个采样延迟另一个采样延迟之外、所有内容都在那里。

    在构建测试信号时、我必须做的是消除滞后:(将 i+1用于第二个通道)

    对于(i=0;i < 512;i++)

          {

           signal_data[i].channel[0]= (int16_t)(sin (2*pi*f1*i/N)* 2500);

           signal_data[i].channel[1]= (int16_t)(sin (2*pi*f2*(i+1)/N)* 2500);

          }

    如果可以、我会向您发送我的项目(CCS v 7)。

    顺便说一下、M. Tretter 是一位教授、撰写了《通信系统设计》一书
    使用 DSP 算法,并通过实验室实验为 TMS320C6713TmDSK、Springer 进行实验

    我的项目看起来是免费的。

    感谢你的帮助

    Dan

    e2e.ti.com/.../XoverFP.zip

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

    由于您已经尝试了我的所有建议、请返回到您将 EDMA 从图片中取出的那个、并且您只使用 C 代码写入 McBSP 寄存器。 该写入循环是什么样子的?

    更改您的写入循环、以便您始终向两个输出写入(int16_t) 0.0f、除非您的计数器(I?) =3或4、当 i=3时输出(int16_t) 0.125f、当 i=4时输出(int16_t)(-0.125f)、向两个通道写入相同的值。 当两个通道的脉冲出现时、它们是否及时分离?

    我没有用于测试或测量您的代码的资源。 我将尝试使用您对测试的解释和观察结果来帮助您找到问题。 您从许多以前运行的测试中获得的见解将对这里以及未来的其他读者有所帮助。

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

    您好、Randy

    感谢 您迄今提供的帮助。 现在、我计划再运行一些与 dsk 一同提供的示例代码。 我会随时通知您。

    此致

    Dan