Состав и архитектура микропроцессорных систем
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Состав и архитектура микропроцессорных систем
Микропроцессор (МП) - это программно управляемое устройство,
предназначенное для обработки цифровой информации и управления процессом
этой обработки, реализованное на одной или нескольких больших интегральных
схемах БИС; другими словами, МП – это стандартное универсальное устройство,
позволяющее реализовать приём, обработку и передачу цифровой информации.
Микропроцессорная система (МПС) – это совокупность взаимосвязанных
устройств, включающая один или несколько (МП), память (ЗУ), устройство вводавывода и ряд других устройств, предназначенных для выполнения некоторых
чётко определённых функций.
Микроконтроллер (МКО) – устройство, выполняющее функции логического
анализа (сложные последовательности логических операции) и управления;
реализуемое на одной или нескольких БИС. МКО – это микропроцессорное
устройство, в котором за счёт сокращения функций по выполнению
арифметических операций можно уменьшить его аппаратную сложность и развить
функции логического управления.
Структура микропроцессорной автоматической системы МПАС
МП включает арифметико-логическое устройство (АЛУ), устройство управления
(УУ) и блок регистров (БРГ), в который входят регистры: аккумулятор, адреса,
флаговые, состояния, программный счётчик, общего назначения, стековые и т.д.
МПС включает помимо МП (одного или нескольких), оперативное и постоянное ЗУ
(ОЗУ и ПЗУ), устройства ввода-вывода (УВВ), ряд других устройств.
Взаимодействие частей МПАС осуществляется посредством шин: адресной (ША),
данных (ШД), и управления (ШУ), связывающих в единую систему компоненты
МПС, а также шин измерения, контроля и управления, которые совместно с
соответствующими устройствами связи с объектом (процессом) обеспечивают
непосредственное взаимодействие МПС с управляемым объектом или процессом
МПС могут быть конструктивно подготовлены для работы с человекомоператором, т.е. иметь каркас, панель управления и другие необходимые
компоненты – в этом случае её называют микро-ЭВМ. МПС могут
предназначаться для агрегатирования, т.е. для работы в конструктивно и
функционально едином комплексе аппаратуры.
В последнем случае речь идёт о реализации распределённых средств управления
обработки информации в рамках МПАС. Распределённость здесь означает,
прежде всего, расчленение (декомпозицию) общего алгоритма управления на ряд
параллельных или последовательно реализуемых алгоритмов, не связанных
насколько это возможно друг с другом во времени, и, кроме того, оптимальное
пространственное распределение
процессов управления и
обработки
информации путём встраивания средств МТ непосредственно в датчики,
регулирующие исполнительные и другие устройства.
Проектирование сложной технической системы предполагает расчленение её на
некоторые функционально законченные подсистемы. При этом важно иметь
общее представление о структуре, как системы в целом, так и отдельных её
подсистем. В случае использования в системе МП средств немаловажно
установить взаимосвязь структуры с соответствующим алгоритмическим
обеспечением. В сложных системах, например в системе управления
промышленного робота, в качестве подсистем принято выделять иерархические
уровни управления .
На примере робототехнической системы рассмотрим разделение общей задачи
управления действиями робота на несколько самостоятельных подзадач или
уровней управления. В общем случае принято выделять три иерархических
уровня управления: исполнительный, тактический и стратегический.
На нижнем (исполнительном) уровне осуществляется управление приводами
подвижных звеньев исполнительного механизма робота. При этом основная
задача управления заключается в расчёте и выдачи на системы управления
приводами таких сигналов, которые обеспечивают качественное исполнение
законов движения по отдельным степеням подвижности робота.
На втором (тактическом) уровне вычисляются законы согласованного движения
звеньев исполнительного механизма робота, обеспечивающие целенаправленное
перемещение его рабочего органа по некоторой траектории, задаваемой
вышестоящим уровнем управления.
На третьем (стратегическом) уровне планируется траектория движения рабочего
органа ПР (промышленного робота), соответствующая выполнению роботом
предписываемой ему технологической операции.
Все МП можно разделить на два типа:
однокристальные МП с фиксированной
фиксированной системой команд;
многокристальные
МП
с
изменяемой
микропрограммным управлением
разрядностью
разрядностью
слова
и
слова
и
Структура однокристальных мп
Первые 16-разрядные МП i8086 фирма Intel выпустила в 1978 году. Эти МП сами
по себе уже представляют в основном исторический интерес. Однако их структура
и принципы организации легли в основу развития современных 16, 32–разрядных
процессоров. МП семейства i086/88 соответствует широко распространенная
отечественная серия К1810.
На рис.18.2 показана схема 16–разрядного МП серии К1810ВМ86, в котором
имеются автономное устройство сопряжения с шиной (УСШ), организующее
опережающую выборку команд из памяти и формирующее очередь выбранных
байт последовательности команд, и операционное устройство (ОУ), извлекающее
команды из очереди и реализующее предписанные командами операции в 16разрядном АЛУ.
В состав УСШ входят 6–байтная очередь команд, счётчик команд, четыре
сегментных регистра и сумматор. В состав ОУ входят блок регистров общего
назначения, арифметико-логическое устройство (АЛУ) и регистр признаков F.
Устройство управления МП осуществляет управление УСШ, ОУ и, кроме того,
периферийным оборудованием системы, обеспечивая обмен данными с
использованием механизмов квитирования, прерывания и прямого доступа к
памяти.Шесть однобайтных регистров очереди команд образуют регистр команды
МП, из которого ОУ последовательно извлекает очередную команду
побайтно.дресуемая область памяти составляет 1Мбайт, и, следовательно,
формат адреса равен 20бит. МП манипулирует логическими адресами,
содержащими 16–разрядный сегментный (базовый) адрес и 16–разрядное
внутрисегментное смещение. Логические адреса преобразуются МП в физические
(исполнительные) адреса в соответствии с рис..
Всё адресуемое пространство разбивается на
сегменты ёмкостью 64 Кбайт каждый. Начальный
адрес каждого сегмента (20бит) имеет в четырех
младших разрядах нули – ХХХХ016, т.е. сегменты
могут начинаться на границе блоков по 16байт.
Механизм адресации памяти
Два смежных байта образуют двухбайтное слово, причём старший байт хранится
в ячейке с большим адресом. Слово может начинаться по чётному или нечётному
адресу. В первом случае слово передаётся за один цикл шины, во втором – за два
цикла. Следовательно, слова необходимо размещать по чётным адресам памяти
данных.
Сегментный адрес (начальный адрес сегмента) хранится в 16–разрядном
сегментном регистре, а обращение к байту или слову внутри сегмента
осуществляется с использованием 16–разрядного смещения, формируемого в ОУ.
Если содержимое сегментного регистра равно нулю, то исполнительный адрес
равен смещению.
Организация адресного пространства памяти
Адресуемое пространство ввода-вывода (ВВ) состоит из 65536 портов ВВ. Порты
ВВ адресуются аналогично ячейкам памяти, но сегментные регистры при этом не
используются. Все порты ВВ адресуются косвенно (адрес содержится в регистре,
определяемом командой). Исполнительный адрес портов ВВ имеет формат 20
бит, но старшие четыре разряда всегда равны нулю.
Большинство команд МП оперируют только 16–разрядными смещениями, а
сегментные адреса находятся в одном из четырёх 16–разрядных регистров.
Каждый сегментный регистр задаёт конкретный сегмент, что находит отражение в
их названиях: CS – код (программа), DS – данные, SS – стек, ES – экстракод
(дополнительная
информация).
Содержимое
сегментных
регистров
автоматически суммируется со смещением, передаваемым из ОУ, и таким
образом участвует в формировании исполнительного адреса (рис.18.4).
Основное назначение сегментных регистров – динамическое перемещение
программ в памяти, которое необходимо в мультипрограммной среде. Для
динамического
перемещения
достаточно
модифицировать
содержимое
сегментных регистров
При разработке МП1810 стремились сохранить программную совместимость с 8–
разрядным МП (К580).
В состав блока регистров общего назначения (РОН) входят четыре 16–разрядных
регистра АХ, ВХ, СХ и DX, допускающих независимую адресацию старших (Н) и
младших (L) половин.
Все регистры блока РОН на общих основаниях участвуют в выполнении
арифметических и логических операций. В системе команд МП имеется
множество команд, которые специализируют некоторые РОН:
регистр АХ выполняет функции аккумулятора, с ним связаны операции
умножения, деления, преобразования и десятичной коррекции. Он
участвует во всех операциях ввода/вывода (ВВ) в качестве или источника
или приёмника информации;
регистр ВХ используется как источник базового адреса;
регистр СХ используется в качестве счётчика в командах сдвигов и
зацикливания, а также при операциях с цепочками байт;
регистр DX неявным образом адресуется в командах умножения и деления
и, кроме того, содержит адрес порта ВВ при косвенно-регистровой
адресации.
Четыре 16–разрядных указательных индексных регистра (SP, BP, SI, DI)
предназначены для хранения внутрисегментных смещений, обеспечивая
косвенную адресацию и динамичные вычисления исполнительных адресов.
Формат 16–разрядного регистра признаков F
Его младший байт FL полностью соответствует регистру признаков МП К580; CF –
перенос, PF – чет/нечет (в байте), AF – межтетрадный перенос (в байте), ZF –
нуль, SF – знак. Кроме перечисленных признаков, которые фиксируют
особенности результата последней арифметической или логической операции в
МП К1810, имеется признак переполнения OF.
В дополнение к этому в регистре признаков F фиксируются некоторые признаки
предназначенные для управления вычислительным процессом с МП: признак
направления DF, признак прерывания IF и признак прослеживания TF
(трассировка).
Организация памяти микропроцессорных систем электропривода
Память определяется как функциональная часть МПС, предназначенная для записи,
хранения и воспроизведения (выдачи) информации. Комплекс технических средств,
реализующий функцию памяти, называют заполняющим устройством (ЗУ). Основными
операциями в памяти в общем случае являются запись-занесение информации в
память и считывание-выборка информации из памяти. Обе операции называют
обращением к памяти.
Основные характеристики и классификации запоминающих
устройств
ЗУ состоит из ячеек памяти, каждая из которых предназначена для хранения двоичного
кода, соответствующего одному, половине или нескольким машинным словам. К
основным характеристикам систем памяти относятся:
информационная емкость памяти. Она определяется максимально
возможным количеством битов информации;
ширина выборки (разрядность). Определяется количеством информации
(разрядов), записываемой в ЗУ или извлекаемой из него за одно
обращение;
время обращения (быстродействие); количественно характеризуется
временем цикла обращения к ЗУ.
Важной характеристикой ЗУ является его способность сохранения информации при
отключении питания, т.е. является ли оно энергозависимым или же
энергонезависимым.
По способу организации доступа (обращения) к памяти различают два класса ЗУ: с
произвольным доступом (адресные) и с последовательным доступом (безадресные).
По способу хранения информации в электроприводах различают два класса ЗУ:
статические и динамические.
По функциональному назначению большинство типов ЗУ можно разделить на
следующие группы: сверхоперативные ЗУ (СОЗУ); оперативные ЗУ (ОЗУ); постоянные
ЗУ (ПЗУ); полупостоянные или перепрограммируемые ЗУ (ППЗУ); программируемые
логические матрицы (ПЛМ), специальный вид постоянной памяти: буферные ЗУ (БЗУ),
предназначенные для согласования различных типов ЗУ между собой и с внешними
устройствами; стековые ЗУ; внешние ЗУ (ВЗУ).
Сверхоперативные и оперативные запоминающие
устройства (созу и озу)
СОЗУ - представляют собой набор регистров (РГ), содержимое которых
непосредственно используется при обработке информации в МП. Такое ЗУ встроено в
БИС МП и предназначено для хранения команд, операндов и результатов
промежуточных
преобразований.
СОЗУ
используется
для
расширения
функциональных возможностей и повышения производительности МП.
ОЗУ – предназначено для хранения оперативной (переменной) информации,
требующейся в процессе обработки: операнды, числа, программы, промежуточные
результаты и т.д. Иногда ОЗУ называется памятью с произвольным доступом. Для ОЗУ
возможны режимы как считывания, так и записи информации. Внутренняя организация
ОЗУ содержит большое число элементов памяти (ЭП) и имеет некоторую регулярную
структуру. Существуют ОЗУ со статическими и динамическими элементами памяти
Статические эп способны хранить информацию (только один бит) как угодно долго,
пока подается электропитание. В качестве такого эп используется статический триггер.
Динамические ЭП способны хранить бит информации только короткое время (единица
мс или мкс). Поэтому для сохранения информации необходимое время ее нужно
периодически обновлять, т.е. регенерировать. В качестве такого ЭП может
использоваться электрический конденсатор. В динамических ЗУ время цикла
считывания (записи) больше, чем в статических.
Постоянные запоминающие устройства
ПЗУ – это постоянное запоминающее устройство, содержимое которого не может быть
заменено МП в ходе выполнения рабочей программы и сохраняется при снятии
питания системы. ПЗУ представляет собой память, работающую только в режиме
считывания. ПЗУ как устройство памяти может работать в одном из двух режимов:
чтение или программирование, т.е. в процессе записи информации в него.
По способу программирования выпускаемые полупроводниковые ПЗУ делятся на два
типа: МПЗУ – масочные ПЗУ, в которых информация заносится в процессе
изготовления масочным способом; создаются они на базе полевых или биполярных
транзисторов;
ЭППЗУ – электрически программируемые ПЗУ, в которых информация может быть
занесена электрическим способом, т.е. они допускают в своем режиме
программирование или репрограммирование (перепрограммирование) с помощью
электрических сигналов. Их называют также ПЗУ, программируемые пользователем.
По признаку кратности программирования ЭППЗУ можно разделить на ПЗУ с
однократным программированием (ППЗУ) и ПЗУ с многократной сменой информации
(РПЗУ). Стирание информации в РПЗУ осуществляется двумя способами:
электрическое стирание и воздействие ультрафиолетовыми (УФ) лучами.
Для построения МПС управления электроприводами специально разработаны
многоразрядные БИС ОЗУ КР537РУ8А и К1809РУ1; СППЗУ К573РФ2, К573РФ3,
К573РФ4, К573РФ5 и К573РФ6А; ЭППЗУ К573РР2 и ПЗУ К1809РЕ1
Организация ввода – вывода в микропроцессорных системах
В зависимости от значения сигнала на управляющей линии МП К1810 может работать
в минимальном или максимальном режиме.
Как показано на рис.а в минимальном режиме, рассчитанном на простые системы, МП
сам вырабатывает управляющие сигналы для системы (для памяти и УВВ), а в
максимальном режиме (рис.б), рассчитанном на большие, сложные системы, МП
вырабатывает управляющие сигналы только для специализированной БИС
контроллера шины, которая управляет системой. На рис.18.6 приведено
функциональное назначение линий управления МП в минимальном режиме.
Адресация ввода-вывода. Для обращения к устройствам ввода-вывода процессор
имеет отдельные команды IN и OUT, результатом выполнения которых является
формирование шинных сигналов для чтения или записи одного или двух байт.
Данные при чтении могут помещаться только в регистр AL или AX и выводятся из
этих же регистров.
В циклах ввода-вывода используются только 16 младших бит шины адреса
(старшие биты при этом нулевые), что позволяет адресовать до 64Кб регистров
ввода-вывода. Адрес устройства задается либо в команде (только младший байт,
старший – нулевой), либо берется из регистрах DX (полный 16-битный адрес).
Рис. Два режима работы МПС
а) минимальный; б) максимальный
Прерывания МП (изменения текущей последовательности команд) по происхождению делятся на программные, внутренние прерывания процессора и
аппаратные. МП может выполнять 256 типов (номеров) прерываний, каждому из
которых соответствует свой вектор прерывания – двойное слово, содержащее
дальний адрес (CS:IP) вызываемой подпрограммы. Под векторы (указатели)
прерываний в общем пространстве адресов памяти зарезервирована область 03FFh.
Программные прерывания, вызываемые исполнением команды INT хх,
(прерывание хх) по действиям процессора аналогично дальним вызовам
подпрограмм (сохранение в стеке адреса возврата – регистров CS и IP – и
передача управления по указанному адресу), но имеет некоторые отличия:
в начале выполнения прерывания МП помещает в стек регистр флагов и
сбрасывает бит разрешения прерывания;
вместо адреса вызываемой подпрограммы аргументом вызова (хх)
является номер вектора прерывания (0-255);
по окончании выполнения процедуры по команде IRET МП (возврат после
прерывания) извлекает из стека адрес возврата (инструкции, следующей за
командой INT) и сохраненное значение регистра флагов.
Сброс бита прерывания не позволяет прервать выполнение процедуры
прерывания до её окончания или явного разрешения командой запрета
прерывания.
Само программное прерывание выполняется независимо от состояния флага IF.
Программные
прерывания
позволяют
легко
и
быстро
вызывать
общеупотребительные процедуры из любого сегмента без применения дальних
вызовов.
Внутренние прерывания возбуждаются процессором по особым условиям:
прерывание 0 вырабатывается в случае переполнения при операции
деления на 0;
прерывание 1 вырабатывается после выполнения каждой команды при
установленном флаге трассировки TF;
прерывание
4
вырабатывается
по
команде
INT0
(Interrupt
Overflow)(прерывание по переполнению), если установлен флаг
переполнения OF.
Аппаратные прерывания, в отличие от программных и внутренних прерываний,
могут возникать асинхронно по отношению к исполняемой программе. Они
подразделяются на маскируемые и не маскируемые. МП может воспринимать
прерывания после выполнения каждой команды, длинные строковые команды
имеют для восприятия прерываний специальные окна.
Маскируемые прерывания вызываются переходом в высокий уровень сигнала на
входе INTR (Interrupt Request)(ЗПР-запрос прерывания, рис.18.2) и выполняются
при установленном флаге разрешения (IF=1). В этом случае МП сохраняет в стеке
регистр флагов, сбрасывает флаг IF и вырабатывает два следующих друг за
другом цикла подтверждения прерывания, в которых генерируются управляющие
сигналы INTA # (Interrupt Acknowlege) (ППР-подтверждение прерывания, рис.18.2).
Высокий уровень сигнала INTR должен сохраняться до подтверждения
прерывания. Первый цикл подтверждения – холостой, по второму импульсу
внешний контроллер прерываний передаёт по шине данных байт, содержащий
номер вектора, обслуживающий данный тип аппаратного прерывания.
Прерывание с полученным номером вектора выполняется процессором так же,
как и программное. Обработка текущего прерывания может быть прервана
немаскируемым прерыванием, а если обработчик установит флаг IF, то и другим
маскируемым аппаратным прерыванием. После аппаратного сброса флаг IF
сброшен, и маскируемые прерывания невозможны до их явного разрешения.
Немаскируемые прерывания выполняются независимо от состояния флага IF по
сигналу NMI (Non Mascable Interrupt). Высокий уровень на этом входе вызовет
прерывание с типом (вектором) 2, которое выполняется так же, как и
маскируемое. Его обработка не может прерываться под действием сигнала на
входе NMI до выполнения команды IRET.
Управление МП в режиме прямого доступа к памяти (ПДП). На вход запрос ПДП
от контроллера быстродействующего внешнего устройства поступает сигнал
запроса ПДП. По окончании текущего цикла передачи по шине МП переводит
буферные схемы шины AD0-19 и некоторых управляющих сигналов в
высокоимпедансное состояние и формирует сигнал подтверждение режима
прямого доступа к памяти (ППДП), по которому управление шиной передаётся
контроллеру внешнего устройства. Из состояния «приостановки» выполнения
программы МП выходит по окончании сигнала ЗПДП.
Ра
бо
та
ус
тр
ой
ст
ва
уп
ра
вл
ен
ия
мп
Рис. Временная диаграмма работы МП
На рис. показана временная диаграмма МП КР1810ВМ86 [2-1]. Модель
дискретного машинного времени для МП задаётся на входе СС синхросигналом
от внешнего генератора (fcc=-5МГц). Каждый машинный цикл на МП состоит из
четырёх тактов, которым соответствуют состояния Т1, Т2, Т3, Т4 автомата
управления МП. Между тактами Т3 и Т4 с помощью сигнала готовности ГТ можно
ввести произвольное число состояний ожидания Тож, что обеспечивает МП
возможность работы с любым типом внешних медленно действующих устройств.
Каждый машинный цикл МП представляет собой цикл шины, так как МП а так же
Т1, каждого МЦ выдаёт на линии AD0-19 код адреса памяти и формирует сигнал
сопровождения и идентификации информации разрешения регистра адреса
(РРА). По этому сигналу код адреса должен быть обязательно зафиксирован на
внешнем регистре, так как в следующих тактах машинного цикла на шине
осуществляется передача данных. Кроме того, в тактах Т2-Т4 по линиям А16-19
передаётся код состояния S3-6, который идентифицирует тип машинного цикла в
минимальном режиме.
Одновременно с передачей адреса по шине МП может формировать сигнал
передачи байта (
), который сопровождает передачу байта данных по
линиямAD8-15. В такте Т1 по шине AD0-15 передаётся адрес, а в тактах Т2-Т4
принимается или передаётся двухбайтовое слово. Стробирующий сигнал чтения
(
) используются для управления режимом работы регистра данных памяти
или УВВ. В режиме прямого доступа к памяти линия ЧТ переводится в
высокоимпедансное
состояние.
Стробирующий
сигнал
подтверждения
прерывания (
) используется для ввода в МП вектора прерывания из
котроллера УВВ, запросившего прерывание. В режиме прямого доступа к памяти
линия
переводится в высокоимпедансное состояние.
Сигнал готов (ГТ) используется МП в качестве сигнала подтверждения окончания
передачи данных из памяти или порта УВВ. Устройство управления МП
опрашивает значение сигнала на линии ГТ в начале такта Т3 и в зависимости от
него переходит или к состоянию Тож или к состоянию Т4.
Сигнал обмена данными (ПЕР/
) управляет работой шинных драйверов и
определяет направление передачи из МП в память/УВВ или в МП из памяти/УВВ.
Управляющий сигнал стробирования данных (
) формируется в МП при
обращении к памяти и УВВ в тактах передачи данных по шине, а так же машинном
цикле подтверждения прерывания. Сигнал запись (
) приобретает
действующее нулевое значение в циклах записи в память и вывода информации в
адресуемый порт УВВ.
Аналого-цифровые и цифро-аналоговые преобразователи
Микропроцессорная автоматическая система должна работать не только с
дискретными (цифровыми) сигналами, но и с непрерывными, физическими
параметрами, которые представляются значениями электрических величин,
формируемых соответствующими датчиками. Микропроцессор – это цифровое
устройство, поэтому необходимы средства преобразования цифровых величин в
аналоговые и обратно.
Аналого-цифровые преобразователи (АЦП) преобразуют входные данные в виде
значений тока или напряжения в цифровую форму. Процесс преобразования включает
дискретизацию по времени, квантование по уровню и кодирование непрерывной
входной величины. Необходимое быстродействие АЦП определяется скоростью
изменения входной величины.
Цифро-аналоговые
преобразователи
(ЦАП)
реализуют
обратный
процесс
преобразования цифровых данных в аналоговые сигналы; принцип их построения
основан на генерации в соответствующих цепях напряжений или токов,
пропорциональных весам зарядов. Эти устройства обычно состоят из схемы со
взвешенными величинами сопротивлений резисторов или резисторно-цепной
(лестничной) схемы.
АЦП и ЦАП изготавливают в различных модификациях. В одних входные сигналы
могут быть только положительными, в других – как положительные, так и
отрицательные, могут быть использованы обычный двоичный, дополнительный
двоичный и двоично-десятичный коды, а также обратный код, рефлексные коды и коды
с обнаружением ошибок (коды Грея и Хемминга).
ЦАП является одним из элементов АЦП, поэтому целесообразно сначала рассмотреть
устройство ЦАП.
Рис.18.8. Схема построения
ЦАП на резисторах
Рис.18.9. Схема
построения ЦАП на
базе операционного
усилителя
На рисунке 18.8 иллюстрируется способ построения ЦАП на резисторах. К схеме подключаются источники тока I, управляемые разрядами входного кода. Число источников
определяет разрядность входного двоичного кода. Каждый источник формирует
напряжения, численно равное значению соответствующего разряда, т.е. либо 1, либо
0. Выходное напряжение (аналоговое) пропорционально сумме значений напряжений
на источниках, взвешенных по степеням числа 2. Схема проста и может обеспечить
хорошую точность преобразования, т. к. используются два номинала сопротивлений
резисторов.
На рисунке 18.9 приведена схема построения ЦАП на базе операционного усилителя.
На входы схемы подаются напряжения, соответствующие разрядам кода. На выходе
операционного усилителя аналоговое напряжение пропорционально значению
цифрового двоичного представления входной величины.
Если все переключатели замкнуты на общий провод (ОВ), как показано на рис.18.9,то
входное напряжение в т.А равно нулю и выходное напряжение также равно нулю.
Предположим, что мы установили переключатель А в положение, соответствующее
логической 1. Тогда к операционному усилителю (ОУ) будет приложено входное
напряжение, равное ЗВ. Рассчитаем коэффициент усиления по напряжению
усилителя.
Кu=Rос/Rвх=10000/150000=0,066.
Чтобы получить выходное напряжение, умножаем этот коэффициент усиления на
величину входного напряжения, т.е.
Uвых.=Ku
Uвх=0,066
3=0,2В.
Выходное напряжение равно 0,2В, когда на входы ЦАП подана двоичная комбинация
0001.
Аналогично, если подать на входы ЦАП двоичную комбинацию 0010, то для
коэффициента усиления в этом случае получаем
Ku=Roc/Rвх=10000/75000=0,133,
умножив этот коэффициент усиления на величину входного напряжения, найдем, что
выходное напряжение равно 0,4В. При переходе к каждому следующему двоичному
числу выходное напряжение ЦАП должно увеличиваться на 0,2В. Такое возрастание
выходного напряжения обеспечивается за счет увеличения коэффициента усиления по
напряжению ОУ при подключении различных резисторов (R1, R2, R3, R4).
Если все переключатели в схеме на рис.18.9 установлены в положения,
соответствующие логическим "единицам", ОУ вырабатывает на своем выходе полные
ЗВ, поскольку коэффициент усиления в этом случае становится равным 1.
В качестве выходного можно использовать любое напряжение, не превышающее
напряжение питания ОУ (в нашем случае
10В). Можно увеличить число двоичных
разрядов, добавляя переключатели. При добавлении разрядного переключателя веса
16 в схему рис.18.9 потребуется резисторR5 с сопротивлением, равным половине
сопротивления резистора R4. В нашем случае R5 должно быть равно 9350Ом. При этом
нужно
будет
также
изменить
сопротивление
резистора
обратной
связи Rос приблизительно до 5кОм. На выходе ЦАП можно тогда подавать 5-разрядные
двоичные числа и по-прежнему получать на выходе аналоговый сигнал, изменяющийся
от 0 до 3В.
Схема ЦАП, показанная на рис.18.9 имеет два недостатка: во-первых, в ней
приходится использовать резисторы с широким диапазоном номиналов и, во-вторых,
обеспечиваемая точность преобразования невысока. Имеется ряд других более
сложных схем ЦАП, например, лестничного типа [3-11], которые обеспечивают
большую точность преобразования.
Аналого-цифровой
преобразователь
Рис.18.10. Базовая структурная схема АЦП
Процесс аналого-цифрово-го преобразования заключается в следующем. Для АЦП сnразрядным двоичным выходом входной сигнал квантуется на 2n уровней так, что
действи-тельное значение аналогового сигнала, соответствующее некоторой входной
кодовой комбинации, находится между двумя логическими уровнями. Всего имеется 2n1 нулевых логических уровней аналогового сигнала, а шаг квантования определяется
путем деления значения диапазона изменений аналоговой переменной на 2 n. равен
величине наименьшего значащего разряда АЦП, а максимальная погрешность
преобразования равна
/2. Базовая структурная схема АЦП приведена на рис.18.10.
На входе АЦП действует изменяющееся напряжение (в нашем случае от 0 до 3В). С
выхода АЦП снимаются двоичные сигналы. АЦП преобразует аналоговый сигнал
напряжения на входе в 4-х разрядное двоичное слово. Таблица 18.1 истинности
показывает, как работает АЦП.
Таблица 18.1
Таблица истинности для АЦП
Аналоговый вход
Вольты
Двоичный выход
8
4
2
1
Д
С
В
А
строка 1
строка 2
0,2
1
строка 3
0,4
1
строка 4
0,6
1
1
…
…
…
…
…
…
строка 15
2,8
1
1
1
строка 16
3,0
1
1
1
1
По способам реализации и принципам построения можно выделить несколько типов
АЦП [3-10, 3-11].
АЦП с поразрядным уравновешиванием (использует ЦАП) – наиболее распространен,
так как обеспечивает высокое разрешение при большой скорости преобразования. В
его основе лежит сравнение выходного сигнала внутреннего ЦАП с аналоговым
входным сигналом; результатом каждого сравнения является установление очередного
разряда на выходе ЦАП. Таким образом, выдача n-разрядных двоичного слова
занимает n фиксированных тактов, т.е. АЦП такого типа имеет постоянное время
преобразования. Точность преобразования зависит от стабильности опорного
напряжения ЦАП, резисторной схемы и компаратора. Такие АЦП применяют обычно в
системах обработки данных, мультиплексно сопряженных с МПС, т.е. когда особо
важны скорость преобразования и высокое быстродействие.
Рис.18.11. Структурная схема АЦП с поразрядным уравновешиванием
Этот АЦП со-держит компаратор напряжений, логический элемент И, двоичнодесятичный счет-чик и ЦАП.
Ко входу АЦП (слева на рис. 18.12) приложено аналоговое напряжение. Компаратор
"проверяет" величину напряжения, поступающего от ЦАП. Если аналоговое входное
напряжение на входе В меньше напряжения ЦАП, разрешается прохождение тактовых
(счетных) импульсов на вход двоично-десятичного счетчика. Счетчик подсчитывает эти
импульсы, в результате постепенно увеличивается цифровой сигнал (двоичное число)
на его выходе. Счет продолжается до тех пор, пока напряжение обратной связи с
выхода ЦАП не превысит аналоговое входное напряжение. В этой точке компаратор
останавливает счетчик. Предположим, что аналоговое входное напряжение равно 2В.
В соответствии с таблицей 18.1 счетчик сосчитает до 1010, а затем остановится,
сбросится в нулевое состояние (0000), и счет начнется снова.
Следует обратить внимание на то, что для преобразования аналогового сигнала
напряжения в двоичный цифровой сигнал требуется некоторое время. Однако в
большинстве случаев частота следования тактовых импульсов достаточно высока, так
что эта временная задержка не имеет существенного значения.
Интегрирующий АЦП
В работе интегрирующего АЦП используются косвенный метод преобразования, при
котором напряжение сначала преобразуется в длительность импульса при помощи
счетчика. Одно-, двух- и трехступенчатые интегрирующие преобразователи – все это
варианты АЦП, в основе работы которых лежит указанный принцип.
Рис.18.12. Структурная схема интегрирующего АЦП
Рис.18.13. Форма сигнала в интегрирующем АЦП
(а – при Uвх.=3В, б – при Uвх.=6В)
Структурная схема интегрирующего АЦП показана на рис.18.12. Работа этого АЦП
напоминает работу АЦП с динамической компенсацией. Новым узлом в
интегрирующем АЦП является генератор линейно изменяющегося напряжения. Этот
генератор вырабатывает пилообразное напряжение, как показано на рис.18.13.
(Предположим, что к аналоговому входу АЦП на рис.18.12 приложено напряжение,
равное 3В. Эта ситуация иллюстрируется на рис.18.13. Линейно изменяющееся
напряжение начинает возрастать, но в течение некоторого промежутка времени
остается меньше, чем напряжение на входе А компаратора. В этот промежуток
времени на выходе компаратора действует уровень логической 1, благодаря чему
логический элемент И удерживается в "открытом" состоянии, и через него могут
свободно проходить тактовые импульсы. На рис.18.13 показаны три тактовых
импульса, которые прошли через элемент И, прежде чем линейно изменяющееся
напряжение превысило напряжение на аналоговом входе. В точке, когда аналоговый
сигнал на входе станет равен 3В на выходе компаратора (рис.18.13а) устанавливается
логический 0. Логический элемент И "запирается". Счет останавливается на двоичном
числе 0011. Это двоичное число означает, что напряжение на входе равно 3В. На
рис.18.13б к аналоговому входу интегрирующего АЦП приложено напряжение 6В. Счет
прекращается на двоичном числе 0110 – цифровом эквиваленте аналогового входного
сигнала 6В.
Недостаток интегрирующего АЦП – слишком большое время, затрачиваемое на счет
при преобразовании больших напряжений. Чтобы ускорить процесс преобразования,
используются АЦП других типов, например, АЦП последовательного приближения
Аналого-цифровое преобразование с помощью МП
Е
Рис.18.14. Структурная схема цифро-аналогового преобразования с помощью МП
Если аналоговая величина преобразуется в цифровую форму для использования в
МПАС, то логично и выгодно, чтобы один из МП, входящих в ее состав, взял на себя
эти функции по преобразованию. За счет этого упрощаются внешние схемы и связи.
Особенно это эффективно, если преобразуются много сигналов. Схема такого
преобразования представлена на рис.18.14 [3-10].
В этом случае испытуемые числа для всех сигналов можно преобразовывать с
помощью одного ЦАП, подключенного к порту вывода Пвыв.. Сравнение на выходе ЦАП
с каждым из n входных аналоговых сигналов выполняет определенный компаратор.
Результат каждого сравнения поступает в МП по отдельной линии в порт ввода Пвв..
Номер портов ввода и вывода один и тот же, отличаются они друг от друга
управляющими сигналами "ввод" и "вывод".
Порт вывода принимает с шины данных (ШД) используемое число и подает его на вход
ЦАП. Выходы компараторов подаются на тристабильные формирователи (шинные
буферы), образующие порт ввода.
Программа начинает преобразование для некоторого канала, выводя соответствующее
испытуемое число. Это число преобразуется в аналоговое напряжение и сравнивается
с входным напряжением во всех каналах. Результаты всех сравнений программа
получает через порт ввода. Далее выделяется и тестируется бит, который
соответствует конкретному каналу и определяется новое пробное значение числа.
Подобрав число для одного канала, МП переходит к другому каналу и т.д. Таким
образом, преобразование ведется в режиме временного мультиплексирования. Метод
преобразования, используемый в программе, может быть любым, включая метод
последовательных приближений, методы со счетчиками и др.
Принцип построения устройств измерения переменных
состояний (координат) в электроприводах с
микропроцессорным управлением
В электроприводах с микропроцессорным управлением в качестве средств измерения
переменных состояний объекта регулирования применяют четыре основных вида
датчиков обратной связи: перемещения (положения), скорости, тока и напряжения.
Каждый из перечисленных датчиков характеризуется диапазоном измерения входной
величины, разрешающей способностью, точностью преобразования, быстродействием
и надежностью.
Рассмотрим принцип построения и особенности работы, область применения,
достоинства и недостатки датчиков положения и скорости наиболее важных в
микропроцессорных системах электропривода, по существу определяющих точностные
характеристики системы в целом.
Устройства измерения перемещения (положения)
Для измерения перемещения в качестве датчиков применяют фотоэлектрические и
индукционные измерительные преобразователи. Фотоэлектрические датчики имеют
высокую точность преобразования, хорошую разрешающую способность и большое
быстродействие. Принцип их действий основан на модуляции светового потока с
помощью
подвижных
элементов,
имеющих
переменную
прозрачность.
Модулированный в функции углового или линейного перемещения световой поток
преобразуется фотоприемниками в электрический сигнал, который затем подвергается
обработке.
В системах электропривода нашли применение два основных метода преобразования:
считывание с кодовой маски и последовательный счет единичных приращений .
Кодовая маска представляет собой набор оптических шкал, позволяющих поставить в
соответствие каждому квантовому уровню углового или линейного положения
конкретную кодовую комбинацию. Чаще всего кодовая маска имеет только одну
оптическую шкалу с чередующимися прозрачными и непрозрачными областями. В этом
случае перемещение измеряется путем накопления единичных приращений.
В преобразователях последовательного счета используется четыре фотоприемника,
причем каждый следующий фотоприемник имеет пространственный сдвиг по фазе,
равный
относительно предыдущего. Это позволяет путем определенного
включения фотоприемников сформировать квадратурные сигналы, причем знак
фазового сдвига между квадратурными сигналами определяет направление
измеряемого перемещения.
Соответствующим набором параметров оптической решетки можно добиться
синусоидальной формы квадратурных сигналов, которые могут быть преобразованы с
помощью компараторов в сигналы прямоугольной формы. Таким образом, измеряемое
перемещение представляется последовательностью прямоугольных импульсов,
каждый из которых соответствует перемещению на один шаг оптической решетки.
Для повышения разрешающей способности фотоэлектрических датчиков перемещения
используют способы дробления шага оптической решетки на четыре части и более.
Рассмотрим дискретный преобразователь перемещение – код (ППК), реализующий
метод последовательного счета импульсов фотоэлектрического датчика [3-13], схема
которого представлена на рис.18.15.
Фотоэлектрический импульсный датчик (ФИД) формирует две пары прямых и
инверсных сигналов прямоугольной формы, имеющие сдвиги по фазе
. Прямые и
инверсные сигналы попарно подаются на входы дифференциальных усилителей ДУ1 и
ДУ2. Выходные сигналы ИД1 и ИД2 усилителей ДУ1 и ДУ2 поступают соответственно на
входы сдвигающих регистров СРг1 и СРг2. Сдвигающие регистры, синхронизируемые
тактовыми импульсами ТИ1, формируют двоичные коды, первые разряды которых
соответствуют новому, а вторые – старому значению сигналов ФИД. Контроль уровня
(логических значений "0" и "1") сигналов ИД1 и ИД2 ФИД осуществляется каждый такт
синхронизации. Дешифратор Дш, стробируемый тактовыми импульсами ТИ2,
анализирует состояние разрядов сдвигающих регистров и формирует сигналы "Счет"
(см.таблицу 18.2). Выходные сигналы Дш, объединенные в группы "Плюс 1" и "Минус 1"
схемой формирования импульсов СФИ, подаются, соответственно, на суммирующий и
вычитающий входы реверсивного счетчика РСч. Реверсивный счетчик, накапливая
импульсы, формирует код Nφ углового (линейного) перемещения.
Рис.18.15. Дискретный ППК с ФИД
Коэффициент умножения частоты сигналов ФИД в этом ППК равен 4. Схема
нечувствительна к фазовым сдвигам ФИД и может обнаруживать ложные
импульсы, возникающие в тракте передачи входных сигналов.
Для дальнейшего улучшения разрешающей способности используют метод
интерполяции. ППК, реализующие метод интерполяции, могут быть построены как
устройства прямого или уравновешивающего преобразования.
Большой коэффициент дробления шага оптической решетки при наличии
квадратурных сигналов ФИД, имеющих малое содержание высших гармонических
составляющих, обеспечивает интерполяционный ППК, реализующий способ
следящего уравновешивания, схема и принцип действия которого рассмотрены в .
ППК такого типа относятся к системам с постоянным шагом квантования по
уровню и переменной частоты счета. Недостатком синусно-косинусных
интерполяторов является влияние на их точность дрейфа сигналов ФИД.
Таблица 18.2
Формирование сигналов "Счет"
Питание кода регистра
СРг1
СРг2
Сигнал
"Счет"
Выходы
Дш
Без
изменения
Плюс 1
Минус 1
Без
изменения
Минус 1
Ошибка
Плюс 1
Плюс 1
Ошибка
Минус 1
Без
изменения
Минус 1
Плюс 1
Без
изменения
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
новое старое новое старое
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Благодаря
высоким
эксплуатационным
качествам
широко
применяют
индукционные измерители перемещения электромагнитного типа, в частности,
синусно-косинусные вращающие трансформаторы (СКВТ), принцип действия которых
основан на изменении по синусоидальному закону взаимной индукции между
обмотками статора и ротора и, соответственно наведенной ЭДС при изменении
углового положения φ ротора.
К достоинствам СКВТ следует отнести малый коэффициент ослабления
выходного сигнала, к недостаткам – сложность изготовления обмоток. Этот недостаток
отсутствует в индуктосинах – многополосных датчиках с плоскими печатными
обмотками. Индуктосины делятся на линейные и угловые. К основным достоинствам
индуктосинов следует отнести наличие эффекта усреднения погрешности нанесения
печатных обмоток, что позволяет получать высокую точность .
2. Средства измерения скорости
До недавнего времени обратная связь по скорости большинства регулируемых
электроприводов осуществлялась с помощью тахогенераторов постоянного и
переменного тока. Наибольшее распространение получили тахогенераторы
постоянного тока, обладающие высокой линейностью, хорошей симметричностью и
большой крутизной выходной характеристики, у них отсутствует остаточное
напряжение. К недостаткам тахогенераторов постоянного тока следует отнести
наличие скользящего контакта, необходимость фильтрации выходного напряжения,
сложность конструкции.
Тахогенераторы переменного тока в отличие от тахогенераторов постоянного тока
определяют только значение частоты вращения и не определяют ее направление. Их
выходная характеристика существенно нелинейна. Поэтому несмотря на простоту
конструкции и отсутствие коммутации тахогенераторы переменного тока применяют
редко.
В качестве датчика обратной связи по скорости в микро процессорных
электроприводах обычно используются импульсные датчики, частота импульсов на
выходе которых пропорциональна скорости, а число импульсов – перемещению
контролируемого органа.
В настоящее время в электроприводах, особенно в цифровых, в качестве датчиков
скорости
применяют
фотоэлектрические
и
индукционные
измерительные
преобразователи. Это связано с необходимостью измерения малой скорости при
глубоком ее регулировании.
Удовлетворение повышенных требований со стороны электропривода при
использовании импульсного датчика возможно лишь за счет решения следующих
вопросов: правильного выбора конструктивных параметров датчика (число импульсов
на один оборот датчика, точность изготовления границ кодовых делений, точность
сочленения с механизмом и т.д.) и способов формирования сигналов считывающих
элементов, преобразования частоты импульсов в пропорциональный скорости
числовой эквивалент, синхронизации процессов и фильтрации результатов измерения.
Основными методами измерения скорости
управлением являются следующие [3-13, 3-15]:
в
электроприводах
с
цифровым
Метод аналого-цифрового преобразования напряжения тахогенератора
постоянного тока.
2.
Метод последовательного счета импульсов фотоэлектрического датчика за
заданный интервал времени (Н-метод).
3.
Метод
измерения
длительности
периодов
между
импульсами
фотоэлектрического датчика (Т-метод).
4.
Метод цифрового дифференцирования кода угла ППК уравновешивания с
индукционным датчиком.
1.
Метод измерения скорости с помощью АЦП обладает недостатками, характерными для
аналоговых систем, требуя принятия мер с целью компенсации дрейфа усилителей,
фильтрации выходного напряжения и компенсации нелинейности тахогенератора в
начальной зоне. Разрешающая способность тракта "ТГ-АЦП" не превышает 10-3.
Метод счета импульсов фотоэлектрического импульсного датчика позволяет измерять
среднюю скорость за период дискретности Тсистемы. При использовании стандартных
решений он имеет минимальную разрешающую способность в нижней части диапазона
изменения скорости, где как раз требуется высокое качество ее регулирования.
Метод измерения длительности периода имеет высокую разрешающую способность на
малой скорости и низкую – на большой. Следует отметить, что в верхней части
диапазона изменения скорости, где соблюдается условие ТuТ, где Тu – период
следования импульсов ФИД, значение измеряемой скорости приближается к
мгновенной. Однако в нижней части диапазона измерение частоты вращения менее
1,8мин-1 каждый цикл расчета в микроЭВМ становится невозможным ввиду
значительного увеличения периода следования импульсов. Например, период
следования импульсов при частоте вращения 0,1мин-1 и дискретности ФИД, равной
104мин/оборот,
достигает
значения Тu=0,06с.
При
периоде
дискретности
системы Т=0,003с это недопустимо, так как вызывает запаздывание в цепи обратной
связи по скорости.
Разрешающая способность устройств измерения, использующих индукционные
измерительные преобразователи с механической редукцией 5:1, не превышает
значения
, что недостаточно. Таким образом, ни один из перечисленных
выше методов не обеспечивает глубокое регулирование скорости. Основной причиной
этого является ограниченная разрешающая способность устройств измерения
скорости.
Для нахождения компромисса между конкретными технологическими требованиями и
возможностями их реализации по точности и быстродействию с помощью импульсноцифровых измерителей скорости предлагается ряд комбинированных методов (М/Т
методы) [3-15], причем возможна реализация этих методов с помощью измерителей не
только циклического, но следящего действия.
В качестве примера рассмотрим функциональную схему рис.18.16 устройства
измерения скорости на базе фотоэлектрического импульсного датчика, для увеличения
разрешающей способности которого применен метод интерполяции [3-13].
Рис.18.16. Двухканальное устройство измерения скорости с ФИД
Устройство имеет два информационных канала. В нижней части диапазона измерения
работает
интерполяционный
преобразователь
перемещение-код
ИППК,
преобразующий аналоговые сигналы ФИД в код Nφ1 угла.
В верхней части диапазона измерения работает дискретный преобразователь
перемещение-код ДППК, реализующий метод счета импульсов ФИД. Он формирует
код угла в виде Nφ=2к Nφ1, где 2к – коэффициент согласования отсчетов
информационных каналов. Блок согласования отсчетов БСО синхронизирует работу
информационных каналов. Блок цифрового дифференцирования БЦД формирует
код Nω скорости в виде приращений кода Nφ угла. Данное устройство измерения
скорости имеет высокое быстродействие. Его разрешающая способность
достигает
оборота вала электродвигателя.
На диапазон регулирования скорости цифрового электропривода с рассмотренным
устройством измерения сильно влияет внутришаговая погрешность, вызываемая
наличием гармонических составляющих в аналоговых сигналах ФИД. Предельное
значение диапазона регулирования скорости при оптимальном выборе дискретности
равно 1:20000.
Диапазон рабочих скоростей и быстродействие всех ППК следящего уравновешивания,
рассмотренных выше, ограничением максимальной частоты преобразователя
напряжение-частота ПНЧ. Для повышения быстродействия ППК выполняют по
комбинированной структуре со следящим и поразрядным уравновешиванием.
Аналогичного результата добиваются, изменяя в процессе работы ППК его
дискретность.
Импульсно-цифровое измерение скорости предполагает предварительную обработку
сигналов импульсного датчика, когда выделяются достоверные сигналы импульсного
датчика, учетверяется его частотный сигнал, определяется направление вращения.
Эта обработка сигналов может выполняться асинхронным или синхронным способом.
В микропроцессорных системах предпочтение отдается синхронному варианту, так как
он аппаратно реализуется проще, а сам МП является устройством с синхронной
обработкой информации, при этом синхронизация всех процессов обработки
информации в системе должна осуществляться от общего генератора – генератора
процесса.
18.9.3. Измерение электрических величин
В микропроцессорных системах управления электроприводами регулируемыми и
контролируемыми координатами могут быть не только механические величины – угол
поворота, скорость, ускорение, но и электрические величины, такие как ток,
напряжение, э.д.с., мощность. Для измерения этих координат используются
соответствующие датчики тока (ДТ) и напряжения (ДН). Эти датчики наиболее часто
применяются, на их основе строятся датчики э.д.с. и мощности [3-5].
Назначение ДН и ДТ – преобразования входной величины – напряжения или тока цепи
преобразователя, двигателя в выходной сигнал, пропорциональный входной величине.
Датчики могут выполнять одновременно и функции согласующего элемента –
потенциального разделителя, усилителя по напряжению, мощности. В зависимости от
вида выходного сигнала датчики разделяются на аналоговые и дискретные
(цифровые).
В составе аналогового датчики с выходным напряжением на постоянном токе можно
выделить три части: вводную цепь (ВЦ), потенциальный разделитель (ПР) и выходной
усилитель (У). Собственно датчиком является вводная цепь – делитель напряжения,
шунт, трансформатор напряжения или тока с выпрямителем. Эта цепь преобразует
измеряемые напряжения (U) или ток (I) во входное напряжение постоянного тока Uвх.
Потенциальный разделитель гальванически разъединяет входной и выходной сигналы.
Выходной усилитель формирует усиленный по напряжению и мощности выходной
сигнал датчика Uвых. Характеристики управления ДН и ДТ без учета погрешностей
прямолинейны:
где: кдн – безразмерный коэффициент ДН;
кдт – коэффициент ДТ с размерностью сопротивления (Ом).
Цифровые ДН и ДТ также имеют в своем составе вводную цепь, потенциальный
разделитель и усилитель, но для формирования цифрового выходного
сигнала Nвых снабжены аналого-цифровым преобразователем (АЦП). При дискретном
сигнале ПР просто реализуется с помощью оптопар. Характеристики управления
цифровых ДН и ДТ описываются выражениями:
где:
передаточные
коэффициент
соответственно вводных цепей, входного усилителя, оптронного потенциального
разделителя и АЦП.
Программирование микропроцессорных систем
Система команд МП использует прямую, относительную (посредством базовых
регистров), непосредственную, косвенную и индексную адресацию. В МП могут
выполняться арифметические операции над 8- и 16-разрядными числами со знаком и
без знака, над упакованными и неупакованными двоично-кодированными десятичными
числами. Для простых операций обработки последовательностей данных (цепочек)
имеются однобайтные команды, для которых посредством префикса можно задавать
число повторений. Имеются команды передачи управления двух типов,
осуществляющие переходы соответственно внутри текущего программного сегмента и
к произвольному сегменту, который при этом становится текущим.
Форматы команд
Рис.19.1. Команда с непосредственным операндом
В первом байте команды содержится код опера-ции и два однобитных поля:
направления передачи d и слова w. При d=l осуществляется передача «в», а при d=0 передача «из» МП. Направление передачи относится ко второму операнду (регистру),
определяемому полем reg второго байта команды. Поле w задает формат операнда:
при w=0 МП оперирует с байтом, а при w=l производится обработка 16-битного слова.
Второй байт команды, называемый постбайтом адресации, определяет работающий
регистр или ячейку памяти и состоит из трех полей: режима mod, регистра reg и
селектора регистр/память r/m.
В поле reg в соответствии с таблицей 19.1 задается один из регистров, содержащий
второй операнд команды.
Таблица 19.1
reg (r/m)
w=0
w=1
reg (r/m)
w=0
w=l
000
001
010
011
AL
CL
DL
ВL
AX
CX
DX
BX
100
101
110
111
АН
СН
DH
ВН
SP
ВР
SI
DI
Поле mod задает используемый режим адресации и предназначено для определения
первого операнда команды. Если mod=11, то операнд содержится в регистре,
адресуемом полем reg в соответствии с таблицей 19.1. Во всех остальных случаях
(mod11) первый операнд располагается в памяти. При этом код поля mod задает
способ использования смещений disp в соответствии с таблицей 19.2.
Таблица 19.2
Режим
mod
Пояснения
Смещения нет
8-битное смещение
16-битное смещение
00
01
10
Disp=0
Disp=dispL
Disp=dispH, dispL
11
Регистровая адресация в соответствии с таблицей
19.1
Во всех случаях, связанных с обращением к памяти (mod11), в поле r/m команды
кодируется способ вычисления эффективного адреса ЕА (смещения) операнда. В
операционном устройстве МП этот эффективный адрес формируется в соответствии с
таблицей 19.3.
Имеется только одно исключение: при mod=00 и r/m=110 смещение отсутствует и код
команды содержит прямой (физический) адресEA=dispH, dispL.
Таким образом, операнд в памяти можно адресовать 24 различными способами (3 кода
поля mod в таблице 10.2 и 8 кодов поля r/m в таблице 19.3).
Таблица 19.3
r/m
000
001
010
011
100
101
110
111
Смещение (ЕА)
ЕА=(ВХ)+(SI)+disp
ЕА=(ВХ)+(DI)+disp
ЕА=(ВР)+(SI)+disp
EA=(BP)+(DI)+disp
ЕА=(SI)+disp
EA=(DI)+disp
ЕА=(ВР)+disp
ЕА=(ВХ)+disp
Рис.19.2. Двухоперандная команда с непосредственным операндом
Здесь отсутствует необходимость адресации второго операнда, и поэ-тому полеreg в
постбайте используется для расширения поля КОП. Отсутствует также и поле d.
Формат непосредственного операнда определяется полями s и w в соответствии с
таблице 19.4.
Таблица 19.4
Формат операнда
S, w
Х0
01
11
data L
data H, data L
data L*
Пояснения
байт данных
2байта данных
байт данных с
расширением знака
до 16бит
Назначение полей mod и r/m сохраняется таким же, как и в предыдущем формате
команд.
Рис.19.3. Однооперандная команд
Все правила интерпретации полей однооперандных команд такие же, как и для
двухоперандных. Микропроцессор К1810 имеет в своем составе команды
специального формата, которые позволяют сокращать на один байт формат часто
используемых команд. Это команды операции с регистрами и, в частности, с
аккумулятором.
Способы адресации
В таблице 19.5 приведены сведения о способах формирования эффективных
адресов в МП К1810. В МП К1810 реализуются следующие способы адресации:
регистровая непосредственная, прямая, косвенная, базовая, индексная, индексно
- базовая, относительная и некоторые их комбинации.
r/m
Регистр
mod
00
01
10
w=0 w=l
000 (ВХ)+(SI) (BX)+(SI)+dispL (BX)+(SI)+dispH,L AL
001 (BX)+(DI) (BX)+(DI)+dispL (BX)+(DI)+dispH,
L
AX
CL
CX
010 (BP)+(SI) (BP)+(SI)+dispL (BP)+(SI)+dispH,L DL
DX
011 (BP)+(DI) (BP)+(DI)+dispL (BP)+(DI)+dispH,
L
BL
BX
100 (SI)
(SI)+dispL
(SI)+dispH, L
AH
SP
101 (DI)
(DI)+dispL
(DI)+dispH, L
CH
BP
110 dispH, L
(BP)+dispL
(BP)+dispH, L
DH
SI
111 (BX)
(BX)+dispL
(BX)+dispH, L
BH
DI
Регистровая адресация. Этот способ адресации кодируется в поле КОП или в
постбайте и определяет, что операнд находится в одном из регистров блока РОН. В
двухоперандных командах определяются два регистра так, как это показано в таблице
19.5.
Непосредственная адресация. Операнд содержится в теле команды и обычно имеет
формат 16 бит. В двухоперандных командах с помощью постбайта режима адресации
имеется возможность определять операции над непосредственным операндом и
содержимым регистра или ячейки памяти. МП К1810 не имеет команд загрузки
непосредственного операнда в сегментные регистры или в стек.
Прямая адресация (mod=00, r/m=110). Команды с прямой адресацией содержат
двухбайтный эффективный адрес (смещение) операнда вслед за постбайтом режима
адресации. В командах безусловной передачи управления и вызова подпрограмм
имеется возможность задавать двухбайтный сегментный адрес и двухбайтное
смещение (длинная прямая адресация), что позволяет адресовать любой элемент
памяти. В командах преобразования данных длинная прямая адресация не
предусмотрена.
Регистровая косвенная адресация. Двухбайтный эффективный адрес (смещение)
содержатся в регистрах ВХ, SI и DL Регистровая косвенная адресация через регистр
ВР моделируется использованием базовой адресации с нулевым смещением. Регистр,
используемый в команде с косвенно-регистровой адресацией, определяется
постбайтом режима (mod=00; r/m=100, 101, 111).
Относительная адресация с использованием базовых регистров. Эффективный
адрес операнда определяется как сумма содержимого указанного базового регистра
(ВХ, ВР, SI, DI) и одно - или двухбайтного смещения (dispL, dispH, L), содержащегося в
теле команды сразу вслед за постбайтом режима адресации. При этом все смещения
представляются в дополнительном коде как целое со знаком. Базовый способ
адресации используется для обращения к элементам различных структур данных,
когда величина смещения известна во время ассемблирования, а базовый адрес
структуры определяется в процессе исполнения программы.
Индексная адресация (mod=10: r/m=100, 101, 110, 111). В МП К1810 данный способ
адресации операнда реализуется с использованием команд с базовой адресацией и
двухбайтным смещением. При этом в теле команды содержится двухбайтный
«базовый адрес», а в «базовом регистре» - индекс. Базовые регистры ВХ, ВР, SI и DI
могут использоваться командами с базовой и индексной адресацией, однако чаще
всего регистры ВХ и ВР выступают в качестве базовых, а регистры SI и DI - индексных.
Комбинированная относительная и индексная адресация (mod=00; r/m=100, 101, 110,
111). В командах, использующих данный способ адресации, эффективный адрес
операнда равен сумме базового адреса и смещения, содержащихся в регистрах.
Базовый адрес представляется в регистрах ВХ, ВР, а индекс - в регистрах SI и DI. По
командам с индексно-базовой адресацией обеспечивается эффективный доступ к
элементам памяти, так как этот метод адресации позволяет вычислять в процессе
выполнения команды не только базовый (начальный) адрес структуры данных, но и
индекс (смещение) элемента внутри структуры.
Относительная адресация с использованием счетчика команд. При этом способе
адресации эффективный адрес вычисляется как сумма содержимого счетчика команд и
одно- или двухбайтного смещения, содержащегося в теле команды. Данный способ
адресации используется только в командах условных и безусловных переходов,
командах вызова подпрограмм и командах управления циклом.
Группы команд
Все команды МП К1810 можно разделить на несколько групп.
Команды передачи данных: По командам данной группы выполняются операции
передачи четырех типов: общие, аккумуляторные, адресные и признаковые. Команды
первых трех типов не изменяют содержимое регистра признаков, а по командам
четвертого типа выполняется прямая загрузка регистра признаков.
Команды арифметических операций: сложение, вычитание, умножение и деление
одно – или двухбайтных целых чисел со знаками и без знаков. В операциях над
целыми числами со знаком фиксируется переполнение OF. Числа со знаками
представляются в дополнительном коде. Имеются команда коррекции при операциях с
десятичными (двоично-кодированными) данными. Все команды арифметических
операций изменяют содержимое регистра признаков.
Команды логических операций и операций сдвига. В состав данной группы команд
входят команды инверсии операнда NOT, восемь различных команд сдвига и команды
логических операций И, ИЛИ и исключающее ИЛИ.
Команды
операций
с
цепочками
данных. Цепочкой
данных
называют
последовательность байт или слов, размещённых в смежных ячейках памяти.
Обработка цепочек данных производится поэлементно в программных циклах. МП
К1810 имеет специальные команды, которые не только обрабатывают цепочки данных
поэлементно, но и выполняют вспомогательные процедуры инкрементирования
указателя данных, декрементирования счётчика с проверкой на нуль и т.д.
Команды передачи управления. Имеют несколько разновидностей: вызов, безусловный
переход, возврат, условный переход, итерация, прерывание. Команды передачи
управления вызывают продолжение выполнения программы с новой ячейки памяти.
Команды управления микропроцессором: сброс переноса, дополнение переноса,
установка переноса, сброс направления, установка направления, сброс и установка
прерывания, останов, ожидание и обращение к сопроцессору.
Можно считать, что система команд 16-разрядного процессора 8086/88 (К1810)
является подмножеством команд 32-разрядных процессоров 80х86.
Описание языка программирования
При реализации цифровых регуляторов по аналоговому прототипу в большинстве
случаев основным требованием к программному обеспечению (ПО) является
минимальное время выполнения программ. Это достигается использованием кодов
команд процессора, либо применением языка ассемблера. Программирование в кодах
трудоёмко, программы трудночитаемы, в них сложно вносить изменения, велика
вероятность ошибок при программировании. Поэтому использование кодов команд
целесообразно только при разработке небольших программ, в ходе отладки программы
для внесения в неё небольших изменений или для просмотра небольших частей
программы.
Язык ассемблера изоморфен машинному языку, то есть каждому оператору языка
ассемблера соответствует, как правило, одна команда процессора. Это позволяет, с
одной стороны, воспользоваться всеми возможностями системы команд МП, а с другой
– избавиться от необходимости оперировать кодами команд путём замены их на
мнемокоды, что существенно упрощает процесс программирования и отладки.
Для лучшей наглядности ассемблерных программ и для ускорения процесса
программирования при написании программ регуляторов (ПИ и ПИД) кроме команд
ассемблера используются макроопределения. Макроопределения представляют собой
последовательность операторов на языке ассемблера (команд и псевдооператоров),
которые могут несколько раз появиться в программе. После того как макроопределение
задано, его имя можно использовать в исходной программе вместо
последовательности
команд.
Кроме
того,
можно
включить
несколько
макроопределений в библиотеку и использовать любые макроопределения в разных
программах.
Описание программ регулятора
В качестве примера рассмотрим алгоритм программ ПИД – регуляторов, который
заключается в вычислении значения выходной величины регулятора в зависимости от
закона изменения входной величины ошибки управления. Общая формула разностного
уравнения для вычисления значения выходной величины, полученная на основании
методики синтеза цифровых регуляторов, изложенной в главе 17, имеет вид:
Uрег(iT)={bnE(iT)+bn-1E[(i-1)T]+…+b0E[(i-n)T]-amUрег[(i-1)T]--am-1Uрег[(i-2)T]-…-a0Uрег[(im)T]}, (19.1)
где: b0,b1,…,bn – коэффициенты числителя ДПФ регулятора;
a0,a1,…,am - коэффициенты знаменателя ДПФ регулятора,
Uрег(iТ), Uрег [(i-1)T], Uрег[(i-2)T,],…, Uрег[(i-m)T] – дискретные значения регулируемой
(выходной) величины регулятора;
E(iT), E[(i-1)T], E[(i-2)T],
регулятора.
…, E[(i-n)T]
–
дискретные
Константам am, am-1,…,a0; bn, bn-1,…,b0 соответствуют
1,…, Acon0; BconN, BconN-1,…, Bcon0 соответственно.
значения
входной
величины
идентификаторы AconM, AconM-
На каждом такте программа считывает дискретное значение ошибки управления Еvar0 и
вычисляет
выходное
значение Uvar0.Для
вычисления
результата
кромеEvar0 используются предыдущие входные Еvar1, Evar2,… и предыдущие выходные
величины Uvar1, Uvar2,…. Для каждого метода численного интегрирования количество
значений из предыдущих так-тов различно, но ал-горитм сходен. На рис.19.4 показана
схема алгоритма ПИД–регулятора.Тексты программ для различных методов
численного интегрирования (метод трапеций, метод Симпсона, метод Уэдля)
приведена на дискете. Там приведены и макроопределения для каждой программы
Рис.19.4. Схема алгоритма работы программы ПИД - регулятора
Для упрощения программы и для уменьшения времени вычислений разностного
уравнения произведения сомножителей (коэффициентов bi и аi и переменных Е и U) и
поочередное их суммирование со знаком выполняется в одной операции – умножения
с суммированием (вычитанием) к общей переменной результата, обозначаемой
как Uvar0. В начале каждого такта вычислений переменная Uvar0 обнуляется
макрокомандой Clear - Uvar1, затем в зависимости от знака, произведение либо
складывается
с Uvar0 макрокомандой Ml-Plus,
либо
вычитается
из Uvar0 макрокомандой Mul-minus.
Использование
общей
переменной Uvar0 даёт
возможность обойтись без промежуточных результатов.
Алгоритм программ произведения чисел со знаком, представленных в дополнительном
коде, громоздкий и требует больших затрат времени, а использование прямого кода
(старший бит – знаковый) требует анализа знаков и временного их маскирования перед
каждым произведением чисел. Поэтому во всех программах ПИД–регуляторов, знаки
всех переменных и константы хранятся в компактном виде (Sgn-var). Перед каждым
циклом работы, знаки всех будущих произведений вычисляются одной операцией –
логической
функцией
исключающего
«ИЛИ».
Результат
запоминается
в
переменной Sgn-bt,
содержимое
которой
побитно
анализируется
перед
исполнением Mul-Plus, либо Mul-Minus. Для ускорения операции сдвига переменных,
вместо команд пересылки данных типа “mov” в программах применены более
эффективные цепочечные операции “movs”, осуществляющие перемещение заданного
массива 16 – разрядных слов в определённом участке памяти. Перемещение можно
выполнить за один приём: рассчитанный результат Uvar0 помещается не в Uvar1, а в
последнюю из переменных Еvar . Так как Еvar и Uvar размещаются в оперативной памяти
последовательно друг за другом, в результате выполнения всех операций “movs”
содержимое последней Еvar перепишется в Uvar1.