МИНИСТЕРСТВО СВЯЗИ РОССИЙСКОЙ ФЕДЕРАЦИИ МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ К У Р С О В А Я Р А Б О Т А по теме “ Проектирование устройства сбора данных “ Студент гр. А19301 Рыбалко С. О. Введение :
Отрасль связи является одной из наиболее перспективных отраслей народного хозяйства с точки зрения возможностей применения средств цифровой и микропроцессорной техники. К числу областей возможного применения микропроцессоров (МП) на предприятиях, учреждениях и в системах связи наряду с такими признанными направления, как управление системами коммутации каналов и сообщений, автоматизация проектирования, относятся: создание автоматизированных систем управления технологическими процессами и информационно-измерительных систем, обеспечивающих автоматизацию измерений, контроля исправности аппаратуры и линий, управление, а также расширение сервисных услуг, предоставляемых абонентам, возможностей оконечных устройств системы связи и многое другое. Информационно-измерительные и управляющие цифровые и микропроцессорные системы предназначены для измерения, сбора, обработки, хранения и отображения информации с реальных объектов, а также для управления ими. Как правило, микропроцессорные системы (МПС) содержат МП или микро-ЭВМ и средства измерения и первичного преобразования информации (датчики), сбора (коммутации) сигналов датчиков, их первичной обработки, передачи данных на расстояние, исполнительные органы, средства отображения (дисплеи, графопостроители, электрические печатающие устройства и др. ).
Итак, при проведении измерений параметров каналов связи, либо при приеме телеметрической информации в ЭВМ зачастую возникает необходимость обеспечить сбор данных. Следует например, последовательно опрашивая аналоговые каналы, преобразовывать аналоговые измерительные или телеметрические сигналы, поступающие по ним, в цифровую форму и помещать их в ОП (ОЗУ) с целью последующей их обработки и отображения. З А Д А Н И Е
Спроектировать устройство сбора данных (УСД). Имеется Fаналоговых каналов. Необходимо последовательно опрашивая их получаемые из каналов аналоговые величины с помощью АЦП преобразовывать в Цифровую форму (в двоичные слова стандартной длины 1 байт - 8 бит) и помещать в последовательные ячейки некоторой области основной памяти (ОП), начиная с ячейки, имеющей адресG. Цифровая процессорная система, фрагментом которой является проектируемое УСД, в своем составе имеет ОЗУ емкостью с форматом адресного слова 2 байта - 16 бит. Синхронизация работы процессорного устройства осуществляется от генератора тактовых импульсов (ГТИ). Частота синхроимпульсов f=500 кГц. Требуется:
1) Исходя из задания проработать вопрос организации ОЗУ цифровой системы; 2) Реализовать УСД в двух вариантах:
а)в виде процессорного устройства, построенного на принципах схемной логики, с доведением его до уровня функционально-логической схемы;
б)в виде микропроцессорного устройства, построенного на основе микропроцессора КР580ВМ80. При реализации УСД на базе микропроцессора следует текущий номер (адрес) аналогового канала хранить в регистреr. Микропроцессорное устройство необходимо довести до уровня структурной схемы, составить программу его функционирования на языке Ассемблера, составить таблицу размещения программы в ОП, начиная с ячейки с адресомh, а также составить программу в кодовых комбинациях (на машинном языке); 3)В варианте реализации УСД на базе микропроцессора программу цикла сбора данных сFаналоговых каналов оформить как прерывающую программу в предложении, что в состав МПС входит контроллер прерываний КР580ВН69. 4)Оценить быстродействие УСД в обоих вариантах реализации. Индивидуальное задание: Пусть F = ; G = ; =20488, r = E; h = . О Р Г А Н И З А Ц И Я О З У
ОЗУ с требуемой емкостью 20488 может быть построено на базе микросхем полупроводниковых ОЗУ, выпускаемых промышленностью, различными способами.
Выбор микросхем для реализации ОЗУ может осуществляется исходя из разных критериев: - минимизации числа корпусов (аппаратных затрат); - минимизации потребляемой мощности; - повышения быстродействия МПС;
- согласования напряжений питания основных функциональных модулей МПС и др. Исходя из минимизации аппаратных затрат выберем для реализации ОЗУ УСД микросхему КР565РУ2А. Она содержит 1к ячеек с разрядностью 1 бит. Для построения ОЗУ с емкостью20488 требуется 16 таких микросхем, организованных в 2 линейки (страницы) , каждая из которых содержит по 8 микросхем (по числу бит в ячейке памяти). Обращение к ячейке, расположенной в той или иной линейке, обеспечивается с помощью управляющего сигнала ВК - выбор кристалла. Для простоты примем, что микросхема в любой реализации имеет всего один вход ВК (по ГОСТ - CS). Тогда при ВК=1 обращение к кристаллу (микросхеме) в данной линейке ОЗУ будет заблокировано. При ВК=0 обращение разрешается. Для адресации двух линеек требуется адрес из одного бита (0, 1). Так как число линеек в ОЗУ не больше двух, то дешифратор не требуется. Биты адресов линеек размещаются в старших разрядах заданного адресного слова.
Шестнадцатиразрядное адресное слово позволяет адресовать максимально 216=65536=64к ячеек памяти. Обычно эти адреса распределяются между ОЗУ, ПЗУ и УВВ, входящими в состав цифровой системы. Если заданное число ячеек ОЗУ меньше, то для их адресации может потребоваться адресное слово с меньшим числом разрядов. В этом случае для адресации ячеек ОЗУ задействуются не все разряды адресного слова заданной длины (2 байта). Будем считать что в таком варианте старшие разряды остаются незадействованными, поэтому их содержимое может быть произвольным, ибо оно игнорируется дешифратором адреса ОЗУ. Однако при фиксированной разрядности адресного регистра из методических соображений при программировании процессорного устройства целесообразно загружать нули в незадействованные разряды адресного слова.
Режим обращение к ОП определяется значением управляющего сигнала ЧТЕНИЕ/ЗАПИСЬ (ЧТ/ЗП) (по ГОСТ - RD/WR). При ЧТ/ЗП=1 обеспечивается режим чтения информации из ОП, при ЧТ/ЗП=0 - режим записи в ОП.
Опираясь на выше сказанное построим схему ОЗУ с емкостью 2к х 8 (рис. 1). Организация ОЗУ
Ёмкость ОЗУ: 2к х 8 = 2048 х 8. Требуется организация двух линеек по восемь микросхем КР565РУ2А . РЕАЛИЗАЦИЯ УСД НА ПРИНЦИПАХ СХЕМНОЙ ЛОГИКИ Общая структурная схема УСД
Как и всякое процессорное устройство, УСД состоит из двух основных узлов: операционного узла (ОУ) и узла управления (УУ), который представляет собой микропрограммный автомат (рис. 2. ). ОУ- это устройство, в котором непосредственно выполняются операции, реализуемые процессором. Этот узел преобразует коды (операнды), поступающие на входы Р в те или иные детерминированные моменты времени, в выходной код (результат), снимаемый с выходов С. В нашем примере на входы ОУ поступают данные с выхода АЦП, представленные в виде параллельного двоичного кода, а преобразование, осуществляемое в ОУ УСД, состоит в приеме этих данных из того или иного аналогового канала и пересылки их в требуемые ячейки оперативной памяти. ОУ может включать в себя такие элементы, как регистры или иные модули ЗУ, счетчики, сумматоры, мультиплексоры, дешифраторы и др. , соединенные между собой каналами связи (обычно физическими линиями), по которым двоичная информация передается, как правило, в параллельной форме.
УУ в определенной последовательности формирует управляющие сигналы У1, У2, .... и с их помощью координирует работу элементов схемы ОУ, обеспечивая в ОУ требуемую обработку информации. Под действием каждого из этих сигналов в элементах ОУ производятся некоторые элементарные действия, называемые микрооперациями. К числу таких действий относятся: считывание содержимого какого-нибудь регистра, сдвиг содержимого регистра на один разряд влево или вправо, запись в регистр результата суммирования операндов, установка регистра или счетчика в требуемое исходное состояние, счет, то есть прибавление или вычитание единицы к содержимому счетчика и т. п.
В каждый тактовый период синхроимпульсов в ОУ может выполнятся одна или несколько независимых друг от друга микроопераций в различных элементах схемы. Набор микроопераций, выполняемый в ОУ одновременно (в одном такте), называется микрокомандой (МК). Среди сигналов У могут быть и такие, которые вх. м вых. код код н (в ОП) (из АЦП)о обл. G
управляют работой устройств, находящихся вне процессора (внешних устройств ВУ). К числу таких устройств относятся устройства ввода/вывода информации (УВВ), модули памяти (ОЗУ, ПЗУ), АЦП, ЦАП и др.
УУ работает под действием команд - двоичных кодов, подаваемых на входы Z1, Z2, .... . На входы Х1, Х2, .... УУ поступают осведомительные сигналы, иначе называемые условиями или признаками, которые формируются в ОУ и влияют на последующие значения управляющих сигналов У, определяя тем самым последующие этапы преобразования операндов в зависимости от результатов, полученных в ОУ при выполнении предыдущей микрокоманды. Структурная схема ОУ
В настоящее время отсутствуют сколько-нибудь общие формальные методы синтеза операционных устройств. По этой причине составление структурной схемы производится на основе анализа задания и требует от разработчика наличия соответствующих навыков и опыта.
Оценим состав оборудования ОУ, обеспечивающий выполнение сформулированных в задании функций УСД. Внешними по отношению к ОУ являются следующие элементы:
·АЦП - аналого-цифровой преобразователь, осуществляющий преобразование аналоговой величины (например напряжения аналогового сигнала), действующего на его входе на данном отрезке времени, в восьмиразрядный двоичный код на выходе. В момент завершения акта преобразования АЦП вырабатывает сигнал ОК=1 на соответствующем выходе. Запуск АЦП производится путем подачи сигнала запуска на соответствующий вход;
·коммутатор каналов - аналоговый мультиплексор-селектор, который в зависимости от значения четырехразрядного двоичного адресного слова, поступающего на его адресные входы, подключает к единственному выходу тот или иной из тринадцати аналоговых сигналов;
·оперативная память (ОП) - полупроводниковое ОЗУ емкостью 2к х 8, имеющее рассмотренную выше организацию. К элементам, входящим в состав ОУ УСД, относятся:
· счетчик СТ21 адреса ячеек ОП - 16-разрядный (в соответствии с заданной разрядностью адресного слова);
· счетчик СТ22 адреса аналоговых каналов - четырехразрядный (F=14 каналов имеют номера (адреса) от 0000 до 1101. Всего тринадцать адресов);
· триггер Тфл- флаг АЦП, предназначенный для фиксирования сигнала ОК (асинхронный RS-триггер с инверсными входами ТТЛ. Тфл необходим для выработки сигнала Х1 в течение всего периода Т в том случае, когда сигнал ОК АЦП импульсный, т. е. его длительность« Т).
Структурная схема ОУ , включающая внешние элементы процессорного устройства, представлена на рис. 3. На схеме 070116 Рис. 3
стрелками показаны управляющие сигналы У, поступающие из УУ, и сигналы-условия X, вырабатываемые ОУ и поступающие в УУ. Словесное описание цикла сбора данных
y1. Цикл сбора данных начинается с того, что в счетчик СТ21 производится запись первой ячейки области памяти ОП, отведенной для хранения данных. Очевидно, что в качестве СТ21 удобно использовать такой счетчик, в котором предусмотрена возможность записи информации, как в параллельный регистр. Тогда, подав на одни входы триггеров логический ноль (потенциал земли или корпуса), а на другие - логическую единицу (напряжение источника питания), можно обеспечить запись требуемого адреса в счетчик в одном такте.
y2. счетчик СТ22 сбрасывается в 0. Тем самым в нём формируется адрес первого аналогового канала, имеющего нулевой номер. y3. Производится сброс в 0 триггера Тфл (гашение флага).
y4. Адрес аналогового канала из СТ22 выдается на адресные входы коммутатора. Коммутатор подключает канал №0 ко входу АЦП.
y5. Производится запуск АЦП и в нём начинается процесс аналого-цифрового преобразования.
y6. Проверяется содержимое триггера Тфл . По окончанию акта преобразования АЦП вырабатывает сигнал ОК, устанавливающий Тфл в состояние 1. Пока (Тфл)=0 , устройство пребывает в режиме ожидания окончания акта преобразования в АЦП. Как только Тфл устанавливается в 1, осуществляется запись данных с выхода АЦП в требуемую ячейку памяти (ОП).
y7. В СТ22 подготавливается адрес следующей ячейки ОП путем прибавления единицы к содержимому счетчика (к адресу предыдущей ячейки).
y8. В СТ22 формируется адрес следующего аналогового канала (№1) путем прибавления единицы к содержимому счетчика.
y9. Проверяется содержимое счетчика СТ22 . Если (СТ22)=0, то операции 3ё8 повторяются. В противном случае происходит завершение цикла сбора данных (выход из цикла), так как все каналы оказываются опрошены. Синтез управляющего устройства (УУ) Этап абстрактного синтеза
Этот этап также требует от разработчика определенных навыков и опыта. На этапе абстрактного синтеза осуществляется переход от словесного описания принципа функционирования автомата формализованному представлению в виде графа или таблиц.
На основании словесного описания составим в соответствующем порядке список микроопераций, необходимых для управления ОУ (см. Рис. 2):
У1 - разрешение записи начального адреса 01AE16 в СТ21, (СТ21 ¬ 01AE16); У2 - установка в 0 СТ22 (сброс), (СТ22 ¬ 0); У3 - сброс Тфл , (Тфл ¬ 0);
У4 - разрешение передачи адреса аналогового канала на коммутатор [комм ¬ (СТ22)]; У5 - запуск АЦП, (зап. АЦП); У6 - разрешение записи данных из АЦП в ОП, [ОП ¬ АЦП];
У7 - увеличение на 1 (СТ21) - приращение счетчика, [инкримент СТ21 ¬ (СТ21)+1]; У8 - увеличение на 1 (СТ22) - приращение счетчика, [инкримент СТ22 ¬ (СТ22)+1]. В процессе выполнения цикла сбора данных а ОУ УСД вырабатываются осведомительные сигналы: сигнал Х1=1 - сигнал ОК и сигнал Х2=1 - завершение цикла сбора данных. Сигнал Х2 вырабатывается в том случае, когда в СТ22 содержится адрес 0000, [Х2=1, если (СТ22)=0], возникающий в нём после адреса 1010 последнего, одинадцатого канала. Сигнал Х2 может быть сформирован путем логического умножения (на схеме И) сигналов. Блок-схема алгоритма функционирования ОУ в микрооперациях
Блок-схема (рис. 4) составляется на основе словесного описания и списка микроопераций. Рис. 5.
Анализ рис. 4 показывает, что микрооперации У1, У2, а также У3, У4, У5 и У6, У7, У8не зависят друг от друга и могут выполняться в одном такте (каждая группа в соответствующем такте). На основании этого можно составить блок-схему алгоритма в микрокомандах, обозначив каждую из них буквой Y (рис. 5). произведем разметку блок схемы рис. 5. Начало и конец блок
схемы обозначим а0 , что соответствует исходному состоянию управляющего автомата (УУ). Далее вход каждого блока, следующего за операторными блоками, которые имеют прямоугольную форму, помечаем символами а1 , а2 , .... , соответствующими последующим состояниям УУ. Составление граф - схемы функционирования УУ
Построение графа осуществляется на основе произведенной разметки блок-схемы алгоритма. Каждому из состояний а0 , а1 , .... управляющего автомата соответствует узел графа (рис. 6). Дугами графа изображаются переходы автомата из одного состояния в другое. Возле каждой дуги указывается условие (если оно есть) перехода (Х) и выполняемая на данном тактовом интервале микрокоманда Y. Переходы синхронного автомата из одного состояния в другое происходят в тактовые моменты времени под действием синхроимпульсов и входных сигналов. Этап структурного синтеза УУ
Этот этап выполняется на основе формальных методов и включает в себя: - расчет требуемого объема памяти УУ; - выбор способа кодирования возможных состояний автомата; - выбор типа применяемых логических элементов и триггеров;
- нахождение оптимальной с точки зрения минимизации числа элементов и связей между ними структуры комбинационного цифрового устройства (КЦУ), входящего в состав схемы УУ. Определение требуемого числа триггеров ЗУ устройства управления и кодирование состояний УУ
Из граф-схемы видно, что управляющий автомат должен иметь N=4 состояний ( а0 ё а3 ). Требуемое число триггеров находим как минимальное k, удовлетворяющее условию NЈ 2k. Имеем kмин = 2. Поскольку каждый из триггеров обладает двумя устойчивыми состояниями , совокупность двух триггеров позволяет
зафиксировать максимально 22 = 4 различных состояния. В нашем случае автомат как раз и должен иметь четыре состояния, для фиксации которых требуется два триггера. Задавая произвольно Состояние УУ Состояния триггеров ЗУ Вид перехода Входные сигналы Q2 Q1 Q(t)® Q(t+1) j(t) k(t) а0 0 0 0 0 0 -- а1 1 0 1 0 1 -- а2 0 1 0 1 — 1 а3 1 1 1 1 — 0 Таблица 1 Таблица 2
различные четыре состояния двух триггеров можно произвести кодирование состояния автомата, как это сделано в табл. 1.
Выбор типа логических элементов и триггеров для реализации УУ
Если к цифровому устройству, реализуемому на микросхемах низкой и средней степени интеграции, не предъявляются жесткие требования в отношении быстродействия, потребляемой мощности, габаритов и ширины рабочего диапазона температур, то выбор, как правило, делается в пользу наиболее развитой серии микросхем широкого применения К1553, выполненные по технологии ТТЛ. Предполагается, что проектируемое УСД предназначено для работы в помещениях с составе стандартной аппаратуры. Поэтому требования в отношении потребляемой мощности, ширины рабочего диапазона температур и габаритов не являются жесткими. Кроме того, в соответствии с заданием частота синхроимпульсов f = 500 кГц, что соответствует длительности тактового периода Т = 1/f = 2 мкс. В свою очередь среднее время задержки логического сигнала в базовом элементе И-НЕ этой серии 20 нс, что на два порядка меньше длительности тактового периода Т. Таким образом, практически любое цифровое устройство серии К1553 обладает достаточным быстродействием для использования его в схеме УСД.
Как видно из граф-схемы управляющего автомата, каждое его новое состояние а(t+1) зависит от предыдущего а(t). Отсюда следует, что для ЗУ автомата удобно применять такие триггеры, которые в процессе перехода автомата в новое состояние а(t+1) не изменяют своего состояния а(t), то есть сигналы Q и Q на выходах триггеров ЗУ изменяются лишь на завершающей стадии перехода автомата в новое состояние. Из триггеров, входящих в серию К1553, таким свойством обладает двухступенчатый JK-триггер, который следовательно, может быть выбран для реализации УУ.
Теперь можно изобразить укрупненную схему УУ для проектируемого УСД (рис. 7). Итак схема УУ содержит КЦУ и ЗУ, состоящее из двух JK-триггеров. Изобразим характеристическую таблицу JK-триггера, показывающую, какие сигналы возбуждения триггера следует подавать на выходы J и K, чтобы обеспечить переход его из состояния Q(t) в новое состояние Q(t+1) (табл. 2). В таблице 2 прочерк в колонках J(t) и K(t) означает безразличное значение сигнала (0 или 1). в ОУ из ОУ Составление таблицы функционирования УУ
На основании имеющихся данных (графа, табл. 1 и табл. 2) можно построить полную таблицу функционирования УУ (табл. 3).
Первые восемь колонок табл. 3 получены на основании анализа графа (рис. 6) и табл. 1. Связь между колонками 3ё12 определяются из табл. 2, а связь между колонками 3ё8 и 13ё15 получены на основе анализа графа. Синтез КЦУ
Как видно из рис. 7, входными переменными КЦУ являются Х1, Х2, Q1(t) и Q2(t), представленные в первых колонках таблицы 3. Функциями, формируемыми на выходах КЦУ, являются сигналы возбуждения триггеров (J и K)и выходные сигналы Y, соответствующие микрокомандам Y. Эти функции представлены в 9ё15 колонках. Таким образом часть табл. 3 представляет собой таблицу истинности неполно заданных ФАЛ, формируемых на выходах КЦУ. Таблицы истинности представлены в сокращенной форме. Здесь учтено то обстоятельство, что переменные Х1 и Х2 поступают на входу КЦУ в разные тактовые моменты времени и кроме того ни одна из функций не зависит сразу от обеих этих переменных. Это позволило объединить в первых четырех строках табл. 3 наборы аргументов, в которых Х1 И Х2, где они есть, принимают значения 0, а в строках 5ё8 наборы, в которых Х1 и Х2 равны 1. Первые два, пятый и шестой наборы в табл. 3 не содержат переменных Х1 и Х2, то есть значения функций на этих наборах не зависят от значений Х1 и Х2, поэтому соответствующие значения выходных функций повторяются дважды: в группе наборов, относящихся к значениям Х1 и Х2, равным 0 (строки 1ё2), а затем в группе наборов, в которых Х1 и Х2 равны 1 (строки 5ё6). № п/п Условие перехода Предыдущее состояние аi(t) , Q i(t) Следующее состояние аi(t+1), Q i(t+1) Сигналы возбуждения триггеров Выполняемая МК Х2 Х1 а i Q2 Q1 аi Q2 Q1 J2 K2 J1 K1 Y1 Y2 Y3 1 — — а0 0 0 а1 0 1 0 1 1 0 0 2 — — а1 0 1 а2 1 0 1 1 0 1 0 3 — 0 а2 1 0 а2 1 0 0 0 0 0 0 4 0 — а3 1 1 а1 0 1 1 0 0 0 0 5 — — а0 0 0 а1 0 1 0 1 1 0 0 6 — — а1 0 1 а2 1 0 1 1 0 1 0 7 — 1 а2 1 0 а3 1 1 0 1 0 0 1 8 1 — а3 1 1 а0 0 0 1 1 0 0 0 № колонки 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Таблица 3
Из анализа табл. 3 следует, что значения переменной Х2 не влияют на значения функции J1 и Y3 (при изменении значения переменной значения функций остаются неизменными) а переменная Х1 не влияет на значения функций К1, то есть они являются функциями не четырех, а всего трех аргументов. В свою очередь оставшиеся четыре функции не зависят от обеих переменных Х1 и Х2, а значит, они являются функциями двух аргументов. учет этих особенностей табл. 3 позволяет упростить полученные МДНФ выходных функций КЦУ с использованием ручного метода карт Вейча. - - - - 0 1 1 1 - - 0 1 1 1 - - - - 1 1 J1 = X1 Ъ Q2 K1 = Q2 Ъ X2 J2 = Q1 1 - 0 0 0 1 0 0 0 0 0 - 0 1 0 0 0 1 0 0
На основании полученных выражений строим схему КЦУ в базисе И, ИЛИ, НЕ (рис. 8).
Построение функционально - логической схемы процессорного устройства ( УСД )
Функционально-логическая схема УСД строится на основании приведенных выше общей структурной схемы УСД, структурной схемы УУ , функционально-логической схемы КЦУ и структурной схемы ОУ. Поскольку проектируемое процессорное устройство является специализированным, реализующим всего одну микропрограмму сбора данных, оно не нуждается в командном (программном) управлении. Поэтому входы Z1ёZk , показанные на общей структурной схеме УСД (см. рис. 1), в данном случае не нужны. Для построения схемы в справочнике по интегральным микросхемам следует отыскать подходящие элементы всех перечисленных схем с учетом изложенных выше соображений, относящихся к некоторым требуемым свойствам этих элементов. Условные обозначения этих элементов нужно надлежащим образом разместить на листе бумаги и соединить между собой в соответствии с логикой работы устройства и таблицами управляющих сигналов.
Функционально-логическая схема отличается от принципиальной тем, что на ней не представлено размещение элементов в корпусах микросхем. Соответственно на Функционально-логической схеме отсутствует нумерация выводов корпуса. На Функционально-логической схеме УСД следует представить способ организации ОП, используя условное обозначение выбранной микросхемы ОЗУ и выбранный способ соединения этих микросхем (корпусов, модулей, или кристаллов, как их принято еще называть). Остальные внешние устройства УСД (АЦП и коммутатор аналоговых каналов) достаточно изобразить в обобщенной форме, как на структурной схеме ОУ, поскольку они не являются предметом проектирования. Функционально-логическая схема УСД приведена на рис. 9. на след. странице
Оценка быстродействия УСД в варианте реализации на принципах схемной логики
При оценке быстродействия УСД для простоты будем считать, что наибольшая длительность акта преобразования АЦП меньше тактового периода синхроимпульсов (Т = 2 мкс). В этом случае при функционировании УСД режим ожидания (прохождение микропрограммы по малому циклу (см. рис. 5) будет отсутствовать. Число тактов, требуемых для выполнения микропрограммы сбора данных, равно сумме дуг, содержащихся в пути между узлами графа с учетом циклического повторения отдельных участков пути. Таким образом цикл сбора данных будет складываться из одного такта на выполнение микрокоманды Y1 и F (в данном случае девяти) прохождений по большому циклу (от a1 до a1 , см. рис. 6). Каждое прохождение по большому циклу требует трех тактов. Итого длительность цикла сбора данных составит S = (1+F. 3). T = (1+13 . 3). T = 40. 2 мкс = 80 мкс. РЕАЛИЗАЦИЯ УСД В ВИДЕ МПС НА БАЗЕ МИКРОПРОЦЕССОРА КР580ВМ80 Структурная схема микропроцессорного устройства
Структурная схема УСД, построенного в виде микропроцессорного устройства (МПУ), представлена на рис. 10. Кроме микропроцессора и известных уже модулей АЦП, ОП и коммутатора аналоговых каналов, схема МПУ содержит два устройства ввода и одно устройство вывода данных, роль которых могут выполнять программно-управляемые регистры-порты, например МБР К5889ИР12. В таком варианте МПУ шина управления может состоять всего из двух линий ЗАПИСЬ и ЧТЕНИЕ. На рис. 10 для простоты не показаны: дешифратор сигналов выборки модуля ОП (ВК) и триггер-флаг АЦП (Тфл). Блок - схема алгоритма функционирования МПУ
Начальный адрес 071516ячейки памяти области ОП, отведенной для сбора данных, будем хранить в паре регистров HL. Текущий номер (адрес) аналогового канала в соответствии с заданием будем помещать в регистр E.
Примем, что требуется соблюдать тот же порядок опроса аналоговых каналов, что и при реализации УСД на принципах схемной логики, то есть начиная с канала, имеющего номер (адрес) 0. Чтобы обеспечить формирование признака завершения цикла сбора данных, в регистре B поместим число F=1110(число аналоговых каналов). Тогда блок-схема алгоритма сбора данных будет иметь вид (рис. 11). Дадим краткое пояснение к блок-схеме. Так как по заданию программа представляет собой прерывающую программу в предложении, что в состав МПС входит контроллер прерываний КР580ВН69, то необходимо сначала сохранить содержимое всех регистров. Это показано в блоках 1ё4. В блоке 5 в пару регистров HL загружается начальный адрес G (071516). В блоке 6 в регистр B загружается число 1110 (0B16). Регистр E служит счетчиком адресов аналоговых каналов. В блоке 7 в него загружается адрес первого канала 0016. Затем этот адрес через аккумулятор и устройства вывода № 1 (блоки 9 и 8) поступает на адресный вход коммутатора (см. рис. 10).
Коммутатор подключает первый канал ко входу АЦП и запускает последний. МПУ переходит в режим ожидания окончания акта преобразования АЦП (блоки 10, 11 и 12). Сигнал с выхода ОК АЦП заносит младший разряд регистра порта ввода № 2. Пока ОК=0, акт преобразования в АЦП не окончен. В этом случае блоки 10ё12 обеспечивают запись в триггер-флаг Тснуля и тем самым прохождение программы по малому циклу. Данный режим выполнения программы продолжается до тех пор, пока сигнал ОК на выходе АЦП не станет равным 1. Так обеспечивается режим ожидания. Как только ОК станет равным 1, то после выполнения команды блока 12 Тс=1 и осуществляется запись данных с выхода АЦП в ОП через устройство ввода № 1 и аккумулятор (блоки 13 и 14).
Далее происходит формирование адресов следующей ячейки памяти (блок 15) и следующего аналогового канала (блок 16). Новый адрес канала записывается в аккумулятор (блок 17). В блоке 18 выполняется операция сравнения содержимого регистров А и B. Если (А)=(B), то все каналы опрошены, результат операции сравнения дает 0 (Z=1) и цикл сбора данных завершён. Если же Z=0, то осуществляется опрос следующего канала, так как при выполнении операции сравнения содержимое аккумулятора остается неизменным, то есть в нём по-прежнему содержится адрес следующего канала, загружаемый в блоке 17. Таким образом, пока адрес очередного аналогового канала, сформированный в регистре E в блоке 16, остается меньше 0A16обеспечивается прохождение программы по большому циклу. По завершению программы происходит чтение данных из стека и возврат из подпрограммы (блоки 20ё23 и 24). Программа на языке Ассемблера
Программа, записанная на языке Ассемблера микропроцессора КР580ВМ80, представлена в табл. 4.
Дадим краткое пояснение к таблице 4. Команды 1ё4 сохраняют содержимое всех регистров в стеке. Команды 5, 6 и 7 в графе “Операнды” содержат коды чисел, загружаемых соответственно в регистры HL, B и E. Загружаемые числа представлены в шестнадцатиричной системе. Признаком шестнадцатиричной системы № команды Мет ка Операция Операнды Комментарий Бай ты Циклы Так ты 1 PUSH B ; стек ¬( ВС ) 1 3 11 2 PUSH D ; стек ¬( DE ) 1 3 11 3 PUSH H ; стек ¬( HL ) 1 3 11 4 PUSH PSW ; cтек ¬ PSW 1 3 11 5 LXI H, 0715 H ; HL ¬ 071516 3 3 10 6 MVI B , 0A H ; B ¬ 0A16 2 2 7 7 MVI D , 00 H ; D ¬ 0016 2 2 7 8 MOV A , E ; A ¬ ( E ) 1 1 5 9 K2: OUT 1 ; Устр. выв. №1¬(А) 2 3 11 10 K1: IN 2 ; A¬(устр. вв. №2) 2 3 11 11 RRC ; A ¬ Сдв. П ( А ) 1 1 4 12 JNC K1 ; Блок 2 УП 3 3 10 13 IN 1 ; A¬(устр. вв. №1) 2 3 11 14 MOV M , A ; M ¬ ( A ) 1 2 7 15 INX H ; HL ¬ ( HL ) + 1 1 1 5 16 INR E ; E ¬ ( E ) + 1 1 1 5 17 MOV A , E ; A ¬ ( E ) 1 1 5 18 CMP B ; ( A ) — ( B ) 1 1 4 19 JNE K2 ; Блок 19 УП 3 3 10 20 POP PSW ; PSW¬(стек) 1 3 11 21 POP H ; HL ¬ (стек ) 1 3 11 22 POP D ; DE ¬ (стек ) 1 3 11 23 POP B ; BC ¬ (стек ) 1 3 11 24 RET ; Возврат из ППР 1 3 11 Таблица 4
является символ Н, стоящий после числа. Номер устройства ввода и вывода (2 и 1), приведенные в графе “Операнды” команд 10 и 9, представлены в десятичной системе. Как известно, признаком десятичной системы может быть либо символ D, следующий за числом, либо отсутствие какого-либо символа. В данном случае использован второй из признаков. В комментарии использованы следующие сокращения:
Сдв. П(А)- сдвиг правый содержимого регистра А (аккумулятора); УП - условный переход. Размещение программы в ОП
В соответствии с заданием программа должна быть размещена в области памяти, начиная с ячейки с адресомh=03B216. Размещение программы представлено в табл. 5. Число ячеек ОП, отводимых под команду, определяется числом байтов в команде. В табл. 5 стрелками показана последовательность выполнения команд. В командах условного перехода, где последующее выполнение той или иной команды зависит от условия (признака), указаны пары стрелок, рядом с которыми приведены значения сигналов-условий. № команды Адрес16 1 03B2 2 03B3 3 03B4 4 03B5 5 03B6 03B7 03B8 6 03B9 03BA 7 03BB 03BC 8 03BD 9 03BE 03BF 10 03C0 03C1 11 03C2 12 03C3 03C4 03C5 13 03C6 03C7 14 03C8 15 03C9 16 03CA 17 03CB 18 03CD 19 03CE 03CF 03D0 20 03D1 21 03D2 22 03D3 23 03D4 24 03D5 Таблица 5 Программа в кодовых комбинациях
На основании табл. 4 и 5, а также системы микропроцессора КР580ВМ80 можно составить программу цикла сбора данных в кодовых комбинациях (на машинном языке), приведенную в табл. 6. Оценка быстродействия МПУ
Как и прежде будем считать, что максимальная длительность акта преобразования АЦП меньше длительности периода синхроимпульсов Т=2мкс. Тогда в соответствии с табл. 4 получим:
На выполнение команд 1ё8 и 20ё24 требуется 11+11+11+11+10+ 7+7+5+11+11+11+11+11=128 тактов. № команды Адрес ОП16 Команда2 Команда16 Комментарий 1 03B2 11 000 101 C5 ; стек ¬ ( ВС ) 2 03B3 11 010 101 D5 ; стек ¬ ( DE ) 3 03B4 11 100 101 E5 ; стек ¬ ( HL ) 4 03B5 11 110 101 F5 ; стек ¬ PSW 5 03B6 00 100 001 21 ; HL ¬ 070116 03B7 0000 0001 01 03B8 0000 0111 07 6 03B9 00 000 110 06 ; B ¬ 0D16 03BA 0000 1110 0D 7 03BB 00 010 110 16 ; D ¬ 0016 03BC 0000 0000 00 8 03BD 01 111 010 7A ; A ¬ ( D ) 9 03BE 11 010 011 D3 ; Устр. выв. №1¬(А) 03BF 0000 0001 01 10 03C0 11 010 011 D3 ; A¬(устр. вв. №2) 03C1 0000 0010 02 11 03C2 00 001 111 0F ; A¬Сдв. П( А ) 12 03C3 11 010 010 D2 ; УП При С = 0 03C4 1100 0011 C3 к ячейке 03C3 03C5 0001 0110 03 13 03C6 11 011 011 DB ; A¬(устр. вв. №1) 03C7 0000 0001 01 14 03C8 01 110 111 77 ; M ¬ ( A ) 15 03C9 00 100 011 23 ; HL¬( HL ) + 1 16 03CA 00 010 100 14 ; D ¬ ( D ) + 1 17 03CB 01 111 010 7A ; A ¬ ( D ) 18 03CD 10 111 000 B8 ; ( A ) — ( B ) 19 03CE 11 000 010 C2 ; УП При Z = 0 03CF 1100 0001 C1 к ячейке 03C1 03D0 0000 0011 03 20 03D1 11 110 001 F1 ; PSW ¬(стек ) 21 03D2 11 100 001 E1 ; HL ¬( стек ) 22 03D3 11 010 001 D1 ; DE¬ ( стек ) 23 03D4 11 000 001 C1 ; BC ¬ ( стек ) 24 03D5 11 001 001 C9 ; Возврат из ППР Таблица 6
На один проход по большому циклу (на выполнение команд 9ё19) нужно 11+11+4+10+11+7+5+5+5+4+10=83 такта. Всего таких проходов F=1410, что требует 83. 14=1162 тактов. Итого длительность цикла сбора данных составит S=(128+1162). 2 мкс=2580 мкс. То есть быстродействие МПУ примерно в 31 раз ниже быстродействия УСД на схемной логике. Такова цена универсальности МПС. Л и т е р а т у р а:
1. Б. А. Калабеков “МП и их применение в системах передачи и обработки сигналов”
2. В. Н. Ульянов “Функциональные узлы цифровых устройств и микропроцессоров”
3. Г. Г. Капелин, В. М. Тузов “Функциональные модули микропроцессорных систем”
4. Е. П. Балашов, Д. В. Пузанков “Микропроцессоры и микропроцессорные системы”
5. Б. М. Каган, В. В. Сташин “Микропроцессоры в цифровых системах” О Г Л А В Л Е Н И Е : 1. Введение : 1 2. З А Д А Н И Е 2 3. О Р Г А Н И З А Ц И Я О З У 3 4. РЕАЛИЗАЦИЯ УСД НА ПРИНЦИПАХ СХЕМНОЙ ЛОГИКИ 5 4. 1 Общая структурная схема УСД 5 4. 2 Структурная схема ОУ 6 4. 3 Словесное описание цикла сбора данных 8 4. 4 Синтез управляющего устройства (УУ) 8 4. 4. 1 Этап абстрактного синтеза 8 4. 4. 2 Этап структурного синтеза УУ 11
4. 5 Построение функционально - логической схемы процессорного устройства ( УСД ) 15
4. 6 Оценка быстродействия УСД в варианте реализации на принципах схемной логики 17
5. РЕАЛИЗАЦИЯ УСД В ВИДЕ МПС НА БАЗЕ МИКРОПРОЦЕССОРА КР580ВМ80 17 5. 1 Структурная схема микропроцессорного устройства 17 5. 2 Блок - схема алгоритма функционирования МПУ 18 5. 3 Программа на языке Ассемблера 20 5. 4 Размещение программы в ОП 21 5. 5 Программа в кодовых комбинациях 23 5. 6 Оценка быстродействия МПУ 23 6. Л и т е р а т у р а: 25 7. О Г Л А В Л Е Н И Е : 26