Цифровые автоматы – общие сведения Автомат — математическая модель дискретного устройства Автомат описывается набором множеств: A = {a1 … aN} — множество значений состояний устройства Z = {z1 … zN} — множество значений входных управляющих сигналов W = {w1 … wN}— множество значений выходных сигналов δ — функция переходов от текущего состояния аn в следующее состояние an+1 λ — функция зависимости выходов от значений аn и zn а1 — начальное состояние автомата Автомат Мили Автомат Мура an+1 = δ(an, zn) an+1 = δ(an, zn) wn = λ(an, zn) wn = λ(an) 1 Классификация триггеров Триггеры Асинхронные Синхронные Статические Динамические RS RS, JK, T, D RS, JK, T, TV, D, DV Переключаются по изменениям на управляющих входах Переключаются по изменениям на управляющих входах при разрешающем значении синхросигнала Устанавливаются в момент переключения синхросигнала 2 Базовые КМОП триггерные схемы Происхождение Бистабильная ячейка Асинхронный RS-триггер Синхронный D-триггер (D-latch, защелка) 3 Базовые КМОП триггерные схемы Ввод синхросигнала Асинхронный RS-триггер Бистабильная ячейка Синхронный статический RS-триггер Синхронный статический D-триггер 4 Базовые КМОП триггерные схемы Динамическая синхронизация с помощью коммутируемых ячеек Синхронный динамический RS-триггер 5 Базовые КМОП триггерные схемы Двухступенчатая динамическая синхронизация (master-slave = ведущий-ведомый = flip-flop) master slave master slave master slave 6 Cхемы триггеров Двухступенчатые динамические триггеры (Master-Slave) 7 Cхемы триггеров Динамические триггеры на коммутируемых ячейках 8 Cхемы триггеров Триггеры типа Master-Slave на проходных ключах сделать в 2020-2021г. Поправить JK 9 Cловарь и характеристическое уравнение RS триггера Текущее RS триггер значение След. значение 10 _ Qn+1=S + R∙Qn _ _ Qn+1=(S+R∙Qn)C + C∙Qn Qn R S Qn+1 0 X 0 0 0 0 1 1 1 1 0 0 сделать в 2020-2021г. 1 0 X 1 Дополнить диаграммами сигналов *) “Cловарь” определяет необходимые значения функций возбуждения для обеспечения перехода триггера из текущего значения в следующее **) Во всех таблицах активный уровень равен 1 Cловарь и характеристическое уравнение JK триггера Текущее значение JK триггер След. значение 11 _ _ Qn+1=J∙Qn + K∙Qn _ _ _ Qn+1=(J∙Qn + K∙Qn)C + C∙Qn Qn K J Qn+1 0 X 0 0 0 X 1 1 1 1 X 0 сделать в 2020-2021г. 1 0 X 1 Дополнить диаграммами сигналов Cловарь и характеристическое уравнение D триггера 12 Qn+1=D Текущее значение D тр-р След. значение Qn D Qn+1 0 0 0 0 1 1 1 0 0 сделать в 2020-2021г. 1 1 1 Дополнить диаграммами сигналов _ Qn+1=D∙C + C∙Qn Cловарь и характеристическое уравнение TV триггера 13 _ _ Qn+1=Qn∙V + V∙Qn _ _ _ Qn+1=Qn∙V∙T + (V+T)∙Qn Текущее значение TV тр-р След. значение Qn V Qn+1 0 0 0 0 1 1 1 1 0 сделать в 2020-2021г. 1 0 1 Дополнить диаграммами сигналов Cловарь и характеристическое уравнение DV триггера Текущее значение DV триггер След. значение 14 _ Qn+1=D∙V + V∙Qn _ _ Qn+1=D∙V∙C + (V+C)∙Qn Qn D V Qn+1 0 X 0 0 1 0 0 1 1 1 1 0 1 0 сделать в 2020-2021г. 1 X 1 0 1 1 Дополнить диаграммами сигналов 15 Сводный словарь триггеров Текущее значение RS триггер JK триггер D тр-р TV тр-р DV триггер Следующее значение Qn R S K J D V D V Qn+1 0 X 0 X 0 0 0 X 0 0 1 0 0 0 1 X 1 1 1 1 1 1 1 1 0 1 X 0 1 0 1 0 1 0 X 0 X 1 0 X 1 0 1 1 Расширение алфавита управления 16 Асинхронный сброс и установка Бистабильная ячейка Асинхронный RS-триггер Синхронный D-триггер (D-latch, защелка) Захват единицы (нуля) в MS-триггерах («лишнее» переключение триггера) TV-триггер m-s типа: Нормальная работа при запрещающем переключении V в первой половине периода тактового сигнала. 17 Захват единицы (нуля) в MS-триггерах («лишнее» переключение триггера) TV-триггер m-s типа: «Захват единицы» при запрещающем переключении V во второй половине периода тактового сигнала В каких еще триггерах срабатывает эффект захвата? 18 Цифровые автоматы – структурные схемы Автомат Мили an+1 = δ(an, zn) wn = λ(an, zn) 19 Автомат Мура an+1 = δ(an, zn) wn = λ(an) zn zn δ δ an+1 an+1 A an λ wn A an λ wn Классификация счетчиков Счетчики 20 Вообще, любой цифровой автомат с замкнутым циклом смены состояний можно считать счетчиком. Асинхронные Синхронные Кольцевые Двоично-кодированные Полные Суммирующие Неполные Вычитающие Полные счетчики (Делители частоты) Асинхронный Vi = 1 C0 = CLK Ci = !Qi-1 Cинхронный V0 = 1 Vi = Vi-1∙!Qi-1 Ci = CLK 21 Асинхронные цифровые автоматы – основной недостаток Автомат Мили Автомат Мура δ(A, Z) – комбинационная логика разность логических путей, «гонки» сигналов риски сбоев в асинхронных автоматах 22 Не полные счетчики с асинхронным сбросом 1 1 1 1 1 0 0 Асинхронный Синхронный Пример: вычитающий счетчик с модулем счета 5 Установка в значение Qn+1 = 4 происходит при Q = 7 НО в жизни не все т ак прост о (см. следующий слайд) 23 1 Не полные счетчики с асинхронным сбросом 1 1 1 1 1 0 0 Асинхронный Cинхронный НЕ РАБОТАЕТ РАБОТАЕТ 24 1 Не полные счетчики с асинхронным сбросом 1 1 1 RESET 0 Ожидаемый счет 4→3→2→1→0→4→… НО переключение Qi идет последовательно Q0 Q1 Q2 4→5→7→3→0→4→… RESET0,1 25 Кольцевой счетчик (счетчик в коде “1 из N”, унитарный счетчик) 26 Вариант 1: • на базе сдвигового регистра • N состояний → N триггеров • обязательная инициализация • риск неустранимых ошибок типа “лишние 1/0” Автомат Мура: Fj=Q j-1; F0=QN-1 Вариант 2: • на базе сдвигового регистра • N состояний → N-1 триггеров • ??? • автоматический вход в рабочий цикл за ≤N-2 тактов (автоматическое исправление ошибок) Автомат Мили: Fj=Qj-1; G0=QN-1=ΣQi Счетчик Джонсона и кольцевой счетчик на его основе 27 Счетчик Джонсона: • на базе сдвигового регистра • N состояний → N/2 триггеров • обязательная инициализация • риск неустранимых сбоев типа “лишние 1/0” Сравнение с кольцевым счетчиком на базе регистра Вар. 3 кольцевого счетчика: • на базе счетчика Джонсона • N состояний → N/2 триггеров • риск неустранимых сбоев типа “лишние 1/0” _ • простое получение выходных функций Gi Регистры Базовая ячейка универсального регистра (ячейка произвольного автомата с 8-ю состояниями) 28 Регистры сдвига Shift_Righti - Qi-1 Shift_Right0 - Data_IN Shift_Lefti - Qi+1 Shift_LeftN - Data_IN Параллельный регистр MUX режимов параллельной записи и хранения Data_Parraleli = Datai Data_Storei = Qi Реверсивный регистр MUX режимов сдвига Универсальный регистр (см. рисунок) MUX режимов сдвига, параллельной записи и режима хранения 29 Сруктурная схема автомата как автомат Мура F {D, V, R,S, J,K} F как автомат Мили M OUT=Qn M {D, V, R,S, J,K} F Qn Q F Qn Q G OUT Q – набор ячеек памяти, хранящих текущее внутреннее состояние автомата (триггеры) F – комбинационный блок управления, определяющий следующее состояние (функции возбуждения триггеров) G – комбинационный блок, формирующий набор выходных сигналов 30 Сводный словарь триггеров Текущее значение RS триггер JK триггер D тр-р TV тр-р DV триггер Следующее значение Qn R S K J D V D V Qn+1 0 X 0 X 0 0 0 X 0 0 1 0 0 0 1 X 1 1 1 1 1 1 1 1 0 1 X 0 1 0 1 0 1 0 X 0 X 1 0 X 1 0 1 1 Граф и таблица переходов автомата ∀\Qn M=1 ∀\Qn 0 M=0 Пример - двухрежимный счетчик M=1 12 M=0 1 11 2 10 3 9 4 8 5 7 6 Какой тип автомата в таблице ? 31 Полные двоично-кодированные счетчики. Функции возбуждения F i -1 •На базе TV-триггера: {D, V} F Qn 0 0 1 1 Vi ïîëí = ∏ Q j j =0 ⊕ i -1 •На базе D-триггера: Q Qn 32 Diïîëí = Qi ∏Q j i =0 V 0 1 1 0 D Qn+1 0 0 1 1 0 0 1 1 Какой тип автомата на структурной схеме? Направление счета при указаных Fi? Составить все варианты Fi для RS и JK триггеров по «словарям» с учетом произвольных значений Х Неполные двоично-кодированные счетчики. Методы синтеза 33 1 Асинхронная установка/сброс • простое решение • обязательное появление «лишнего» состояния • риск появления ложных импульсов в комбинационной логике сброса • раcсинхронизация выходных сигналов Функция сброса: CLR=mN – минтерм СДНФ, соответствующий значению Q, при появлении которого требуется сбросить счетчик Как соотносятся N и величина модуля счета? Неполные двоично-кодированные счетчики. Методы синтеза 2 Синхронная установка/сброс • простое решение • нет «лишнего» состояния • ложные импульсы в комбинационной логике сброса не мешают работе • разсинхронизация выходных сигналов ___ Fi=Fiполн∙CLR+Ficlr∙CLR F F Qn Q CLR=mN – функция сброса Fclr – значение функции возбуждения, приводящее к сбросу Как соотносятся N и величина модуля счета? 34 Неполные двоично-кодированные счетчики. Методы синтеза 35 2 Синхронная установка/сброс (продолжение) F Примеры: • Счетчик на D-триггерах ___ ___ Diclr=0 → Di=Diполн∙CLR ___ F Qn ___ (Di=Diполн·CLR+Diclr·CLR=Diполн·CLR+0·CLR=Diполн·CLR) Q • Счетчик на TV-триггерах ___ Viclr=Qi → Vi=Viполн∙CLR+Qi∙CLR Qn Viclr=1 → Vi=Viполн+CLR 0 ___ ___ ___ полн полн полн (Vi=Vi ·CLR+Qi·CLR=Vi ·CLR+1·CLR=Vi ·CLR+CLR+Viполн·CLR=Viполн+CLR) ___ Viclr=0 → Vi=Viполн∙CLR 0 1 1 V 0 1 1 0 D Qn+1 0 0 1 1 0 0 1 1 Неполные двоично-кодированные счетчики. Методы синтеза 3 Исключение лишних состояний Модификация функции сброса ________ CLR = f(Q≥mN) = f(Q<mN) 4 Исключение части лишних состояний Модификация функции сброса Упрощение CLR методом минимизации по к.Карно Пример: суммирующий счетчик с Ксч=10 CLR2=Q3∙Q2∙Q1∙Q0 – все Х в к.Карно заменить нулем CLR3=Q3∙(Q2+Q1+Q0) – все Х в к.Карно заменить единицей CLR4=Q3∙Q0 – МДНФ, только выделенные Х заменить единицей Возможны ли «зависания» автомата при попадании в «лишние» состояния? 36 Неполные двоично-кодированные счетчики. Методы синтеза 5 Прямой синтез функций возбуждения а – Минимизация по картам Карно (Вейча) Пример: суммирующий счетчик с Ксч=10 б – Анализ алгоритма работы автомата Пример: Dn=(Qn+1) ∙CLR в – Другие методы Возможны ли «зависания» автомата при попадании в «лишние» состояния? 37 Cинхронизация блоков в тракте цифровой обработки сигналов 38 Простое размножение тактового сигнала: • простая схема с промежуточной регенерацией формы тактового сигнала • накопление рассинхронизации на неоднородностях элементов и разностях физических длин проводников ФАПЧ – фазовая автоподстройка частоты: • автокоррекция периода синхросигнала • аналоговая схема → постоянное потребление [Угрюмов Е.П., Цифровая схемотехника] Cинхронизация блоков в тракте цифровой обработки сигналов Однофазная: • строго динамические триггеры • строгие интервалы между фазами ЦОС 39 Двухфазная (многофазная): • могут использоваться триггеры-защелки • можно варьировать интервалы между фазами ЦОС • необходимо формирование системы синхросигналов Почему ограничен выбор триггеров? [Угрюмов Е.П., Цифровая схемотехника] Некоторые специальные применения триггеров 40 Синхронизация информационных сигналов • Подавление метастабильных состояний добавочным триггером • Подавление коротких импульсов данных • Нормирование длины импульсов Синхронизация информационных сигналов • Подавление метастабильных состояний добавочным триггером • Расширение коротких импульсов данных • Нормирование длины импульсов Вариант схемы одновибратора • Формирование одиночного импульса стандартной длины в ответ на импульс данных неопределенной длины [Ульрих Титце, Кристоф Шенк, Полупроводниковая схемотехника, том I] Некоторые специальные применения триггеров 41 Детектор переключения сигнала Y01 – переключение Х из 0 в 1 Y10 – переключение Х из 1 в 0 Y – любое переключение Х Применение: Асинхронный сброс(установка) при переключении режима автомата Некоторые специальные применения триггеров 42 Устранение дребезга контактов механических переключателей [Ульрих Титце, Кристоф Шенк, Полупроводниковая схемотехника, том I] Двунаправленный обмен данными. Общие шины 43 Двунаправленный обмен данными. Общие шины 44