Л и т е р а т у р а . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
В в е д е н и е :
Отрасль связи является одной из наиболее перспективных отраслей
народного хозяйства с точки зрения возможностей применения средств
цифровой и микропроцессорной техники. К числу областей возможного
применения микропроцессоров (МП) на предприятиях, учреждениях и в
системах связи наряду с такими признанными направления, как управление
системами коммутации каналов и сообщений, автоматизация проектирования,
относятся: создание автоматизированных систем управления
технологическими процессами и информационно-измерительных систем,
обеспечивающих автоматизацию измерений, контроля исправности аппаратуры
и линий, управление, а также расширение сервисных услуг, предоставляемых
абонентам, возможностей оконечных устройств системы связи и многое
другое.
Информационно-измерительные и управляющие цифровые и микропроцессорные
системы предназначены для измерения, сбора, обработки, хранения и
отображения информации с реальных объектов, а также для управления ими.
Как правило, микропроцессорные системы (МПС) содержат МП или микро-ЭВМ и
средства измерения и первичного преобразования информации (датчики),
сбора (коммутации) сигналов датчиков, их первичной обработки, передачи
данных на расстояние, исполнительные органы, средства отображения
(дисплеи, графопостроители, электрические печатающие устройства и др.).
Итак, при проведении измерений параметров каналов связи, либо при
приёме телеметрической информации в ЭВМ зачастую возникает необходимость
обеспечить сбор данных. Следует например, последовательно опрашивая
аналоговые каналы, преобразовывать аналоговые измерительные или
телеметрические сигналы, поступающие по ним, в цифровую форму и помещать
их в ОП (ОЗУ) с целью последующей их обработки и отображения.
З А Д А Н И Е
Спроектировать устройство сбора данных (УСД). Имеется F аналоговых
каналов. Необходимо последовательно опрашивая их получаемые из каналов
аналоговые величины с помощью АЦП преобразовывать в Цифровую форму (в
двоичные слова стандартной длины 1 байт - 8 бит) и помещать в
последовательные ячейки некоторой области основной памяти (ОП), начиная
с ячейки, имеющей адрес G.
с форматом адресного слова 2 байта - 16 бит.
Синхронизация работы процессорного устройства осуществляется от
генератора тактовых импульсов (ГТИ). Частота синхроимпульсов f=500 кГц.
Требуется:
1) Исходя из задания проработать вопрос организации ОЗУ цифровой
системы;
2) Реализовать УСД в двух вариантах:
а)в виде процессорного устройства, построенного на принципах схемной
логики, с доведением его до уровня функционально-логической схемы;
б)в виде микропроцессорного устройства, построенного на основе
микропроцессора КР580ИК80. При реализации УСД на базе микропроцессора
следует текущий номер (адрес) аналогового канала хранить в регистре r.
Микропроцессорное устройство необходимо довести до уровня структурной
схемы, составить программу его функционирования на языке Ассемблера,
составить таблицу размещения программы в ОП, начиная с ячейки с адресом
(, а также составить программу в кодовых комбинациях (на машинном
языке);
3)В варианте реализации УСД на базе микропроцессора программу цикла
сбора данных с F аналоговых каналов оформить как прерывающую программу в
предложении, что в состав МПС входит контроллер прерываний КР580ВН69.
4)Оценить быстродействие УСД в обоих вариантах реализации.
Индивидуальное задание:
.
1. О Р Г А Н И З А Ц И Я О З У ( ПО ГОСТ - RAM )
8 может быть построено на базе микросхем полупроводниковых ОЗУ,
выпускаемых промышленностью, различными способами.
Выбор микросхем для реализации ОЗУ может осуществляется исходя из
разных критериев:
минимизации числа корпусов (аппаратных затрат);
- минимизации потребляемой мощности;
- повышения быстродействия МПС;
- согласования напряжений питания основных функциональных модулей МПС и
др.
8 требуется 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. РЕАЛИЗАЦИЯ УСД НА ПРИНЦИПАХ СХЕМНОЙ ЛОГИКИ
2.1. Общая структурная схема УСД
Как и всякое процессорное устройство, УСД состоит из двух основных
узлов: операционного узла (ОУ) и узла управления (УУ), который
представляет собой микропрограммный автомат (рис.2.). ОУ - это
устройство, в котором непосредственно выполняются операции, реализуемые
процессором. Этот узел преобразует коды (операнды), поступающие на входы
Р в те или иные детерминированные моменты времени, в выходной код
(результат), снимаемый с выходов С. В нашем примере на входы ОУ
поступают данные с выхода АЦП, представленные в виде параллельного
двоичного кода, а преобразование, осуществляемое в ОУ УСД, состоит в
приёме этих данных из того или иного аналогового канала и пересылки их в
требуемые ячейки оперативной памяти. ОУ может включать в себя такие
элементы, как регистры или иные модули ЗУ, счётчики, сумматоры,
мультиплексоры, дешифраторы и др., соединённые между собой каналами
связи (обычно физическими линиями), по которым двоичная информация
передаётся, как правило, в параллельной форме.
УУ в определённой последовательности формирует управляющие сигналы
У1,У2,... и с их помощью координирует работу элементов схемы ОУ,
обеспечивая в ОУ требуемую обработку информации. Под действием каждого
из этих сигналов в элементах ОУ производятся некоторые элементарные
действия, называемые микрооперациями. К числу таких действий относятся:
считывание содержимого какого-нибудь регистра, сдвиг содержимого
регистра на один разряд влево или вправо, запись в регистр результата
суммирования операндов, установка регистра или счётчика в требуемое
исходное состояние, счёт, то есть прибавление или вычитание единицы к
содержимому счётчика и т.п.
В каждый тактовый период синхроимпульсов в ОУ может выполнятся одна
или несколько независимых друг от друга микроопераций в различных
элементах схемы. Набор микроопераций, выполняемый в ОУ одновременно (в
одном такте), называется микрокомандой (МК). Среди сигналов У могут быть
и такие,которые
вх. (
вых.код
код (
(в ОП)
(из АЦП)(
обл.G
управляют работой устройств, находящихся вне процессора (внешних
устройств - ВУ). К числу таких устройств относятся устройства
ввода/вывода информации (УВВ), модули памяти (ОЗУ, ПЗУ), АЦП, ЦАП и др.
УУ работает под действием команд - двоичных кодов, подаваемых на входы
Z1,Z2,... .На входы Х1,Х2,... УУ поступают осведомительные сигналы,
иначе называемые условиями или признаками, которые формируются в ОУ и
влияют на последующие значения управляющих сигналов У, определяя тем
самым последующие этапы преобразования операндов в зависимости от
результатов, полученных в ОУ при выполнении предыдущей микрокоманды.
2.2. Структурная схема ОУ
В настоящее время отсутствуют сколько-нибудь общие формальные методы
синтеза операционных устройств. По этой причине составление структурной
схемы производится на основе анализа задания и требует от разработчика
наличия соответствующих навыков и опыта.
Оценим состав оборудования ОУ, обеспечивающий выполнение
сформулированных в задании функций УСД.
Внешними по отношению к ОУ являются следующие элементы:
( АЦП - аналого-цифровой преобразователь, осуществляющий преобразование
аналоговой величины (например напряжения аналогового сигнала),
действующего на его входе на данном отрезке времени, в восьмиразрядный
двоичный код на выходе. В момент завершения акта преобразования АЦП
вырабатывает сигнал ОК=1 на соответствующем выходе. Запуск АЦП
производится путём подачи сигнала запуска на соответствующий вход;
( коммутатор каналов - аналоговый мультиплексор-селектор, который в
зависимости от значения четырёхразрядного двоичного адресного слова,
поступающего на его адресные входы, подключает к единственному выходу
тот или иной из тринадцати аналоговых сигналов;
( оперативная память (ОП) - полупроводниковое ОЗУ ёмкостью 2к х 8,
имеющее рассмотренную выше организацию.
К элементам, входящим в состав ОУ УСД, относятся:
( счётчик СТ21 адреса ячеек ОП - 16-разрядный (в соответствии с
заданной разрядностью адресного слова);
( счётчик СТ22 адреса аналоговых каналов - четырёхразрядный (F=14
каналов имеют номера (адреса) от 0000 до 1101. Всего тринадцать
адресов);
( триггер Тфл - флаг АЦП, предназначенный для фиксирования сигнала ОК
(асинхронный RS-триггер с инверсными входами ТТЛ. Тфл необходим для
выработки сигнала Х1 в течение всего периода Т в том случае, когда
сигнал ОК АЦП импульсный, т.е. его длительность ( Т).
Структурная схема ОУ , включающая внешние элементы
процессорного устройства, представлена на рис.3. На схеме
070116
Рис.3
стрелками показаны управляющие сигналы У, поступающие из УУ, и
сигналы-условия X, вырабатываемые ОУ и поступающие в УУ.
2.3. Словесное описание цикла сбора данных
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.4. Синтез управляющего устройства (УУ)
2.4.1. Этап абстрактного синтеза
Этот этап также требует от разработчика определённых навыков и опыта.
На этапе абстрактного синтеза осуществляется переход от словесного
описания принципа функционирования автомата формализованному
представлению в виде графа или таблиц.
На основании словесного описания составим в соответствующем порядке
список микроопераций, необходимых для управления ОУ (см. Рис.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],
возникающий в нём после адреса 1101 последнего, четырнадцатого канала.
Сигнал Х2 может быть сформирован путём логического умножения (на схеме
И) сигналов.
Блок-схема алгоритма функционирования ОУ в микрооперациях
Блок-схема (рис.4) составляется на основе словесного описания и списка
микроопераций.
Блок-схема алгоритма функционирования ОУ в микрокомандах.
Разметка блок-схемы
Анализ рис.4 показывает, что микрооперации У1,У2, а также У3,У4,У5
и У6,У7,У8 не зависят друг от друга и могут
Рис.5.
выполняться в одном такте (каждая группа в соответствующем такте). На
основании этого можно составить блок-схему алгоритма в микрокомандах,
обозначив каждую из них буквой Y (рис.5).
Произведём разметку блок схемы рис. 5. Начало и конец блок-
схемы обозначим а0 , что соответствует исходному состоянию управляющего
автомата (УУ). Далее вход каждого блока, следующего за операторными
блоками, которые имеют прямоугольную форму, помечаем символами а1 , а2
,... , соответствующими последующим состояниям УУ.
Составление граф - схемы функционирования УУ
Построение графа осуществляется на основе произведённой разметки
блок-схемы алгоритма. Каждому из состояний а0 , а1 ,... управляющего
автомата соответствует узел графа (рис.6). Дугами графа изображаются
переходы автомата из одного состояния в другое. Возле каждой дуги
указывается условие (если оно есть) перехода (Х) и выполняемая на данном
тактовом интервале микрокоманда Y. Переходы синхронного автомата из
одного состояния в другое происходят в тактовые моменты времени под
действием синхроимпульсов и входных сигналов.
2.4.2. Этап структурного синтеза УУ
Этот этап выполняется на основе формальных методов и включает в себя:
- расчёт требуемого объёма памяти УУ;
- выбор способа кодирования возможных состояний автомата;
- выбор типа применяемых логических элементов и триггеров;
- нахождение оптимальной с точки зрения минимизации числа элементов и
связей между ними структуры комбинационного цифрового устройства (КЦУ),
входящего в состав схемы УУ.
Определение требуемого числа триггеров ЗУ устройства
управления и кодирование состояний УУ
Из граф-схемы видно, что управляющий автомат должен иметь 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.
Выбор типа логических элементов и триггеров для реализации УУ
Если к цифровому устройству, реализуемому на микросхемах низкой и
средней степени интеграции, не предъявляются жёсткие требования в
отношении быстродействия, потребляемой мощности, габаритов и ширины
рабочего диапазона температур, то выбор, как правило, делается в пользу
наиболее развитой серии микросхем широкого применения К155, выполненные
по технологии ТТЛ. Предполагается, что проектируемое УСД предназначено
для работы в помещениях с составе стандартной аппаратуры. Поэтому
требования в отношении потребляемой мощности, ширины рабочего диапазона
температур и габаритов не являются жёсткими. Кроме того, в соответствии
с заданием частота синхроимпульсов f = 500 кГц, что соответствует
длительности тактового периода Т = 1/f = 2 мкс. В свою очередь среднее
время задержки логического сигнала в базовом элементе И-НЕ этой серии 20
нс, что на два порядка меньше длительности тактового периода Т. Таким
образом, практически любое цифровое устройство серии К155 обладает
достаточным быстродействием для использования его в схеме УСД.
Как видно из граф-схемы управляющего автомата, каждое его новое
состояние а(t+1) зависит от предыдущего а(t). Отсюда следует, что для ЗУ
автомата удобно применять такие триггеры, которые в процессе перехода
автомата в новое состояние а(t+1) не изменяют своего состояния а(t), то
есть сигналы Q и Q на выходах триггеров ЗУ изменяются лишь на
завершающей стадии перехода автомата в новое состояние. Из триггеров,
входящих в серию К155,таким свойством обладает двухступенчатый
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),
Х2 Х1 а i Q2 Q1 аi Q2 Q 1 J2K2J1 K1 Y1Y2 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 позволяет упростить полученные МДНФ
выходных функций КЦУ с использованием ручного метода карт Вейча.
J1 = X1 ( Q2 K1 = Q2 ( X2 J2 = Q1
На основании полученных выражений строим схему КЦУ в базесе И, ИЛИ,
НЕ (рис.8).
Функционально-логическая схема УСД строится на основании приведённых
выше общей структурной схемы УСД, структурной схемы УУ ,
функционально-логической схемы КЦУ и структурной схемы ОУ.
Поскольку проектируемое процессорное устройство является
специализированным, реализующим всего одну микропрограмму сбора данных,
оно не нуждается в командном (программном) управлении. Поэтому входы
Z1(Zk , показанные на общей структурной схеме УСД (см.рис.1), в данном
случае не нужны. Для построения схемы в справочнике по интегральным
микросхемам следует отыскать подходящие элементы всех перечисленных схем
с учётом изложенных выше соображений, относящихся к некоторым требуемым
свойствам этих элементов. Условные обозначения этих элементов нужно
надлежащим образом разместить на листе бумаги и соединить между собой в
соответствии с логикой работы устройства и таблицами управляющих
сигналов.
Функционально-логическая схема отличается от принципиальной тем, что
на ней не представлено размещение элементов в корпусах микросхем.
Соответственно на Функционально-логической схеме отсутствует нумерация
выводов корпуса.
На Функционально-логической схеме УСД следует представить способ
организации ОП, используя условное обозначение выбранной микросхемы ОЗУ
и выбранный способ соединения этих микросхем (корпусов, модулей, или
кристаллов, как их принято ещё называть). Остальные внешние устройства
УСД (АЦП и коммутатор аналоговых каналов) достаточно изобразить в
обобщённой форме, как на структурной схеме ОУ, поскольку они не являются
предметом проектирования. Функционально-логическая схема УСД приведена
на рис.9.
2.6. Оценка быстродействия УСД в варианте реализации
на принципах схемной логики
При оценке быстродействия УСД для простоты будем считать, что
наибольшая длительность акта преобразования АЦП меньше тактового периода
синхроимпульсов (Т = 2 мкс). В этом случае при функционировании УСД
режим ожидания (прохождение микропрограммы по малому циклу (см.рис.5)
будет отсутствовать.
Число тактов, требуемых для выполнения микропрограммы сбора данных,
равно сумме дуг, содержащихся в пути между узлами графа с учётом
циклического повторения отдельных участков пути. Таким образом цикл
сбора данных будет складываться из одного такта на выполнение
микрокоманды Y1 и F (в данном случае девяти) прохождений по большому
циклу (от a1 до a1 , см. рис.6). Каждое прохождение по большому циклу
требует трёх тактов. Итого длительность цикла сбора данных составит S =
(1+F.3).T = (1+13 .3).T = 40.2 мкс = 80 мкс.
3. РЕАЛИЗАЦИЯ УСД В ВИДЕ МПС НА БАЗЕ МИКРОПРОЦЕССОРА КР580ИК80
3.1. Структурная схема микропроцессорного устройства
Структурная схема УСД,построенного в виде микропроцессорного устройства
(МПУ), представлена на рис.10. Кроме микропроцессора и известных уже
модулей АЦП, ОП и коммутатора аналоговых каналов, схема МПУ содержит два
устройства ввода и одно устройство вывода данных, роль которых могут
выполнять программно-управляемые регистры-порты, например МБР К5889ИР12.
В таком варианте МПУ шина управления может состоять всего из двух линий
ЗАПИСЬ и ЧТЕНИЕ. На рис.10 для простоты не показаны: дешифратор сигналов
выборки модуля ОП (ВК) и триггер-флаг АЦП (Тфл).
3.2. Блок - схема алгоритма функционирования МПУ
Начальный адрес 070116 ячейки памяти области ОП, отведённой для
сбора данных, будем хранить в паре регистров HL. Текущий номер (адрес)
аналогового канала в соответствии с заданием будем помещать в регистр D.
Примем, что требуется соблюдать тот же порядок опроса аналоговых
каналов, что и при реализации УСД на принципах схемной логики, то есть
начиная с канала, имеющего номер (адрес) 0. Чтобы обеспечить
формирование признака завершения цикла сбора данных, в регистре B
поместим число F=1410 (число аналоговых каналов). Тогда блок-схема
алгоритма сбора данных будет иметь вид (рис.11). Дадим краткое пояснение
к блок-схеме. Так как по заданию программа представляет собой
прерывающую программу в предложении, что в состав МПС входит контроллер
прерываний КР580ВН69, то необходимо сначала сохранить содержимое всех
регистров. Это показано в блоках 1(4. В блоке 5 в пару регистров HL
загружается начальный адрес G (070116). В блоке 6 в регистр B
загружается число 1410 (0D16). Регистр D служит счётчиком адресов
аналоговых каналов. В блоке 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. Таким образом, пока адрес очередного
аналогового канала, сформированный в регистре D в блоке 16, остаётся
меньше 0D16 обеспечивается прохождение программы по большому циклу. По
завершению программы происходит чтение данных из стека и возврат из
подпрограммы (блоки 20(23 и 24).
3.3. Программа на языке Ассемблера
Программа, записанная на языке Ассемблера микропроцессора КР580ИК80,
представлена в табл.4.
Дадим краткое пояснение к таблице 4. Команды 1(4 сохраняют
содержимое всех регистров в стеке. Команды 5,6 и 7 в графе “Операнды”
содержат коды чисел, загружаемых соответственно в регистры HL, B и D.
Загружаемые числа представлены в шестнадцатиричной системе. Признаком
шестнадцатиричной системы
№
ко
манды
Мет
ка
Операция
Операн
ды
Коммента
рий
Бай
ты
Циклы
Так
ты
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,0701 H ;HL ( 070116 3 3 10
6
MVI B , 0D H ;B ( 0D16 2 2 7
7
MVI D , 00 H ;D ( 0016 2 2 7
8
MOV A , D ; A ( ( D ) 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 D ;D ( ( D ) + 1 1 1 5
17
MOV A , D ; A ( ( D ) 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, следующий за числом, либо отсутствие какого-либо
символа. В данном случае использован второй из признаков. В комментарии
использованы следующие сокращения:
Сдв.П(А)- сдвиг правый содержимого регистра А (аккумулятора);
УП - условный переход.
3.4. Размещение программы в ОП
В соответствии с заданием программа должна быть размещена в области
памяти, начиная с ячейки с адресом (=03B616. Размещение программы
представлено в табл.5.
Число ячеек ОП, отводимых под команду, определяется числом байтов в
команде. В табл.5 стрелками показана последовательность выполнения
команд. В командах условного перехода, где последующее выполнение той
или иной команды зависит от условия (признака), указаны пары стрелок,
рядом с которыми приведены значения сигналов-условий.
24 03D8
Таблица 5
3.5. Программа в кодовых комбинациях
На основании табл.4 и 5, а также системы микропроцессора КР580ИК80
можно составить программу цикла сбора данных в кодовых комбинациях (на
машинном языке), приведённую в табл.6.
3.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 03B6 11 000 101 C5 ;стек ( ( ВС )
2 03B7 11 010 101 D5 ;стек ( ( DE )
3 03B8 11 100 101 E5 ;стек ( ( HL )
4 03B9 11 110 101 F5 ; стек ( PSW
5 03B9 00 100 001 21 ;HL ( 070116
03BA 0000 0001 01
03BB 0000 0111 07
6 03BC 00 000 110 06 ; B ( 0D16
03BD 0000 1110 0D
7 03BE 00 010 110 16 ;D ( 0016
03BF 0000 0000 00
8 03C0 01 111 010 7A ; A ( ( D )
9 03C1 11 010 011 D3 ;Устр.выв.№1((А)
03C2 0000 0001 01
10 03C3 11 010 011 D3 ; A((устр.вв. №2)
03C4 0000 0010 02
11 03C5 00 001 111 0F ;A(Сдв.П( А )
12 03C6 11 010 010 D2 ;УП При С = 0
03C7 1100 0011 C3 к ячейке 03C3
03C8 0001 0110 03
13 03C9 11 011 011 DB ;A((устр.вв. №1)
03CA 0000 0001 01
14 03CB 01 110 111 77 ; M ( ( A )
15 03CC 00 100 011 23 ;HL(( HL ) + 1
16 03CD 00 010 100 14 ; D ( ( D ) + 1
17 03CE 01 111 010 7A ; A ( ( D )
18 03CF 10 111 000 B8 ; ( A ) — ( B )
19 03D0 11 000 010 C2 ;УП При Z = 0
03D1 1100 0001 C1 к ячейке 03C1
03D2 0000 0011 03
20 03D3 11 110 001 F1 ;PSW ((стек )
21 03D4 11 100 001 E1 ; HL (( стек )
22 03D5 11 010 001 D1 ; DE( ( стек )
23 03D6 11 000 001 C1 ;BC ( ( стек )
24 03D7 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. В.Н.Ульянов “Функциональные узлы цифровых устройств и
микропроцессоров”