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/TMS320F28069M:代码内部生成的 ADC 和正弦余弦

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/599259/ccs-tms320f28069m-adc-and-sine-cosine-generated-inside-the-code

器件型号:TMS320F28069M

工具/软件:Code Composer Studio

大家好

我对三角函数或同步的代码有一些问题、我将使用下一个函数:

sin (w*t)*Vin 和 cos (w*t)*Vin

正弦和余弦为我提供了正确的值、我可以通过输入断点并逐步执行(或通过计算这些值、我实现预期值)来确认这些值、 但是、我需要通过将正弦和余弦乘以我从 ADC 读取的一个信号来应用低通滤波器(在相同的中断期间)。 问题是我没有达到预期的值、而获得所需值(正确的值)的唯一方法是从外部读取正弦和余弦(也通过 ADC 并从同一个源读取)

在代码中(内部中断,我将在 ADC_SOC 示例中应用)
读取值(ADC):

SinRT_DSP = AdcResult.ADCRESULT4;
sinRT =((((double) sinRT_DSP)/4096*3.3* 20/33)-1;//缩放因子33/20可在输出端实现3.3V 电压,因此正弦余弦将从-1变为1
CosRT_DSP = AdcResult.ADCRESULT5;
CosRT =((((double) cosRT_DSP)/4096*3.3* 20/33)-1;//缩放因子33/20在  输出端实现3.3V 电压,因此正弦余弦将从-1变为1

生成的正弦值

u_one = sin (wp*2*pI*tot_time)*Vin;
u2_one = cos (wp*2*pI*tot_time)*Vin;

两个值都介于-1和1之间、BUTR I 不会收敛到相同的结果、并且我知道读取 ADC 值的值正常工作。  

希望有人能帮助我理解这个问题。 提前感谢

最棒的!  

Maria

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

    尊敬的 Maria:

    我无法确切地看出这不应该起作用的原因。  您能否告诉我您对 ADC_SOC 项目所做的所有更改、以便我可以尝试重新创建问题?

    如果您只修改了主示例 文件(Example_2806xAdc")、您可以附加该文件吗?

    谢谢。

    此致、

    Richard