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/TMS320F28379D:信号生成模块输出的类型转换

Guru**** 2610415 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/690152/ccs-tms320f28379d-type-conversion-for-the-signal-generation-module-output

器件型号:TMS320F28379D
主题中讨论的其他器件:C2000WARE

工具/软件:Code Composer Studio

我只是尝试使用 DAC 来绘制信号。 我使用信号生成模块来实时生成正弦信号。 信号生成模块的数据类型为 IQ15数据类型。 我尝试将其转换为12位数字格式(int32或 int16),我能问我如何做?  信号生成模块的代码片段如下所示:

#include "DSP28x_Project.h"//器件头文件和示例 include 文件
#include

#define SIGON_LENGTH 512

/*创建信号发生器模块的实例*/
SGENHP_1 sgen = SGENHP_1_DEFAULTS;

#pragma DATA_SECTION (ipcb、"SGENipcb");
int ipcb[signal_length];

/*用于存储信号 genr 输出的 Temp 变量*/
内部 x1;

void main()

unsigned long i;

InitSysCtrl();
Dint;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
EINT;//启用全局中断 INTM
ERTM;//启用全局实时中断 DBGM

/*信号发生器模块初始化*/
sgen.offset=0;
sgen.gain=0x7fff;// Q15中的 gain=1 */
sgen.freq=0x14F8CF92;/* freq =(必需频率/最大频率)*2^31 */
/*=(50/305.17)*2^31 = 0x14f8cf92 */
sgen.step_max=0x3E7FB26;// Max Freq=(step_max *采样频率)/2^32 */
/*最大频率=(0x3E7FB26*20k)/2^32 = 305.17 */
sgen.alpha=536870912;/* PHASE_NORM =(PI/4/(2*PI))*2^16=8192 */

for (i=0;<SIGNAL_LENGTH;i++))

ipcb[i]=0;

for (i=0;<SIGNAL_LENGTH;i++))

sgen.calc(&sgen);
x1=sgen.out;
ipcb[i]=x1;


for (;;);

}/*结束:main()*/

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

    我们在 C2000Ware 中提供了波形生成示例:buffdac_sine、buffdac_square 等 它们都使用 SGEN 模块、并且对 DAC 进行类似的调节。 请查看他们、了解其是否有用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢、他们提供了合适的样片。 Thx
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    欢迎您的到来。 如果您有任何疑问、请告知我们。