大家好、我需要实现某些功能、但我想选择最低功耗模式。 我没有连接任何外部晶体、因此我只能使用内部时钟源
仅使用2个外设(ADC 和 UART)、并且希望通过在不使用时关闭外设并选择合适的时钟源来实现尽可能最低的功耗。
a.使用3Hz 的 ADC、对2个通道进行采样。 我应该使用什么时钟源?
b. 9600波特的 UART 总线。 在2Hz 频率下、通过该总线从 MSP430请求32位数据
谢谢、
e
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.
大家好、我需要实现某些功能、但我想选择最低功耗模式。 我没有连接任何外部晶体、因此我只能使用内部时钟源
仅使用2个外设(ADC 和 UART)、并且希望通过在不使用时关闭外设并选择合适的时钟源来实现尽可能最低的功耗。
a.使用3Hz 的 ADC、对2个通道进行采样。 我应该使用什么时钟源?
b. 9600波特的 UART 总线。 在2Hz 频率下、通过该总线从 MSP430请求32位数据
谢谢、
e
您好、Eduardo、
您的问题的答案并不像往常一样简单。 但请允许我为您提供一些起点。
ADC
ADC 可以独立于 CPU 和系统其余部分运行、还能够自主处理采样和转换所需的时钟源、从而尽可能降低电流消耗。 通常用于此目的的时钟源是 MODOSC。
现在、ADC 需要的另一个是某种触发转换的机制。 由于您希望转换的重复率非常低、为3Hz、因此您不能使用背靠背转换、但需要一些从计时器生成的触发器、在后台运行、生成3Hz 触发器。 其最低功耗将是使用 VLO 为计时器计时。 但 VLO 的缺点是其不精确。 因此、这取决于您对3Hz 模式精度的要求、以及是否可以使用此选项。 功耗较高的另一种可能是使用 REFO。
UART
具有 MSP430 FRAM 的 UART 和 LPM 可能是一项挑战。 原因是所用振荡器的启动时间。 因此、振荡器启动会产生延迟(请参阅数据表以了解更多详细信息)。 根据所使用的波特率和系统设置、这可能起作用、也可能不起作用。
除了波特率之外、我为什么还要提到系统设置? 现在、如果波特率如此之快、以至于由于振荡器启动而导致的延迟会导致同步丢失、这当然会损坏 UART 通信。 但是、根据主器件侧的灵活性、可能有多种方法来解决这一问题。
例如
您将使用主器件的 UART TX 作为发送数据的触发器。 这意味着您可以使用一个简单的端口中断来触发 UART TX、并且可能可以使用任何波特率。
2.您可以在主器件侧使用一个协议、该协议只是预先发送一个虚拟字节、以触发 MSP430的唤醒、并且仅第二个和后续字节用于提供信息。 第一个字节再次仅用于唤醒、例如通过 GPIO 中断、然后在第一个字节的"接收"期间配置和启动 UART。
这些方法可能还有其他的可能...
如果具有所有这些选项的灵活性、您甚至可以下降到 LPM4。
此致
Peter