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.

[参考译文] MSPM0G3507:OPA 和 COMPDAC.8x_OUT 问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1390132/mspm0g3507-opa-and-compdac-8x_out-question

器件型号:MSPM0G3507

工具与软件:

您好!

我目前正在处理一个使用 COMPDAC8x_OUT 和 OPA 函数的项目。 我想使用 COMP_DAC 作为输出、并将其作为输入馈送到 OPA。 不过、无论我如何配置 OPA 和编写代码、都没有响应。

当我使用 DAC 功能作为 OPA 的输入而不是 COMPDAC8时、OPA 工作正常。 但由于引脚要求、我必须使用 COMP_DAC8。

我在示例代码中找到了一个相关函数、名为"opa_dac8_output_buffer"。 但是、在使用此示例时、我仍然看不到 OPA 的任何输出。 我尝试了修改示例并使用相同的方法编写了测试方法、但仍然不起作用。 OPA 仍然没有输出。

至于环境设置、我没有进行任何更改。

您能否告诉我、如果我在代码中有任何错误、或者是否有任何需要更改的环境设置?

谢谢你。

#include "ti_msp_dl_config.h"

/*
 * DAC8 Reference Voltage in mV
 *  Adjust this value according to the internal VREF configuration.
 */
#define COMP_0_INST_REF_VOLTAGE_mV (3300)
/*
 * DAC8 static output voltage in mV.
 *  Adjust output as needed.
 */
#define COMP_0_INST_DAC8_OUTPUT_VOLTAGE_mV (1000)
uint32_t list[]={
    2048, 2447, 2831, 3185, 3496, 3750,3940, 4056, 4095, 4056,
    3940, 3750, 3496, 3185, 2831, 2447, 2048, 1648,1264, 910,
    599, 345, 155, 39, 0,39, 155, 345, 599, 910, 1264, 1648
};
uint16_t count;
uint32_t dacValue;
int main(void)
{
//    uint32_t dacValue;

    SYSCFG_DL_init();

    /*
     * Set output voltage:
     *  DAC value (8-bits) = DesiredOutputVoltage x 255
     *                          -----------------------
     *                              ReferenceVoltage
     */
//    dacValue = (COMP_0_INST_DAC8_OUTPUT_VOLTAGE_mV * 255) /
//               COMP_0_INST_REF_VOLTAGE_mV;
    while(1){
    dacValue = list[count++]>>4;

    DL_COMP_setDACCode0(COMP_0_INST, dacValue);
    DL_COMP_enable(COMP_0_INST);
    DL_OPA_enable(OPA_0_INST);
        if(count >= 32){
            count = 0;
        }
    }

//    while (1) {
//        __WFI();
//    }
}

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

    Hsu、您好!

    1)。 首先、可以检查 OPA 的输入通道是否正确。  

    2)。 其次、如果您不进行任何修改而直接将示例代码"opa_dac8_output_buffer"下载到 M0中、您可以看到 OPA 的输出吗? 如果您使用的是 G3507 LaunchPad、请记住拔下 PA22的跳线帽、因为在 LaunchPad 上、PA22默认连接到较轻的传感器。

    此致、

    Janz Bai

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

    您好、Janz Bai、

    感谢您的答复。 我已经成功解决了该问题。 我犯了一个小错误。 COMP 和 OPA 是同一组的一部分。 这意味着、选择 COMP0对应于 OPA0、选择 COMP1必须对应于 OPA1。 至少这是我在当前测试中得出的结论。 如果我错了、请帮我更正。 谢谢你。

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

    Hsu、您好!

    是的、回答正确。 在我们的 TRM 中、您可以找到该图和描述。

    此致、

    Janz Bai