ATMega8:为什么必须连接VCC和AVCC?


20

我经常读到,将VCC与AVCC连接是一种好习惯。即使在ATMega8数据表中也是如此:

AVCC是A / D转换器,端口C(3..0)和ADC(7..6)的电源电压引脚。即使不使用ADC,它也应从外部连接到VCC。如果使用ADC,则应通过低通滤波器将其连接到VCC。请注意,端口C(5..4)使用数字电源电压VCC。

但是我无处可寻地解释为什么必须将它们连接起来。无需连接VCC和AVCC即可使LED闪烁的简单电路。

我只需要接受它,还是有充分的理由?


1
对于它的价值,我通常在没有用于小型项目的低通滤波器的情况下连接AVCC和VCC 并且一切正常。当您需要较少的噪声和更高的精度的情况下,滤波器是一个好主意。
耶尔顿

不连接AVCC和VCC,是否表示您使用了两个独立的电源?
伊格纳西奥·巴斯克斯

2
此外,如果不连接AVDD引脚,那么PIC器件(特别是dspic30f2010)就无法实现其基本功能(ICSP编程)。由于您不知道芯片中的内容,因此应始终认真对待制造商说的任何内容。
deadude

Answers:


16

主要是必须连接,因为制造商说应该连接。

除此之外,它们还应使芯片(所有端口/引脚)完全工作,以防止AVCC侧出现浮针问题,并防止数字侧产生噪声。存在使AVCC侧不加电导致寄生功率消耗并可能使内部时钟不稳定或阻止稳定启动的问题。

Atmel的设计人员已决定,通过允许用户甚至在ATmega内部添加数字和模拟平面的滤波和分离功能,拥有独立的模拟VCC和接地是允许相对无噪声的模拟部分的最佳方法。不仅是ATMega8,所有ATMegas甚至所有ATtiny都拥有这种设计。


是的,ATtiny261具有VCC和AVCC的区别,请参见electronics.stackexchange.com/q/72908/2028
JYelton 2013年

14

很好,你问原因!

AVCC被指定为独立引脚,因为它在内部连接至关键的模拟组件,因此应具有单独的滤波电容器。

简单的“ blinkenlights”项目没有噪音和准确性要求。

现在,如果您要确定是否应将它们连接到相同的电压,则在VCC +/- 0.3V范围内回答是

ATMega8完整的数据表中

“ ADC具有单独的模拟电源电压引脚AVCC。AVCC与VCC的差值不得超过±0.3V。” 和“ AVCC是A / D转换器的电源电压引脚”

概括一下:AVCC和VCC应该处于相同的电压(+/- 0.3伏内),并且被标识为单独的引脚,以允许设计人员在该输入上放置额外的滤波器,以将噪声排除在敏感的A / D之外。 IC的转换器部分。

希望有帮助!


4

通常,数字电源和接地引脚最终会带有少量噪声。当数字电路切换大量电流时,很难消除所有此类噪声,并且150mV左右的电源噪声不太可能影响由数字电源引脚供电的电路。但是,在模拟电源引脚上具有150mV的噪声将使模拟电路很难或不可能达到百分之一的精度。模拟引脚是分开的,这意味着即使数字电源上的噪声为150mV,只要数字电源的摆幅不超过300mV,并且一个电源的模拟电源在某处,就可以获取准确的读数。在数字电源范围的两个极值的300mV之内。


2

只是增加了即使在简单项目中也要连接AVCC的另一个原因。

当使用依赖于内部基准电压的欠压检测电路时,可能会出现意想不到的行为,并使设备启动不可靠。它可能表现为触发BOD复位的怪异的电压阈值,甚至没有以正确的电压临时启动设备。

我只是在使用ATmega88P的一个“快速而肮脏”的黑客项目中遇到了这个问题。

将AVCC直接连接到VCC之后,解决了BOD不释放复位的问题。由于在我的项目中不使用任何其他模拟外设,因此我没有理会适当的去耦。经过大量谷歌搜索后,在avrfreaks论坛线程之一中找到了此解决方案。请参阅:http//www.avrfreaks.net/comment/349747#comment-349747


0

原因与设备的内部过程及其制造方式有关。因为它们指定AVCC和VCC应该在0.3V之内,所以这类似于芯片中使用的内部二极管的保护电压。如果二极管偏置到0.3V以上(例如,如果未连接AVCC),则这些二极管可能会导通,从而引起问题并可能损坏设备。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.