NT09 发表于 2013-4-10 18:09:55

如何用一片AVR校准另外一边AVR的内部RC

求高手指导哈

hyghyg1234 发表于 2013-4-10 18:43:00

不明白。

skyxjh 发表于 2013-4-10 22:40:19

可以用带晶振的MCU输出1毫秒的脉冲,用内部RC振荡器的MCU检测这个标准脉冲,按照设置的RC时钟来计算脉冲宽度,与1毫秒比较,如果比1毫秒长就说明RC振荡器的频率快了,反之则说明RC振荡器的频率慢了,要调整振荡器标定寄存器OSCCAL的值,让RC振荡器的频率减慢(或加快),直到检测到的脉冲宽度按设置的RC时钟来计算与1毫秒误差最小。

NT09 发表于 2013-4-11 10:20:14

skyxjh 发表于 2013-4-10 22:40 static/image/common/back.gif
可以用带晶振的MCU输出1毫秒的脉冲,用内部RC振荡器的MCU检测这个标准脉冲,按照设置的RC时钟来计算脉冲宽 ...

一看就知道是高手 可是用内部RC振荡器的片子 程序未知且不能更改 可否用外部晶振的片子读取其标准脉冲并于之比较
如果可以请麻烦 再给我解释一下 小弟在这里先谢谢了

skyxjh 发表于 2013-4-11 12:47:39

NT09 发表于 2013-4-11 10:20 static/image/common/back.gif
一看就知道是高手 可是用内部RC振荡器的片子 程序未知且不能更改 可否用外部晶振的片子读取其标准脉冲并 ...

用内部RC的MCU有标准脉冲输出吗?芯片锁死了吗?如果芯片没锁可以考虑用下载器修改标定寄存器值。

skyxjh 发表于 2013-4-11 12:51:57

时钟校准不是上电做一次就行的,要间隔一段时间校准一次,防止运行环境变化导致时钟不准。

NT09 发表于 2013-4-15 14:37:34

skyxjh 发表于 2013-4-11 12:51 static/image/common/back.gif
时钟校准不是上电做一次就行的,要间隔一段时间校准一次,防止运行环境变化导致时钟不准。 ...

也就是说 用另外一片AVR往其写OSCCAL寄存器写入数据不现实? 不过试想我们所用的双龙AVR ISP烧写器 不用的也是一块单片机吗?

skyxjh 发表于 2013-4-17 21:42:46

如果一个系统里面有多个AVR,一个主AVR用外部晶振,其它AVR用内部RC振荡器,用主AVR实时校准其它AVR的时钟是完全可行的。

NT09 发表于 2013-4-18 12:17:32

skyxjh 发表于 2013-4-17 21:42 static/image/common/back.gif
如果一个系统里面有多个AVR,一个主AVR用外部晶振,其它AVR用内部RC振荡器,用主AVR实时校准其它AVR的时钟 ...

求文档求方法 !

skyxjh 发表于 2013-4-18 13:22:00

方法3楼已经说得很清楚了,文档见AVR芯片文档。
页: [1]
查看完整版本: 如何用一片AVR校准另外一边AVR的内部RC