Включение ИС со случайными значениями

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

По сути, флип-флоп и счетчики декад, которые у меня есть, иногда включаются со случайными значениями, а не со значениями по умолчанию. Насколько я понимаю, триггер должен начинаться с Q = LOW, а счетчики декад должны иметь Q0 = HIGH, но это происходит только изредка. Я попытался поставить конденсатор на линию сброса, которая выходит из правого счетчика, подключив его к VCC, но по какой-то причине счетчик зависает.

Я не слишком разбираюсь в микросхемах, поэтому я не уверен, что, возможно, я их повреждаю или пытаюсь извлечь из них слишком большой ток с помощью диодов. Я также не уверен, важны ли резисторы, которые у меня есть, или они должны быть на каждом чипе. Если бы кто-нибудь мог объяснить, что я делаю неправильно или что может вызывать случайные значения при включении питания, это было бы очень полезно, потому что я в полном тупике.

РЕДАКТИРОВАТЬ: Спасибо всем за вашу помощь и ответы на мою проблему. Похоже, что, по крайней мере, с этими конкретными микросхемами мое предположение о том, что они имеют состояние включения питания по умолчанию, было неверным, и что мне нужно реализовать импульс сброса, который становится высоким, когда я впервые включаю свою схему, используя резистор и конденсатор. . Еще раз спасибо за вашу поддержку и советы.

введите описание изображения здесь

Каковы их значения по умолчанию и откуда вы взяли эту информацию?
Из теории, которую мы разрабатывали на лекциях, всегда казалось, что триггер будет начинаться с Q = LOW, а не Q = HIGH, и что Q0 = HIGH на счетчиках декад. Я нигде явно не видел, чтобы они начинали так, если предположить, что это неверно? Я попытался поставить в цепь своего рода конденсатор сброса, но это, похоже, вызвало больше проблем.
@adam Это, вероятно, просто предположение, которое вы можете сделать в теории, потому что это упрощает дальнейшую оценку, но в реальном мире это состояние гарантируется только установкой или сбросом контактов, как описано в таблице истинности.
В вашей схеме нет развязывающих колпачков по питанию, вы добавили их в физическое устройство? 100 нФ, короткие выводы к контактам питания каждой микросхемы и каждой микросхеме свой колпачок.
@jippie Что делают развязывающие колпачки? Мы не узнали о них. Это для предотвращения повреждения чипа?
Многие вопросы по этой теме в стеке: electronics.stackexchange.com/q/2272/8627 Вы также хотите проверить ССЫЛОЧНЫЕ и СВЯЗАННЫЕ вопросы, перечисленные в крайнем правом столбце этой страницы. По сути: первое, что нужно проверить всякий раз, когда у вас возникает (n прерывистая) проблема со схемой, это все ли микросхемы имеют надлежащие развязывающие колпачки.

Ответы (4)

Ваша схема должна быть запущена в известном состоянии, и если по умолчанию Q 4013 должен быть низким, а Q0 обоих 4017 - высоким, то с этой целью я взял на себя смелость перерисовать вашу схему ниже, чтобы включить Power-On-Reset с использованием диодов, чтобы сделать его совместимым с остальной частью вашей диодной логики.

Обратите внимание, что ваш R5 не нужен, так как диоды управляются тотемным столбом CMOS, который никогда не плавает.

введите описание изображения здесьПросто для удовольствия я также добавил несколько произвольных часов - чтобы заставить его работать - и ниже включил версию вашей схемы - с той же функциональностью, но упрощенной за счет удаления всех диодов и связанных с ними резисторов и замены их на CD4071 ИЛИ ворота. Файлы LTspice, необходимые для воспроизведения схем или запуска симуляций, если хотите, находятся здесь .

введите описание изображения здесь

Спасибо за ваш чрезвычайно полезный ответ! Я многому научился, прочитав его, и обязательно воспользуюсь вашим решением моей проблемы.
Пожалуйста; Не за что! :-)

Обычно это решается с помощью выделенного вывода /RESET на ИС, который можно перевести в низкий уровень, чтобы привести ИС в предсказуемое и полезное состояние.

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

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

Боюсь, ваше предположение не совсем верно.

Если техническое описание не дает гарантированного начального состояния, чего намеренно не дают стандартные листы устройств HEF40**, гарантии нет.

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

Единственное, что вы можете предположить о логике, - это то, что она говорит в таблице истинности, остальное - стрельба в темноте, если иное не указано очень четко в спецификации логики.

Вы должны подтвердить сброс при включении питания. Создайте сигнал и назовите его POR. (сброс при включении питания)

Обычно его генерируют с помощью подтягивания R и подтягивания C к V+ для любого входа CMOS. Затем используйте правильную полярность выхода для питания всех ячеек памяти (включая FF) по мере необходимости.

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