Что делать с неиспользуемыми аналоговыми входами?


10

Я работаю над приложением, использующим микроконтроллер ATmega328p Atmel. Я начал с версии 28 PDIP, но теперь я хочу использовать 32 TQFP, который, как я заметил, имеет 2 дополнительных входа после компиляции моего проекта Altium.

Эти входы являются АЦП 7: 6, которые «служат аналоговыми входами для аналого-цифрового преобразователя. Эти выводы питаются от аналогового источника питания и служат в качестве 10-битных каналов АЦП», согласно данным таблицы.

Я читал в Интернете, что некоторые люди получают неизвестные результаты, когда они используют АЦП и имеют плавающие входы. Я прочитал, что они сделали, это активировали выпадающие резисторы, но я не вижу, как их настроить (так как они не принадлежат порту ввода / вывода). Кроме того, мое приложение даже не использует аналого-цифровой преобразователь вообще.

Каковы лучшие практики? Должен ли я подключить внешний понижающий резистор? Игнорировать ошибку Altium?

Ответы:


8

ADC6 и ADC7 - это особый случай. К ним не подключены никакие цифровые входные или выходные буферы, поэтому они не будут создавать шум или потреблять избыточный ток, как это могли бы иметь другие контакты на чипе, если не были переданы соответствующим образом. Другими словами, вы можете оставить их плавающими, и они не должны ненормально влиять на ваш дизайн.

Они также не имеют каких-либо внутренних подтягиваний или опусканий, поэтому, если вы планируете привязывать их вверх или вниз, вам придется делать это внешне.

Поскольку они никогда не могут быть выходами, тем не менее, нет никакой дополнительной безопасности или защиты при использовании резистора по сравнению с подключением их напрямую к VCC или GND. Если вы все еще беспокоитесь о плавающих аналоговых входах, вы можете просто привязать ADC7 к выводу GND рядом с ним и ADC6 к AVCC (или AREF, если хотите).

Конденсатор сэмплирования и удержания крошечный, поэтому, если вы решите следовать рекомендации по продувке, вы можете использовать ADC7 для сэмплирования - конденсатор очень быстро опустошится до уровня земли, и вы получите описанные преимущества.


Я беспокоился о том, чтобы у них была какая-либо другая функциональность, как у остальных выводов ввода / вывода, но вы правы, так как они не таковы, я должен был бы оставить их плавающими. А также потому, что я разрабатываю окончательную версию приложения и знаю, что АЦП никогда не будет использоваться.
esal26

Где вы обнаружили, что ADC6 и 7 "особенные"? Я не могу проверить из таблицы данных, что эти входные данные отличаются от других.
Rev 1.0

@ Rev1.0 Есть много мест в таблице данных, которые показывают это. Вероятно, наиболее очевидным является последнее предложение 24.9.5: «Обратите внимание, что выводы ADC7 и ADC6 АЦП не имеют буферов цифрового ввода и, следовательно, не требуют битов отключения цифрового ввода». Также обратите внимание на блок-схему, на 2.1которой показано, что АЦП [6..7] идет прямо к АЦП, в то время как остальные 6 портов АЦП используются совместно с PORTC, а распиновки на Fig 1-1шоу ADC6 и ADC7 не имеют общих функций.
Адам Дэвис

О, моя вина, я смотрел на лист данных 324/644. Это первый контроллер Atmel, где я вижу эту «специальность».
Rev 1.0

12

Да, резистор понижающий - это хорошо. Он не только стабилизирует входы и предотвращает любое избыточное потребление тока, но и имеет скрытое преимущество, заключающееся в том, что вы можете использовать их в качестве устройства продувки конденсатора выборки и удержания. Если вы прочитаете аналоговое значение с одного из этих дополнительных входов между показаниями других ваших входов, это может сделать ваши показания немного более стабильными, поскольку конденсатор выборки и удержания всегда будет начинаться с одного уровня.

Чем меньше резистор, тем быстрее разрядится конденсатор, но тем выше ток срабатывания. Что-то около 470 Ом - это хорошо. Также защищает от вывода, когда-либо настроенного в качестве выхода и поднятого высоко.


1
Подождите, если я сделаю 1) Считать фактическое аналоговое значение 2) Считать выпадающий аналог, мое фактическое аналоговое значение будет менее шумным или что-то в этом роде?
Funkyguy

1
На него будут меньше влиять показания других каналов. Читайте канал 1, читайте запасной канал, читайте канал 2, читайте запасной канал и т. Д.
Majenko

Вау, это так мило!
Funkyguy

3
Экстремальный пример с плавающими входами: forum.arduino.cc/index.php?topic=182446.0
Majenko

Я вижу, хотя я незнаком с пробой и удерживающей крышкой, имеет смысл полностью разряжать ее и начинать пробу каждый раз из одной и той же контрольной точки. Отличная идея.
sherrellbc
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.