Цифровая логика - Карта Карно

Первоначальная проблема начинается так. Есть 6 штатов. В каждом состоянии, когда w=1, переходим к следующему состоянию, когда w=0, остаемся в текущем состоянии. В каждом состоянии отображается номер с использованием стандартного 7-светодиодного дисплея (BCD). Это числа 8 -> 1 -> 9 -> 4 -> 2 -> 2.

Итак, вот моя попытка решить эту проблему. Я начинаю с таблицы состояний: слева направо y2,y1,y0

    w=0  w=1  a  b  c  d  e  f  g
000|000  001  1  1  1  1  1  1  1
001|001  010  0  1  1  0  0  0  0
010|010  011  1  1  1  1  0  1  1
011|011  100  0  1  1  0  0  1  1
100|100  101  1  1  0  1  1  0  1
101|101  000  1  1  0  1  1  0  1

Затем уравнения Yo Y1 и Y2 составляются с использованием карт Карно.

    y1.y0               _        _
w.y2 00 01 11 10   Y0 = w.y0 + w.y0
  00 0  1  1  0    
  01 0  1  d  d
  11 1  0  d  d
  10 1  0  0  1

    y1.y0               _        _  _            _
w.y2 00 01 11 10   Y1 = w.y1 + w.y2.y1.y0 + w.y1.y0
  00 0  0  1  1
  01 0  0  d  d
  11 0  0  d  d
  10 0  1  0  1

    y1.y0               _      _  _  _
w.y2 00 01 11 10   Y2 = w.y2 + y2.y1.y0 + w.y1.y0
  00 0  0  0  0
  01 1  1  d  d
  11 1  0  d  d 
  10 0  0  1  0

Затем для выходных данных необходимо создать дополнительные карты.

    Y1.Y0                     _  _ 
  Y2    00 01 11 10  a = Y2 + Y0.Y2
      0 1  0  0  1
      1 1  1  d  d


    Y1.Y0              
  Y2    00 01 11 10  b = 1
      0 1  1  1  1
      1 1  1  d  d


    Y1.Y0                _
  Y2    00 01 11 10  c = Y2
      0 1  1  1  1
      1 0  0  d  d


    Y1.Y0                     _  _  
  Y2    00 01 11 10  d = Y2 + Y0.Y2 
      0 1  0  0  1
      1 1  1  d  d


    Y1.Y0                     _  _  _
  Y2    00 01 11 10  e = Y2 + Y0.Y1.Y2
      0 1  0  0  0
      1 1  1  d  d


    Y1.Y0                _  _
  Y2    00 01 11 10  f = Y2.Y0 + Y1
      0 1  0  1  1
      1 0  0  d  d


    Y1.Y0                          _  _
  Y2    00 01 11 10  g = Y1 + Y2 + Y1.Y0
      0 1  0  1  1
      1 1  1  d  d

В настоящее время я использую 3-битный D-триггер для создания 6 входов.

Дисплей показывает.

 _        _        _
|_|   |  |_|  |_|   |
|_| |     _|    | |_   _

Есть ли ошибка в логике или возможно, что счетчик может создавать эту проблему?


person CMacDady    schedule 17.10.2011    source источник
comment
Есть ли во всем этом вопрос? Этот сайт не предназначен для проверки ответов на домашние задания...   -  person Marc B    schedule 18.10.2011
comment
Это не проблема с домашним заданием. Я отредактировал сообщение, чтобы попытаться отразить точку зрения на вопрос. Я исчерпал свои знания цифровой логики и не знаю, почему дисплей не работает.   -  person CMacDady    schedule 18.10.2011


Ответы (2)


Повторный ввод всего вопроса помог мне понять, какая часть была сделана неправильно.

Проблема была в карте Карно Y2.

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

person CMacDady    schedule 12.12.2011

Я так понимаю, у вашей конечной машины 6 состояний? И в последних двух состояниях должна отображаться одна и та же цифра?

Я думаю, что это возможно сделать с помощью T-триггеров.

1) Подключите каждый выход T-триггера к входу следующих трех триггеров, необходимых для хранения 6 состояний.

2) Нужна "схема сброса", которая сбрасывает все триггеры, когда комбинация на выходах равна 110 (6). Таким образом, вывод при w=1 T триггеров будет следующим: 000 w 001 w 010 w 011 w 100 w 101 w 110->000* w 001 и т. д. (*reset переводит триггеры в состояние инициализации). Это первая функция: RST.

3) Вам необходимо создать энкодер для преобразования кодов от 0 до 5 и 7 сигналов для светодиодного дисплея.

Итак, собранная таблица рутов будет выглядеть следующим образом:

#TABLE: t3,t2,t1 => a,b,c,d,e,f,g,RST
 000 => 11111110
 001 => 01100000
 010 => 11110110
 011 => 01100110
 100 => 11011010
 101 => 11011010
 110 => 00000001
 111 => 00000000

Создайте 8 К-карт и сверните их или используйте любой другой метод минимизации. Я получил следующие результаты:

a = t3 !t2 | !t3 !t1;
b = !t3 | t3 !t2;
c = !t3;
d = t3 !t2 | !t3 !t1;
e = !t2 !t1 | t3 !t2;
f = !t3 t2 | !t3 !t1;
g = !t3 t2 | t3 !t2 | !t3 !t1;
RST = t3 t2 !t1;
person kruz05    schedule 15.05.2012