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.

[参考译文] MSP430FR5994:具有相同频率的 ADC 外部输入时钟(计时器处于直通模式)

Guru**** 2614265 points
Other Parts Discussed in Thread: MSP430FR5994

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/668585/msp430fr5994-adc-external-input-clock-at-the-same-freqency-timer-in-pass-through-mode

器件型号:MSP430FR5994

您好!

将定时器_A 的输出置于与外部 INCLK 相同的频率、因为它应该馈入 ADC 采样周期、这是一个问题。 时钟始终至少分频为2。

谢谢、

Alexey

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Alexey 向我们提出有关 MSP430FR5994的问题。

    从您的描述中可以看出、您正在为 TIMER_A 提供外部时钟并使用该计时器触发 ADC 采样、但您看到该采样周期是我们 INCLK 频率的1/2。

    您能告诉我您将为所有 Timer_A 寄存器使用哪些值吗?
    此外、您能否告诉我您将为 ADC12CTL0、ADC12CTL1寄存器使用哪些值?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Dennis:

    我使用的是工作模式:
    TA0CCR0 = 1;
    TA0CCTL0 = OUTMOD_0;
    TA0CCR1 = 1;
    TA0CCTL1 = OUTMOD_3;
    TA0CTL = tassel__INCLK + TACLR;
    但是、我想将这个作为直通模式使用:
    TA0CCR0 = 0;
    TA0CCTL0 = OUTMOD_0;
    TA0CCR1 = 0;
    TA0CCTL1 = OUTMOD_0;
    TA0CTL = tassel__INCLK + TACLR;
    但第二种情况似乎不受硬件支持。
    ADC 寄存器:
    ADC12CTL0 = ADC12SHT0_2 | ADC12SHT1_2 | ADC12ON;
    ADC12CTL1 = ADC12SHP | ADC12SH_1 | ADC12CONSEQ_2 | ADC12SSEL_3;

    如果甚至可以从用力引脚馈入 TA0.1的输出信号、那就更好了。

    谢谢、
    Alexey
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定我是否完全理解您的最后一条评论。 当配置了定时器的输出模式之一时、TA0.1引脚为输出。 当您说"从外部引脚馈送 TA0.1的输出信号"时、您是否意味着要使用另一个外部引脚驱动 TA0.1?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我需要使 ADC 采样周期等于外部时钟频率。 (使用偶数技巧。) 再也没什么了。
    此致、
    Alexey
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、明白了。

    遗憾的是、无法直接从外部触发(时钟)输入触发 ADC12。

    可以使用具有中断的 GPIO 引脚来响应外部触发器、并且在 ISR 处理程序中、可以设置 ADC12SC (软件控制的开始转换位)。  当然、执行跳转和代码以设置位需要几个处理器指令周期、但它是确定性的(每次花费相同的时间)、并且会导致 ADC 测量与输入触发相同的速率、只是略微延迟。

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

    [引用 USER="Dennis Lehman"]可以使用具有中断的 GPIO 引脚来响应外部触发器并在 ISR 处理程序中进行响应

    我明白了。

    遗憾的是、时钟输入非常高(128kHz)、因此对于实时过程、这种情况并非如此、因为还有许多其他中断、其中一些中断具有更高的优先级。

    但感谢您的反馈、
    Alexey