Чому активний низький навіть існує?


15

У своїй кар’єрі я часто стикався з низькоактивними сигналами (Скидання є найпоширенішим). Я навіть бачив інтерфейси, де всі сигнали управління активно низькі.

Для мене це дуже неінтуїтивно і заплутано. Чому коли-небудь виникає необхідність використовувати активно низький? Це просто історична чи є фактичні проблеми з кількістю воріт / потужністю, що пояснює це?




Зауважте, що reset-beging-active-low в деякому сенсі має більше стосунку до документації, ніж до схеми: якби він називався входом RUN чи чимось подібним, він був би активним високо ...
Wouter van Ooijen

Відповіді:


11

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

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

Однією з переваг активного низького сигналу для таких функцій, як скидання і переривання, є дуже просто створити логічну "провідну АБО" для активного низького сигналу, просто використовуючи виходи відкритого колектора .

Тобто, якщо є кілька різних схем, які потребують можливості спричинити скидання або переривання, у кожного з них може бути просто вихід з відкритим колектором, прив'язаний до проводу ~ RESET або ~ INT. Тоді будь-який з них може витягнути лінію низько і викликати відповідну реакцію без необхідності будь-якої додаткової логіки для поєднання сигналів.


3

У логічних сімействах, таких як TTL, відкритий термінал інтерпретується як Високий, оскільки для виявлення логічного нульового входу залежить від поточної логіки занурення.

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

Додатково у цьому питанні було дано відповідь на особливі випадки RESET .


1
Це вводить в оману. Так, входи TTL плавали високо, але не до того, на який ви могли покластися при наявності шуму. Завжди було поганою практикою залишати входи TTL плаваючими. Також це було давно. Сьогодні логіка не пливе так чи інакше, і її потрібно керувати. CMOS, який сьогодні є більшою логікою, має дуже високий імпеданс і має симетричний характер.
Олін Латроп

1
Погоджено @OlinLathrop
D34dman

2

Основна перевага активного низького рівня - безпека .

Він широко використовується в світі C&I в ситуаціях, коли втрачений сигнал буде руйнівним . Одним із прикладів може бути низький рівень води в котлі, інший - аварійна зупинка, інший - низький тиск палива. Якщо трапилася одна з цих подій, машину потрібно зупинити.

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


1
ну, ви можете стверджувати, що будь-який із них є активним-високим для сигналу "все в порядку" ... а не активно-низько для "я вимкну"
nmz787

1

Активні низькі сигнали є більш терпимими до шуму в деяких логічних групах, особливо в старих TTL.

Сигнал високого TTL повинен бути не менше 2,8 В і може бути таким же низьким, як 2,0 В дюйма. Це залишає запас 0,8 В для падіння напруги та шуму. І додатковий запас можна додати резистор на 5В живлення.

Сигнал низького рівня TTL повинен бути не більше 0,4 В і може досягати 0,8 В дюйма. Це залишає лише 0,4 В запасу для падіння напруги та шуму.

Ви можете використовувати будь-який рівень для представлення будь-якого логічного стану. Але має сенс вибрати найбільш шумостійкий рівень для стану, в якому сигнал буде проводити найбільше часу.

Багато сигналів майже весь свій час проводять неактивно. Тому розумно використовувати схильний до шуму низький рівень для представлення нечасто активного стану, а більш шумозахищений високий рівень для представлення часто зустрічається неактивного стану.


1
Низький стан для TTL-сигналу зазвичай споживає більше енергії, оскільки вам доведеться потонути струм, щоб витягнути його до нуля. Це майже не потребує енергії, щоб привести його до високого стану, як це демонструє той факт, що поплавок зазвичай виглядає як 1 у TTL. Крім того, TTL, як правило, набагато швидше переходить до 0, ніж до 1, оскільки вони занурюють більше струму, ніж джерело. Таким чином, якщо ви присвоюєте більш загальний (неактивний) стан 1, а менш поширений (стверджуваний) стан - 0, ви, як правило, зменшуєте енергоспоживання та отримуєте швидше поширення.
Ніколь Гамільтон

1
Це ще одна причина активного-низького рівня "навіть існувати". Але це, здається, ні підтримує, ні суперечить моїй відповіді, тому мені цікаво, чому ви розмістили це як коментар до моєї відповіді, а не як самостійну відповідь.
Кен Джексон

0

Логічні сигнали мають два стани. Який ви будете вважати ввімкненим чи вимкненим, або використовувати для спілкування увімкнено або вимкнено, саме від вас залежить. Немає нічого більш правильного в тому, що бути високим або справжнім, ніж низьким.

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

Наприклад, оскільки зручно мати схеми, які повинні спілкуватися, ділити одну загальну мережу, яку ми зазвичай називаємо землею, і більшість логічних схем розвинулися, щоб вимагати позитивної подачі (подумайте про це, це могло бути так само навпаки) , логічні сигнали, як правило, знаходяться на землі або на позитивному рівні живлення. Скажімо, вам потрібно керувати цифровим входом із нормально відкритої кнопки. Особливо, якщо ця кнопка встановлена ​​фізично неправильно в ланцюзі, зручно прив’язати одну сторону кнопки до землі. Це означає, що інша сторона буде натиснута на землю при натисканні кнопки. Це по суті створює негативну логіку, що означає низький показник натиснутого, а високий (з пасивним підтягуванням) відпущений засіб. Було б нерозумно додати інвертор лише з релігійних причин, якщо ця лінія потім перейшла в мікроконтролер. Прошивка в мікрофоні може мати справу з будь-якою полярністю, що представляє натиснуту, так що крім насичення забобонів, інвертор був би просто марною витратою місця, енергії та витрат.


4
Я не відчуваю, що це дійсно відповідає на питання, чому саме ця полярність була настільки поширеною? Чи є якась причина на рівні воріт?
Rocketmagnet

Для скидання таке може бути навіть незначно корисним при виявленні перебоїв в енергетиці?
Пол А. Клейтон

@Rocket: Це не те, що просили. Я не думаю, що активний низький обов'язково є більш поширеним, і ОП ніколи цього не стверджував. Він хотів знати, чому хто- небудь коли-небудь (його слово) використовує активний низький. Моя думка, це не має значення, і я намагався навести принаймні один приклад, коли активний низький є прогресивним. Мені здається, саме ти неправильно зрозумів питання.
Олін Латроп

@Paul: Я думаю, що проблема з перезавантаженням полягає в тому, що ви хочете, щоб стан скидання був рівнем відключення живлення. Таким чином ви можете утримувати лінійку скидання фіксованою на початковому рівні 0В, поки система вмикається.
Олін Латроп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.