Почему такие вещи, как RESET / MCLR, активны на большинстве микросхем?


40

Конвенция?

Проще реализовать?

Еще одна причина?

Есть ли причина, по которой такие вещи, как MCLR или RESET на микроконтроллерах, являются активными-низкими, то есть вы должны потянуть их вниз, чтобы сбросить IC, и потянуть их вверх, чтобы «запустить» IC.

Мне просто любопытно, потому что это вызывает у меня некоторые проблемы. Если бы он был активным, я мог бы избежать конденсатора на MCLR, необходимого в некоторых случаях, и иметь дело только с понижающим резистором. Кажется, только добавить к сложности.


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

Ответы:


49

Посмотрите, что происходит во время включения питания: Vcc поднимается до уровня, когда он достаточно высок, чтобы все работало правильно. Тем не менее, эта точка не четко определена и может варьироваться от устройства к устройству. Имеет смысл не использовать это напряжение для сброса контроллера.
Однако легко поддерживать низкий уровень независимо от Vcc. В конце концов, Reset уже активен в момент включения питания, поскольку в этот момент все находится на низком уровне.

edit
На приведенном ниже графике показано, как выходное напряжение контроллера сброса (и MC34064 ) остается низким до тех пор, пока Vcc не станет достаточно высоким для стабильной работы всего микроконтроллера.

альтернативный текст


Это то, что я собирался спросить.
Кортук

-1 - Так же легко поддерживать высокий уровень независимо от Vcc. Вы используете подтягивающий транзистор или резистор, так же, как вы бы использовали понижающий транзистор или резистор. Ваш аргумент не говорит ничего особенного о разнице между напряжениями на контактах блока питания. При включении питания они раздвигаются, и действительные логические уровни соответствуют напряжению источника питания.
Джейсон С

1
@Jason: имеет больше смысла держать его на уровне, который всегда четко определен, чем полагаться на уровень, который постоянно меняется.
Stevenvh

8
Vcc и Gnd оба меняются относительно друг друга. Это просто соглашение, что мы думаем о Gnd как о «константе», когда это действительно два относительно друг друга. Vcc изменяется только относительно Gnd, потому что мы думаем об этом таким образом, а не Gnd, увеличиваясь отрицательно относительно Vcc.
Джейсон С

26

Википедия говорит :

Многие управляющие сигналы в электронике являются сигналами активного низкого уровня (обычно это линии сброса, линии выбора микросхемы и т. Д.). Это связано с тем фактом, что большинство логических семейств могут потреблять больше тока, чем они могут быть источником , поэтому повышается разветвленность и помехоустойчивость. Это также учитывает проводную логическую схему ИЛИ, если логические вентили имеют открытый коллектор / открытый сток с подтягивающим резистором. Примерами этого являются шина I²C, сеть контроллеров (CAN) и локальная шина PCI. Сигнализация RS232, используемая на некоторых последовательных портах, использует сигналы активного низкого уровня.

Надеюсь это поможет.


7
Почему утончение легче, это потому, что N-канальные МОП-транзисторы (используемые для поглощения в КМОП) имеют лучшую подвижность носителей (электроны текут лучше, чем дырки)
Ник Т

2
Я не совсем уверен в этом; большинство микросхем в настоящее время могут опускаться до ± 20 мА, и действительно ли это имеет значение? 4.7k (тип.) Будет меньше 1 мА, что может сделать большинство микросхем.
Томас О,

3
@Thomas - «Понижение ± 20 мА» не является точным способом определения того, что происходит. Токи истока и стока проходят через отдельные транзисторы, которые имеют разные характеристики для данной области микросхемы.
Кевин Вермеер

@reemrevnivek - Извините, моя ошибка, я думаю, что опускание / источники более уместны. Но в любом случае, они могут тонуть и источником большого тока.
Томас О,

3
даже если сегодняшние детали более надежны, к настоящему времени это может быть просто условием.
JustJeff

8

В дополнение к ответу Игоря, есть две незначительные причины, по которым используются сигналы активного низкого уровня:

  • В дополнение к тому, что доступный потребляемый ток выше, чем ток источника, для цепей TTL легче создавать напряжение , близкое к земле (просто падение Vce), чем напряжение, близкое к Vcc (падение Vbe + обычно немного больше ).

  • Внешним пассивным цепям (например, кнопкам или концевым выключателям) легче безопасно генерировать активный сигнал низкого уровня: просто используйте подтягивающий резистор на приемном конце, а на стороне внешнего источника замкните рассматриваемый узел цепи на потенциал земли. Если вы используете активный высокий сигнал, вам нужно сделать Vcc доступным для этих внешних цепей, что может привести к замыканию узла Vcc на землю.


4

Понижение больше на низких уровнях, а активные-низкие сигналы в целом восходит ко временам TTL - теперь это просто общее соглашение. Нет причин менять это.


2

Нередки случаи, когда разные части системы питаются от разных источников, которые имеют общую основу. Это может быть связано с тем, что некоторым деталям требуется 3,3 вольт, а другим - 2,0 или 5,0, потому что некоторые детали могут нуждаться в включении и выключении отдельно от других, поскольку некоторые детали могут генерировать уровень электрического шума на своих источниках, который другие части не смогут допускать и т. д. В некоторых случаях схема, которая генерирует сброс, может не работать или управляться тем же источником питания, который управляет ЦП. Наличие генератора сброса на источнике питания, отличном от ЦП, не является проблемой, если используется сброс с низким активным напряжением, и либо ЦП может выдерживать уровни напряжения выше VDD, либо линия сброса может быть слабо поднята чем-то подключенным к источнику питания ЦП. ,

В качестве простого примера представим 3-вольтовый процессор, который сопряжен с 5-вольтовыми микросхемами. Внешняя схема будет работать со сбоями произвольным образом, если VDD упадет ниже 4,75 В и потребует повторной инициализации после повышения напряжения выше этой точки. Сам процессор может нормально выполнять код, если напряжение основного источника питания падает до 3 вольт, но не может делать что-либо полезное; самый чистый способ гарантировать, что внешнее оборудование будет инициализировано после того, как VDD поднимется выше 4,75 В, будет состоять в перезагрузке ЦП всякий раз, когда VDD ниже этой точки. Использование чипа сброса с открытым коллектором и пассивного подтягивания VDD ЦП было бы самым простым подходом.

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

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