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/LAUNCHXL-F28379D:是否可以让我了解如何使用 LAUNCHXL-F28379D 生成正弦波?

Guru**** 2387080 points
Other Parts Discussed in Thread: LAUNCHXL-F28379D, DAC8564, CONTROLSUITE, C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/781432/ccs-launchxl-f28379d-may-you-give-me-some-idea-how-to-generate-sine-wave-with-launchxl-f28379d

器件型号:LAUNCHXL-F28379D
Thread 中讨论的其他器件: DAC8564controlSUITEC2000WARE

工具/软件:Code Composer Studio

我使用 LAUNCHXL-F28379D 上的 CCS8编码 来驱动 DAC8564/5EVM 以生成正弦波。

现在、我可以  成功地将24位数据输出到 DAC8564、从而生成直接电压。

但如何生成正弦波?

我 在第50页的   TI controlSUITE 的'gen_mdl.pdf'文档中看到了以下代码。

我还看到了定义将   用于生成正弦波的参数的结构。  

typedef 结构{  
       void (* calc)(void *);
       unsigned long int freq;
       unsigned long int step_max;
       unsigned long int alpha;
       内部增益;
       INT 偏移;
       Int Out;
       }SGENHP_1;

(1)然而,我没有看到 void (*calc)(void *)的定义。

(2)它还说、该函数结合了环路表和线性插值方法 来生成正弦波。  这意味着我必须首先 在程序存储器中放置一个512点表(x-> sinx)。

然后我定义生成 sin (x)的函数、然后我将 在20kHz 交叉例程中将该输出输出输出输出到 DAC8564?

(3)正如 我在 DAC8564的数据表中看到的、SPI 到 DAC 输出的时间延迟为10us、那么对于 DAC8564、我可以得到的正弦波的最大频率是多少?

您能给我一些生成 正弦波的想法吗?

谢谢!  

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、请给我一个时间来回顾一下这个问题、然后返回给大家。
    谢谢、
    Sira
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、

    我们有一个名为"buffdac_sine"的 C2000Ware 示例、即使它使用内部缓冲 DAC、也能执行您尝试执行的操作。 在本例中、由于 SPIDAC 已经在工作、只需将 CPU_timer0_ISR 中的缓冲 DAC 代码替换为 SPIDAC 代码。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Sira:
    您现在有什么想法吗?
    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    您是否跟进了 Frank 的建议?

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

    对此采取后续行动? 您是否尝试了 Frank 的建议?

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

    回答以下问题:
    这是通过分配 SGENHP_1 sgen = SGENTHP_1_DEFAULTS 来完成的;请参阅 sgen.h、在初始化期间分配函数指针。
    2.正确。 查找表在 SGEN 库中定义、只需确保将表的 SINTBL 段放在链接器命令文件的 RAM 中。
    如果 DAC 的稳定时间为10us、我相信您可以在10us 周期内采样、即100kHz。 这意味着您可以输入到 DAC (并因此输出)的最大频率为50kHz。 这将有助于在实践中进行验证。

    谢谢、
    Sira