Це дійсно погана ідея залишати вхідний штифт MCU плаваючим?


28

Я чув, що залишати штифт, що плаває на MCU, коли він налаштований як вхід (порівняно з типовим виходом), погано впливає на штифт, і в кінцевому підсумку може призвести до його відмови передчасно. Це правда? Зверніть увагу, що в моєму випадку штифт плаває десь від 0,3 до 1,3 В через вхідний відеосигнал. Це іноді потрапляє в нічийну зону 0,8 В - 2,0 В при роботі від 3,3 В.


1
Ви перевірили таблицю даних та сімейну документацію MCU? Вони повинні мати досить певні відповіді, і ви можете побачити, як штифти реалізуються всередині.
XTL

@XTL, я просканував їх, але не знайшов жодних посилань на нього. Вони кажуть, що плаваючі штифти можуть переходити до невизначених станів, але не згадують, чи це може спричинити проблеми.
Томас О

Існує різниця між плаваючим цифровим входом і входом, визначеним як аналоговий. Схоже, це аналоговий вхід.
Мартін

@Martin Я не можу зробити штифт аналоговим входом. Я маю ~ 125ns часовий відрізок для кожного пікселя на відео (25-годинна інструкція), тому не можу витратити ні однієї наносекунди більше.
Томас О

2
Який MCU ви використовуєте, що за замовчуванням всі шпильки для виведення ? Це звучить як рецепт катастрофи.
Коннор Вольф

Відповіді:


31

Проблема:
Залишити штифт, налаштований як плаваючий вхід, небезпечно просто тому, що ви не можете бути впевнені в стані шпильки. Як ви вже згадували, через вашу ланцюг ваш штифт іноді був НИЗКОЮ, а іноді - ні в кого ні на землі, а іноді міг переходити до ВИСОКИХ.

Результат:
По суті, плаваючий вхід напевно спричинить нестабільну роботу чіпа або непередбачувану поведінку. Я помітив, що деякі фішки замерзли, просто перемістивши руку ближче до дошки (я не носив зап'ястя ESD), або дехто матиме різну поведінку при запуску щоразу, коли дошка буде живитись.

Чому:
Це трапляється просто тому, що якщо на цьому штирі є зовнішній шум, штифт буде коливатися, що могло б витратити живлення, оскільки логіка CMOS виводить потужність зливу, коли вони переходять у стан.

Рішення: У
більшості мікросхем сьогодні є і внутрішні підключення, що може запобігти виникненню такої поведінки. Іншим варіантом буде налаштувати штифт як вихід, щоб він не впливав на внутрішні.


3
Якщо ви використовуєте його як вхід, це неодмінно спричинить помилкові введення, але чи дійсно це вплине на інші частини мікросхеми та спричинить проблеми із запуском?
ендоліт

3
Якщо я ігнорую PIN-код і не використовую його для будь-яких периферійних пристроїв, це все-таки спричинить проблеми?
Томас О

@endolith та Thomas - Я думаю, що mikeselectricstuff відповів на це за вас! Це може спричинити проблеми, просто вводячи шум в інші частини системи. Я знаю, що це було через плаваючу шпильку, тому що як тільки я налаштував її на вихід, проблеми пішли!
IntelliChick

2
Я не розумію, як плаваючий шматок металу може вносити шум в інші частини системи. Звичайно, він сприймає шум, але якщо ви не звертаєте уваги на вхід, це не має значення. Чи проблеми з маханням руками поблизу справді пов’язані з невикористаними плаваючими входами?
ендоліт

Плаваючі шпильки TIL не є нешкідливими. Дякую IntelliChick та @Yann!
Нік Джонсон

13

Це трохи гірше, ніж просто опинитися в невідомому стані або перемикатись без потреби. Цифрові схеми в наш час переважно мають тип CMOS, транзистори перемикаються як на високу, так і на низьку сторони; коли ми маємо чіткі 1 і 0, вони вимкнено або насичені, два найефективніших стани для транзисторів. Однак між ними є область лінійної роботи; він використовується для аналогових підсилювачів, але він не настільки ефективний, як крайності - це означає, що більше енергії витрачається, як тепло в транзисторі. У гіршому випадку при цьому витікають як високі, так і низькі бічні транзистори (оскільки штиф насправді ні високий, ні низький), і вони можуть потім поєднуватися, щоб викликати помітний струм всередині мікросхеми, коли вони намагаються заганяти внутрішній стан як високий і низький - можливо, те саме роблять до наступних воріт у ланцюговій реакції. Спека може стати проблемою, навіть якщо живлення не буде. Рішення IntelliChick все ще застосовуються.

Для штифтів, також підключених до АЦП, деякі мікроконтролери пропонують функцію відключення цифрового вхідного буфера, щоб запобігти цій проблемі та витоку, спотворюючи сигнал.


Вхідні дані не мають гістерезису?
ендоліт

3
Введення триггера Шмітта, але, як правило, немає.
Янна Верньє

6

На практиці основним ефектом є підвищення енергоспоживання. Якщо штифт насправді плаває, на відміну від підключеного до якогось невизначеного джерела напруги, можливі коливання, які, а також зростаюча подача потужності, можуть вносити шум в інші частини системи. Будь-який штифт, який має можливість використовувати для введення АЦП або компаратора, зможе відключити буфер цифрового входу, щоб уникнути цієї проблеми. (DIDR на AVR, ADCON1 / ANSEL на PIC)


Що саме коливало б і чому?
ендоліт

@endolith - Буфер введення на штифті. Подумайте про інвертуючий буфер з конденсатором між входом і виходом.
Коннор Вольф

@FakeName: Але де інвертор? Де вихід, який подається на вхід?
ендоліт

3
В основному всі штифти IC IO проходять через буфер (часто інвертор) на IC Die . Оскільки буфер матиме дроти для входу та виходу, між входом і виходом може бути ємнісно з'єднано. Тому, якщо вхідний досить високий імпеданс, перехід на виході інвертора може викликати вхід інвертора до зміни, в результаті чого вихідний сигнал знову змінити, і т.д ....
Коннор Вольф

4

Як правило, погана ідея залишати вхідний штифт як плаваючий, оскільки це може спричинити:

а) Функціональні проблеми - невідомий стан введення, перемикання (наприклад, може призвести до переривання з невизначеним ISR, який би повісив процесор)

