我想用ATmega16的定时器中断等时间间隔采样数据,时间间隔大概是2.5ms左右,希望精度能达到微秒级,能实现吗?芯片内部RC震荡以及使用外部晶振、陶瓷谐振器和外部时钟的精度能达到多少?这个精度是指一个稳定的偏差,还是时刻都在波动的偏差?(也就是说,我的采样时间如果不准,那实际采样时间会是一个稳定的值吗,比如每次采样间隔都是2.4ms;或者是一个波动的值,每次采样时间都不一样?)
请各位大神赐教!
你需要明白每一种时钟源自身的精度。国产的普通石英晶体一般在100ppm左右,好的可以到10ppm。有源温补晶体的精度就高很多。
RC振荡器的精度受工作电压、外部温度影响,最大变化可以达到10%,校正后可以低于1%。
外部晶振比内部精度高,实际运行时,会有偏差,不是稳定,要能稳定就没有偏差了。采样时间不一样。用个高精度的晶振试试吧。程序上也注意,简化语句。多用直接操作寄存器的语句。根据实际情况,精度要求,进行处理。