01 PWM频率
一、前言
上午测试了不同的单片机系统时钟,对于所产生的PWM频率精度的影响。这种方式比较依赖所使用的晶体的精度。下面测试一下,通过PWM信号在两个频率之间的跳频来细调输出信号的频率,这样可以通过调整调频的比率参数,来改变输出信号的频率。并且可以通过这种方式,对输出信号的频率进行矫正。

设置系统的时钟频率为 72MHz,产生PWM的 定时器的分频数字设定为 2196, 这样,对应的输出频率为 32772Hz,如果将分频数字增加到 2197,则对应的输出频率为 32757Hz。如果采用动态调整分频数字,则可以将输出的PWM 频率在两个频率之间进行调整。

二、调整结果
设置 PWM 的频率分频数字为 2196,测量实际信号对应的频率,信号频率非常稳定。频率为 32.77646kHz。与理论数值相差4Hz,这是因为 晶体的误差所造成的。

将PWM分频数字设置为 2197,对应的频率为 32.76056kHz。下面通过 64个输出波形为一组,动态调整输出PWM周期分频数字在2196,2197 之间进行切换。

三、切换频率
在定时器更新的时候,增加一个计数变量,根据它是否超过 64,然后调整计数器,并修改定时器分频数量。现在计数器每次增加32,这样就可以保证每隔一次,定时器的 ARR 寄存器在 2196,2197 之间切换一次。使用数字万用表测量此时的频率,为 32.768kHz,也恰好是前面两次测量的频率的平均值。

修改软件中变量增加数值,对应 Time1 的分频数值在 2196,2197 之间切换的比例。0 对应分频数字始终在2197,64 对应分频数字始终 2196。数值在 0 到 64 之间,分频数值从 2196 到2197 逐步增加。可以看到对应的输出频率从低频逐步线性增加。如果希望输出 32766 ,对应的 变量递增数值为 23.
使用前天制作的手表晶体选频放大器接收震荡信号。下面测试对于不同的频率对应的信号幅度。这是放大器所得到的接收信号。利用 DM3068测量信号的交流信号分量的有效值。

这是对于分频数字在2916,2197 ,不同比率下测量得到的交流信号的幅度。再次扩大了分频数字,青色曲线对应分频数字在 2195,2198,橙色对应的分频数字在 2194,2199,测量所得到的曲线。分别对应的等效震荡频率范围增加了。可以看到所检测到的峰值几乎没有改变。这说明通过这种跳频方式 与单个频率所得到的信号幅度是可以等效的。
※ 总 结 ※
本文测试了利用跳频方式来细调PWM频率的方案,通过测试对比,调整频率的效果非常好。与实际单个频率所产生的检测信号幅度基本相同。后面,将会使用这个方式,来调整无线信号源的频率。