未使用的模拟输入该怎么办?


10

我正在使用ATmega328p atmel微控制器开发应用程序。我从28 PDIP版本开始,但是现在我想使用32 TQFP,在编译Altium项目后,我注意到它有2个额外的输入。

这些输入是ADC7:6,它们“用作A / D转换器的模拟输入。这些引脚由模拟电源供电,并用作10位ADC通道”,根据数据手册。

我在网上阅读过一些人使用ADC并具有浮动输入时得到未知结果的信息。我读到的它们是激活下拉电阻,但我看不到如何配置它们(因为它们不属于I / O端口)。另外,我的应用程序甚至根本不使用A / D转换器。

最佳做法是什么?我应该连接一个外部下拉电阻吗?忽略Altium错误?

Answers:


8

ADC6和ADC7是特例。它们没有连接任何数字输入或输出缓冲器,因此它们不会产生噪声或吸收过多电流,就像芯片上的其他引脚如果处理不当一样。换句话说,您可以让它们浮动,并且它们不会异常影响您的设计。

它们也没有任何内部上拉或下拉,因此,如果您打算将它们捆绑在一起,则必须从外部进行捆绑。

但是,由于它们永远都不能作为输出,因此与直接将它们直接连接到VCC或GND相比,使用电阻器没有额外的安全性或保护性。如果您仍然担心浮动模拟输入,可以将ADC7与其相邻的GND引脚相连,而将ADC6与AVCC(或AREF,如果愿意)相连。

采样和保持电容器很小,因此,如果您决定遵循清除建议,则可以使用ADC7进行采样-电容器将非常快地排至地面,您将获得上述好处。


我担心它们具有其他功能,例如其余的I / O引脚,但是您是对的,因为它们不正确,我应该选择让它们悬空。而且,因为我正在设计应用程序的最终版本,所以我知道永远不会使用ADC。
esal26

您在哪里发现ADC6和7是“特殊”的?我无法从数据手册中验证这些输入是否与其他输入有所不同。
Rev1.0

@ Rev1.0 数据表中有很多地方显示了这一点。可能最明显的是最后一句话24.9.5“请注意,ADC引脚ADC7和ADC6没有数字输入缓冲器,因此不需要数字输入禁用位。” 还要注意框图,2.1其中显示ADC [6..7]直接进入ADC,而其他6个ADC端口与PORTC共享,并且Fig 1-1显示AD​​C6和ADC7中的引脚分配没有共享功能。
亚当·戴维斯

哦,我的错,我在看324/644数据表。这是我看到此“专业”的第一个Atmel控制器。
Rev1.0

12

下拉电阻很好,是的。它不仅可以稳定输入并防止任何过量的电流消耗,而且具有隐藏的好处,您可以将它们用作采样和保持电容器净化设备。如果您在其他输入的读数之间读取这些额外输入之一的模拟值,则由于采样保持电容器始终从同一电平开始,因此可使读数更加稳定。

电阻越小,电容器放电的速度越快,但突流电流越大。大约470Ω左右是好的。还可以防止将引脚配置为输出并驱动为高电平。


1
等一下,如果我这样做1)读取实际的模拟值2)读取下拉的模拟值,我的实际模拟值会减少噪音或什么?
Funkyguy 2014年

1
它将不受其他渠道的读数的影响。读通道1,读备用信道,读出信道2,读备用信道等
Majenko

哇,真是太好了!
Funkyguy 2014年

3
带有浮动输入的极端示例:forum.arduino.cc/index.php?topic=182446.0
Majenko 2014年

我知道,尽管我不熟悉采样和固定帽,但每次完全放电并从同一参考点开始采样是有意义的。好点子。
sherrellbc 2014年
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.