在GPIO配置和初始化期间,我们可以将引脚速度设置为50MHz,100 MHz,但我们也可以将其设置为2MHz。据我所知,速度越慢=功耗越低。如何产生与引脚速度相关的PWM?当我想生成300Hz或1kHz PWM时,我可以将引脚速度设置为2MHz吗?
提前感谢您的回答。
答案 0 :(得分:1)
您所谈论的速度等级--50 MHz,100 MHz,2 MHz - 基本上是压摆率控制I / O引脚改变状态的速度。
这与用于实际生成信号的计数器/定时器的编程基本上无关 - 它不应与clock prescaler
混淆,后者会降低进入定时器的时钟速率,可能会大大降低功耗(CMOS电路中的大部分功率用于在改变状态时充电和放电隐式电容)以及时序分辨率。
相比之下,压摆率降低就像输出端的粗略低通滤波器。它可能意味着驱动输出所消耗的功率更少(或至少在更长的时间内传播功率),但计数器/定时器消耗的大部分功率将用于为计数器本身提供时钟。
如果您的输出频率远低于压摆率限制,并且您的外部电路可以容忍慢速转换,您可以尝试设置此值。
当然,如果您的输出频率接近转换速率限制,您可能会发现您的信号无法一直驱动到有效的逻辑电平。