理论上,分频倒数(=fout/fin=(1/分频数))如果是无理数,不可能做到无误差分频输出;
只有当分频倒数是有理数,且理论A初值(=(分频倒数×2^n))恰好为整数时,才可以做到无误差分频输出;否则,只能通过增加累加器宽度,将误差无限逼近到零。实际工程设计中,允许存在一定的误差,这时可以综合地考虑误差和资源占用的平衡关系,选择出合适的累加器宽度。
此例中,分频倒数=115200/2000000=0.0576,为有理数。但是,由于理论A值一直没有获得整数,所以只能随着累加器宽度的增大,误差不断地趋近于零。
从上面的贴图来看,选择10位宽度的累加器确实是一个很好的方案!(当然,如果精度满足要求才行~)
(此时芯片资源占用较少,误差也较小!并且在10~14位宽度,输出信号的精度相同。)
附件是上面贴图对应的excel文件,临时制定的。有兴趣的朋友可以下载看看~
猜您喜欢
推荐帖子
评论