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/TMS320F2.8035万:使用CLA运行RMS计算

Guru**** 2525520 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/654504/ccs-tms320f28035-running-rms-calculation-using-cla

部件号:TMS320F2.8035万
主题: controlSUITE中讨论的其他部件

工具/软件:Code Composer Studio

您好,

我正在使用TMS320F2.8035万微控制器。 我需要计算微控制器中ADC值的运行RMS。

我正在使用控制套件中的sqrt示例作为参考。

我能否在该示例中捕获ADC值。

如果不是,什么是备用?

谢谢你。

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

    Shwetha,您好!

    shwetha s 说:
    我能否在该示例中捕获ADC值。[/QUOT]

    当然是的,您可以 很好地整合CLA示例。 请参阅CLA_ADC示例:

    C:\ti\controlSUITE\DEVICE_SUPPORT\F2803x\V130\DSP2803x_Examples_ccsv5\CLA_ADC</s>2803

    尝试将sqrt集成到CLA_ADC。

    此致,

    Gautam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    但在这些示例中,我需要对汇编语言进行更改。 当我尝试进行更改时,我没有从ADC获得任何值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Gautam:
    主要的问题是sqrt样本程序,必须已经定义数组。 我无法继续更改数组值。 如果我看看CLA_ADC,它完全取决于汇编语言。 即使只做了一分钟的更改,也会干扰代码和内存分配。
    此致
    Shwetha
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Shwetha,

    CLA也可以使用C而不是组装进行编程。 例如,FIR32示例:\controlSUITE\DEVICE_SUPPORT\F2803x\V130\DSP2803x_Examples_CLA_ccsv5\fir32</s>2803

    C28x和CLA之间的邮箱通信可以使用共享变量来实现,以适应不同的阵列长度或位置。

    汤米
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Tommy,
    我只对CLA使用c代码。 但我无法直接在CLA任务中捕获ADC值。 我也尝试在CLA任务中提供延迟,以便TAT ADC转换将获得时间。 但即便如此,事情也不会奏效。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Shwetha,

    您如何查看结果?

    从ADC结果寄存器中读取时,您会看到什么值? 是旧数据吗? 静态值?

    汤米
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Tommy,
    当我尝试读取CLA任务上的ADC值时,我无法获得该值。 这就是为什么我在CLA中断后读取该值的原因。 但当我想在下一个周期将值发回CLA任务时,我无法获得值。 购买当我停止并再次调试程序时,该值将被更新。 您能不能建议我如何从CLA中的ADC寄存器中获取值来帮助我?
    谢谢你
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Shwetha,

    只要您使用的是较晚ADC中断(ADCCTL1.INTPULSEPOS=1),生成ADCINT信号的SOC的ADCRESULT在收到ADCINT触发器时就可以由CLA读取。

    是否可以尝试使用指针读取ADCRESULT值:

    UINT16_t ADC_DATA;
    ADC_DATA =*(uint16_t*) 0xB00;

    汤米

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Tommy,
    ADC_DATA =*(uint16_t*) 0xB00;
    上述陈述的具体用途是什么? 什么是0xB00?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Shwetha,

    它正在将ADCRESULT0 (地址0xB00)的内容读取到本地CLA变量ADC_DATA中。

    您可以在 数据表中找到寄存器基本地址

    汤米

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Tommy:
    我尝试了你引导我的方式。 (UINT16_t*)0xB00获得一个值。 但这并不反映在ADC_READ中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Tommy:
    我尝试了你引导我的方式。 (UINT16_t*)0xB00正在获取值,但ADC_DATA未读取数据。 我怀疑这是数据类型的问题。 但即使在更改数据类型后,ADC_DATA仍显示巨大的值4.559万。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Shwetha,

    您是否偏离了指针?

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

    您是否让读数发挥作用?

    汤米