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.

[参考译文] MSP430F5659:具有 VeREF-的 ADC 功能

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/987474/msp430f5659-adc-functionality-with-veref-

器件型号:MSP430F5659

大家好、

我刚刚开始处理一个由离开的同事编写的项目、我仍然是 MSP430的初学者。 我正在尝试将他的代码与具有不同板载 MSP430连接布局的较新版本 PCB 配合使用。

之前在引脚4上有一个分压器模拟输入读数、但它切换到了新 PCB 上的引脚10 (我认为它们没有这样做)。 这是数据表上的 VeREF-引脚... 我是否可以通过任何方式读取其中的模拟输入、或者我需要修补 PCB? 谢谢!!

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

    您可以通过 ADC 通道9阅读 Veref-[参考用户指南(SLAU208Q)表28-8]。

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

    如何在固件中设置? 由于在数据表中、A0:7引脚设置非常简单、请参阅表9-62

    但是、从引脚10读取似乎只允许您在表9-60中为 ADC 设置外部 Vref。 这里没有模拟输入引脚、对吧?

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

    UG 表28-8似乎表示您应该将引脚配置为 Veref-(PSEL=1、REFOUT=0)、然后设置 ADC12INCH=9。 数据表(SLAS700E)表9-60注(5)确保将其配置为适合模拟引脚。

    数据表第8.43节似乎将 Veref-限制为<1.2V、但注意(3)指出、该限制仅适用于实际使用 Veref-的情况。

    说明显而易见:将引脚10用作实际的 Veref-可能不有用、即您仅限于 ADC12SREF<4。

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

    我不太熟悉 ADC 操作。 我尝试将引脚10设置为模拟输入和 I

    P5DIR |= ANALOG_TEMP_BIT;P5SEL |= ANALOG_TEMP_BIT;P5REN &=~ANALOG_TEMP_BIT;

    ADC12MCTL9 = 0b00001001;

    我不确定这是正确的做法、尤其是将 ADC12MCTL9的3:0位置为  9、我正在尝试激活 ADC 通道9、但 在将0x9位置为寄存器#9时出现了错误和冗余... 您能帮我解决这个问题吗? 谢谢!

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

    示例 msp430f665x_adc_08.c 执行的操作与所需的操作类似。

    https://dev.ti.com/tirex/explore/node?node=AKvzYkIK23d9zfxaMA-NXQ__IOGqZri__LATEST

    奇怪的是、该示例甚至没有设置 P5SEL (看起来应该是这样的)。 您不应设置 P5DIR、尽管这可能无关紧要。

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

    我还没有使它发挥作用。 MSP 永远不会储备 ADC ISR 矢量、我不明白为什么。  

    该示例的目的是将 Vref 引脚作为模拟输入、并将 VCC 和 VSS 设置为新的 ADC 基准? 再次感谢您的帮助

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

    该示例使用 CONSEQ=3和 MSC=1、因此 ADC (自主)以尽可能快的速度对通道进行转换。 您可能不会这样做、但我想它会提供一个方便的演示。 您可以查看结果[]("Expressions"窗口)或 ADC12MEM1 ("Registers"窗口)以查看转换后的值。

    正如您所说、它使用 SREF=0 (Vcc/VSS)。 查看用户指南(SLAU208Q)图28-1、我看不到通过设置 ADC12SREF_1无法使用内部基准(1.5/2.0/2.5V)的任何原因。

    这可能是在当前代码库中查找 ADC 代码的好时机、这可能与示例类似。 我怀疑您只需更改之前电路板使用的通道的 ADC12INCH 设置。

    除了我之前提到的 PSEL 之外,我在这个例子中注意到的另一件事是采样/保持时间 SHT0被设定为15或1024个周期,这真的是一个很长的时间--当 ADC 时钟 ADC12SSEL=0 (5MHz)时,这个时间超过200usec。 我将假定这仅用于演示、因为图28-1未显示任何会干扰信号传输的内容。 我希望您可以使用之前使用的代码中的任何 SHT0值。