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:COMP 模块是否将 DAC12/8模块用于 VREF (内部/外部)?

Guru**** 2625255 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1412017/mspm0g3507-does-comp-module-uses-dac12-8-module-for-the-vref-internal-external

器件型号:MSPM0G3507
主题中讨论的其他器件:SysConfig

工具与软件:

我将为我的现有项目添加比较器模块来支持过流监控、在比较器模块中、 基准电压可从 VREF (内部/外部)获取。 在本例中、VREF+引脚与3.3V 电源连接。 因此、我无法使用可生成1.4V 或2.5V 的内部电压基准。 我在 COMP 图中看到、VREF 与称为"包括8位 DAC 的基准发生器"的块相连。

问题是-

要将外部 VREF 与 DAC 配合使用、我们是否需要使用实际的 DAC12/8模块?

2.如果上述问题的答案是"是"、那么为什么在 CCS SDK 文件中它们不使用 DAC8/12模块、并且直接使用公式设置 DACCODE 值  

/*
   *设置输出电压:
   * DAC 值(8位)= DesiredOutputVoltage x 255
   *              ---------------
   *                ReferenceVoltage
   */

在 CCS 示例中、它们将从内部 VREF 生成2.5伏、但在格式中、它们将 ReferenceVoltage 设置为3伏。 并且 DesiredOutputVoltage = 1.5V。 它们要将 DAC 值推送到 COMPx 中的 DACCODE 位。 CTL3寄存器。

有人可以在这里澄清一下吗?

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

    尊敬的 Nishant:

    比较器模块有自己的8位 DAC、这个 DAC 可以使用 VREF+节点作为其基准源。 如果使用 SysConfig:

    在 VREF Module Basic Configuration 下:

    • 模式:外部
    • VREF+/VREF-配置:VREF+启用、VREF-启用(如果您希望改用 MCU 接地、则禁用也会起作用)
    • 外部电压:将此值设置为您的外部基准值(在您的情况下为3.3V)
      • 该值将传播到您的 DAC 模块

    在 COMP 模块中的 Basic Configuration -> Reference Voltage Generation Configuration Set 下:

    • 基准源:"选择 Vref 作为 DAC 的基准源、DAC 输出用作比较器的基准"
    • 端子:基准施加到正极端子
      • 也可以使用负极端子
    • DAC 控制:DACSW 位控制在 DACCODE0和 DACCODE1之间的选择
    • DAC 输入:当 DACCTL 位为1时、DACCODE0被选为8位 COMP 的输入
    • 通过 DACCODE0输入代码:与所需电压相关的十六进制值
      • 0xFF 最大值、因此如果您具有2.8V 基准、0xFF 将输出2.8V。

    DAC12模块是完全独立的模块、可输入到比较器的正极端子中。 如果需要该额外的分辨率、这将很有帮助。

    在这个示例中、您是否查看了 comp_hs_dac_vref_external 示例? 对我来说、SysConfig 中选择了错误的 VREF 设置、您需要进行我在 VREF 模块基本配置下所列的更改。 不过、.c 代码是正确的。

    此致、
    Luke

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

    嗨 Nishant,谢谢你伸出手! 因此、如果您想要使用外部 VREF 利用 M0比较器、则需要更改 COMPx 中的 REFSRC 位。 CTL2寄存器、具体基于以下内容:

    • REFSRC = 0: 基准电压发生器被禁用、不能用于运行比较器
    • REFSRC = 1: 选择模拟电源 VDDA 作为 DAC 的基准输入、而 DAC 输出用作比较器的基准电压
    • REFSRC = 2:  选择内部基准模块输出的 VREF 作为 DAC 的基准输入、而 DAC 输出用作的基准电压      直接进行比较
    • REFSRC = 3:  来自内部基准模块输出的 VREF 直接用作比较器的基准电压、并且 DAC 关闭

    听起来最后一个选项就是您要寻找的选项。 一种更简单的方法是利用 Analog --> COMP 下的 SysConfig 工具。 也请务必将 VREF (也位于 模拟下)更改为外部。 这应该将 DAC 全部旁路在一起并使用外部 以 VREF 作为基准。

    -Brian

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

    是的、这就是示例代码中显示的内容。 感谢您的澄清和支持:)