Главная страница
Навигация по странице:

  • Адрес 0 1 2

  • Адрес ПЗУ Данные ПЗУ Комментарий

  • Вых.2 Вых.3 Сл. адрес

  • Лекции по схемотехнике ЭВМ. Лекция Базовые понятия цифровой электроники версия для печати и pda в лекции рассказывается о базовых терминах цифровой электроники, о цифровых сигналах, об уровнях представления цифровых устройств, об их электрических и временных параметрах


    Скачать 5.63 Mb.
    НазваниеЛекция Базовые понятия цифровой электроники версия для печати и pda в лекции рассказывается о базовых терминах цифровой электроники, о цифровых сигналах, об уровнях представления цифровых устройств, об их электрических и временных параметрах
    АнкорЛекции по схемотехнике ЭВМ.doc
    Дата19.05.2018
    Размер5.63 Mb.
    Формат файлаdoc
    Имя файлаЛекции по схемотехнике ЭВМ.doc
    ТипЛекции
    #19427
    КатегорияИнформатика. Вычислительная техника
    страница32 из 42
    1   ...   28   29   30   31   32   33   34   35   ...   42

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

    Прежде всего, легко заметить, что выбор той или иной строки таблицы производится старшими разрядами кода адреса ПЗУ, то есть входными сигналами микропрограммного автомата. Таким образом, любое изменение входных сигналов приводит к переходу в карте прошивки на другую строку. Например, строка 00 будет соответствовать нулевым входным сигналам микропрограммного автомата, а строка 30 — единичным входным сигналам.

    Таблица 11.8. Пример микропрограммы для схемы на рис. 11.17

    Адрес

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    A

    B

    C

    D

    E

    F

    00

    11

    22

    33

    44

    55

    66

    77

    88

    99

    AA

    BB

    CC

    DD

    EE

    FF

    00

    10

    11

    22

    33

    44

    55

    66

    77

    88

    99

    55

    BB

    CC

    DD

    EE

    FF

    00

    20

    10

    21

    32

    43

    54

    65

    76

    87

    98

    A9

    BA

    CB

    DC

    ED

    FE

    0F

    30

    10

    20

    30

    40

    50

    60

    70

    80

    90

    A0

    B0

    C0

    D0

    E0

    F0

    00

    Теперь посмотрим на структуру 8-разрядного кода данных ПЗУ. Младшие четыре разряда этого кода (правый, младший знак 16-ричного кода в таблице) соответствуют четырем младшим разрядам кода адреса ПЗУ. Старшие четыре разряда кода данных ПЗУ (левый, старший знак 16-ричного кода в таблице) соответствуют четырем выходным сигналам микропрограммного автомата. То есть непосредственно по 16-ричному коду данных из таблицы можно сказать, во-первых, каким будет следующий адрес ПЗУ, и во-вторых, какими будут выходные сигналы автомата в следующем такте.

    Рассмотрим пример микропрограммы (табл. 11.8), реализующей некоторые элементарные функции.

    Верхняя (нулевая) строка таблицы демонстрирует последовательный перебор адресов памяти при нулевых входных сигналах. Пусть, например, автомат находится в адресе 00. В ячейке с адресом 00 указан следующий адрес 1 (младший знак 16-ричного кода 11), то есть в следующем такте автомат перейдет в адрес 01 (считаем, что входные сигналы остаются нулевыми). Из адреса 01 автомат перейдет в адрес 02, так как в ячейке с адресом 01 указан следующий адрес 2. Точно так же из адреса 02 автомат перейдет в адрес 03 и так далее до адреса 0F, в котором указан следующий адрес 0, то есть в следующем такте автомат снова вернется в адрес 00. Затем цикл последовательного прохождения адресов первой строки повторится (если, конечно, входные сигналы останутся нулевыми). Четыре выходных сигнала автомата в данном случае повторяют код следующего адреса, то есть, подобно 4-разрядному двоичному счетчику, выдают постепенно нарастающий код.

    Вторая сверху (первая) строка таблицы демонстрирует циклическое повторение группы тактов. Если, например, работа начинается с адреса 10, то микропрограммный автомат последовательно будет перебирать адреса 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, а затем вернется в адрес 15 и будет постоянно повторять группу адресов 15, 16, 17, 18, 19. В данном случае мы считаем, что входной сигнал "Вх. 1" постоянно равен единице, а входной сигнал "Вх. 2" постоянно равен нулю, что и соответствует второй сверху строке таблицы.

    Посмотрим теперь, что будет делать автомат, если входной сигнал "Вх. 2" постоянно равен нулю, а входной сигнал "Вх.1" меняет свое состояние с нуля на единицу и обратно. Такое переключение входных сигналов приводит к переходу между нулевой и первой строками таблицы с микропрограммой. Допустим, автомат начинает работу с адреса 00 (сигнал "Вх. 1" равен нулю). Идет последовательный перебор адресов нулевой строки. Даже если в течение первых девяти тактов сигнал "Вх. 1" будет меняться, на выходных сигналах автомата это никак не отразится, так как коды первых девяти адресов в нулевой и первой строках полностью совпадают. Поэтому можно сказать, что в этих первых девяти тактах мы отключили реакцию нашего автомата на входной сигнал "Вх. 1" за счет дублирования кодов.

    Допустим теперь, что изначально нулевой входной сигнал "Вх. 1" стал равен единице в адресе 0А и далее не меняется. Это приведет к тому, что вместо адреса 0В автомат перейдет в адрес 1В. Затем он пройдет адреса 1С...1F, перейдет в адрес 10, дойдет до адреса 19 и начнет повторять цикл 15...19. Если же, например, в адресе 18 сигнал "Вх. 1" снова станет равен нулю, то вместо адреса 19 автомат попадет в адрес 09 и далее будет выполнять микропрограмму нулевой строки.

    Третья сверху (вторая) строка таблицы, которая соответствует входным сигналам Вх. 1 = 0, Вх.2 = 1, показывает пример остановки автомата в каждом адресе и ожидание прихода входного сигнала. Например, автомат находится в адресе 23. Следующим адресом в коде данной ячейки указан 3. Значит, если входные сигналы остаются неизменными, то автомат перейдет опять же в адрес 23 и будет оставаться в нем постоянно. Но если входной сигнал "Вх.2" станет равным нулю, автомат перейдет в адрес 03 и начнет выполнять микропрограмму нулевой строки. То есть переключение входного сигнала "Вх.2" из нуля в единицу при нулевом уровне "Вх.1" останавливает выполнение микропрограммы нулевой строки до обратного перехода входного сигнала "Вх.2" в нуль.

    Наконец нижняя (третья) строка таблицы демонстрирует переход из любого адреса строки в нулевой адрес этой же строки. Пусть, например, выполняется микропрограмма нулевой строки ("Вх. 1" и "Вх. 2" — нулевые) и в адресе 06 оба входных сигнала переходят в единицу. Автомат попадает в адрес 37, а из него — в адрес 30, где и остается постоянно до изменения входных сигналов. Если затем оба входных сигнала снова станут нулевыми, то автомат перейдет в адрес 00 и начнет снова выполнять микропрограмму нулевой строки таблицы.

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

    Рассмотрим теперь пример проектирования простейшего микропрограммного автомата.

    Пусть нам необходимо формировать с помощью микропрограммного автомата последовательность из трех выходных сигналов в ответ на положительный фронт одного входного сигнала (рис. 11.18).


    Рис. 11.18.  Диаграмма работы проектируемого микропрограммного автомата

    Второй выходной сигнал "вложен" в первый, а третий "вложен" во второй. Причем до тех пор, пока данная последовательность не закончится, входной сигнал может произвольно менять свое состояние, на работе схемы это никак не должно сказываться. А после окончания данной последовательности микропрограммный автомат снова должен ждать положительного фронта входного сигнала и начинать по нему выработку новой последовательности.

    Все временные сдвиги в выходной последовательности (t) примем для простоты одинаковыми и равными 1 мкс. Это значительно облегчает выбор тактовой частоты микропрограммного автомата, она должна быть равной 1 МГц (период 1 мкс). В этом случае полная длина генерируемой последовательности составит всего 6 тактов (один такт соответствует переходу всех выходных сигналов в единицу).

    Для формирования 6-тактовой последовательности необходимо не менее 3 адресных разрядов ПЗУ (так как 22 = 4, а 23 = 8). Еще один разряд адреса ПЗУ потребуется для входного сигнала схемы. Итого необходимо 4 адресных разряда ПЗУ.

    Для формирования трех выходных сигналов требуется три разряда данных ПЗУ. Еще три разряда данных ПЗУ нужно для задания следующего адреса при отработке выходной последовательности. Итого необходимо шесть разрядов данных ПЗУ.


    Рис. 11.19.  Спроектированный микропрограммный автомат

    Посчитаем требуемую разрядность выходного регистра. ПЗУ выдает шесть разрядов данных. Имеется один входной сигнал. Итого регистр должен фиксировать 7 сигналов, значит, он должен быть 7-разрядным.

    Итак, все расчеты закончены. Полученная схема микропрограммного автомата приведена на рис. 11.19. Она включает в себя тактовый генератор с частотой 1 МГц, микросхему ПЗУ типа РЕ3, у которой не используется один разряд адреса и два разряда данных, а также 8-разрядный регистр ИР27, у которого не используется один разряд. Для простоты на рисунке не показаны резисторы на выходах данных типа ОК микросхемы ПЗУ.

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

    Таблица 11.9. Микропрограмма для спроектированного автомата

    Адрес ПЗУ

    Данные ПЗУ

    Комментарий

    Код

    Вход

    Данные

    Вых.1

    Вых.2

    Вых.3

    Сл. адрес

    Код

    0

    0

    0

    0

    0

    1

    1

    1

    0

    0

    0

    38

    Ожидание полож. фронта Вх.

    8

    1

    0

    0

    0

    0

    1

    1

    0

    0

    1

    19

    Пришел положительный фронт входного сигнала. Отработка последовательности. Входной сигнал равен единице.

    9

    1

    0

    0

    1

    0

    0

    1

    0

    1

    0

    0A

    A

    1

    0

    1

    0

    0

    0

    0

    0

    1

    1

    03

    B

    1

    0

    1

    1

    0

    0

    1

    1

    0

    0

    0C

    C

    1

    1

    0

    0

    0

    1

    1

    1

    0

    1

    1D

    D

    1

    1

    0

    1

    1

    1

    1

    1

    0

    1

    3D

    Ожидание Вх.=0








































    1

    0

    0

    0

    1

    0

    0

    1

    0

    1

    0

    0A

    Вх. стал равен нулю до окончания последовательности

    2

    0

    0

    1

    0

    0

    0

    0

    0

    1

    1

    03

    3

    0

    0

    1

    1

    0

    0

    1

    1

    0

    0



    4

    0

    1

    0

    0

    0

    1

    1

    0

    0

    0

    18

    Переход на ожидание фронта

    5

    0

    1

    0

    1

    1

    1

    1

    0

    0

    0

    38

    Переход на ожидание фронта








































    6

    0

    1

    1

    0

    1

    1

    1

    0

    0

    0

    38

    Не используемые ячейки

    7

    0

    1

    1

    1

    1

    1

    1

    0

    0

    0

    38

    E

    0

    1

    1

    0

    1

    1

    1

    0

    0

    0

    38

    F

    0

    1

    1

    1

    1

    1

    1

    0

    0

    0

    38

    Отключение реакции на входной сигнал достигается в микропрограмме за счет дублирования участка отработки выходной последовательности при входном сигнале, равном нулю, и при входном сигнале, равном единице. Если в конце выходной последовательности входной сигнал равен единице, то схема ожидает сначала перехода входного сигнала в нуль (отрицательный фронт), а затем уже ждет положительного фронта входного сигнала. Если в конце последовательности входной сигнал равен нулю, то схема сразу же переходит на ожидание положительного фронта входного сигнала.

    Все неиспользуемые микропрограммным автоматом ячейки заполнены командами перехода в начальное состояние схемы с пассивными (единичными) выходными сигналами. Таким решением обеспечивается правильное начало работы микропрограммного автомата при любом начальном адресе (при любом начальном коде в регистре). Начальный сброс автомата не используется.

    Последний микропрограммный автомат, который мы рассмотрим в данном разделе, предназначен для дешифрации (декодирования) последовательного кода Манчестер-II, применяющегося для последовательной передачи данных на большие расстояния, в частности, в локальных сетях. Этот код уже упоминался в лекции 7 (см. рис. 7.16 и 7.17). Там был рассмотрен кодировщик кода Манчестер-II.

    Дешифрация (декодирование) этого кода гораздо сложнее кодирования (рис. 11.20). Она требует выделения "правильных", информационных фронтов в середине битовых интервалов (помечены на рисунке кружками) и отсечение "неправильных" фронтов между битовыми интервалами (помечены на рисунке крестиками). Для этого нужно после первого (информационного) фронта в течение временного интервала 0,75Т не реагировать на приходящие фронты входного сигнала, а затем снова обрабатывать любой приходящий фронт, снова выдерживать интервал 0,75Т и т.д. При приходе "правильных", информационных фронтов (в середине битовых интервалов) необходимо формировать выходные синхросигналы, по которым фиксируется (в регистре) информация из сигнала в коде Манчестер-II.

    1   ...   28   29   30   31   32   33   34   35   ...   42


    написать администратору сайта