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

电器工程 avr 大气压 基本的
2022-01-11 16:38:22

我经常读到将 VCC 与 AVCC 连接是一种很好的做法。即使在 ATMega8 数据表中也是这样说的:

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

但是我无处可以解释为什么它们必须连接。一个用于闪烁 LED 的简单电路无需连接 VCC 和 AVCC 即可工作。

我必须接受它,还是有充分的理由?

4个回答

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

除此之外,它们应该用于芯片的完全运行(所有端口/引脚),以防止 AVCC 侧的浮动引脚问题,以防止数字侧的噪声。存在使 AVCC 侧不通电的问题会导致寄生功耗,并可能破坏内部时钟的稳定性,或者可能会阻止稳定启动。

Atmel 设计人员已经决定,拥有一个单独的模拟 VCC 和接地是允许相对无噪声模拟部分的最佳方式,因为它允许用户添加数字和模拟平面的过滤和分离,即使在 ATmega 内部也是如此。不只是 ATMega8,所有的 ATMegas 甚至一些 ATTinys 都有这种设计。

你问原因真好!

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

简单的“blinkenlights”项目没有噪音和精度要求。

现在,如果您的意思是它们是否应该连接到相同的电压,答案是肯定的,在 VCC 的 +/- 0.3V 内

来自ATMega8 完整数据表

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

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

希望有帮助!

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

只是为了添加另一个原因,即使在简单的项目中也应该连接 AVCC。

当您使用依赖于内部电压基准的欠压检测电路时,您可能会出现意外行为和不可靠的设备启动。它可能表现为奇怪的电压阈值触发 BOD 重置,甚至设备偶尔无法以正确的电压启动。

我刚刚在我的一个使用 ATmega88P 的“quick&dirty”hack 项目中遇到了这个问题。

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