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.

[参考译文] MSP430F2274-EP:中断 ADC10测量的安全方法?

Guru**** 2522770 points
Other Parts Discussed in Thread: MSP430F2274

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/933262/msp430f2274-ep-safe-way-to-interrupt-adc10-measurement

器件型号:MSP430F2274-EP
主题中讨论的其他器件:MSP430F2274

您好!

我正在寻找一种在 MSP430F2274上完成 ADC 测量之前停止测量的安全方法。 在阅读用户指南时、我在 ADC 部分中看到了以下信息:

22.2.6.6停止转换
停止 ADC10活动取决于运行模式。 停止活动转换或转换序列的建议方法为:

  • 在单通道单次转换模式下复位 ENC 可立即停止转换、结果无法预测。 要获得正确的结果、在清除 ENC 前轮询 ADC10BUSY 位直到复位。
  • 在单通道重复运行期间复位 ENC 可在当前转换结束时停止转换器。
  • 在一个序列或重复序列模式期间复位 ENC 可在序列结束时停止转换器。
  • 通过设置 CONSEQx=0和复位 ENC 位可以立即停止任何转换模式。 转换数据不可靠。

在上面一段中,"结果不可预测"和"转换数据不可靠"之间是否有有意义的区别? 当我读取"转换数据不可靠"时、我知道这意味着不要相信 ADC10MEM 中的结果、我对此很满意。 但"结果不可预测"这一短语更模糊了...是否表明程序计数器可能损坏? 或者可能出现其他不良问题? 或者、它是否意味着" 转换数据不可靠"?

此外、如果我通过在测量过程中复位 ENC 来中断 ADC、在开始下一次 ADC 测量之前、是否需要对任何 ADC 寄存器执行任何特殊操作? 例如、对 ADC10MEM 寄存器进行虚拟读取以将可能损坏的数据清除?

谢谢

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

    大家好、感谢您的发帖和详细的问题!

    "结果不可预测"是指 与"转换数据不可靠"相同的东西、并且在需要清除 ENC 前对 ADC10BUSY 位进行复位。

     

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

    李晓东、您好!

    感谢您的快速回复。 我有一个后续问题:在"单通道单次转换模式"下运行时、如果我不关心该转换的结果是什么、是否在清除 ENC 前轮询 ADC10BUSY? 换言之、如果我不检查 ADC10BUSY 并立即清除 ENC、除了丢失当前转换之外、是否会发生任何不良情况(例如 PC 损坏、中断寄存器被禁用、某些其他不良行为)? 或者、我是否需要在清除 ENC 前轮询 ADC10BUSY、原因是什么?

    谢谢

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

    您好、adevries


    如果不检查 ADC10BUSY 并立即清除 ENC、我不确定会发生什么不良情况。
    如果允许系统时序的话、我认为最好遵循规范、在清除 ENC 前轮询 ADC10BUSY 位直到复位。

    谢谢!

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

    李晓东、您好!

    明白。 我肯定想遵循规范、但我的系统时序并不总是允许我轮询 ADC10BUSY。 当我在另一个主题上提出类似的问题时、TI 员工似乎认为只要我不关心转换结果、我就可以立即禁用 ENC。 (此主题: https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/933919/3450167#3450167)。 遗憾的是、对于此用例、用户指南中的措辞有点含糊。 我的优先级是尽快停止转换、只要转换不会破坏代码或导致错误。  在这种情况下、我的直觉告诉我相信最后一个要点的措辞:"通过设置 CONSEQx=0并复位 ENC 位、任何转换模式都可以立即停止。 转换数据不可靠。"  在我看来、设计人员的意图是通过复位 ENC 位来立即、安全地中断和停止转换。 转换结果不可信任、但不应发生任何其他不良情况。

    感谢您的帮助、非常感谢!

    好的。 在我发送它们之前进行的测试中、我对每个堆栈使用了相同的柔性板和电源板。 我是否应该再做同样的事情? 或者、我们是否要开始使用 SOM/COM 板堆栈分配单独的电源和柔性板?
     
    -Alex

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

    您好、adevries。 我查看了之前与 Eddie 讨论的主题。

    我同意您的理解:设计人员的目的是通过复位 ENC 位来立即、安全地中断和停止转换。 转换结果不可信任、但不应发生任何其他不良情况。

    如果不允许系统时序、请复位 ENC 位以停止轮询忙时的转换。

    谢谢!

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

    李晓东、您好!

    谢谢,这使我对这一结论更有信心。 感谢您的所有帮助!