我经常读到,将VCC与AVCC连接是一种好习惯。即使在ATMega8数据表中也是如此:
AVCC是A / D转换器,端口C(3..0)和ADC(7..6)的电源电压引脚。即使不使用ADC,它也应从外部连接到VCC。如果使用ADC,则应通过低通滤波器将其连接到VCC。请注意,端口C(5..4)使用数字电源电压VCC。
但是我无处可寻地解释为什么必须将它们连接起来。无需连接VCC和AVCC即可使LED闪烁的简单电路。
我只需要接受它,还是有充分的理由?
我经常读到,将VCC与AVCC连接是一种好习惯。即使在ATMega8数据表中也是如此:
AVCC是A / D转换器,端口C(3..0)和ADC(7..6)的电源电压引脚。即使不使用ADC,它也应从外部连接到VCC。如果使用ADC,则应通过低通滤波器将其连接到VCC。请注意,端口C(5..4)使用数字电源电压VCC。
但是我无处可寻地解释为什么必须将它们连接起来。无需连接VCC和AVCC即可使LED闪烁的简单电路。
我只需要接受它,还是有充分的理由?
Answers:
主要是必须连接,因为制造商说应该连接。
除此之外,它们还应使芯片(所有端口/引脚)完全工作,以防止AVCC侧出现浮针问题,并防止数字侧产生噪声。存在使AVCC侧不加电导致寄生功率消耗并可能使内部时钟不稳定或阻止稳定启动的问题。
Atmel的设计人员已决定,通过允许用户甚至在ATmega内部添加数字和模拟平面的滤波和分离功能,拥有独立的模拟VCC和接地是允许相对无噪声的模拟部分的最佳方法。不仅是ATMega8,所有ATMegas甚至所有ATtiny都拥有这种设计。
很好,你问原因!
AVCC被指定为独立引脚,因为它在内部连接至关键的模拟组件,因此应具有单独的滤波电容器。
简单的“ blinkenlights”项目没有噪音和准确性要求。
现在,如果您要确定是否应将它们连接到相同的电压,则在VCC +/- 0.3V范围内回答是
“ ADC具有单独的模拟电源电压引脚AVCC。AVCC与VCC的差值不得超过±0.3V。” 和“ AVCC是A / D转换器的电源电压引脚”
概括一下:AVCC和VCC应该处于相同的电压(+/- 0.3伏内),并且被标识为单独的引脚,以允许设计人员在该输入上放置额外的滤波器,以将噪声排除在敏感的A / D之外。 IC的转换器部分。
希望有帮助!
只是增加了即使在简单项目中也要连接AVCC的另一个原因。
当使用依赖于内部基准电压的欠压检测电路时,可能会出现意想不到的行为,并使设备启动不可靠。它可能表现为触发BOD复位的怪异的电压阈值,甚至没有以正确的电压临时启动设备。
我只是在使用ATmega88P的一个“快速而肮脏”的黑客项目中遇到了这个问题。
将AVCC直接连接到VCC之后,解决了BOD不释放复位的问题。由于在我的项目中不使用任何其他模拟外设,因此我没有理会适当的去耦。经过大量谷歌搜索后,在avrfreaks论坛线程之一中找到了此解决方案。请参阅:http://www.avrfreaks.net/comment/349747#comment-349747
原因与设备的内部过程及其制造方式有关。因为它们指定AVCC和VCC应该在0.3V之内,所以这类似于芯片中使用的内部二极管的保护电压。如果二极管偏置到0.3V以上(例如,如果未连接AVCC),则这些二极管可能会导通,从而引起问题并可能损坏设备。