b) Збільшення споживання електроенергії - швидше за все, вхідний затвор схожий на інвертор CMOS. При цій структурі, коли вхід достатньо далекий від будь-якої залізниці (наприклад, при наполовину подачі), істотний перетин струму буде постійно протікати.

c) Якщо струм перехресного струму буде протікати, явища знають, що нагнітання гарячого носія може фактично зменшити термін експлуатації пристрою. Вхідний затвор може бути розроблений просто для нормального перемикання, а не для безперервної провідності, тому пристрій може катастрофічно вийти з ладу. Зауважте, однак для підвищення цього потрібен пристрій у такому стані протягом багатьох сотень годин при підвищеній температурі.

Зауважте, a) і b) - це реальні проблеми, з якими стикається, швидше за все, одна. Що стосується с) це менше ймовірність виникнення проблеми, але навіщо ризикувати?


3

Вхід буде змінюватись між 0 і 1 на основі будь-якої EMI. Я не впевнений, що це призведе до виходу з ладу вводу, але це призведе до використання більшої потужності, оскільки переходи від 0 до 1 до 0.

Встановіть його на вихід і виконайте його.


1
Якщо я встановлю його на вихід, 0 або 1, він заземлює відеосигнал і спричинить втрату відео.
Томас О

Чи можете ви ввімкнути внутрішній підтягування і зробити це з ним?
ендоліт

Увімкнення внутрішньої підтяжки повинно бути добре. Сенс полягає в тому, щоб перевести його у відомий стан і залишити його там.
Роберт

2

Деякі високошвидкісні CMOS-пристрої можуть бути знищені, якщо вхід залишиться плаваючим, але найпоширенішою проблемою, яка спостерігатиметься, є збільшення споживання струму. На мікроконтролерах серії PIC додатковий струм складає близько сотні мікроампер на плаваючий штифт. Недостатньо для пошкодження пристрою, але достатньо, щоб сильно вплинути на тривалість роботи акумулятора в додатку, який інакше б намалював 5uA. Деякі мікросхеми мають варіанти відключення цифрового входу; якщо вхід вимкнено, його можна вільно плавати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.