本帖最后由 lee8871 于 2024-12-12 14:48 编辑
根据你的提醒,我针对休眠时间误差做了实验。没有发现你说的“这个延迟是不确定的(延迟3个lxtl时钟以上),无法精确到1个LXTL时钟。”根据实验现象,使用Lptimer唤醒,定时时间长度确定性正常,误差范围合理。
具体的程序如下:
由此我可以用逻辑分析仪采集输出信号。
逻辑分析仪可以输出这些数据到Excel进行分析:
根据我的分析,定时时间的标准差为8.7uS,从-15uS到正15uS,完美符合32.768KHz晶振的周期(约30uS)。对误差进行统计,误差基本呈线性分布,没有发现集中在特别的值上。
对于32.768KHz晶振而言,这个实验结果是非常合理的,这些误差来自不可避免的定时器开始时刻误差,除非提高32.768KHz的频率,否则理论上无法避免。
具体来说,这个误差的产生原因程序启动定时器的时刻,XTL不可能刚好完成一个周期,而是距离下次信号有随机的小于一周期的时间。
|