ПАТОЛОГИЯ В ЛОГИЧЕСКИХ СХЕМАХ
Существуют интересные, а иногда и просто забавные ловушки, подстерегающие ничего не подозревающего разработчика цифровых схем. Некоторые из них, такие как логические гонки и тупиковые ситуации, могут возникать независимо от типа используемых логических схем. Другие (как, например, эффект тиристорного включения в кристаллах КМОП) представляют собой «генетические аномалии» того или иного семейства. Ниже мы попытаемся обобщить наш печальный опыт и надеемся, что приведенные анекдоты помогут избежать другим тех же ошибок.
8.33. Проблемы статических режимов
«Тупиковое состояние». Легко попасть в ловушку, построив схему, имеющую «мертвое» состояние. Допустим, имеется какое-то устройство с рядом триггеров, которые в процессе работы проходят через заданные состояния. Кажется, что схема действует превосходно, но в один прекрасный момент она намертво останавливается. Единственный способ заставить ее опять работать - это выключить питание, затем снова его включить. Такая ситуация из-за того, что схема имела «мертвое» состояние (запрещенное состояние системы, которого не удалось избежать), в которое она и угодила под воздействием каких-то переходных помех по цепи питания. При разработке цифровых схем очень важно выявить подобные состояния и строить логику таким образом, чтобы схема могла автоматически восстанавливаться. Как минимум, должен быть предусмотрен сигнал начальной установки (вырабатываемый от кнопки, при включении питания и т.д.), который мог бы возвращать систему в нормальное состояние. При наличии такого сигнала никаких других мер может и не потребоваться (см. упражнение 8.24).
Начальная установка.
Этот вопрос возникает при определении состояния системы в начальный момент. В любом случае полезно иметь какой-либо сигнал, который обеспечивал бы начальную установку. Иначе при включении питания в системе могут происходить непонятные вещи.
Рис. 8.93. Схема для формирования сигнала сброса при включении питания.
На рис. 8.93 показана подходящая схема. Последовательно включенный со входом вентиля резистор необходим при использовании КМОП-схем, что позволяет избежать повреждения схемы при отключении питания, так как в противном случае электролитический конденсатор будет пытаться запитать систему через защитный диод входного вентиля КМОП. Хорошей идеей является использование триггера Шмитта (4093, 14), благодаря которому снятие сигнала СБРОС происходит чисто. Символ гистерезиса на рисунке означает, что на входе инвертора установлен триггер Шмитта, собранный, например, на ТТЛ
инверторов), либо КМОП 40106, либо
.