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.

[参考译文] MSP430F6459-HIREL:MSP430F6459TPZR

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1302236/msp430f6459-hirel-msp430f6459tpzr

器件型号:MSP430F6459-HIREL

能否将 DAC 输出电压生成为0.9V?

因为、在 DAC 的 REF 电压称为1.5V 和 AVcc 的情况下、我们将获得0.75V 和1.5V 的峰间电压。

如果我要将 DAC 输出设为0.9V、我需要配置哪些寄存器。

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

    尊敬的 Srinadh:

    如果您的基准值为1.5V、那么当 DAC 值为4096 (0xFFF)时、您将获得1.5V。 如果您希望限制为0.9V、则应使用2457 (0x999)。

    要获取 DAC 值、公式为:DAC 值= 目标电压* 4096/基准电压。 您将需要更新 DAC12x_DAT 寄存器。  我建议查看 用户指南 和 DAC12部分。 DAC 示例

    此致、
    卢克

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

    您好!

    为此、我们需要在 DAC 中保留固定的数据值、但在我的应用程序中、我需要使用 GPS 数据等可变数据。

    建议使用任何其他方法将峰值相对于内部基准电压变为0.9V。

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

    尊敬的 Srinadh:

    您可以为 DAC12_xDAT 寄存器使用变量数据、在分配 DAC12_xDAT 寄存器中的值之前只需进行一些数据检查。

    例如

    uint16_t dacValue;
    uint16_t threshhold;
    //Vref value changes
    threshold = 0.9*4096/Vref;
    
    if(dacValue <= threshold)
        DAC12x_DAT = dacValue;
    ////////////////
    //or if you have static references you can define the VREF and change your conditional
    #define VREF_15
    
    #ifdef VREF_15
        if(dacValue <= 2457)
            DAC12_xDAT = dacValue;
    #ifdef VREF_25
        if(dacValue <= 1474)
            DAC12_xDAT = dacValue;

    以上内容是伪代码、但应该可以帮助您了解如何确保 DAC 不超过0.9V。

    此致、
    卢克