Почему активный низкий уровень вообще существует?

14

В моей карьере я часто сталкивался с сигналами, которые активны на низком уровне (сброс является наиболее распространенным). Я даже видел интерфейсы, где все сигналы управления активно низки.

Для меня это очень не интуитивно понятно. Почему всегда есть необходимость использовать активно низкий? Это просто историческая проблема или есть фактические проблемы с количеством ворот / властью, которые это объясняют?

ErikAndren
источник
Обратите внимание, что reset-beging-active-low в некотором смысле больше связан с документацией, чем со схемой: если бы он назывался входом RUN или чем-то подобным, он был бы активным на высоком уровне ...
Wouter van Ooijen

Ответы:

10

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

Такой уровень оптимизации сегодня редко требуется, или, по крайней мере, он выполняется автоматически с помощью инструментов синтеза, так что он прозрачен для дизайнера. Как вы заметили, есть только несколько случаев, когда активные низкие сигналы все еще очень часто видны.

Одно из преимуществ активного сигнала низкого уровня для таких функций, как сброс и прерывание, заключается в том, что очень просто создать логику «ИЛИ» для активного сигнала низкого уровня, просто используя выходы с открытым коллектором .

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

Фотон
источник
3

В логических семействах, таких как TTL, открытый терминал интерпретируется как Высокий, поскольку он зависит от текущей логики затухания для обнаружения логического нулевого входа.

Проектирование активного минимума вывода гарантирует его работоспособность тогда и только тогда, когда применяется намеренное логическое состояние, т.е. чтобы избежать неоднозначного плавающего условия ввода.

Кроме того, в этом вопросе был дан ответ на особый случай RESET .

D34dman
источник
1
Это вводит в заблуждение. Да, TTL-входы действительно были высокими, но не настолько, чтобы на них можно было полагаться при наличии шума. Оставлять входные данные TTL всегда было плохой практикой. Кроме того, это было давно. В настоящее время логика не плавает так или иначе и должна быть управляемой. КМОП, который в настоящее время является наиболее логичным, имеет очень высокое импедансное сопротивление и является симметричным.
Олин Латроп
1
Согласовано @OlinLathrop
D34dman
2

Основным преимуществом активного низкого уровня является безопасность .

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

Если система использовала активный высокий уровень, и прибор сломался или был поврежден сигнальный кабель, контроллер никогда бы не узнал о проблеме. Если система использует активный низкий уровень, и прибор сломался или сигнальный кабель был поврежден, система реагировала бы так же, как и на активируемый прибор.

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

Активные низкие сигналы более терпимы к шуму в некоторых логических семействах, особенно старых TTL.

Высокий сигнал TTL должен иметь выход не менее 2,8 В и не более 2,0 В. Это оставляет запас в 0,8 В для падения напряжения и шума. И добавочный резистор к источнику питания 5 В может быть добавлен для дополнительного запаса.

Сигнал низкого TTL должен быть не более 0,4 В на выходе и может достигать 0,8 В. Это оставляет только 0,4 В запаса для падения напряжения и шума.

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

Многие сигналы проводят почти все свое время неактивно. Поэтому целесообразно использовать подверженный шуму низкий уровень для представления редко встречающегося активного состояния и более шумоустойчивый высокий уровень для представления часто встречающегося неактивного состояния.

Кен Джексон
источник
1
Низкое состояние для TTL-сигнала обычно потребляет больше энергии, потому что вам нужно снизить ток, чтобы подтянуть его к нулю. Для перехода в верхнее состояние почти не требуется энергии, о чем свидетельствует тот факт, что число с плавающей точкой в ​​TTL обычно выглядит как 1. Кроме того, TTL обычно намного быстрее, переходя к 0, чем к 1, потому что они потребляют больше тока, чем исходят. Таким образом, если вы присваиваете более общее (неактивное) состояние 1 и менее распространенное (утвержденное) состояние 0, вы склонны снижать энергопотребление и получать более быстрое распространение при его утверждении.
Николь Гамильтон
1
Это еще одна причина, по которой активный-низкий уровень «даже существует». Но, похоже, он не поддерживает и не противоречит моему ответу, поэтому мне интересно, почему вы разместили его как комментарий к моему ответу, а не как независимый ответ.
Кен Джексон
0

Логические сигналы имеют два состояния. Какой из них вы считаете включенным или выключенным или используете для общения или выключения, полностью зависит от вас. Нет ничего более правильного в том, чтобы быть высоким или истинным, чем в низком.

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

Например, поскольку удобно иметь цепи, которые должны сообщаться, использовать одну общую сеть, которую мы обычно называем заземлением, и большинство логических схем эволюционировали, чтобы требовать положительного питания (подумайте об этом, с таким же успехом это могло бы быть и наоборот) Логические сигналы, как правило, будут либо на земле, либо на положительном уровне питания. Допустим, вам нужно управлять цифровым входом с нормально открытой кнопки. Особенно, если эта кнопка физически установлена ​​не прямо в цепи, удобно привязывать одну сторону кнопки к земле. Это означает, что при нажатии кнопки другая сторона будет заземлена. Это по своей сути создает негативную логику, то есть низкий уровень означает нажатие, а высокий (с пассивным повышением) означает освобождение. Было бы глупо добавлять инвертор только по религиозным соображениям, если эта линия затем перешла в микроконтроллер. Микропрограмма в микросхеме может иметь дело с любой полярностью, отображающей нажатие, так что, помимо устранения суеверия, инвертор будет пустой тратой пространства, мощности и стоимости.

Олин Латроп
источник
4
Я не чувствую, что это действительно отвечает на вопрос, почему эта конкретная полярность была настолько распространенной? Есть ли какая-то причина на уровне ворот?
Ракетный магнит
Для сброса это может быть даже незначительно полезно при обнаружении сбоя питания?
Пол А. Клейтон,
@Rocket: Это не то, что спросили. Я не думаю, что активный низкий уровень обязательно является более распространенным, и ОП никогда не заявлял об этом. Он хотел знать, почему кто- либо (его слово) когда-либо использовал активный низкий уровень. Моя точка зрения такова, что это не имеет значения, и я попытался привести хотя бы один пример, где активный низкий уровень выгоден. Мне кажется, ты тот, кто неправильно понял вопрос.
Олин Латроп
@Paul: Я думаю, что особая проблема со сбросом - то, что вы хотите, чтобы состояние сброса было уровнем отключения питания. Таким образом, вы можете удерживать линию сброса на начальном уровне 0 В, пока система включается.
Олин Латроп