俺把上次取材于jesper hansen的tiny2313频率计改成了等精度的。等精度的东西真是米哥干的事,所以这次选用mega8,编译之后您就知道是为什么了。除了软硬件相对复杂外,等精度频率计也有明显的好处,那就是对于很低和很高的频率都能保证测量精度,不像一般频率计那样丢位或不得不在uhf段延长测量时间。
另外等精度频率计对闸门的准确度要求极低,这就降低了对单片机内部资源的需求,也减少了计数器链与单片机在逻辑上的耦合。有些成品甚至用555电路做连续可调的闸门,这完全没问题。当然还有一好处是测频和测周变成一回事,硬件上不再有任何区别。
这次还是软仿真项目,不打算实做。因为软仿真的速度难以忍受,所以使用了1mhz参考频率,也就是1秒获得6位的精度。如果把参考提升到10mhz,那就是1秒7位了。实际上这就是一般市售频率计的精度,除非它的内时基是100mhz的,或者是带内插的高端产品。有些普及型等精度频率计标8位,实际上是全时显示了外推的末位。
盲目外推影响测量的可信度,意义不大;而盲目不外推又过于保守,特别是会在测量类似10mhz这样信号的时候导致频繁换位,丢失精度。这里学习racal-dana 1992,在测量值首位为1的时候做末位外推,对精度几乎没有影响,是个不错的折中。
图片显示测量低频和uhf频率时的效果。附件中还包括仿真原理图和源代码等资料。欢迎朋友们把玩。特别是欢迎帮我修正程序,去除bug 。