Реферат: Микросхема ПЗУ в управляющем автомате с МПУ выбрана неверно
Название: Микросхема ПЗУ в управляющем автомате с МПУ выбрана неверно Раздел: Рефераты по коммуникации и связи Тип: реферат | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Московский Авиационный институт (технический университет) КАФЕДРА 403
к курсовой работе по дисциплине Вычислительные системы и микропроцессорная техника выполнил: студент гр. 04-417 Левин О.А. проверил: Герасимов А.Л. МОСКВА 1997 Содержание Анализ задания - 2 Комбинационный вариант - 2 Алгоритм работы устройства - 4 Микропрограмма - 5 Управляющий автомат с жесткой логикой - 5 Управляющий автомат с МПУ - 8 Выбор элементной базы - 10 Составление программы - 12 Задание ВАРИАНТ №17 Задается входной код D{1:32}. Спроектировать вычислитель, который определяет номер разряда самой первой и самой последней единиц, стоящих между нулями. Предусмотреть реакцию проектируемого устройства в случае отсутствия таких сигналов. Анализ и уточнение задания Так как входной код - тридцатидвухразрядный, то для получения интересующей нас информации необходимо два выходных шестиразрядных кода. Реакцией устройства в случае отсутствия интересующих нас кодовых комбинаций будет значение первого и второго выходных кодов соответственно: Очевидно, что в тридцатидвухразрядном коде единица, стоящая между двумя нулями ни при каких обстоятельствах не может находится ни в первом ни в тридцать втором разряде кода. Тактовая синхронизация будет осуществляться внешним генератором тактовых импульсов с частотой 20 МГц По окончании обработки входного кода должен вырабатываться специальный сигнал, позволяющий следующему устройству считать выходные данные с проектируемого устройства. Обобщенная функциональная схема проектируемого устройства может быть представлена в следующем виде: D{1:32} B{1:6} F C{1:6} СТРОБ УСЧИТ Рисунок 1 Обобщенная функциональная схема устройства Комбинационный вариант устройства Функциональная схема комбинационного устройства, осуществляющего параллельную обработку входного кода представлена на рисунке 2. Входной код D{1:32} разбивается на пересекающиеся элементы по три разряда: D’{1:3}, D’{2:4},...D’{30:32}. Крайние разряды D’ проходят через инверторы DD1, DD3, DD4, DD6, DD7, DD9,...DD88, DD90. Проинвертированные крайние разряды вместе с центральным разрядом элемента поступают на логическую схему И, на выходе которой в случае если D{i-1, i, i+1}=010 сформируется высокий логический уровень напряжения, приводящий в действие соответствующий элемент индикации на внешней панели устройства. При визуальном контроле внешней панели устройства по расположению работающих элементов индикации можно определить номер разряда первой и последней единиц, стоящих между нулями. Для реализации данной схемы потребуется 20 микросхем 1533ЛН1 (6 логических элементов НЕ), 10 - КР1533 (3 элемента 3И), 4 - КР531ЛЕ7 (2 элемента 5 ИЛИ-НЕ), 1 - 1533ЛИ6 (2 элемента 4И), 1 - 1533ЛИ1 (4 элемента 2И). Основным недостатком данной схемы является невозможность дальнейшей обработки выходной информации. НАЧАЛО НЕТ СТРОБ РЕГ В {1:32}=D{1:32} РЕГ А{1:32}=РЕГ В{1:32} СЧЕТ Ц1=2 ДА РЕГ А{1}=0 & РЕГ А{2}=1 & РЕГ А{3}=0 НЕТ РЕГ А{1:32}=РЕГ А{2:32}.0 СЧЕТ Ц1=СЧЕТ Ц1 +1 НЕТ СЧЕТ Ц1=32 ДА РЕГ А{1:32}=РЕГ В{1:32} СЧЕТ Ц2=31 ДА РЕГ А{32}=0 & РЕГ А{31}=1 & РЕГ А{30}=0 НЕТ РЕГ А{1:32}=РЕГ А{1:31}.0 СЧЕТ Ц=СЧЕТ Ц -1 НЕТ СЧЕТ Ц=1 B {1:6}=СЧЕТ Ц1; С {1:6}=СЧЕТ Ц2 КОНЕЦ Рисунок 3 Блок-схема алгоритма работы устройства Микропрограмма Переменные: Входные: D{1:32} - входной код строб Выходные: В {1:6}, С{1:6} - выходной код Внутренние: РЕГ А{1:32}, РЕГ В{1:32} - регистры СЧЕТ Ц1{1:6}, СЧЕТ Ц2{1:6} - счетчики циклов Признаки: Р1 - строб=1 Р2 - РЕГ А{1}=0 & РЕГ A{2}= 1 & РЕГ А {3}=0 Р3 - РЕГ А{32}=0 & РЕГ A{31}= 1 & РЕГ А {30}=0 Р4 - СЧЕТ Ц1 {1:6} = 32 Р5 - СЧЕТ Ц2 {1:6} = 1 Программа М1 ЕСЛИ НЕ Р1 ТО М1 (СТРОБ) РЕГ В{1:32}=D {1:32} (УЗАП1) РЕГ А{1:32}=РЕГ В {1:32} (УН1) СЧЕТ Ц1 {1:6} =2 М2 ЕСЛИ Р2 ТО М3 (УСДВ1) РЕГ А{1:32}=РЕГ А{2:32}.0 } (УСЧ1) СЧЕТ Ц1 {1:6}=СЧЕТ Ц1 {1:6}+1 } УЭ1 ЕСЛИ НЕ Р4 ТО М2 М3 (УЗАП1) РЕГ А{1:32}=РЕГ В {1:32} (УН2) СЧЕТ Ц2 {1:6} =31 М4 ЕСЛИ Р3 ТО М5 (УСДВ2) РЕГ А{1:32}=0.РЕГ А{1:31} } (УСЧ2) СЧЕТ Ц2 {1:6}=СЧЕТ Ц2 {1:6}-1 } УЭ2 ЕСЛИ НЕ Р5 ТО М4 М5 (УСЧИТ1) В{1:6}=СЧЕТ Ц1 {1:6} } (УСЧИТ2) С{1:6}=СЧЕТ Ц2 {1:6} } УЭ3 КОНЕЦ (ИДТИ К М1) Как видно из текста микропрограммы, некоторые сигналы можно объединить и заменить эквивалентными сигналами. Функциональная схема операционной части устройства приведена на рисунке 4. Управляющий автомат с жесткой логикой будет реализовываться в виде классического конечного автомата Мили или Мура. На основании блок-схемы алгоритма работы устройства определим количество состояний для каждого типа автомата. Обозначим состояния автомата Мура буквой S, а состояния автомата Мили - S’. Как видно из рисунка 5, у автомата Мура будет шесть состояний, в то время как у автомата Мили - лишь четыре. НАЧАЛО S0 S’0 0 Р1 УН 1, УЗАП 1 S1 0 S’1 1 Р2 УЭ 1 S2 УЗАП 1, УН 2 S3 0 Р4 S’2 УЗАП 1 УН 2 S3 0 S’3 1 Р3 УЭ 2 S5 УЗАП 1 УЭ 3 S4 0 Р5 S’4 S6 УЗАП 1 УЭ 3 КОНЕЦ S’0 Рисунок 5. Состояния конечных автоматов Мили и Мура. Таким образом, определим, что управляющее устройство необходимо синтезировать в виде конечного автомата Мили Р1/— P1/УН 1, УЗАП 1 Р2/УЭ 1 Р4/УН 2, УЗАП 1 Р3/УЭ 2 S0 S1 S2 S3 S4 Р4/— Р5/— Р2/УН 2, УЗАП 1 Р3/УЭ 3 Р5/УЭ 3 Граф состояний автомата Мили.
Таблица 1 Кодированная таблица состояний .
Таблица 2 Таблица переходов и выходов
Таблица 3 Кодированная таблица переходов и выходов Если в конечном автомате будет применяться D-триггер, то будут справедливы равенства: Q1 (t+1) = НЕ Q1*НЕ Q2*Q3*P2 + НЕ Q1*Q2*Q3*P4 + Q1*Q2*Q3*НЕ P3+ Q1*НЕ Q2*Q3*НЕ P5 [20 входов] Q2 (t+1) = НЕ Q1*НЕ Q2*Q3*P1 + НЕ Q1*Q2*Q3*НЕ P4 + Q1*НЕ Q2*Q3*НЕ P5 [15 входов] Q3 (t+1) = НЕ Q1*НЕ Q2*НЕ Q3*P1 + НЕ Q1*НЕ Q2*Q3 + НЕ Q1*Q2*Q3 + Q1*Q2*Q3*НЕ P3 + Q1*НЕ Q2*Q3*НЕ P5 = =НЕ Q1*НЕ Q2*НЕ Q3*P1 + НЕ Q1*Q3 + Q1*Q2*Q3*НЕ P3 + Q1*НЕ Q2*Q3*НЕ P5 [18 входов] Для реализации автомата на D-триггерах потребуется 43 входа. Если будет использоваться J-K триггер, то уравнения для него можно получить из уравнений для D-триггера: Q (t+1)=J*Q+K*Q Q(T+1)=J*HE Q + HE K*Q J1=НЕ Q2*Q3*P2+Q2*Q3*P4=Q3*(НЕ Q2*P2+Q2*P4) [6 входов] K1=(Q2*Q3*НЕ P3+НЕ Q2*Q3*НЕ P5)=(Q2*Q3*НЕ P3)*(НЕ Q2*Q3*НЕ P5)=(НЕ Q2+ НЕ Q3+P3)*(Q2+НЕ Q3+P5) [8 входов] J2=(НЕ Q1*Q3+Q1*Q3*НЕ P5)=Q3*(НЕ Q1+Q1*НЕ P5) [6 входов] K2=(НЕ Q1*Q3*P4) = Q1+НЕ Q3+НЕ P4 [3 входа] J3=НЕ Q1*НЕ Q2*P1 [3 входа] K3=(НЕ Q1*НЕ Q2+НЕ Q1*Q2+Q1*Q2*НЕ P3+Q1*НЕ Q2*НЕ P5) = (НЕ Q1+Q1*(Q2+НЕ Q2*НЕ P5)) =Q1*(НЕ Q1+(Q2+НЕ Q2*НЕ P5)) = Q1*НЕ Q2*(Q2+P5) = Q1*НЕ Q2*P5 [3 входа] Для реализации автомата на J-K-триггерах потребуется 29 входов, поэтому автомат будет реализовываться на них. Управляющие сигналы на основе таблицы переходов и выходов будут формироваться следующим образом УН 1=НЕ Q1*НЕ Q2*НЕ Q3*P1 УЭ 1=НЕ Q1*НЕ Q2*Q3*НЕ P2 УН 2=НЕ Q1*Q2*Q3*P4+НЕ Q1*НЕ Q2*Q3*P2 УЭ 2=Q1*Q2*Q3*НЕ P3 УЭ 3=Q1*НЕ Q2*Q3*P5+Q1*Q2*Q3*P3 УЗАП1=УН 1+УН 2 управлением Принудительная адресация Каноническая форма микропрограммы разрабатываемого устройства с учетом эквивалентности сигналов представлена в таблице 4:
Таблица 4 Каноническая форма микропрограммы .
Таблица 5 Кодовые выражения микропрограммы. Минимальная требуемая емкость ПЗУ - (или 2К*4 Бит) Естественная адресация
Таблица 6 Каноническая форма микропрограммы.
Таблица 7 Кодовые выражения микропрограммы Необходимый объем ПЗУ может быть уменьшен путем шифрации маски признаков.
Таблица 8 Минимизированные кодовые выражения микропрограммы Минимальная требуемая емкость ПЗУ - (или 256*4 Бит), что меньше, чем требуется для принудительной адресации, поэтому будем применять естественную адресацию. Функциональная схема управляющего автомата с микропрограммным управлением показана на рисунке 7. Устройство будем реализовывать на интегральных микросхемах серий 1533, так как микросхемы этой серий обладают наиболее оптимальными параметрами среди современных микросхем. 1
Таблица 9 Основные электрические параметры микросхем серии 1533 Выходное напряжение низкого уровня - не более 0,5 В Выходное напряжение высокого уровня - не менее 2 В Выходной ток - не менее -30 мА и не более -112 мА Входной ток - не более 0,1 мА Входной ток высокого уровня - не более 20 мкА Входной ток низкого уровня - не более 0,2 мкА Работа переключения - 4 пДж Коэффициент разветвления по выходу - 40 Предельно допустимые режимы эксплуатации Напряжение питания - не менее 4,7 В и не более 5,5 В Входное напряжение высокого уровня - не менее 2 В и не более 5,5 В Входное напряжение низкого уровня - не менее 0 В и не более 0,8 В Основными элементами устройства являются счетчики и регистры. Счетчик будет реализован на двух микросхемах 1533ИЕ7 - четырехразрядном синхронном реверсивном счетчике. Он имеет три основных режима: параллельная асинхронная загрузка кода по входам Di при поступлении отрицательного ипульса на вход С, режим суммирования и режим вычитания. В двух последних режимах счетные импульсы подают на различные входы: суммирования и вычитания. Входной код будет записываться в восемь четырехразрядных универсальных регистра сдвига на микросхемах КР531ИР11. Регистр функционирует в одном из четырех режимов, которые задаются двухразрядным кодом на входе S. Параллельный ввод информации со входа в происходит синхронно, по положительному фронту тактового импульса.
Таблица 10 Таблица истинности регистра КР531ИР11 Характеристики ППЗУ КР556РТ4 Емкость - 256х4 Бит Время задержки - 70 нс Потребляемая мощность - 690 мВт Тип выхода - ТТЛ-ОК Исходное состояние - 0 Составление программы Программа на ассемблере НАЧАЛО СЧЕТЧИК=02Н АККУМУЛЯТОР= =1-ый справа байт кода Маскирование последних 3 бит АККУМУЛЯТОРА АККУМУЛЯТОР= 010В НЕТ Сдвиг кода на разряд вправо СЧЕТЧИК=СЧЕТЧИК+1 СЧЕТЧИК=32 Запись значения счетчика в память СЧЕТЧИК=02Н АККУМУЛЯТОР= =1-ый слева байт кода Маскирование первых 3 бит АККУМУЛЯТОРА ДА АККУМУЛЯТОР= 01000000В 2 3 1 1 2 3 Сдвиг кода на разряд влево СЧЕТЧИК=СЧЕТЧИК-1 НЕТ СЧЕТЧИК=1 Запись значения счетчика в память КОНЕЦ Для нормального функционирования программы необходимо предварительно занести входной код, предварительно поделенный на байты в следующие ячейки памяти: 0800Н - 0803Н (в 0800Н - крайний левый байт кода и т.д.) и 0804Н - 0807Н (в 0804Н - крайний левый байт кода и т.д.)
Программа на языке BASIC Программа была составлена на языке BASIC и отлажена на IBM-совместимом компьютере. Текст программы REM Программа по курсовой работе (каф 403). REM Список переменных: REM SCHET% - счетчик циклов. REM D% - входной код. REM B%, C% - выходные коды. CLS REM Задается размерность входного кода. DIM D%(32) REM Установка списка данных в начальное положение. RESTORE REM Запись входного кода. Цикл. FOR I%=1 TO 32 REM Чтение I-го элемента входного кода. READ D%(I%) NEXT I% REM Поиск первой комбинации 010. Цикл. FOR SCHET%=2 TO 31 REM Проверка совпадения. IF D%(SCHET%-1)=0 AND D%(SCHET%)=1 AND D%(SCHET%+1)=0 THEN GOTO 1 REM Сдвиг "окна". NEXT SCHET% REM Запись и вывод результата. 1 B%=SCHET%: PRINT "Номер первой единицы, стоящей между нулями: ";B% REM Поиск последней комбинации 010. Цикл. FOR SCHET%=31 TO 2 STEP -1 REM Проверка совпадения и запись результата. IF D%(SCHET%-1)=0 AND D%(SCHET%)=1 AND D %(SCHET%+1)=0 THEN GOTO 2 NEXT SCHET% REM Запись и вывод результата. 2 C%=SCHET%: PRINT "Номер последней единицы, стоящей между нулями: ";C% REM Входной код. DATA 0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,1 В результате работы программы, на экран было выведено сообщение: Номер первой единицы, стоящей между нулями: 7 Номер последней единицы, стоящей между нулями: 30 Использованная .литература Аванесян Г.Р. Лёвшин В.П. «Интегральные микросхемы ТТЛ, ТТЛШ» М93; Лебедев О.Н. «Применение микросхем памяти в электронных устройствах» М94; Мельников Б.С. Щеглов А.В. «Методические указания к курсовой работе...» М91; «Цифровые интегральные микросхемы» М94. Для заметок 1 Необходимые микросхемы регистров и ПЗУ в серии 1533 отсутствуют. |