В моей карьере я часто сталкивался с сигналами, которые активны на низком уровне (сброс является наиболее распространенным). Я даже видел интерфейсы, где все сигналы управления активно низки.
Для меня это очень не интуитивно понятно. Почему всегда есть необходимость использовать активно низкий? Это просто историческая проблема или есть фактические проблемы с количеством ворот / властью, которые это объясняют?
digital-logic
design
ErikAndren
источник
источник
Ответы:
В исторических цифровых разработках активные низкие сигналы будут использоваться всякий раз, когда их использование позволит уменьшить количество затворов в проекте и, таким образом, снизить стоимость схемы. Я могу себе представить, что это было даже более распространенным в схемах ИС, чем в дискретной логике, потому что вся логика была по существу построена из инвертирующих (NAND) вентилей, но я лично не имел опыта в этой области.
Такой уровень оптимизации сегодня редко требуется, или, по крайней мере, он выполняется автоматически с помощью инструментов синтеза, так что он прозрачен для дизайнера. Как вы заметили, есть только несколько случаев, когда активные низкие сигналы все еще очень часто видны.
Одно из преимуществ активного сигнала низкого уровня для таких функций, как сброс и прерывание, заключается в том, что очень просто создать логику «ИЛИ» для активного сигнала низкого уровня, просто используя выходы с открытым коллектором .
То есть, если есть несколько различных цепей, которые должны быть в состоянии вызвать сброс или прерывание, каждая из них может просто иметь выход с открытым коллектором, связанный с проводом ~ RESET или ~ INT. Затем любой из них может вывести линию на низкий уровень и вызвать соответствующий ответ без необходимости в какой-либо дополнительной логике для объединения сигналов.
источник
В логических семействах, таких как TTL, открытый терминал интерпретируется как Высокий, поскольку он зависит от текущей логики затухания для обнаружения логического нулевого входа.
Проектирование активного минимума вывода гарантирует его работоспособность тогда и только тогда, когда применяется намеренное логическое состояние, т.е. чтобы избежать неоднозначного плавающего условия ввода.
Кроме того, в этом вопросе был дан ответ на особый случай RESET .
источник
Основным преимуществом активного низкого уровня является безопасность .
Он широко используется в мире C & I в ситуациях, когда потерянный сигнал будет разрушительным . Одним из примеров будет низкий уровень воды в котле, другим - аварийная остановка, другим - низкое давление топлива. Если произойдет одно из этих событий, машина должна быть остановлена.
Если система использовала активный высокий уровень, и прибор сломался или был поврежден сигнальный кабель, контроллер никогда бы не узнал о проблеме. Если система использует активный низкий уровень, и прибор сломался или сигнальный кабель был поврежден, система реагировала бы так же, как и на активируемый прибор.
источник
Активные низкие сигналы более терпимы к шуму в некоторых логических семействах, особенно старых TTL.
Высокий сигнал TTL должен иметь выход не менее 2,8 В и не более 2,0 В. Это оставляет запас в 0,8 В для падения напряжения и шума. И добавочный резистор к источнику питания 5 В может быть добавлен для дополнительного запаса.
Сигнал низкого TTL должен быть не более 0,4 В на выходе и может достигать 0,8 В. Это оставляет только 0,4 В запаса для падения напряжения и шума.
Вы можете использовать любой уровень для представления любого логического состояния. Но имеет смысл выбрать наиболее устойчивый к шуму уровень для состояния, в котором сигнал будет проводить больше всего времени.
Многие сигналы проводят почти все свое время неактивно. Поэтому целесообразно использовать подверженный шуму низкий уровень для представления редко встречающегося активного состояния и более шумоустойчивый высокий уровень для представления часто встречающегося неактивного состояния.
источник
Логические сигналы имеют два состояния. Какой из них вы считаете включенным или выключенным или используете для общения или выключения, полностью зависит от вас. Нет ничего более правильного в том, чтобы быть высоким или истинным, чем в низком.
Тот факт, что он вам не понятен, не имеет значения при проектировании системы. Вы можете думать, что высокий должен означать истину, но это может быть совсем наоборот для кого-то другого. Хорошие инженеры стараются делать то, что имеет смысл, а не зацикливаться на религиозных вопросах. Иногда это не имеет значения, тогда вы выбираете то, что предпочитаете. Иногда это имеет значение.
Например, поскольку удобно иметь цепи, которые должны сообщаться, использовать одну общую сеть, которую мы обычно называем заземлением, и большинство логических схем эволюционировали, чтобы требовать положительного питания (подумайте об этом, с таким же успехом это могло бы быть и наоборот) Логические сигналы, как правило, будут либо на земле, либо на положительном уровне питания. Допустим, вам нужно управлять цифровым входом с нормально открытой кнопки. Особенно, если эта кнопка физически установлена не прямо в цепи, удобно привязывать одну сторону кнопки к земле. Это означает, что при нажатии кнопки другая сторона будет заземлена. Это по своей сути создает негативную логику, то есть низкий уровень означает нажатие, а высокий (с пассивным повышением) означает освобождение. Было бы глупо добавлять инвертор только по религиозным соображениям, если эта линия затем перешла в микроконтроллер. Микропрограмма в микросхеме может иметь дело с любой полярностью, отображающей нажатие, так что, помимо устранения суеверия, инвертор будет пустой тратой пространства, мощности и стоимости.
источник