- •Курсовая работа по теории автоматов
- •Часть 1: автомат Мили (кодовый замок)
- •Часть 2: автомат Мура (двоичный счетчик)
- •Часть 3: микропрограммный автомат на ппзу
- •Этапы проектирования и реализации цифровых устройств.
- •I. Первая часть курсового проекта. Этап 1. Идея.
- •Этап 2. Техническое задание.
- •Этап 3. Составление таблицы переходов и выходов автомата.
- •Этап 4. Кодирование элементов.
- •Этап 5. Выбор типа элементарных автоматов.
- •Этап 6. Заполнение кодированной таблицы переходов и выходов.
- •Этап 7. Составление системы булевых уравнений.
- •Этап 8. Минимизация системы булевых уравнений.
- •Э тап 9. Составление функциональной схемы. Этап 10. Разработка принципиальной схемы. Выбор технологии.
- •Этап 4. Кодирование элементов.
- •Этап 5. Выбор типа элементарных автоматов.
- •Этап 6. Заполнение кодированной таблицы переходов и выходов.
- •Этап 7. Составление системы булевых уравнений.
- •Этап 8. Минимизация системы булевых уравнений.
- •Этап 9. Составление функциональной схемы.
- •Этап 10. Разработка принципиальной схемы.
- •III. Третья часть курсового проекта Этап 1. Идея.
- •Этап 2. Техническое задание.
- •Этап 3. Кодирование элементов.
- •Этап 4. Составление таблицы переходов и выходов.
Этап 7. Составление системы булевых уравнений.
Для нашего устройства по кодированной таблице переходов и выходов составим следующие функции:
функции возбуждения элементарного автомата (триггеров D-типа) qi(t)
функцию выхода у1ф(t)
q2 (t) = 1 = 4(0100)+5(0101)+6(0110)+11(1011)
q1 (t) = 1 = 1(0001)+2(0010)+4(0100)+ 6(0110)
q0 (t) = 1 = 2(0010)+4(0100)+6(0110)+ 8(1000)
y1ф = 1 = (1111)
Логические уравнения представим в виде СДНФ (совершенной дизъюнктивной нормальной формы).
q2(t) = x1фQ2Q1Q0 + x1фQ2Q1Q0 + x1фQ2Q1Q0 + x1фQ2Q1Q0
q1(t) = x1фQ2Q1Q0 + x1фQ2Q1Q0 + x1фQ2Q1Q0 + x1фQ2Q1Q0
q0(t) = x1фQ2Q1Q0 + x1фQ2Q1Q0 + x1фQ2Q1Q0 + x1фQ2Q1Q0
yф = x1фQ2Q1Q0
Этап 8. Минимизация системы булевых уравнений.
В ходе минимизации нам нужно перевести уравнения в МДНФ (минимальную дизъюнктивную нормальную форму). Проведем эту минимизацию с помощью карт Карно.
X1фQ2Q1Q0 0010 2 |
X1фQ2Q1Q0 0011 3 |
X1фQ2Q1Q0 0001 1 |
X1фQ2Q1Q0 0000 0 |
X1фQ2Q1Q0 0110 6 |
X1фQ2Q1Q0 0111 7 |
X1фQ2Q1Q0 0101 5 |
X1фQ2Q1Q0 0100 4 |
X1фQ2Q1Q0 1110 14 |
X1фQ2Q1Q0 1111 15 |
X1фQ2Q1Q0 1101 13 |
X1фQ2Q1Q0 1100 12 |
X1фQ2Q1Q0 1010 10 |
X1фQ2Q1Q0 1011 11 |
X1фQ2Q1Q0 1001 9 |
X1фQ2Q1Q0 1000 8 |
По общей карте получим минимизированные формы уравнений системы:
q2
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
q1
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
q0
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
q2 = x1Q2Q1Q0 + x1Q2Q1Q0 + x1Q2Q1
q1 = x1Q1Q0 + x1Q2Q0 + x1Q2Q1Q0
q0 = x1Q1Q0 + x1Q2Q0 + x1Q2Q1Q0
y1 = x1Q2Q1Q0
Э тап 9. Составление функциональной схемы. Этап 10. Разработка принципиальной схемы. Выбор технологии.
Технологии производства твердотельных схем характеризуются своим базовым элементом.
Для нашей разработки выберем серию базовых элементов КР1533. Это И-НЕ элементы (элементы Шеффера), ТТЛ, питание +5В, минимальная задержка на вентиле 11нс.
Перейдем от МДНФ логических уравнений к И-НЕ форме при помощи закона Де-Моргана.
q2 = x1Q2Q1Q0 + x1Q2Q1Q0 + x1Q2Q1
q 1 = x1Q1Q0 + x1Q2Q0 + x1Q2Q1Q0
q 0 = x1Q1Q0 + x1Q2Q0 + x1Q2Q1Q0
y 1 = x1Q2Q1Q0
q2 = x1Q2Q1Q0 · x1Q2Q1Q0 · x1Q2Q1
q 1 = x1Q1Q0 · x1Q2Q0 · x1Q2Q1Q0
q 0 = x1Q1Q0 · x1Q2Q0 · x1Q2Q1Q0
y 1 = x1Q2Q1Q0
У равнения показывают, что для разработки принципиальной схемы нам необходимо иметь вентили 4И-НЕ и 3И-НЕ (КР1533ЛА1 и КР1533ЛА4), а также D-триггер (КР1533ТМ2).
Т ак будет выглядеть принципиальная схема:
Также необходимо выяснить, на какой тактовой частоте будет работать наше устройство. А именно, через какое минимальное время можно изменить x1ф на входе, чтобы сигнал от предыдущего x1ф успел пройти через три слоя вентилей, слой триггеров и по цепям обратной связи вернуться на вход комбинационной схемы автомата? Для этого нужно сложить задержки на каждом из этих элементов.
τmin = 11 нс + 11 нс + 11 нс + 20 нс = 53 нс
Fmax = 1/τmin = 18 МГц.
Fmax — это максимальная частота разгона, за которое автомат успеет учесть предыдущее значение на входе.
Рабочая частота, как правило, составляет 70-80% от максимальной, для стабильности и надежности.
Fрабочая = 0,7Fmax = 15 МГц
Еще одна важная задача, которая встает перед нами — фильтрация помех.
Для фильтрации низкочастотных помех, которые приходят извне, установим на входе питания 0...+5В электролитический конденсатор. Для фильтрации высокочастотных помех, которые появляются при переключении транзисторов, применяются керамические конденсаторы на каждом из корпусов (по входу питания 0...+5В).
Теперь необходимо согласовать все устройства: устройство ввода (три кнопки — «1», «0», «сброс»), логику автомата и электромагнитный привод замка.
Устройство согласования логики с механизмом представляет из себя усилитель тока.
Чтобы удерживать замок закрытым, необходима мощность в 20 Вт. Максимальные характеристики тока в нашем устройстве — 10 мА и 2В, что даёт P = IU = 20 мВт.
Коэффициент усиления устройства согласования будет равен 20 Вт / 20 мВт = 1000.
Усилитель выполняют в виде каскада из транзисторов с коэффициентом усиления по току β≈10.
Этот каскад собирают в едином корпусе.
Устройство согласования логики с датчиками должно предотвратить основную проблему контактов с механическим управлением — дребезг контактов.
Дребезг контактов — это помехи, которые возникают из-за упругости контактов. При нажатии они пружинят, и вместо единого сигнала подают на линию несколько паразитных импульсов.
Дребезг контактов нужно отфильтровать с помощью фильтра НЧ, а затем подать на вход триггера Шмидта. ТШ — это двухпороговое устройство с петлей гистерезиса, которое работает по следующей схеме:
Таким образом, формируется зона помехоустойчивости. Помехи в зоне перехода не приведут к изменению сигнала.
Теперь необходимо сформировать сигнал «Сброс». Фильтрацию на сброс можно и не ставить. «Сброс» устанавливает наш автомат в начальное состояние a0.
Рис10
Окончательно, принципиальная схема устройства согласования логики с датчиками будет выглядеть так:
П осле это выполним расчет параметров R и C:
Если кнопку устройства мы удерживаем 145 мс (для примеры мы взяли величину, равную PIN), то
2,3 RC < 145 мс
Rф = 1 кОм
Сф = (145*10-3)/(2,3*1000) = 60 мкФ
II. Вторая часть курсового проекта.
Этап 1. Идея.
Задача: разработать двоичный счетчик, который из исходного состояния, соответствующему своему PIN-коду при поступлении пяти импульсов на вход выдает следующие пять пин-кодов и возвращается в исходное состояние (свой пин-код).
Реализовать в виде автомата Мура (выход подавать с триггеров).
Всего на входе должно быть две кнопки: импульс и сброс.
Этап 2. Техническое задание.
Как и в первой части, определяем множества значений на входе, выходе; составляем граф множества состояний автомата.
Этап 3. Составление таблицы переходов и выходов автомата.
В автомате Мура одна такая таблица — отмеченная, в которой каждое состояние отмечено своим выходным сигналом.
Таблица 1.
выход |
PIN |
PIN+1 |
PIN+2 |
PIN+3 |
PIN+4 |
PIN+5 |
Вход \ сост |
a0 |
a1 |
a2 |
a3 |
a4 |
a5 |
X = СИ |
a1 |
a2 |
a3 |
a4 |
a5 |
a0 |
СБРОС |
a0 |
a0 |
a0 |
a0 |
a0 |
a0 |