Перейти к содержанию
    

Схемотехника конечного автомата

Всем привет. Вот, допустим, есть таблица переходов между состояниями для реализации определенной задачи (Большую часть убрал):
 

Начальное состояние

Конечное состояние

Условие перехода

Т3

Т2

Т1

Т3

Т2

Т1

Q0

0

0

0

Q1

0

0

1

U0

Q1

0

0

1

Q2

0

1

0

U1


Т3,Т2,Т1 - это значения триггеров, которые кодируют каждое состояние.
По факту логическая функция триггера
Т1 = Q0*U0
Т2 = Q1*U1

То есть пока я нахожусь в состоянии Q0, я могу перейти в Q1 только после того, как условие U0 наступило. Причем обратно из Q1 в Q0 я вернуться не могу. Так вот, 
я собрал эту схему в программе.
Когда U0 нету (то есть false), то состояние Q0 и все вроде бы в порядке. Но как только я подключаю U0 (Второй рисунок), схема начинает метаться между состояниями Q1 и Q0.
Я понимаю, что это из-за обратных связей - то есть когда наступает состояние Q1, то на выходе Q0 - false, и он по обратной связи просто зануляет триггер и переходит в Q0 снова и так по циклу. Но мне не нужно такое, как вы поняли) Это должно работать как стиральная машина или что-то того, то есть пока какое-то условие не наступило, автомат должен
оставаться в том же состоянии, в каком и был.

Можете подсказать, что я делаю не так?
 

Скриншот 08-04-2024 025014.jpg

Скриншот 08-04-2024 025028.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Вас не хватает самого главного - тактовой частоты. С ней все становится несказанно проще. А а асинхронном автомате, который Вы пытаетесь сделать, у Вас будут все время гонки. И это Вы еще не учитываете реальных задержек и их разбросов на элементах схемы. Нужно иметь очень серьезный мотив, чтобы пытаться синтезировать асинхронный автомат, устойчиво работающий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не путайте человека, а то лабу не сдаст )

Для начала нужно определиться, какому из Т1,2,3 соответствует ваш имеющийся триггер.

Если Т1, то очевидно, что сигнал U0 должен его устанавливать, U1 сбрасывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...