WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     || 2 |
-- [ Страница 1 ] --

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Леонтьев А.Г.

Микропроцессорные электромеханические системы Учебное пособие Содержание 1. Общие сведения о системах управления. Структура микропроцессорных электромеханических САУ.

2. Аппаратные средства микропроцессорных САУ.

1. Структура аппаратных средств.

2. Одноплатный микроконтроллер "Электроника МС 2702" (Электроника К1-20 ).

3. Однокристальные микроконтроллеры семейства МК-51 (МСS-51) 4. Однокристальный микроконтроллер SAB 80515.

1. Архитектура микроконтроллера.

2. Особенности внутрикристальной периферии. Таймер 2 3. Аналого - цифровой преобразователь.

4. Структура системы прерываний контроллера SAB80515.

5. Однокристальный микроконтроллер 8ХС196МС.

3. Программно-аппаратное преобразование сигналов в микропроцессорных системах.

1. Первичная обработка и преобразование сигналов датчиков.

1. Аналого-цифровое преобразование.

2. Преобразования сигналов датчика положения типа СКВТ.

3. Сопряжение СКВТ с микропроцессорной системой 4. Обработка сигналов инкрементного фотодатчика 2. Управление исполнительными двигателями.

1. Цифро-аналоговое преобразование с усилителем мощности.

2. Тиристорный преобразователь.

3. Транзисторный преобразователь с ШИМ.

4. Импульсное (частотное) управление.

4. Алгоритмы и программное обеспечение микропроцессорных систем управления.

1. Цифровые регуляторы.

2. Алгоритмы цифровых регуляторов.

3. Синтез цифровых регуляторов.

4. Алгоритмы пультовых операций и общая организация программного обеспечения.

5. Средства разработки программного обеспечения МПС.

1. Организация систем поддержки разработки ПО.

2. Отладочная система ТФ-ИНФО.

3. Интегрированные среды поддержки разработки микро-процессорных систем на основе микроконтроллеров МСS-96.

1. EV80196KR Microcontroller Еvaluation Board.

2. Project Bulder kit.

4. Отладочная система фирмы Intel - ICE-51FX/PC.

6. Нечеткие системы управления динамическими объектами на основе микроконтроллеров.

1. Принцип организации нечетких систем управления.

2. Реализация нечеткого управления.

3. Проектирование систем управления динамическими объектами с использованием алгоритмов нечеткой логики на стандартных микроконтроллерах.

Литература.

1.Общие сведения о системах управления.

Структура микропроцессорных электромеханических САУ.

В настоящее время широкое распространение получили микропроцессорные системы управления (МПС) в том числе и электромеханическими объектами. В них осуществляется программно-аппаратное управление с помощью программируемых микроконтроллеров, что дает возможность организовать гибкое управление объектом и позволяет реализовать сложные законы управления путем соответствующего программирования МПС. В связи с наличием большой номенклатуры микроконтроллеров от простейших PIC - контроллеров до сравнительно сложных однокристальных микро-ЭВМ, они находят применение как в системах с простой, так и со сложной структурой.По своей структуре системы автоматического управления (САУ) подразделяются на одноконтурные и многоконтурные (рис. 1.1).

Одноконтурная система содержит регулятор и объект управления с передаточными функциями Wрег(p) и Wоу(p). Система обеспечивает стабилизацию регулируемой величины y(t) и обработку простейших типов воздействий g(t)при наличии возмущения;

µ(t). В функции регулятора входит преобразование информации об ошибке =g-y в управляющий сигнал;

u в соответствии с алгоритмом (законом) управления u=u().

Простейшим регулятором является пропорциональный регулятор (П-регулятор), для которого W(p)= KП, u(p)=KП(p), u(t)=KП(t).

Наиболее распространенным в электромеханических системах управления является пропорционально-интегральный закон управления (ПИ-регулятор), имеющий передаточную функцию следующего вида и реализующий следующий закон управления В сложных многоконтурных системах осуществляется обратная связь по нескольким составляющим вектора состояния объекта управле-ния Х, а также могут задаваться воздействия по составляющим вектора входного воздействия Q и вектора возмущения M (см. рис. 1.1,б).

a) b) Рис. 1.1. Структура одноконтурной(а) и многоконтурной(б) САУ.

В электромеханических САУ наиболее часто применяется особый тип многоконтурных систем - системы подчиненного управления, в которых один контур вложен в другой.

На рис. 1.2 показана типичная схема трехконтурной следящей системы с форсировкой по скорости задающего воздействия uЗ. Такую структуру имеет большинство следящих приводов систем числового программного управления.

Система имеет задатчик, указывающий угол поворота (перемещения) исполнительного органа и его скорость, а также три регулятора: регулятор положения (РП), регулятор скорости (РС) и регулятор тока (РТ). Система построена так, что каждый регулятор является задатчиком для последующего - регулятор положения для регулятора скорости, а регулятор скорости - для регулятора тока (реализация подчиненного управления). Регулятор тока через силовой вентильный преобразователь (транзисторный или тиристорный) управляет исполнительным двигателем (ИД). Для получения сигналов обратной связи используются датчик тока (ДТ), датчик частоты вращения - тахогенератор (ТГ) и датчик положения (ДП), в качестве которого чаще всего применяются фотоимпульсные датчики и СКВТ (синусно-косинусный вращающийся трансформатор). Микропроцессорный модуль в такой системе может выполнять функции либо только задатчика (автономный привод), либо также и функции одного или нескольких регуляторов (неавтономный привод).

Рис.1.2. Функциональная (а) и структурная (б) схемы электромеханической следящей. системы автоматического управления.

На рис. 1.2,б приведена структурная схема привода подачи системы ЧПУ, в котором МПС выполняет функции задатчика и регулятора положения. Обычно, как и показано на этой схеме, регулятор положения реализует пропорциональный закон управления с коэффициентом пропорциональности K п и форсировкой по скорости с коэффициентом Kc, а регуляторы скорости и тока являются ПИ-регуляторами. В теории автоматического управления изложены методики, следуя которым можно оптимальным образом выбрать параметры регуляторов, зная параметры объекта управления и требования к качеству переходных процессов и точности системы в установившихся режимах (в частности,K - добротности системы по скорости и допустимой динамической ошибки слежения сл.дин при максимальной скорости слежения).

Одной из особенностей микропроцессорных систем управления является наличие в них квантования по времени с периодом Т, что на схеме рис. 1.2,б представлено наличием импульсных элементов (ИЭ) и цифрового задатчика, задающего угол поворота з за каждый квант времени Т. Выбор периода квантования зависит от требований к динамическим свой ствам системы управления и быстродействия вычислительной части микропроцессорной системы. Обычно в электромеханических системах период Т составляет единицы миллисекунд (1-5 мс), что предъявляет достаточно высокие требования к производительности управляющих ЭВМ.

Рис.1.3. Функциональная схема микропроцессорной системы управления.

В электромеханических системах управления широкое применение находят одноплатные и однокристальные микроконтроллеры, в частности, выпускаемые фирмой INTEL контроллеры семейства МК-51 и микроЭВМ i8ХС196МС, имеющие развитую периферию, пригодную для управления электромеханикой.

На рис. 1.3 показана укрупненная функциональная схема электромеханической системы управления с микроконтроллером. В ней можно выделить три части: микроконтроллер, состоящий из микропроцессора и ус-ройства сопряжения с объектом управления (УСО), силовой вентильный преобразователь и объект управления, включающий в себя исполнительный двигатель и датчики обратной связи.

С точки зрения исследования динамических свойств, систему можно разделить на две основные части - цифровую часть (цифровое управляющее устройство - ЦУУ) и непрерывную часть - объект управления, между которыми находится цифро-аналоговая система (ЦАС), содержащая в том или ином виде аналого-цифровые и цифро-аналоговые преобразователи (АЦП и ЦАП) [1].

Рис.1.4. Структурная схема контура управления микропроцессорной системы управления.

Обычно система является многоконтурной, и структура одного кон-тура (выходного) может быть представлена в виде, показанном на рис. 1.4. Система содержит в микроконтроллерной части цифровой задатчик (ЦЗ), каждый такт подающий в систему код задания YЗ[n], ЦУУ, реализующее алгоритм управления, и имеющее дискретную передаточную функцию D(z), а также АЦП и ЦАП, коэффициенты передачи KАЦП и K ЦАП которых зависят от количества разрядов (т.е. от величины одной дискреты - ЦАП, АЦП ). Так,, где - число двоичных разрядов АЦП (без учета знакового), а Ymax- максимальное значение входной величины. Для ЦАП имеем аналогично При реализации с помощью ЦУУ пропорционального регулятора коэффициент передачи контура Ky МПС будет АЦП и ЦАП осуществляют аналого-цифровое преобразование и дискретизацию по времени с периодом Т, поэтому они имеют в своем составе импульсные элементы ИЭ, а ЦАП помимо этого - экстраполятор Э с передаточной функцией WЭ. Простейшим экстраполятором является экстраполятор нулевого порядка - фиксатор - с передаточной функцией 2.Аппаратные средства микропроцессорных САУ.

1. Структура аппаратных средств.

2. Одноплатный микроконтроллер "Электроника МС 2702" (Электроника К1-20 ).

3. Однокристальные микроконтроллеры семейства МК-51 (МСS-51) 4. Однокристальный микроконтроллер SAB 80515.

1. Архитектура микроконтроллера.

2. Особенности внутрикристальной периферии. Таймер 3. Аналого - цифровой преобразователь.

4. Структура системы прерываний контроллера SAB80515.

5. Однокристальный микроконтроллер 8ХС196МС.

2.1 Структура аппаратных средств.

На рис. 2.1 показана функциональная схема трехконтурной электромеханической микропроцессорной системы, имеющей обратные связи по току, скорости и положению.

Система условно может быть разбита на три функциональных блока: микроконтроллер, устройство сопряжения с объектом и силовой электромеханический блок.

Рис.2.1. Функциональная схема электромеханической микропроцессорной системы.

Микроконтроллер можно разделить на две части - вычислитель (ВЧС), включающий микропроцессор (CPU), ОЗУ (RAM) и ППЗУ (EPROM) и периферийные устройства, наиболее типичными из которых являются параллельные порты ввода-вывода, таймеры и контроллер прерываний.

УСО обычно содержит оптронные развязки, АЦП с коммутатором и масштабирующими усилителями, датчик тока, преобразователь положения (фазометр) и пр.

Силовой блок содержит вентильный преобразователь (транзисторный или тиристорный), исполнительный двигатель (ДПТ), датчик скорости - тахогенератор и датчик положения, в качестве которого обычно применяется фотодатчик или СКВТ.

В зависимости от степени интеграции микросхем аппаратура микроконтроллера и УСО может быть реализована в виде различных наборов. При недостаточно большой степени интеграции применяемых БИС и СИС, например, при использовании серии КР580, микроконтроллер представляется в виде отдельной платы, а при более высокой степени интеграции в одном корпусе содержатся как вычислительная часть контролера, так и его периферийные устройства (так называемая однокристальная микроЭВМ), а зачастую и элементы УСО - многоканальные АЦП, преобразователи сигналов датчика положения и специальные генераторы управления вентильными преобразователями.

2.2 Одноплатный микроконтроллер "Электроника МС 2702" (Электроника К1-20 ).

Контроллер, упрощенная структурная схема которого показана на рис. 2.2, состоит из следующих функциональных узлов:

- центральный процессор - 1;

- устройства памяти - 2,3;

- контроллер прерываний - 4;

- устройства параллельного ввода-вывода 5,6;

- таймер - 7;

- устройство последовательного ввода-вывода - 8;

- пульт управления - 9.

Вычислительная часть контроллера содержит микропроцессор К580ИК80, ОЗУ КР565РУ объемом 1 Кбайт, ППЗУ пользователя объемом 12 Кбайт на основе микросхем К573РФ5.

Распределение адресного пространства памяти приведено в таблице 2.1.

Таблица 2.1. Распределение поля памяти.

Банк ЗУ Поле адресов Назначение 1 банк 2000-23FF ОЗУ КР566РУ2 1кбайт 2 банк 5000-57FF ППЗУ К573РФ5 2кбайт 3 банк 5800-5FFF ППЗУ К573РФ5 2кбайт 4 банк 6000-67FF ППЗУ К573РФ5 2кбайт 5 банк 6800-6FFF ППЗУ К573РФ5 2кбайт 6 банк 7000-77FF ППЗУ К573РФ5 2кбайт 7 банк 7800-7FFF ППЗУ К573РФ5 2кбайт Периферийные устройства КПУ, через которые контроллер организует связь с объектом управления, включают в себя контроллер прерывания (К580ВН59), обрабатывающий сигналы от 8 источников прерываний, таймер К580ВИ53 и универсальный синхронно-асинхронный последовательный приемопередатчик К580ВВ51 для связи с ЭВМ верхнего уровня.

Рис. 2.2. Функциональная схема микроконтроллера "Электроника МС2701" Распределение пространства адресов ввода-вывода приведено в табл. 2.2.

Контроллер МС 2702 имеет пульт управления (ПУ), связанный с системной магистралью через параллельный порт К580ВВ55 и содержащий клавиатуру и цифровую индикаторную панель. С помощью пульта управления и резидентного программного обеспечения (монитора), хранящегося в постоянной памяти, можно выполнять команды чтения и записи информации в ОЗУ и регистры ПУ, а также осуществлять запуск и трассировку программ пользователя, что позволяет создавать и отлаживать программы управления непосредственно с помощью аппаратуры контроллера.

Микроконтроллер "Электроника МС 2702" относится к микропроцессорным средствам общего назначения и может быть использован в составе систем управления технологическими процессами, не требующими высокого быстродействия, так как обладает невысокой разрядностью (8 разрядов), а из-за сравнительно низкой тактовой частоты - 2МГц - период квантования при управлении объектом не может быть сделан, в зависимости от сложности алгоритма управления, менее 1 - 5 мс.

Таблица 2.2. Распределение адресов регистров устройств ввода-вывода Наименование N Наименование БИС Адрес (Н-код) Внутренних регистров БИС Таймер-0 Е Таймер-1 Е 1 Таймер К580ВИ Таймер-2 Е РУС (регистр управляющего слова) Е Канал А F Параллельный порт 1 Канал В F К580ВВ55 Канал С F РУС F Канал А F Параллельный порт 2 Канал В F К580ВВ55 Канал С F РУС F А - сегмент Е Пульт управления В - код клавиши Е К580ВВ55 С - номер позиции Е РУС Е Данные F8,FA 5 Последовательный порт К580ВВ51 Инструкция режима, F9,FB Инструкция команды СКИ 1 FE,FC 6 Контроллер прерываний К580ВН СКИ 2,СКО 2 FF,FD 2.3 Однокристальные микроконтроллеры семейства МК-51(МСS-51).

Базовой моделью семейства микроконтроллеров фирмы INTEL MCS-51 является микроконтроллер 8051, структурная схема которого приведена на рис. 2.3.

Контроллер содержит следующие функциональные узлы:

- 8-разрядное центральное процессорное устройство (CPU), приспособленное для применения в устройствах управления;

- внутреннюю память программ объемом 4 Кбайт;

- внутреннюю память данных объемом 128 байт;

- четыре восьмиразрядных порта, которые могут быть настроены индивидуально на ввод или вывод информации. При наличии внешней памяти программ или данных через порты Р0 и Р организуется магистраль адрес/данные с адресным пространством 64К, как показано на рис. 2.3;

- два 16-разрядных таймера-счетчика;

- дуплексный последовательный порт;

- внутренний тактовый генератор с частотой 12, 16, 20, 24 МГц;

- шестивходовую двухуровневую пятивекторную систему прерываний с двумя внешними входами запросов прерывания.

Рис. 2.3. Структурная схема базовой модели однокристальной микро-ЭВМ семейства MCS-51.

Семейство MCS-51 содержит большое количество разновидностей (ветвей), отличающихся объемом внутренней памяти данных и программ, тактовой частотой, разнообразием периферийных устройств внутри кристалла (количество таймеров, портов ввода-вывода, наличие АЦП, количество запросов на прерывание и т.д.).

Основные данные о микропроцессорах семейства MCS-51 приведены в таблице 2.3.

Линий запроса прямого доступа к памяти контроллеры не имеют.

Контроллеры семейства 8051, 8052, 80CS51 имеют четыре различные варианта исполнения, представленные в таблице 2.4.

Отечественным аналогом микроконтроллера 8051АН является однокристальная микроЭВМ К1816ВЕ51, а аналогом контроллера, не имеющего внутренней памяти программ - 8031АН - микроЭВМ К1816ВЕ31.

Рассмотрим организацию контроллера МК51 на примере однокристальной микроЭВМ К1816ВЕ51. Микроконтроллер К1816ВЕ51 конструк тивно выполнен в корпусе, имеющем выводов, как изображено на рис. 2.4. Назначение выводов микросхемы приведено в таблице 2.5.

Таблица 2.3. Основные данные микроконтроллеров семейства MCS-51.

Объем Объем Кол-во Кол-во Кол-во внутр. внутр. ОЗУ F такт, Тип УВВ источн. каналов каналов ПЗУ Данных (МГц) прерыв. РСА АЦП (Кбайт) (байт) 8051 0-4 128 12 32 5 0 - 8052 0-8 256 12 32 6 0 - 80С51 0-4 128 12, 16 32 5 0 - 0-32 256 12,16, 32 6 0 - 8ХС52 8ХС 20, 8ХС58 8XL 8-32 256 12,16, 32 6 0 - 8XL54 8XL 8ХС51FA 0-32 256 12-24 32 7 5 - 8XC51FB 8XC51FC 0-32 256 12,16, 32 7 5 - 8XL51FA 8XL51FB 8XL51FC 8XC51GX 0-8 256 12,16 48 15 10 40 8XC152 0-8 256 16.5 11 0 8XC51SL 0-16 256 16 24 10 0 Таблица 2.4. Микроконтроллеры семейства MCS-51.

Объем Вариант без Объем Вариант с внутр. Кол-во Технол.

Тип Памяти внутр.

EPROM ОЗУ, таймеров изгот Программ ПЗУ байт 8051AH 8031AH 8751H/BH 4K 128 2 HMOS 8052AH 8032AH 8752BH 8K 256 3 HMOS KP1816BE51 KP1816BE31 KP1816BE751 4K 128 2 n-MOП 80C51BH 80C31BH 87C51 4K 128 CHMOS KP1830BE51 KP1830BE31 KP1830BE751 4K 128 2 KMOП Таблица 2.5. Назначение выводов микросхемы КР1816ВЕ51.

Номера Обозначение Назначение Контактов 1-8 Р1.0 - 1-8 Входы-выходы порта Р Р1. 9 RST/VРD Cброс/питание холостого хода 10 RXD Вход приемника 11 ТXD Выход передатчика 12 INT0 Запрос прерывания 0 (ЗПР 0) 13 INT1 Запрос прерывания 1 (ЗПР 1) 14 Т0 Вход таймера/счетчика 15 Т1 Вход таймера/счетчика 16 WR Сигнал записи во внешнее ОЗУ 17 RD Сигнал чтения внешнего ОЗУ 18-19 Х1,Х2 Подключение внешнего резонатора 20 Uss "Земля" (Общий вывод И.П.) 21-28 P2.0-P2.7 Входы-выходы порта P 29 PSEN Активация внешней памяти программ 30 ALE Строб фиксации адреса внешней памяти Активация внутренней памяти программ / программирование 31 ЕA/ Uprog внутренней памяти программ 32-39 Р0.7-Р0.0 Входы-выходы порта Р 40 Ucc Питание + 5В Контроллер состоит из следующих функциональных узлов:

- АЛУ (арифметико-логическое устройство);

- резидентных памяти программ (РПП) и памяти данных (РПД);

- регистров специальных функций (РСФ);

- портов параллельного и последовательного ввода-вывода;

- таймеров;

- системы прерывания.

АЛУ МК51 реализует достаточно мощную систему команд, включающую команды умножения, деления, вычитания, выполнения операций над битами, команды управления. Большинство команд имеют формат один или два байта и выполняются за один или два машинных цикла длительностью 1 мкс (при тактовой частоте 12 МГц).

Память программ и память данных физически и логически разделены. Кроме того, к адресному пространству РПД примыкает адресная об-ласть регистров специальных функций, включающая в себя: аккумулятор (АСС), слово состояния программы (PSW), указатель стека (SP), указатель данных (DPTR), порты (Р0-Р3), регистр приоритетов (IP), регистр маски прерываний (IE), регистр режимов таймеров-счетчиков (TMOD), таймеры-счетчики (Т0, Т1), регистр управления и буфер приемопередатчика (SCON и SBUF) и др.

Рис 2-4. Расположение и обозначение выводов КМ1816ВЕ51.

Для побайтового ввода-вывода информации в МК51 могут быть использованы четыре порта (Р0-Р3). Помимо того, выводы порта Р3 (контакты 10-17) могут быть настроены для реализации альтернативных функций (см.табл.2.5) записью в соответствующие разряды порта логической единицы. В случае применения внешней памяти данных (ВПД) или программ (ВПП) используются выходные буферы портов Р0 и Р2. При этом через порт 0 в режиме мультиплексирования выводится младший байт адреса ВПД или ВПП, а затем осуществляется передача данных. Если разрядность адреса составляет более 8 бит, то через порт Р2 происходит выдача его старших разрядов.

Специальный сброс МК51 осуществляется подачей единицы на вход RST в течение по меньшей мере двух машинных циклов. При этом сбрасывается содержимое счетчика команд и всех регистров специальных функций, в регистр указателя стека записывается число 07Н, а в порты - 0FFH. После снятия сигнала RST запускается программа по адресу 0000H.

Упрощенная схема прерываний МК51 приведена на рис. 2.5.

Рис. 2.5. Упрощенная схема реализации прерываний МК-51.

Внешние прерывания INT0 и INT1 могут быть вызваны либо низким логическим уровнем, либо переходом из 1 в 0 на входах МК51 в зависимо-сти от значений IT0 и IT1 - управляющих бит, представленных в регистре TCON (timer control register - регистр управления таймерами) разрядами TCON.0 и TCON.2. При появлении запросов от внешних источников прерываний устанавливаются флаги IE0 и IE1 в разрядах TCON.1 и TCON.3.

При переполнении таймеров устанавливаются флаги запроса прерываний от таймеров TF0 и TF1 (TCON.5 и TCON.7), которые сбрасываются автоматически при передаче управления программе обслуживания прерываний. Флаги запросов на прерывания от приемника и передатчика - RI и TI - устанавливаются универсальным приемопередатчиком и должны сбрасываться программно.

Два регистра специальных функций IE и IP позволяют управлять режимами прерываний и уровнями приоритета. Каждому запросу соответствует адрес вектора прерывания в поле адресов памяти программ (см. рис. 2.5). По адресу вектора прерывания должна быть записана команда безусловного перехода (JMP) к подпрограмме обслуживания прерывания. Возврат в основную программу осуществляется по команде RETI. Подробно с организацией работы однокристальной микроЭВМ типа К1816ВЕ51 можно познакомиться в [2].

2.4 Однокристальный микроконтроллер SAB 80515.

2.4.1 Архитектура микроконтроллера.

Однокристальный микроконтроллер фирмы Siemens SAB 80515 является дальнейшим развитием базовой архитектуры микроконтроллеров семейства INTEL MCS 8051.Функциональная и структурная схема микроконтроллера SAB 80515 приведены на рис. 2. и рис. 2.7. Как видно из Рис. 2.6. Функциональная схема микроконтроллера SAB 80515.

этих схем, контроллер имеет расширенные возможности по сравнению с базовой архитектурой, которые заключаются в следующем:

-увеличен объем внутренней памяти программ до 8 Кбайт;

-увеличено количество портов ввода-вывода до шести;

-добавлен третий таймер (Timer 2) c дополнительными функциями;

-имеется восьмиканальный аналогово-цифровой преобразователь (A/D);

-добавлен сторожевой таймер (watchdog), что создает дополнительные удобства для применения контроллера в системах управления динамическими объектами;

-кроме того, расширена система прерываний.

Архитектура и структура микроконтроллера совместима с базовой системой. Так порты Р0 и Р имеют такую же дополнительную функцию, как организация магистрали адрес/данные для внешней памяти и внешних устройств. Порт Р3 имеет те же альтернативные функции, что и в базовой модели. В отличии от базовой модели порт Р1 здесь имеет альтернативные функции, связанные с захватом-привязкой внешних событий, которая осуществляется дополнительным таймером 2.

Рис. 2.7. Структурная схема микроконтроллера SAB Организация адресного пространства контроллера такая же, как и в базовой модели с некоторыми расширениями, вызванными появлением дополнительных возможностей. Так нижняя часть адресного пространства памяти программ отводится под хранение векторов прерывания в том же порядке, как и в базовой модели, но с увеличением количества векторов прерывания с пяти до двенадцати. Верхняя часть адресного пространства внутренней памяти данных, также отводится под регистры специальных функций, причем адреса с 80Н по В0Н - под регистры периферии общие с Таблица 2.6. Регистры специальных функций.

№ Обозначение Наименование Адрес 1* P0 Порт 0. 80H 2 SP Указатель стека 81H 3 DPL Указатель данных мл.байт: 82H 4 DPH ст.байт: 83H 5 PCON Регистр управления питанием 87H 6* TCON Регистр управления таймерами 88H 7 TMOD Регистр режимов таймеров 89H 8 TL0 Регистр таймера 0, мл. байт 8AH 9 TL1 Регистр таймера 1, мл. байт 8BH 10 TH0 Регистр таймера 0, ст. байт 8CH 11 TH1 Регистр таймера 1, мл. байт 8DH 12* P1 Порт 1 90H 13* SCON Регистр управления последовательным портом 98H 14 SBUF Буфер последовательного порта 99H 15* P2 Порт2 A0H 16* IEN0 Регистр разрешения прерываний 0 A8H 17 IP0 Регистр приоритетов 0 A9H 18* P3 Порт3 B0H 19 IEN1 Регистр разрешения прерываний 1 B8H 20 IP1 Регистр приоритетов 1 B9H 21* IRCON Регистр управления разрешения прерываний. C0H 22 CCEN Регистр разрешения захвата/привязки C1H 23 CCL1 Регистр захвата/привязки 1 мл. байт C2H 24 CCH1 ст. байт C3H 25 CCL2 Регистр захвата/привязки 2 мл. байт C4H 26 CCH2 ст. байт C5H 27 CCL3 Регистр захвата/привязки 3 мл. байт C6H 28 CCH3 ст. байт C7H 29* T2CON Регистр управления таймерами 2 C8H 30 CRCL Регистр захвата/загрузки/привязки мл. байт CAH 31 CRCH ст. байт CBH 32 TL2 Регистр таймера 2, мл. байт CCH 33 TH2 ст. байт CDH 34* PSW Регистр состояния программы D0H 35 ADCON Регистр управления АЦП D8H 36 ADDAT Регистр данных АЦП D9H 37 DAPR Регистр программирования АЦП DAH 38* ACC Аккумулятор E0H 39* P4 Порт4 E8H 40* B Регистр В F0H 41* P5 Порт5 F8H * Регистры, к которым возможно побитовое обращение.

регистрами базовой функции, а с В8Н по F8H - дополнительные регистры специальных функций контроллера SAB 80515. Перечень регистров специальных функций приведен в таблице 2.6.

2.4.2 Особенности внутрикристальной периферии. Таймер 2.

Рассмотрим более подробно некоторые особенности дополнительной внутрикристальной периферии контроллера SAB 80515.

Таймер 2 может функционировать как таймер, счетчик событий и управляемый таймер, кроме того, он может выполнять перезагрузку счетчика, осуществлять сравнение кодов таймера и четырех 16-ти разрядных регистров. Таким образом, таймер 2 представляет собой довольно сложное устройство, структурная схема которого показана на рис. 2.8.

Рис. 2.8. Структурная схема таймера 2.

Он содержит в своем составе следующие регистры:

- CCN - регистр разрешения захвата/привязки.

- T2CON - регистр управления таймером - TL2, TH2 -двухбайтный регистр сравнения/перезагрузки/захвата.

-CRCL, CRCH - двухбайтный регистр сравнения/перезагрузки/захвата.

А также три 16-ти разрядных регистра захвата/привязки - CCL1, CCH1;

CCL2, CCH2;

CCL3, CCH3.

В качестве входов/выходов этой системы используются альтернативные выводы порта Р1, имеющие следующие назначения:

Р1.0/ /CC0 - выход привязки/вход захвата для СRC Р1.1/INT4/CC1 - выход привязки/вход захвата для СC Р1.2/INT5/CC2 - выход привязки/вход захвата для СC Р1.3/INT6/CC3 - выход привязки/вход захвата для СC Р1.4/ - вход внешнего прерывания Р1.5/Т2EX - внешний вход перезагрузки таймера Р1.7/T2 - внешний счетный вход или вход управления таймера Как обычно, чтобы использовать альтернативные функции этих выводов необходимо предварительно записать "1" в соответствующие защелки порта Р1.

Рис. 2.9. Таймер 2 в режиме сравнения.

Как видно из схемы, на счетный вход таймера могут подаваться импульсы от внутреннего генератора с частотой деленной на 12 -Fosc/12, ко-торая в свою очередь может еще быть поделена на 2, или импульсы с внешнего входа P1.7 и, кроме того, вход Р1.7 может быть использован как стробирующий вход управления (GATE ) при работе в режиме таймера.

Таким образом, таймер может работать в режиме собственно таймера, инкрементируясь каждый машинный цикл или через один, а также в режиме счетчика внешних событий. При работе в режиме таймера возможно управление счетом с внешнего входа Р1.7/Т2 так, что значение Т2 = 1 разрешает счет, а Т2=0 останавливает.

Настройка таймера на различные режимы определяется кодом, записываемым в регистр управления Т2CON с адресом 0С8Н, назначение разрядов которого приведено в таблице 2.7.

Как указывалось выше, таймер 2 может работать в режиме захвата/привязки, суть которого заключается в следующем.

Таблица 2.7.Регистр управления таймера 2.

T2PS I3FR I2FR T2R1 T2R0 T2CM T2I1 T2I0 Бит CFH CBH CDH CCH CBH CAH C9H C8H Адрес Символ Позиция Функция T2I0 T2CON0 Выбор входа таймера T2I1 T2CON T2I0 T2I1 Режим входа 0 0 Нет входа, таймер выключен 0 1 Режим неуправляемого таймера 1 0 Режим счетчика внешних событий 1 1 Режим управляемого таймера T2CM T2CON2 Бит режима сравнения T2R0 Выбор режима перезагрузки T2R T2R0 T2R1 Режимы перезагрузки 0 Х Перезагрузка запрещена 1 0 Режим 0 автоперезагрузка 1 1 Режим 1 Внешняя перезагрузка I2FR T2CON5 Настройка установки флагов прерываний IEX2 и IEX3 от I3FR T2CON6 внешних прерываний INT2 и INT3. При "0" установка флага по спаду, а при "1" - по фронту, входного напряжения T2PS T2CON7 Бит деления входной частоты на 2. При T2PS =1 происходить деление на 2. При работе в режиме счетчика T2PS =0, В режиме привязки формируется внешнее событие на выводах Р1.0 - Р1.3, привязанное к определенным временным меткам. Это реализуется путем сравнения кода, формируемого в таймере, с кодами, занесенными программным путем в регистры захвата /привязки CCR и СС1 3. При равенстве кодов происходит установка соответствующего триггера защелки пор-та P1 в состояние "1",сброс этого триггер происходит при переполнении таймера, как показано на рис.

2. Рис. 2.10. Таймер 2 в режиме захвата.

В режиме захвата внешнего события выводы порта Р1.0 - Р1.3 работают на ввод и при возникновении внешнего события - изменения напряжения на ножках Р1.0 - Р1.3 вверх или вниз - происходит перезапись кода из регистра таймера в соответствующий регистр захвата/привязки, как показано на рис. 2.10.

Таблица 2.8. Регистр разрешения захвата/привязки CCEN(0C1H) 7 6 5 4 3 2 1 Режим CCR3 Режим CCR2 Режим CCR1 Режим CRC Бит Режимы Нечетный Четный 0 0 Захват/привязка запрещена 0 1 Режим захвата внешнего события 1 0 Режим сравнения (привязки) 1 1 Режим чтения "на лету" Существуют две модификации режимов захвата/привязки. В режиме "0" описанные выше действия осуществляются чисто аппаратно, а в режимах "1" это осуществляется с помощью команд программы, что позволяет формировать выходное событие с управлением от программы и произво-дить чтение данных с таймера на лету и фиксировать в регистрах захвата/привязки Настройка режимов захвата/привязки осуществляется с помощью записи соответствующих битов в регистр разрешения захвата/привязки CCEN с адресом 0С1Н, значения разрядов которого указаны в таблице 2.8.

2.4.3 Аналого - цифровой преобразователь.

Функциональная схема внутрикристального многоканального АЦП микроконтроллера SAB80515 показана на рис. 2.11. Она содержит три регистра специальных функций:

-ADCON - регистр управления АЦП;

-ADDAT- регистр данных АЦП;

-DAPR- регистр программирования ЦАП;

Последний вместе со встроенным ЦАП служит для программного изменения опорных напряжений АЦП, что позволяет программировать диапазон преобразуемых напряжений.

Регистр управления АЦП ADCON служит для управления входным мультиплексором, установки работы АЦП и фиксации бита готовности.

Назначение битов регистра ADCON представлены в таблице 2.9.

7 6 5 4 3 2 1 0 Бит BD CLK 0 BSY ADM MX2 MX1 MX MX0 № канала MX MX ADM 0 - режим одиночный 1- режим непрерывный BSY Флаг занятости CLK Подключение частоты 1/12 к выводу Р1. BD Управление режимом последовательного порта Таблица 2.9.Назначение битов регистра ADCON.

Регистр данных AЦП АDDAT служит для хранения байта данных ре-зультата аналого цифрового преобразования. Данные остаются в регистре до следующей перезаписи. Новые данные появляются в ADDAT в 15-ом машинном цикле после начала преобразования. Регистр ADDAT доступен и по чтению и по записи, поэтому, если АЦП не используется, то ADDAT может быть использован как регистр общего назначения. Регистр специальных функций DAPR предназначен для программирования внутреннего опорного напряжения АЦП. При этом может изменяться как внутренняя Рис. 2.11. Функциональная схема АЦП микроконтроллера SAB "земля" относительно внешней, так и положительное напряжение также относительно внешней земли. Значения этих напряжений с шагом 1/16 от внешнего опорного напряжения задаются в регистре DAPR, причем четыре младших разряда задают напряжение внутренней "земли" IVAGND, а четыре старших - значение внутреннего опорного напряжения IVAREF. При внешнем опорном напряжении VAGND =0, а VAREF=+5B шаг будет равен 5/16 = 0,3125В.

На программируемое напряжение накладывается ограничение такое, что разность между внутренними напряжениями IVAGND и IVAREF не должна быть меньше 1В, т.е. разность между кодами должна быть не менее четырех шагов. Для удобства при коде 00, записанном в DAPR, внутреннее напряжение равняется внешнему (0-5)В.

Возможность программирования внутреннего опорного напряжения позволяет согласовать его с диапазоном внешних преобразуемых напряжений и таким образом сохранять точность преобразования при различных диапазонах входных сигналов. Кроме того, при изменении входного сигнала в полном диапазоне 0-5 В возможно увеличение разрядности преобразова-ния до 10-ти двоичных разрядов с помощью выполнения повторного преобразования, производимого после подгонки диапазона по результатам первого преобразования. При этом первое преобразование дает четыре старших разряда, которые должны быть записаны в младший полубайт регистра DAPR для подгонки диапазона, а затем следующее преобразование дает следующий результат, из которого шесть старших разрядов являются значащими.

Процедура преобразования начинается с операции обращения к регистру DAPR -операция "write-to-DAPR". При этом, если не изменяется диапазон опорных напряжений, т.е. в DAPR пишется код 00Н, то преобразование происходит за 15 машинных циклов, т.е. при частоте 12мГц составляет 15 мкс. При этом в течении первых пяти машинных циклов (5 мкс) происходит выборка и фиксация преобразуемого сигнала, а затем уже его преобразование.

Источник входного сигнала должен быть достаточно мощным, чтобы зарядить входную емкость 25пФ в течение 5 мкс. Перепрограммирование каждого внутреннего опорного напряжения требует дополнительно семь машинных циклов. Таким образом, максимальное время преобразования при программировании обоих внутренних опорных напряжений составляет 29 машинных циклов т.е. 29 мкс.

В течение всего цикла преобразования бит занятости BSY находится в состоянии "1" и сбрасывается только по окончании преобразования, при этом также выставляется флаг запроса прерывания IADC. Если в АЦП уста-новлен режим непрерывного преобразования, то он переходит к выполне-нию нового цикла преобразования, в противном случае останавливается до следующей операции "write-to-DAPR".

2.4.4 Структура системы прерываний контроллера SAB80515.

Система прерываний контроллера SAB80515 имеет двенадцать источников прерываний и четыре уровня приоритетов. Все источники прерываний организованы в шесть пар, как представлено в таблице 2.10.

1 Внешнее прерывание 0 Прерывание от АЦП 2 Прерывание от таймера 0 Внешнее прерывание 3 Внешнее прерывание 1 Внешнее прерывание 4 Прерывание от таймера 1 Внешнее прерывание 5 Прерывание от посл. порта Внешнее прерывание 6 Прерывание от таймера 2 Внешнее прерывание Таблица 2.10. Источники прерываний.

Структура источников прерываний показана на рис. 2.12 а,б.

Некоторые из этих источников прерываний вызываются одним или двумя внешними или внутренними событиями. Каждый из источников пре-рываний имеет свой вектор прерывания, расположенный в памяти программ по адресам 00-6BH как показано в таблице 2.11.

Внешние прерывания и могут активизироваться либо уровнем сигнала, либо отрицательным переходом, в зависимости от значения бит IT0 и IT1 в регистре управления таймером ТСОN. Флаги, устанавливаемые этими прерываниями, являются биты IE0 и IE1 в том же регистре ТСОN. Если внешнее прерывание вызывается отрицательным переходом, то соответствующий флаг сбрасывается при переходе к программе обслуживания. Если прерывание активизируется уровнем, то он и определяет значения соответствующего флага.

Источник Адрес вектора IE0 0003H TF0 000ВH IE1 0013H TF1 001BH RI+TI 0023H TF2+EXF2 002ВH IADC 0043H IEX2 004BH IEX3 0053H IEX4 005BH IEX5 0063H IEX6 006BH Таблица 2.11. Адреса векторов прерываний.

Прерывания от таймеров 0 и 1 вызывается флагами TF0 и TF1, которые устанавливаются переполнением сигналов таймеров. Эти флаги также сбрасываются автоматически после вызова программы обслуживания.

Прерывания от последовательного порта RI и TI могут исходить от приемника RI или передатчика TI, поэтому они не сбрасываются автоматически, а программа обслуживания должна опросить эти флаги для окончательного определения источника прерывания, а затем сбросить их.

Флаг прерывания от АЦП IADC в регистре IRCON должен быть сброшен программой обслуживания.

То же самое относится и к прерываниям от переполнения таймера 2 и внешнего прерывания от Р1.5, которые выставляют флаги TF2 и EXF2 в регистре IRCON.

Внешнее прерывание может быть активизировано либо положительным, либо отрицательным переходом в завиcимости от значения бита I2FR в регистре T2CON. Это преобразование устанавливает флаг IEX2 в регистре IRCON, которые сбрасываются автоматически при вызове программы обслуживания.

Рис. 2.12(а). Структура источников прерываний.

Внешнее прерывание также, как и, может активизироваться либо положительным, либо отрицательным переходом в зависимости от значения бита I3FR в регистре T2CON. Оно устанавливает флаг IEX3 в регистре IRCON, который также сбрасывается автоматически. Этот флаг может быть также установлен при возникновении сигнала привязки на выводе P1.0.Внешние прерывания INT4, INT5 и INT6 активизируются положительным переходом. Они устанавливают флаги IEX4, IEX5 и IEX6 в регистре IRCON, которые также сбрасывается автоматически. Эти флаги также могут быть установлены сигналами привязки СС1, СС2, СС3, возникающими на выводах P1.1, P1.2 и P1.3.

Рис. 2.12(б). Структура источников прерываний.

Все биты, устанавливаемые прерываниями, кроме IE0 и IE1, могут быть установлены или сброшены программным способом, и таким образом выполнять функции программных прерываний.

Кроме того, все прерывания могут быть индивидуально и все сразу запрещены с помощью регистров IEN0 и IEN1, формат которых показан на рис. 2.13.

Существует также двойной регистр установки уровней приоритетов IP0 (0A9H) и IP1(0B9H).

Регистр IEN0 (0A8H) Регистр IEN0 (0A8H) EAL WDT ET2 ES ET1 EX1 ET0 EX0 Бит Регистр IEN1 (0В8H) EXEN2 SWDT EX6 EX5 EX4 EX3 EX2 EADC Бит Регистр управления прерываниями IRCON(0C0H) EXF2 TF6 IEX6 IEX5 IEX4 IEX3 IEX2 IADC Бит 0C7H 0C6H 0C5H 0C4H 0C3H 0C2H 0C1H 0C0H Адрес Рис. 2.13. Формат регистров разрешения прерывания.

Структура системы разрешения и приоритетов прерываний показана на рис. 2.12, из которого видно назначение основных разрядов регистров IEN и IP 2.5 Однокристальный микроконтроллер 8ХС196МС.

16-разрядный микроконтроллер 8ХС196МС предназначен для управления быстрыми процессами, характерными для электродвигателей и силовых электронных преобразователей, их питающих. Блок-схема контроллера показана на рис. 2.14. У него имеются довольно мощная вычислительная часть, содержащая центральный процессор (CPU), регистровое ОЗУ (RAM) объемом 512 байт и внутреннюю память программ (типа EPROM) объемом 16 Кбайт, а также разветвленная внутренняя периферия - аналого-цифровой преобразователь (ADC), контроллер событий (EPA), два таймера, 3-х фазный генератор периодических сигналов (WG) и широтноимпульсный модулятор (PWM) [3 - 4].

Центральный процессор содержит регистровое арифметико-логическое устройство (RALU) и 512-битовый регистровый файл (RF), который делится на две части: нижнюю (LRF) и верхнюю (URF). Нижний файл содержит 24 байта регистров специальных функций и 232 байта RAM, к которым может непосредственно обращаться RALU и их можно считать своего рода регистрами общего назначения, заменяющими аккумулятор. CPU является 16-разрядным и соединен с контроллерами прерываний и памяти через 16-разрядную шину. Система команд базируется на системе команд 8096ВН. Она использует различные типы адресации и включает полный набор арифметических и логических команд для 8- и 16-разрядных данных. 32 разрядные типы данных поддерживаются для результатов умножения 16-разрядных чисел, деления 32-разрядных чисел на 16-разрядные и операций сдвига.

Контроллер имеет гибкую систему прерываний, в которой, кроме традиционного программируемого контроллера прерываний, имеется периферийный сервер транзакций (PTS).

PTS имеет несколько программ обслуживания прерываний, реализованных на микропрограммном уровне. В результате реализуется высокоскоростная обработка некоторых типов прерываний. PTS выполняет одиночные и массовые передачи байтов и слов между областями памяти, управляет аналого-цифровым преобразованием множества сигналов, а также поддерживает обмен по последовательному каналу.

Внутрикристальная периферия обеспечивает выполнение функций ввода-вывода и обслуживается с помощью регистров специальных функций.

Рис. 2.14.Блок схема микроконтроллера 8ХС196МС.

Контроллер событий (EPA) реализует функции ввода-вывода, связанные с таймерами 1 и 2. В режиме ввода EPA осуществляет "захват" события, отмечая по таймеру время, когда оно произошло. В режиме вывода EPA реализует "привязку" события к заданному промежутку времени, переключая состояние выхода по времени, задаваемому таймером. Применяется для измерения с использованием частотных инкрементных датчиков.

Генератор периодических сигналов (WG) формирует 3 пары взаимосвязанных импульсно модулированных сигналов. Он используется для управления 3-фазными двигателями переменного тока, вентильными и шаговыми двигателями.

Широтно-импульсный модулятор (PWM) является дополнением к генератору периодических сигналов. Рабочий цикл и период каждого из двух выходов PWM программируется посредством 8-разрядного регистра периодов. Выходы блока PWM управляются разрядами специального регистра в блоке генератора периодических сигналов.

13-канальный аналого-цифровой преобразователь (ADC) может осуществлять 10-разрядное или быстрое 8-разрядное преобразование. Возможен режим сканирования каналов ADC c помощью сервера транзакций. Предусмотрена также возможность программного контроля и коррекции сдвига нуля.

Микроконтроллер имеет 7 портов ввода-вывода. Порты 0 и 1 используются как входы 13 канального ADC. Порт 2 может быть использован для специальных функций. Порт 6 - выходной порт PWM и WG. Порт 3 и порт 4 могут быть использованы в качестве 16-разрядной внешней шины адрес/данные. Отдельные выводы портов мультиплексируются и могут обслуживать стандартные средства ввода-вывода.

3.Программно-аппаратное преобразование сигналов в микропроцессорных системах.

3. Первичная обработка и преобразование сигналов датчиков.

1. Аналого-цифровое преобразование.

2. Преобразования сигналов датчика положения типа СКВТ.

3. Сопряжение СКВТ с микропроцессорной системой 4. Обработка сигналов инкрементного фотодатчика 4. Управление исполнительными двигателями.

1. Цифро-аналоговое преобразование с усилителем мощности.

2. Тиристорный преобразователь.

3. Транзисторный преобразователь с ШИМ.

4. Импульсное (частотное) управление.

Первичная обработка и преобразование сигналов датчиков.

Аналого-цифровое преобразование.

В микропроцессорных системах управления электромеханическими объектами для выполнения этого вида преобразования чаще всего применяются многоканальные АЦП с поразрядным уравновешиванием, характерным представителем которых является микросхема К1113ПВ1.

Функциональная схема сопряжения такого АЦП с системной магистралью с помощью параллельного порта К580ВВ55 показана на рис. 3.1.

Рис.3.1. Функциональная схема преобразования аналог-код.

Временная диаграмма работы АЦП типа К1113ПВ1 показана на рис. 3.2. Время преобразования обычно не превышает 30 мкс, поэтому возможна организация считывания информации с АЦП методом опроса готовности.

АЦП может работать в двух режимах :

- преобразование напряжения в пределах 0-10 В;

- преобразование в диапазоне ±5В.

В первом случае преобразуемому напряжению соответствует десятиразрядный двоичный код без знака, во втором - девятиразрядный двоичный код со знаком, причем отрицательные напряжения преобразуются в обратный код. Знаку "+" соответствует "1" в старшем разряде, а " " соответствует "0". В этом случае получаем такое соответствие между напряжениями и кодами:

+5 В 1111... +0 В 1000... -0 В 0111... -5 В 0000... Рис.3.2. Временная диаграмма работы АЦП K1113ПВ1.

Для превращения получаемого с АЦП кода в арифметический (дополнительный) код, необходимо проинвертировать старший разряд считанного значения. Алгоритм преобразования аналог-код с опросом готовности показан на рис. 3.3.

3.1.2.Преобразования сигналов датчика положения типа СКВТ.

Синусно-косинусный вращающийся трансформатор (СКВТ) может применяться в качестве датчика положения (датчика угла поворота). СКВТ имеет на статоре две обмотки - главную и вспомогательную - синусную и косинусную. При запитке статорных обмоток переменным напряжением и, на синусной роторной обмотке индуцируется суммарное напряжение согласно формуле где - угол поворота ротора относительно согласованного положения. При работе СКВТ в фазовом режиме производится запитка статорных обмоток и преобразование сигналов датчика согласно следующим выражениям:

, Рис. 3.3. Алгоритм преобразования аналог-код с опросом готовности АЦП.

т.е. угол поворота ротора равен сдвигу фазы напряжения на роторной обмотке относительно опорного напряжения.

Сопряжение СКВТ с микропроцессорной системой.

Схема сопряжения СКВТ, работающего в фазовом режиме, с микропроцессорной системой показана на рис. 3.4.

ФОН-формирователь опорных напряжений запитывает статор СКВТ, фазометр эквивалентирует угол поворота ротора фазовым сдвигом a выходного гармонического сигнала относительно опорных, и временной интервал сдвига фаз с помощью таймера преобразуется в код. Фазометр управляется микропроцессорной системой через отведенный ему порт в режиме опроса готовности. Временной интервал t принимает значения в диапазоне от 0 до 0.5Т, где Т - период частоты питания СКВТ. Кроме того, фазометр регистрирует знак сдвига фаз.

Соответствие между углом a, временным интервалом и знаком угла поворота ротора следующее:

Знак угла Угол поворота Временной интервал 180 0.5Т 0 0 -180 0.5Т Временная диаграмма работы системы при измерении угла показана рис. 3.5.а, а характеристика преобразования - на рис. 3.5,б. Быстродействие и точность преобразования зависят от периода (частоты) питания СКВТ - Т: время преобразования примерно равно периоду Т, а точность пропорциональна соотношению частоты питания 1/Т и частоты f тактовых импульсов, подаваемых на счетный вход таймера (количество разрядов Рис. 3.4. Сопряжение СКВТ с микропроцессорной системой.

кода, соответствующего максимальному углу =180, равно отношению ). Таким образом, требования к высокому быстродействию и Рис. 3.5. Временная диаграмма преобразования угла во временной интервал.

точности сводятся к увеличению частоты f и применению быстродействующих схем фазометра и таймера. Так, при частоте тактового генератора 1 МГц, для получения 10-разрядного кода частота питания СКВТ должна быть не более 500 Гц (Т=2 мс), т.е. время преобразования угла Т=2 мс. Алгоритм программы обслуживания системы преобразования угла поворота показан на рис. 3.6.

Алгоритм программы обслуживания системы преобразования угла поворота рис. 3.6.

Как видно из рис. 3.5,б, преобразование реализует периодическую функцию угла. Обычно в следящих системах требуется вычислять приращение угла за определенный интервал времени t (время квантования). Учитывая периодичность функции, необходимо вычислить с учетом возможного изменения знака кода угла.

Обработка сигналов инкрементного фотодатчика.

Инкрементные фотоимпульсные датчики формируют как минимум две последовательности импульсов: основную и сдвинутую в зависимости от угла поворота диска с рисками (обычно количество рисок на диске z=1000). Эти последовательности через схему предварительной обработки подаются на счетчик. Если основная последовательность опережает сдвинутую, то счет идет на возрастание, если наоборот - на уменьшение. Таким образом, за некоторый промежуток времени t в счетчике накапливается код, соответствующий приращению угла поворота (если после очередного измерения счетчик сбрасывается), либо сигнал рассогласования, если в счетчик предварительно записывается заданное приращение угла.

В частности, в микроконтроллерах типа 8ХС196МС предусмотрен режим квадратурного счета для счетчика Т1, к которому может подсоединяться фотоимпульсный датчик, как показано на рис. 3.7,а. Временная диаграмма обработки сигналов фотодатчика (Qudrature clocking mode) показана на рис. 3.7,б.

Рис 3.7. Обработка сигналов фотодатчика. Подключение фотоимпульсного дат- чика (а), временная диаграмма обработки сигналов фотодатчика (б).

3.2. Управление исполнительными двигателями.

3.2.1. Цифро-аналоговое преобразование с усилителем мощности.

Схема управления исполнительным двигателем с помощью ЦАП и усилителя мощности приведена на рис. 3.8. Обычно в микропроцессорных системах применяется десятиразрядный ЦАП с внешними или внутренними регистрами с выходным напряжением до +10В. Изменение знака выходного напряжения осуществляется либо изменением знака опорного напряжения (рис. 3.8,а), либо путем сложения напряжений (рис. 3.8,б).

Рис. 3.8 Подключение ЦАП в системах управления. Двухквадрантное умноже- ние (а). Четырехквадрантное умножение (б).

3.2.2. Тиристорный преобразователь.

Схема применения простейшего тиристорного преобразователя в микропроцессорной системе показана на рис. 3.9. При использовании тиристорного преобразователя вычислительный модуль преобразует код Рис 3.9. Схема управления тиристорным преобразователем (а) и временная диаграмма управления тиристорным преобразователем (б).

управления исполнительным двигателем во временной интервал задерж- ки З включения тиристора относительно начала полупериода питающей сети. Это преобразование осуществляется с помощью таймера, настроенного на работу в режиме аппаратно-управляемого строба. На управляющий вход таймера подается опорный импульс UF2, формируемый в начале Рис 3.10 (а и б). Зависимость Uоу от tЗ и tЗ от кода задания Рис 3.10 (в). Алгоритм программы, управления работой тиристорного преобразователя каждого полупериода питающего напряжения. В зависимости от вводимого в него согласно управляющей программе кода, таймер формирует на выходе импульс с программируемой задержкой З, от которого в свою очередь формируется импульс UF1, поступающий на управляющий электрод тиристора. Действующее значение напряжения UОУ, коммутируемого тиристором на обмотку управления двигателя, обратно пропорционально времени tЗ. Для правильной работы двигателя tЗ должно меняться в пределах Т/4..T/2, где Т - период питающего напряжения.

При частоте питания 50 Гц время задержки должно находиться в диапазоне 5..10мс.

Зависимость Uоу от tЗ и tЗ от кода задания показаны на рис. 3.10 (а и б). Программа, управляющая работой тиристорного преобразователя - драйвер - может быть выполнена согласно, приведенному на рис. 3.10,в.

3.2.3. Транзисторный преобразователь с ШИМ.

Управление ДПТ (двигателем постоянного тока) через транзисторные ключи методом широтно импульсной модуляции (ШИМ) осуществляется, как показано на рис. 3.11, с помощью таймера, работающего по ре Рис. 3.11.Организация работы транзисторного преобразователя с ШИМ.

жиму 2, при котором на вход управления таймером подаются импульсы с частотой модуляции fШИМ, выбираемой в пределах 500..1000 Гц (Т=1..2 мс). В ответ на каждый импульс управления таймер формирует импульс, длительность tИ которого пропорциональна коду задания кЗД, записываемому в таймер, и обратно пропорциональна частоте счета fСЧ, которая обычно составляет несколько мегагерц. В данной схеме ключи К1 и К2 работают в режиме ШИМ, а К3 и К4 включены постоянно в зависимости от направления вращения, задаваемом битом с порта.

Импульсное (частотное) управление.

Для управления асинхронными двигателями используется частотное управление, при котором изменяется частота питания. Схема устройства, реализующего этот тип управления для трехфазного двигателя, показана на рис. 3.12. Силовая часть системы управления состоит из выпрямителя (как правило, управляемого), и автономного инвертора на транзисторных ключах K1-K6. Автономный инвертор преобразует напряжение UПИТ в Рис 3.12.Организация частотного управления.

трехфазное напряжение переменного тока изменяемой частоты f=var. Для правильной работы двигателя необходимо, чтобы одновременно с частотой изменялась и амплитуда напряжения, так, чтобы отношение амплитуды и частоты оставалось постоянным. Это может быть достигнуто введением в систему либо управляемого выпрямителя, у которого изменяется выходное напряжение Uп = var, либо введением ШИМ с частотой, более высо-кой, чем частота питания двигателя (fШИМ>>f), что позволяет, изменяя скважность ШИМ, изменять амплитуду выходного напряжения инвертора.

Рис 3.13.Временная диаграмма частотного управления асинхронным трехфазным двигателем.

На рис. 3.12 показана одна из возможных реализаций второго варианта.

Для создания переменного трехфазного напряжения весь период питания Т делится на шесть тактов (фаз) путем коммутации ключей К1-К6 таким образом, что в каждый такт включены три ключа: один "верхний" (К1-К3) и два "нижних" (К4-К6), либо один "нижний" и два "верхних".

Для изменения амплитуды напряжения в каждый такт на последовательный ключ - "верхний" или "нижний" (тот, который работает один), подается ШИМ задаваемой скважности.

Рис.3.14.Таблица кодов драйвера (а ), драйвер (б).

Как показано на рис. 3.12, скважность ШИМ задается таймером Т0, а частота выходного напряжения инвертора - таймером Т1, который через промежуток времени, равный 1/6 Т, запускает программу драйвера АД посредством воздействия на контроллер прерываний.

Драйвер выдает управляющие сигналы через порт на логическую схему, которая смешивает импульсы основного переключения с ШИМ и синтезирует управляющие импульсы ключей U1 U6 согласно временной диаграмме, приведенной на рис. 3.13. Последовательность управляющих сигналов записана в таблице драйвера (рис. 3.14,а), а алгоритм его работы приведен на рис. 3.14,б.

4.Алгоритмы и программное обеспечение микропроцессорных систем управления.

4.1. Цифровые регуляторы.

4.2. Алгоритмы цифровых регуляторов.

4.3. Синтез цифровых регуляторов.

4.4. Алгоритмы пультовых операций и общая организация программного обеспечения.

4.1. Цифровые регуляторы.

Как известно, наиболее важным функциональным узлом систем автоматического управления являются регуляторы, которые реализуются в микропроцессорной САУ программным путем и являются (из-за наличия в системе квантования по времени и уровню) цифровыми регуляторами.

Ограничиваясь рассмотрением линейных регуляторов, приведем классификацию цифровых регуляторов из [5].

Как видно из рис. 4.1, регуляторы разделяют на две группы: параметрически оптимизируемые и структурно оптимизируемые.

К параметрически оптимизируемым регуляторам относятся классические виды регуляторов типа П-регулятор, ПИ-регулятор, ПИД-регулятор и их модификации. К структурно оптимизируемым - компенсационные регуляторы и регуляторы состояния.

Компенсационные регуляторы проектируются с таким расчетом, чтобы снизить влияние некоторых параметров объекта на качество управления. При этом различают следующие модификации регуляторов этого типа:

- компенсатор - ликвидирует воздействие объекта в особых точках передаточной функции (нули и полюса);

- апериодический регулятор - обеспечивает окончание переходного процесса при ступенчатом возмущении за заданное время;

- регулятор-предиктор - регулятор с предсказанием реакции;

модель объекта включается в обратную связь регулятора;

- регулятор с минимальной дисперсией - применяется в стохастических системах;

минимизирует дисперсию значений регулируемой переменной.

Рассмотренные выше регуляторы называют регуляторами "входа-выхода", так как они контролируют входную и выходную величины и вырабатывают управляющее воздействие согласно определенному закону управления.

В отличие от этих регуляторов, регуляторы состояния контролируют характеристики вектора состояния объекта управления, описанного уравнениями в пространстве состояний. При наличии полной информации о векторе состояния применяется модальный регулятор в совокупности с модальным анализатором на входе и модальным синтезатором на выходе для синтеза реального вектора управления. Если некоторые переменные состояния невозможно измерить, используются регуляторы с наблюдателями, восстанавливающими переменные состояния объекта В данном пособии мы ограничимся рассмотрением реализации в микропроцессорных системах некоторых регуляторов типа "вход-выход".

4.2. Алгоритмы цифровых регуляторов.

Наиболее распространенным регулятором, применяемым в системах управления динамическими объектами, является ПИД-регулятор и его модификации.

Аналоговый ПИД-регулятор имеет передаточную функцию вида, (4-1) где КП - коэффициент передачи пропорциональной части регулятора, ТИ - постоянная времени интегрирования, ТД - постоянная времени дифференцирования.

Этой передаточной функции соответствует дифференциальное уравнение, (4-2) где - выходная величина регулятора (управление), а - сигнал рассогласования.

При квантовании с малой длительностью такта Т это уравнение можно преобразовать в разностное с помощью дискретизации, заключающейся в замене производной разностью первого порядка, а интеграла - соответствующей интерполяционной формулой (по методу прямоугольников, трапеций, Симпсона и т.д.).

При использовании метода прямоугольников получаем. (4-3,а) При использовании метода трапеций имеем. (4-3,б) Для программной реализации в микропроцессорной системе более пригодны рекуррентные алгоритмы, в которых текущее значение управляющей переменной вычисляется через предыдущее значение и поправочный член, (4-4) где, исходя из уравнений (4-3) для метода прямоугольников имеем, (4-5,a) а, для метода трапеций (4-5,б) Используя поправочный член, получаем рекуррентные выражения, описывающие динамику дискретного закона управления. (4-6) Этому разностному уравнению соответствует дискретная передаточная функция регулятора, (4-7) которая может быть получена из передаточной функции непрерывного регулятора (4-1) приближенным представлением оператора через оператор. В простейшем случае при использовании метода трапеций имеем. (4-8) Согласно [5], существуют различные модификации дискретных ПИД-регуляторов.

Так, например, возможно повышение порядка регулятора за счет фильтрации сигнала рассогласования перед его дифференцированием. Этому закону управления в аналоговом регуляторе соответствует передаточная функция Рис. 4.2. Структура одноконтурной системы управления c дискретным регулятором.

Произведя замену на, получим дискретную передаточную функцию регулятора более высокого порядка, (4-9) которой соответствует рекуррентное соотношение, (4-10) где B общем виде алгоритм работы регулятора описывается рекуррентным соотношением вида, (4-10) что соответствует передаточной функции вида. (4-11) Обычно в регуляторах принимают,а ;

кроме того, исходя из требований нулевой статической ошибки, должно выполнятся условие.

Другой вид модификации регулятора заключается в раздельной обработке сигнала рассогласования и сигнала обратной связи, как показано на рис. 4.2. Это дает возможность избежать резких изменений управляющей переменной при резких изменениях сигнала задания.

В общем случае, вводя дополнительные параметры, получают обобщенный алгоритм цифрового регулятора в виде следующего рекуррентного выражения (4-12) Исходный алгоритм (4-10) получается при подстановке в (4-12) Таким образом, алгоритмы цифровых регуляторов могут быть построены на основании рекуррентных соотношений вида (4-10) или (4-12).

Рассмотрим реализацию ПИД-регулятора на базе микропроцессорной системы с использованием аппаратного таймера и системы прерываний. Схема алгоритма и временная диаграмма его работы показаны на рис. 4.3 и 4.4. Главная программа MAIN устанавливает начальное значение переменных, производит инициализацию всех устройств, разрешает прерывания и вызывает фоновую программу. По сигналу таймера формируется запрос на прерывание фоновой программы ЗПР0. В подпрограмме обслуживания этого прерывания INTER0 обеспечивается вывод управляющего воздействия на ЦАП, либо передача его на программно-аппаратный драйвер исполнительного устройства, либо передача его на другой регулятор в случае многоконтурной (каскадной) САУ, а также запуск АЦП для измерения сигнала обратной связи y[n]. Сигнал готовности АЦП вызывает запрос на следующее прерывание ЗПР1 и процессор переходит к подпрограмме обслуживания INTER1, где выполняется реализация алгоритма управления по рекуррентному соотношению ПИД регулятора.

Как видно из временной диаграммы на рис. 4.4, время квантования Т задается таймером, вычисления по алгоритму регулятора начинаются по запросу ЗПР1 и продолжаются в течение времени tРЕГ, а фоновая программа занимает оставшееся время и, кроме того, работает во время преобразования данных в АЦП. Требования к скорости вычислений, определяемой быстродействием процессора и сложностью алгоритма вытекают из необходимости соблюдения неравенства tРЕГ<Т.

Как видно из формул (4-10), (4-12), цифровой регулятор представляет собой рекурсивный фильтр. Сложный фильтр (регулятор) может быть эквивалентирован последовательным или параллельным соединением более простых фильтров. Реализацию таких систем программным путем иногда называют последовательным или параллельным программированием [1].

Если регулятор содержит интегральную составляющую, удобно представить его дискретную передаточную функцию в виде двух слагае- Рис. 4.3 Схема алгоритма цифрового ПИД-регулятора.

мых - интегратора и рекурсивного фильтра. Основными модулями алгоритма являются блок программной реализации интегратора И с ограничением и блок рекурсивного фильтра РКФ.

Как показано в [6], регулятор описывается дискретной передаточной функцией вида, (4-13,а) где КИ=T/TИ - коэффициент передачи интегратора, Аi - коэффициенты РКФ, К - порядок РКФ.

Согласно ДПФ, представленной формулой (4-13,a), числовой код на выходе регулятора вычисляется как сумма NР=NИ+NР.Ф., где NИ - код на выходе интегратора, определяемый по методу трапеций или Рис. 4.4. Временная диаграмма выполнения алгоритма по схеме рис. 4.3.

прямоугольников, NР.Ф. - код на выходе рекурсивного фильтра.

Для ограничения кода ошибки Nе и кода на выходе интегратора NИ и регулятора NР используется макрокоманда LIM.

Алгоритм программной реализации работы цифрового регулятора с интегратором, построенным по методу правых прямоугольников, показан на рис. 4.5. Передаточная функция такого регулятора имеет вид. (4-13,б) Согласно формуле (4-13,б), код на выходе интегратора вычисляется, исходя из рекуррентного соотношения, (4-14) a, код на выходе рекурсивного фильтра представляет собой,(4-15,a) или в виде, (4-15,б) Рис. 4.5 Алгоритм цифрового регулятора.

где, В блоках 1 и 2 алгоритма, представленного на рис. 4.5, производится вычисление и ограничение сигнала рассогласования (ошибки) Nе. В блоках 3 и 4 вычисляется интеграл от ошибки.

Программе рекурсивного фильтра соответствуют блоки 5..11, а в блоках 12 и 13 вычисляется и ограничивается значение кода на выходе регулятора NР.

4.3. Синтез цифровых регуляторов.

При достаточно малом периоде квантования Т (не превосходящем, где - наименьшая постоянная времени в системе) возможен синтез цифрового регулятора по непрерывному прототипу.

Рассмотрим для примера одноконтурную систему регулирования частоты вращения двигателя постоянного тока, структурная схема которой представлена на рис. 4.6,а. Она состоит из регулятора частоты вращения Рис. 4.6. Одноконтурная система регулирования частоты вращения двигателя постоянного тока.

РЧВ, реализованного в микропроцессорной системе программно, вентильного силового преобразователя ВП и двигателя постоянного тока ДПТ, инерционность которого определяется двумя постоянными времени и, причем обычно ТМ>>ТЯ>ТВП. Примем за аналоговый прототип РЧВ ПИД-регулятор с передаточной функцией, определяемой выражением (4-1) и приведем ее к следующему виду. (4-16) Выберем параметры регулятора так, чтобы скомпенсировать большие постоянные времени объекта управления и, т.е. примем. (4-17) Тогда структурная схема системы примет вид, показанный на рисунке 4.6,б. В этом случае передаточная функция замкнутой системы примет вид, (4-18) Где T'=TИ/К, где К=КВПКДВКТГКОС.

Характеристический полином передаточной функции (4-18) обычно представляется в виде Т12р2+2Т1р+1, где - коэффициент колебательности, оптимальное значение которого для таких систем (т.е. около 0.707).

С учетом этого соотношения получим T'И= 2TВП, Откуда ТИ = 2ТВПК, (4-19)а передаточная функция замкнутой системы при таком выборе параметров регулятора будет иметь вид. (4-20) Таким образом, на основании уравнений (4-17) и (4-20) можно определить оптимальные параметры регулятора, а затем, выбрав период квантования, вычислить по формуле (4-5) коэффициенты передаточной функции цифрового ПИД-регулятора и осуществить конкретную настройку алгоритма его работы по рекуррентному соотношению (4-6). В реальных системах постоянная времени вентильного преобразователя составляет единицы мс, поэтому период квантования в таких системах должен быть, как правило, не более 1 мс, что предъявляет высокие требования к быстродействию аппаратуры и временной экономичности алгоритмов и программ вычислений.

Указанное ограничение особенно актуально для сложных многоконтурных систем управления, в которых существует несколько регуляторов, реализуемых в микропроцессорной системе программным путем последовательно.

В качестве иллюстрации вышеописанных особенностей рассмотрим цифровую трехконтурную следящую систему подчиненного управления, содержащую три каскадно включенных регулятора: регулятор положения, регулятор частоты вращения и регулятор тока. Структурная схема системы показана на рис. 4.7. Синтез регуляторов в такой системе производится, Рис. 4.7. Структурная схема следящей системы с каскадным включением регуляторов.

начиная с внутреннего токового контура, как наиболее быстродействующего;

оптимальным для него является ПИ-регулятор, передаточная функция которого получается из (4-1) при ТД=0.

Порядок выбора оптимальных параметров и дискретизации тот же, как и при синтезе ПИД регулятора. Наилучшим для данной системы регулятором частоты вращения (РЧВ) является П регулятор, имеющий передаточный коэффициент К, оптимальное значение которого выбирается так же, как при синтезе ПИ-регулятора. Синтезированная система для внешнего контура показана на рис. 4.8,а, где Если пренебречь достаточно малой постоянной времени Т0, получим идеальный следящий привод с передаточной функцией замкнутой системы, (4-21) где КРП - коэффициент передачи П-регулятора положения.

Как видно из (4-21), инерционность привода, его запаздывание ТПР, обратно пропорционально добротности К=КоКРП. Для того, чтобы уменьшить запаздывание и ошибку слежения в установившемся режиме (при движении с постоянной скоростью), в регулятор вводят дополнительную Рис. 4.8. Структурная схема внешнего контура следящей системы (а) и реализация регулятора положения с коррекцией по скорости.

коррекцию по скорости, как показано на рис. 4.8,а пунктиром. В этом случае установившаяся ошибка слежения будет определяться как, (4-22) где К - коэффициент коррекции по скорости, з - приращение координаты (угла поворота) за время квантования Т.

Оптимальным является соотношение К=1/К, а обычно выбирают К< 1/К.

На рис. 4.8,б показана структурная схема одной из возможных реализаций цифрового регулятора положения с инкрементным датчиком, осуществляющего коррекцию по скорости.

Задание и сигнал обратной связи здесь представляются в виде приращений угла з и за время квантования Т. Поэтому регулятор содержит интегральную составляющую и способен выполнять коррекцию по скорости. Реализуемый им закон управления можно представить в виде или при дискретизации и вычислении интеграла по методу прямоугольников (4-23).

Алгоритм работы цифрового регулятора по этой формуле показан на рис. 4.9.

Алгоритм работы цифрового регулятора рис. 4.9.

При больших величинах периода квантования применяются апериодические компенсационные регуляторы, синтез которых проводится по структурной схеме дискретной САР, переход к которой осуществляется дискретизацией объекта управления (объект представляется дискретной передаточной функцией DОБ(z)). Дискретная передаточная функция объекта управления может быть представлена в виде, (4-24) причем обычно n

Работа обычного апериодического компенсационного регулятора ограничивается тем условием, что при ступенчатом воздействии переходный процесс должен закончится за m тактов. Тогда передаточная функция регулятора будет иметь вид, (4-25) a коэффициенты передаточной функции выбираются так, чтобы ее нули компенсировали полюса передаточной функции объекта управления. Кроме того, следует учесть, что p1+p2+...+pn=1, (4-26,a) q0+q1+...+qm=1/K. (4-26,б) Учитывая поставленные условия, получим Q(z)=A(z), B(z)=P(z), откуда с учетом (4-26) можно вычислить значения коэффициентов регулятора через коэффициенты объекта управления q1=a1q0 p1=b1q q2=a2q0 p2=b2q..................................... (4-27) qm=amq0 pn=bnq q0=1/(b0+b1+...+bn), q0=1/ [K(a1+a2+...+am)].

Приведем пример синтеза цифрового регулятора частоты вращения для системы, структурная схема которой изображена на рис. 4.6. При пренебрежении инерционностью вентильного преобразователя (ТВП=0), передаточная функция объекта управления в системе, приведенной к виду, показанному на рис. 4.10(a), будет равна Рис. 4.10. Структурная схема дискретной САР (а) и временная диаграмма изменения управляющего воздействия при ступенчатом управлении (б).

, (4-28) где К=КВПКДВКССКТГ.

Применив метод прямоугольников для выполнения дискретного интегрирования, получим дискретную передаточную функцию объекта.

где сМ=ТМ/Т, сЯ=ТЯ/Т.

Приведем передаточную функцию к стандартному виду, (4-29) где b0=К/(cМcЯ+cМ+1), a1=-(2cМcЯ+cМ)/(cМcЯ+cМ+1), a2=(cМcЯ)/(cМcЯ+cМ+1).

Передаточная функция апериодического регулятора будет иметь вид D (z)=q0+q1z-1+q2z-2, (4-30) где могут быть вычислены по формулам (4-27).

С целью получения рекуррентной формулы для вычисления управляющего воздействия, умножим числитель и знаменатель выражения (4-30) на (1-z-1) и получим дискретную передаточную функцию. (4-31) Из формулы (4-31) получаем рекуррентное соотношение для вычисления управляющего воздействия По формуле (4-32) может быть построен алгоритм работы регулятора, аналогично алгоритму рекурсивного фильтра, показанному на рис. 4.5.

При выборе периода квантования в апериодическом регуляторе следует исходить из того, что, поскольку синтез ведется из условия конечного времени управления при ступенчатом возмущении за m тактов, то при уменьшении периода квантования Т будет увеличиваться начальное управляющее воздействие u(0)=q0.

Так, для рассматриваемого регулятора частоты вращения из формулы (4-27) имеем соотношение q0=1/ b0 = (cМcЯ+cМ+1)/ К = (TМTЯ/T2+TМ/T+1)/ К.

Приняв К=1 и ТМ=10ТЯ, получим при TМ/T=10 q0=u(0)= при TМ/T=5 q0=u(0)=8. при TМ/T=3 q0=u(0)= при TМ/T=2 q0=u(0)=3. Рассчитаем значение управляющей переменной u[n] при ступенчатом управлении Y=1.

u [0]=q0;

u[1]=q0+q1=q0(1+a1);

u[2]=q0+q1+q2=q0(1+a1+a2).

Рассчитаем a1 и a2 для ТM/Т=3, получим a1=-0.98;

a2=0. u[0]=q0=5;

u[1]=0,1;

u[2]=1. Временная диаграмма работы регулятора при единичном ступенчатом управлении показана на рис. 4.10,б. Как видно из диаграммы, при Т=ТM/3 для того, чтобы переходный процесс закончился за три такта, в первый такт регулятор должен воздействовать на объект с интенсивностью, в пять раз большей, чем в установившемся режиме, т.е. u[0]=5u[2].

Поэтому не следует выбирать слишком малые периоды квантования. Примерная рекомендация T>T /m, (4-33) где T - суммарная постоянная времени, а m - порядок объекта управления.

4.4. Алгоритмы пультовых операций и общая организация программного обеспечения.

В микропроцессорных системах обычно присутствует пульт оператора, посредством которого можно задавать различные режимы работы системы, вводить исходные данные, выводить определенную информацию о состоянии объекта и т.д. Пультовые режимы МПС поддерживаются программным обеспечением, в качестве примера которого может быть приведена встроенная операционная система "Монитор";

ее основными составляющими являются программы опроса пультовой клавиатуры, программы индикации, диспетчер режимов и т.п.

Рассмотрим более подробную программно-аппаратную организацию основных пультовых операций.

Работа с клавиатурой пульта. Можно выделить две основные фор-мы организации опроса клавиатуры: сканирование и опрос по прерыванию. В первом случае при необходимости определить состояние клавиатуры, основная программа передает управление процедуре, которая последовательно или последовательно-параллельно (группами), опрашивает состояние контактов клавиатуры;

при этом каждому контакту может соот- Рис. 4.11. Организация последовательно-параллельного последовательного сканирования клавиатуры с унитарным кодированием.

ветствовать один или несколько бит, т.е. определенный двоичный код (в частности, код КОИ- или Н-код). Во втором случае опрос клавиатуры осуществляется программой обслуживания, вызываемой автоматически по запросам прерывания, поступающим в контроллер при нажатии клавиши на клавиатуре;

при этом, так же как в первом случае, клавише может соответствовать одинарный или комбинированный двоичный код.

При последовательно-параллельном сканировании, как показано на рис. 4.11,а, опрос осуществляется последовательным перемещением "0" в младших разрядах порта С4-С7. При этом считываемый столбец (полубайт) принимается старшими разрядами порта С0-С3, причем нажатой клавише соответствует "0", а не нажатой - "1".

В маломощных портах однокристальной микроЭВМ, в которых предусмотрена возможность побитной настройки разрядов порта, можно организовать последовательное сканирование, как показано на рис. 4.11,б. В этой системе столбцы также выбираются бегущим нулем в старших разрядах порта Р1 (Р1.4-1.7), настроенных на вывод, а принимается информация в выбранном столбце последова- тельно в младшие разряды порта (Р1.0-Р1.3) настройкой одного разряда на ввод, а всех других - на вывод нулей. На рис. 4.11,в показана схема считывания клавиатуры по запросупрерывания с кодированием клавиш. При нажатии клавиши через логическую схему ЛС в порт В пишется соответствующий код и одновременно формируется запрос прерывания ЗПР, по которому инициируется программа обслуживания, считывающая с порта В соответствующий клавише код.

Рис. 4.12.a. Схема подсоединения восьмиразрядного динамического индикатора к порту ввода вывода Работа с устройствами отображения информации. Для индикации на пультах микропроцессорных систем часто используется линейка семисегментных светодиодных индикаторов, работающих в динамическом режиме, т.е. с последовательным обслуживанием разрядов с высокой частотой (примерно равной 1 кГц).

На рис. 4.12,а показана схема подсоединения восьмиразрядного динамического индикатора к порту ввода-вывода, в котором порт С через транзисторы по очереди подключает к питанию аноды семисегментных индикаторов, выбирая соответствующий разряд, а порт А выдачей нулей подключает катоды, задавая выводимый символ.

Рис. 4.12.б. Схема подпрограммы динамической индикации INDIK Схема подпрограммы динамической индикации INDIK показана на рис. 4.12,б. Подпрограмма вызывается по приходу прерываний от таймера, выставляемых им с промежутком, равным 1 мс, и поочередно выводит информацию на каждый разряд индикатора, т.е. за один проход программы выводится информация на один разряд. Таким образом, для хранения всей подлежащей индицированию информации в памяти контроллера должен быть организован массив - "регистр индикации" из n ячеек - по количеству разрядов индикатора. Кроме того, должны быть организованы программный счетчик адресов разрядов регистра индикации с циклическим переносом и регистр сдвига номера разряда индикатора, содержащий байт с одной "1", находящейся на месте, соответствующем номеру индицируемого разряда. Программа INDIK должна выполнять следующую последовательность действий:

1 - гашение индикатора записью в порт С всех нулей;

2 - опрос очередной ячейки регистра индикации по счетчику адресов этого регистра и увеличение счетчика на единицу;

3 - преобразование считанного кода в код управления сегментами индикатора;

4 - вывод преобразованного кода в порт А;

5 - формирование унитарного номера разряда, выводимого на индикатор сдвигом кода в регистре номера разряда;

6 - вывод этого кода в порт С. При этом подключается к питанию анод очередного индикатора и происходит его свечение до следующего запуска программы INDIK, т.е. в течение примерно мс.

Программное обеспечение микропроцессорных систем управления обычно выполняется по модульному принципу и может быть разделено на программы, работающие в реальном времени по прерываниям, и программы, работающие в фоновом режиме. Работа ПО в фоновом режиме обычно организуется диспетчером режимов (для определенности названного далее PULT).

Инициализация программы PULT может происходить при включении источника питания, при выполнении программного сброса МПС, осуществляемого нажатием кнопки RESET, или макрокомандой операционной системы "Монитор", если таковая существует в данном варианте МПС.

Диспетчер режимов должен осуществлять переключение на выполнение различных программ в зависимости от состояния тумблеров пульта управления (ПУ), так как система может работать в различных режимах: рабочем, тестовом, наладочным и т.д. Для того, чтобы диспетчер режимов мог модифицировать и программы, работающие по прерываниям, удобно иметь программный регистр состояния системы (PCC, SSR), в котором отображается состояние переключателей ПУ и к которому могут обра-щаться все программы.

Примерный алгоритм программы диспетчера режимов приведен на рис. 4.13. Первые два блока (1 и 2) программы PULT обеспечивают начальную установку параметров - NUST - и инициализацию внешних устройств - INIT. Возможны два входа в программу: PULT.0 - с начальной установкой стандартных параметров и PULT.1 - с работой по нестандартным параметрам, которые должны быть заданы заранее до запуска программы PULT.

В блоке 3 диспетчер опрашивает переключатели ПУ, задающие различные режимы и программы работы МПС и отображает их состояние в регистре статуса системы - SSR, а затем переходит к выполнению рабочих фоновых программ. Рабочие фоновые программы и программы, работающие по прерыванию, при необходимости могут опрашивать регистр SSR для определения состояния ПУ. Часто бывает удобно иметь двойной SSR, в котором хранится и предыдущее состояние системы, так как иногда ход выполнения управляющей программы зависит от предыдущего состояния переключателей ПУ.

Для организации диалогового взаимодействия с микропроцессорной системой с помощью пульта оператора универсальные микроконтроллеры, такие, как, например, КПУ "Электроника МС 2702", имеют встроенную операционную систему - "Монитор".

Диалог “КПУ - пользователь” производится с пульта оператора. При задании на пульте очередной команды Монитора происходит прерывание рабочей программы и переход на обработку соответствующей команды.

Пользователь обращается к Монитору с помощью специальных команд. По окончании выполнения команды Монитора происходит передача управления на выполнение прерванной программы. Процесс ввода команды, а также результат ее выполнения отображаются обычно на дисплее пульта.

Команды Монитора (например, КПУ "Электроника МС 2702") по типу выполняемой ими функции можно разделить на три группы:

- команда управления выполнением программы - G;

- команды поддержки процесса отладки - E, S, J, A;

- сервисные команды - F, C, D, I, O, P, B.

Команда G (мнемоника “GO” - запустить) является командой запуска программы с определенного адреса или с адреса счетчика команд с возможными точками останова.

С помощью команды Е (“EMBARG” - загрузить) производится просмотр и модификация содержимого регистров микропроцессора.

По команде S (“SUBSTITUTE” - заменить) производится индикация и модификация содержимого памяти.

Команды J и A служат для установки и отмены режима трассировки при отладке программ.

Команды I и О служат для обращения к внешним устройствам (портам). Команда I (“INPUT” - ввод) производит индикацию содержимого регистра внешнего устройства по адресу, вводимому с пульта, а команда О (“OUTPUT” - вывод) производит вывод данных на регистр внешнего устройства.

Таким образом, Монитор представляет собой программный модуль диалогового взаимодействия пользователя с микропроцессорной системой.

Входными данными для Монитора являются его команды, а выходные данные представляют собой результаты выполнения команд, записываемые в ОЗУ или выдаваемые в виде сообщений на дисплее пульта или на внешних устройствах.

Так как реакция Монитора зависит от последовательности команд, задаваемой с пульта оператора, то он обычно строится как программный конечный автомат с памятью, имеющий определенное количество состояний, и выдающий выходные воздействия в зависимости от входных воздействий и своего внутреннего состояния, а также переходящий в новые состояния в зависимости от входных воздействий. Поэтому в Мониторе обычно реализуют программным путем автомат Мили или Мура, имеющий регистр состояния и определенные функции (матрицы) переходов и выходов. Программное обеспечение (ПО) микропроцессорной системы управления в соответствии с выполняемыми функциями можно разделить на три части:

- прикладное ПО - совокупность программ, разрабатываемых целевым образом для решения тех прикладных задач, для которых проектируется система - задач управления;

- ПО разработки программ - совокупность программ, используемых в качестве средств САПР прикладного ПО на всех этапах разработки программ для МПС с помощью отладочной системы;

- ПО вычислительного процесса - совокупность программ, предназначенных для организации вычислительного процесса в МПС и для контроля ее функционирования как при реализации прикладных задач, и при использовании микропроцессорной системы для разработки математического обеспечения.

Рис. 4.14 Структура ПО МПС.

Подмножество программ, предназначенных для выполнения на данной микропроцессорной системе, называют ее резидентным программным обеспечением. Прикладное ПО и ПО вычислительного процесса являются резидентным программным обеспечением и располагаются в постоянной памяти программ микроконтроллера.

ПО, предназначенное для работы с микропроцессорной системой и ее программами, но реализованное на других, программно не совместимых с ней вычислительных средствах, называют кроссовым ПО данной микропроцессорной системы. К кроссовому ПО относят всевозможные программные отладчики, эмуляторы и симуляторы.

САПР-ПО может быть резидентным, кроссовым или смешанным.

Структура программного обеспечения микропроцессорных систем управления представлена на рис. 4.14.

5.Средства разработки программного обеспечения МПС.

5.1 Организация систем поддержки разработки ПО.

5.2. Отладочная система ТФ-ИНФО.

5.3. Интегрированные среды поддержки разработки микропроцессорных систем на основе 5.3.1. EV80196KR Microcontroller Еvaluation Board.

5.3.2. Project Builder kit.

5.4. Отладочная система фирмы Intel - ICE-51FX/PC.

5.1 Организация систем поддержки разработки ПО.

Для поддержки разработки программного обеспечения микропроцессорных систем управления могут быть использованы программные и программно-аппаратные средства.

К программным средствам относятся ассемблеры, компиляторы, моделирующие программы (Simulators) и программы-отладчики (Debuggers). При работе с программными средствами поддержки разработки в качестве базовой инструментальной машины используются персональные компьютеры IBM РС АТ и другие, совместимые с ними.

Ассемблеры служат для преобразования программы, написанной на языке мнемонических команд, в перемещаемый объектный модуль, а затем, с помощью преобразователя объектных кодов - в машинные коды, которые с помощью аппаратных средств могут быть занесены в память контроллера.

Компиляторы предназначены для преобразования программы, написанной на алгоритмическом языке высокого уровня, в перемещаемый объектный модуль.

Получаемые с помощью ассемблера или компилятора программы могут быть протестированы с использованием моделирующей программы-отладчика (Simulator-debugger). В процессе отладки пользователь имеет возможность контролировать содержимое памяти и состояние периферийных устройств контроллера. Симулятор позволяет также задавать значения входного напряжения для всех каналов встроенного многоканального АЦП контроллера.

К программно-аппаратным средствам поддержки разработок ПО относятся эмуляторы ПЗУ, внутрисхемные эмуляторы (In-Circuit Emulators), оценочные модули (Evatuation Boards), а также стартовый комплект разработчика (Project Builder).

Эмулятор ПЗУ (рис. 5.1,а) является наиболее простой отладочной системой и представляет собой аппаратуру, соединенную последовательным каналом с инструментальной ПЭВМ.

Аппаратура эмулятора имеет в своем составе блок оперативной памяти, подсоединенной на место внешнего ПЗУ программ отлаживаемой микропроцессорной системы. Такой комплекс пригоден для отладки микроконтроллеров с внешней памятью программ. ПО, находящееся в инструментальной ПЭВМ, позволяет считывать информацию из памяти эмулятора и заносить туда программы, в том числе отладочные и тестовые.

К более сложным отладочным системам относятся внутрисхемные эмуляторы, предназначенные для отладки программного обеспечения и аппаратной части разрабатываемой системы, когда в модуле центрального вычислителя применяется микроконтроллер с внутренней памятью программ. При использовании внутрисхемного эмулятора микроконтроллер отстраняется от работы в системе (извлекается из панели своего разъема) и на его место кабелем со штепсельным разъемом, согласующимся с освободившейся панелью, подсоединяется аппаратура внутрисхемного эмулятора. Внутрисхемный эмулятор полностью заменяет микроконтроллер отлаживаемой системы, сохраняя при этом доступ ко всей информации о внутреннем состоянии контроллера и его памяти посредством инструментальной ПЭВМ.

Внутрисхемный эмулятор часто выполняется в виде стандартной платы, которая помещается в свободное установочное место в корпусе ПЭВМ, подсоединяясь к системной магистрали (рис.

5.1,б). Стыковочная плата (СП) специальным штепсельным разъемом (Target Probe) соединяется с установленной в ПЭВМ платой посредством ленточного кабеля.

Рис. 5.1.Структуры отладочных систем.

Существуют внутрисхемные эмуляторы, выполненные в виде отдельного блока и связанные с ПЭВМ по последовательному каналу интерфейсом RS-232 (рис. 5.1,в).

Оценочный модуль (ОМ) (см. рис. 5.1, г) предназначен для отладки программного обеспечения и комплексной отладки разрабатываемой системы с использованием реальных датчиков и исполнительных устройств без изготовления модуля центрального вычислителя. Оценочный модуль представляет собой одноплатную микроЭВМ, имеющую в своем составе микроконтроллер определенного типа, внутреннюю память программ, выполненную с использованием микросхем постоянной и оперативной памяти и другую аппаратуру, обеспечивающую пуск и выполнение программ в рабочем режиме, в режиме с остановом в контрольных точках и в однокомандном (пошаговом) режиме, а также аппаратуру для связи с ПЭВМ по последовательному каналу с интерфейсом RS-232.На плате установлены разъемы для подключения оценочного модуля к аппаратуре отлаживаемой системы управления.

Рабочая программа, полученная в результате ассемблирования или компиляции исходной программы, вводится в память оценочного модуля и исполняется в рабочем или отладочном режиме. Часть памяти, расположенной на плате, используется для хранения программы монитора, с помощью которой осуществляется управление работой оценочного модуля.

Отладка программ может проводиться с использованием языков ассемблера либо высокого уровня.

Совокупность программных и оценочного модулей составляет стартовый комплект разработчика (Project Builder).

Стартовый комплект позволяет решать следующие задачи:

-изучения структуры микроконтроллеров, входящих в данное семейство и выбора микроконтроллера для разрабатываемой системы;

-приобретения навыков настройки и управления периферийными устройствами контроллера;

-накопления опыта разработок и отладки программного обеспечения для микроконтроллера с использованием языков ассемблера и высокого уровня;

-оценки правильности выбора микроконтроллера для работы в составе создаваемой системы по критериям времени выполнения задач и уровню загрузки процессора.

При работе в автономном режиме аппаратный модуль стартового комплекта может быть использован в разрабатываемой системе пользователя в качестве центрального вычислителя.

5.2. Отладочная система ТФ-ИНФО.

Система предназначена для автоматизации проектирования программного обеспечения однокристальных микроЭВМ семейства МК-51 на персональных компьютерах типа IBM PC. В комплекс входят редактор исходных текстов программ, транслятор с языка макроассемблера МК-51, программная модель микроЭВМ и внутрисхемный эмулятор.

Создание качественного программного обеспечения на языке ассемблера базируется на умелом применении принципов технологии программирования в сочетании со знанием специфических особенностей аппаратной части проектируемой системы и отличительных черт ассемблера как языка программирования низкого уровня.

Наиболее типичной последовательностью действий разработчика программного обеспечения (предваряют которую анализ предметной области и разработка алгоритма, выходящие за рамки возможностей системы) является следующая:

- Редактирование исходного текста программы;

- Трансляция;

- Отладка с возможным возвратом на предыдущий шаг при выявлении ошибок и несоответствий исходным требованиям задачи.

После загрузки пакета на экране отображается основное рабочее поле (см. рис. 5.2), в верхней строке которого расположена линейка главного меню, содержащего шесть опций (Файлы, Выход, Параметры, Ассемблер, Эмулятор, Инфо), обобщающие основные разновидности действий пользователя (разработчика ПО). Под строкой меню находится поле размещения текста проектируемой программы, ниже, отделенное чертой, - поле системных сообщений, в самом низу экрана - список функциональных клавиш, при нажатии которых выполняются наиболее часто используемые команды системы.

Рис. 5.2 Программа ТФ-ИНФО Система ТФ-ИНФО51 располагает встроенным редактором текстов, позволяющим создавать и редактировать тексты программ и прочих документов, не выходя из пакета. Редактор обеспечивает просмотр и корректировку текста, перемещение, копирование и замену его фрагментов, поиск по образцу.

Настройка пакета на конкретный тип терминала ПК производится при обращении к опции "Параметры" главного меню. Пользователю предоставляется возможность изменить количество строк на экране, скорость реакции клавиатуры на нажатие клавиш и задержку автоповтора при их удержании;

переопределить функциональные клавиши, а также управлять состоянием звукового сопровождения индикатора ошибок, ведением резервных копий редактируемых файлов и авторазбивкой строк.

Опции файловой подсистемы (раздел "Файлы" главного меню) позволяют осуществить работу с оглавлением дисковой памяти, загрузить текст программы для редактирования, сохранить отредактированный файл, распечатать текст, выполнить иные действия с разрабатываемой программой как с единым целым.

Вызов модуля ассемблера МК-51 происходит при обращении к опции главного меню "Ассемблер", позволяющей выполнить трансляцию текущего файла программы, вывести листинг трансляции на внешний носитель, сохранить коды оттранслированной программы в двоичном и шестнадцатеричном форматах. Следует отметить, что выявление ошибок в транслируемой программе производится макроассемблером по одной, в связи с чем на их полную ликвидацию может потребоваться несколько итераций действия "коррекция трансляция".

Отладка проектируемой программы выполняется выбором опции "Эмулятор", позволяющей разработчику исследовать поведение создаваемого ПО в программной модели микроЭВМ МК 51 и внутрисхемном эмуляторе. В особых случаях, при необходимости осуществить действия, обратные этапу трансляции, - создать текстовое представление программы на основе ее кодового представления, хранящегося в памяти, применяются дизассемблеры кода и данных.

Получение общей справочной информации по работе с пакетом возможно при обращении к опции "Инфо" главного меню.

Окончание сеанса работы в системе происходит при выборе одного из двух вариантов выхода из пакета, находящихся в одноименной опции: выход с перезаписью текста программы в назначенный ей файл, либо без таковой.

Вход в главное меню осуществляется по нажатию функциональной клавиши F10, а перемещение между опциями - с помощью клавиш управления курсором.

Система имеет встроенный редактор, управление которому передается при загрузке пакета и при окончании работы с любой из подсистем ТФ-ИНФО51.

Перемещение курсора по редактируемому тексту осуществляется нажатием стандартных клавиш <курсор вверх>, <вниз>, <влево>, <вправо>, , , и .

Нажатие клавиши перемещает курсор вправо на восемь позиций, а при включенном режиме вставки это действие сопровождается сдвигом текущей строки от позиции курсора на шаг табуляции. Комбинация + перемещает курсор на восемь позиций влево. Из других полезных функций следует отметить + и + - перемещение курсора к началу и к концу редактируемого текста соответственно.

Редактирование текста выполняется с использованием следующих клавиш и их комбинаций:

, , + и имеют общепринятый смысл, нажатие произведет деление строки с автоотступом (при включенном режиме вставки), сотрет текст от позиции курсора до конца текущей строки, вставит новую строку вслед за текущей, + расщепит строку на две по позиции курсора, + произведет действия, обратные предыдущей функциональной группе, + восстановит текущую строку в первоначальном виде (имеет смысл, если строка была изменена и курсор еще не покинул ее).

При работе с фрагментами текста надлежит использовать следующие комбинации клавиш:

+ отмечает начало/конец маркировки фрагмента символов согласно месторасположению курсора, + - отмечает начало/конец маркировки строк, + снимает маркировку выделенного фрагмента, + производит копирование выделенного фрагмента вслед за текущей позицией курсора (на следующий символ/строку в зависимости от режима маркировки), + выполняет перенос фрагмента текста вслед за позицией курсора аналогично действию предыдущей функциональной группы, + удаляет маркированный текст.

Команды поиска и текстовой замены, осуществляемые от текущей позиции курсора, предоставляют пользователю следующие возможности: + проводит поиск по образцу, + осуществляет текстовую замену, + повторяет последнюю операцию поиска/замены.

Существующая в системе программная модель позволяет производить отладку разрабатываемого ПО без обращения к аппаратным средствам системы, моделируя работу большинства устройств микроЭВМ семейства МК-51.

Модель работает в режиме полноэкранного редактирования (см. рис. 5.3), что позволяет легко контролировать ресурсы моделируемой микроЭВМ и управлять ими. Рабочий экран программной модели состоит из набора окон, перемещение между которыми осуществляется нажатием клавиш /+ - к следующему/к предыдущему окну.

Информационное окно, находящееся в верхней строке экрана программной модели, содержит данные о процессе выполнения программы (в том числе, сообщения об ошибках оператора), количестве циклов процессора, текущем уровне прерывания, значении счетчика команд.

Информационное окно редактированию не подлежит.

В окне регистров, находящемся под информационным окном, отображается содержимое области регистров специальных функций, регистров процессора, и ячеек памяти, доступных по косвенному обращению. Программист-пользователь пакета может изменить значение любого Рис. 5.3 Вид экрана монитора.

элемента окна и продолжить выполнение программы с новыми значениями, подведя курсор к интересующему элементу, введя новое шестнадцатеричное значение и нажав клавишу .

В окне ассемблера (ниже окна регистров) отображается участок текста команд программы, их кодовое представление и адрес расположения первого байта команды в памяти. Текст команд можно просматривать и редактировать, используя общепринятые комбинации клавиш. Ввод новой команды должно завершать нажатие клавиши .

Левее окна ассемблера и под ним расположены окна дампов памяти (изначально SFRAM - внутренняя память данных микроЭВМ и ROM - внешняя память программ соответственно), отображающих шестнадцатеричные значения содержимого байтовых ячеек памяти (адрес вычисляется как сумма шестнадцатеричного базового значения адреса, расположенного в крайнем левом столбце окна дампа, и смещения, расположенного в крайней верхней его строке;

на пересечении выбранных столбца и строки расположено само значение). Переключение дампа на другой вид памяти производится нажатием комбинации клавиш + / + (вперед/назад по типам дампов).

Из числа функциональных клавиш, управляющих работой программной модели, надлежит выделить следующие основные: + - перенос точки трассировки (место последнего останова, выделено треугольником) в строку положения курсора;

F2 - выполнение очередной команды от точки трассировки (шаг);

+F2 - выполнение подпрограммы от точки трассировки;

F3 - запуск программы на выполнение, начиная с текущей команды (выполнение программы будет прекращено по нажатию пользователем клавиши ESC, либо по наступлению условия останова);

F4 - назначение точек останова (до восьми независимых условий) в специальном всплывающем окне (задается адрес точки останова, совпадающий с адресом начала команды, и, при необходимости, условие, представляющее список логических выражений, удовлетворяющих синтаксису языка ассемблера МК-51 с операндами-значениями регистров, ячеек памяти, битов и т.п. После ввода точка останова находится в неактивном состоянии, т.е. не влияет на ход выполнения программы;

для переключения точки останова в активное/неактивное состояние применяются клавиши F3/F4. Если адрес не задан, проверка выполнения условия останова производится после каждого шага);

нажатие комбинации +F4 удаляет все точки останова;

F8 моделирует сброс микроЭВМ в исходное состояние;

клавиша ESC завершает работу с программной моделью и выполняет переход во встроенный редактор.

Система позволяет использовать также внутрисхемный эмулятор (ВСЭ) - комплекс программно-аппаратных средств системы, позволяющий отлаживать разрабатываемые для МК 51 программы, работая на физически существующей аппаратуре микроЭВМ, связанной с основной (инструментальной) ЭВМ, для чего предварительно осуществляется пересылка отлаживаемой программы в модуль памяти МК-51. Использование подобного метода существенно повышает достоверность отладки создаваемого ПО, особенно если цель его функционирования - управление оборудованием конечного изделия (так как основное предназначение микроЭВМ МК-51 - работа в составе встроенных управляющих контроллеров).

Рабочий экран ВСЭ аналогичен экрану программной модели, равно как и предназначение основных функциональных клавиш. Критерий выбора между работой в ВСЭ и в программной модели - объем аппаратных дополнений к микроЭВМ.

Приведенные здесь сведения описывают минимально необходимый набор знаний для начинающих пользователей системы ТФ-ИНФО51. Перечень функциональных клавиш и директивы макроассемблера МК-51 приведены в системе справочной информации пакета.

5.3. Интегрированные среды поддержки разработки микропроцессорных систем на основе микроконтроллеров МСS-96.

5.3.1. EV80196KR Microcontroller Еvaluation Board.

Комплекс предназначен для разработки программного обеспечения для микроконтроллера i80196KR и включает в себя плату, с расположенным на ней процессором, внешней оперативной памятью, интерфейсом связи с управляющим компьютером по каналу RS-232, логикой управления, разъемами цифровых портов ввода/вывода и аналоговых входов АЦП. Для организации функционирования системы используется программа Embedded Controller Monitor (ECM). Монитор поддерживает основные отладочные инструкции (LOAD,GO,STEP) и состоит из двух независимых программ. Одна из которых выполняется на плате EV80196KR и называется iRISM-96KR.Другая программа выполняется в компьютере под управлением MS DOS и является интерфейсом пользователя. Связь между Таблица 5.1.

Адрес Распределение памяти.

0000-01FFH Внутренний регистровый файл (RRAM **).

Девять байтов с адресами 30H-39H зарезервированы iRISM-96KR и не должны использоваться.

0200 - 03FFH Не используется 0400 - 04FFH Внутреннее ОЗУ IRAM.

01FF - 1CFFH Не используется 1D00 - 1DFFН. Монитор iRISM-96KR 1E00 - 1ЕFFH Зарезервировано для интерфейса связи с РС.

1F00 - 1FFFН Не используется 2000 - 203FH Вектора прерываний.

2040 - 207FН Разрешено использовать для хранения данных.

2080 - 5FFFH 16 - bit ОЗУ код/данные.Типовой адрес начала программ 2080Н.

6000 - 7FFFH 8 - bit ОЗУ код/данные.

8000 - FFFFH. Зарезервировано *При обращении к памяти данных.При обращении к коду программ по адресам 0000 - 01FFH содержится Монитор iRISM-96.

программами, осуществляется по специальному протоколу, через адаптер асинхронной последовательной связи. Интерфейс пользователя инициализирует и конфигурирует iECM-96, выполняет пользовательские программы и команды Адресное пространство микроконтроллера i80196KR 64 кБайт. Карта распределения памяти представлена в таблице 5.1.

В данной системе возможно выполнение различных операций путем ввода соответствующих директив в командную строку iECM-96 и MS-DOS. Эти операции можно разбить на следующие группы :

- инициализации и завершения iECM-96.

- файловые операции.

- операции программного контроля.

- операции визуализации и изменения программных величин.

- операции ассемблирования и дизассемблирования 5.3.1.1. Операции инициализации и завершения iECM-96.

В командной строке MS-DOS ввод команды:

=> ECM96 -COMN, где N - номер адаптера COM (1 или 2 ) к которому подключена плата Еvaluation board,инициализирует систему.

В командной строке iECM-96 набор:

* QUIT Закрывает файлы открытые iECM96 и возвращается в DOS.

* DOS Возвращается в DOS, оставаясь резидентной в памяти. Для возобновления работы программы используйте директиву ЕХIT.

* RESET Осуществляет сброс процессора 80196KR.Cодержимое внешней оперативной памяти не сбрасывается.

5.3.1.2. Файловые операции. Директивы чтения и записи.

Программа загружает в ОЗУ Еvaluation Board только объектные файлы. Расширение загружаемого файла *.obj. В командной строке iECM-96 ввод команды:

* LOAD < имя файла > Загружает код программы в память платы, также загружается информация о таблице символьных назначений, хранимая в памяти РС.

* SAVE < адрес > TO Записывает в файл фрагмент памяти.

Символьная таблица не сохраняется.

< адрес > IN < имя файла > 5.3.1.3. Дополнительные директивы.

INCLUDE < имя файла > Открывает файл только для чтения. При открытии *.log файла выполняет записанные команды.

PAUSE Осуществляет паузу при выполнении *.log файла.Ожидает нажатия клавиши SPACE.

LIST < имя файла > Назначает файл (листинг) для записи протокола работы.

LISTOFF Останавливает запись протокола работы в файл LISTON Возобновляет запись протокола работы в файл.

LOG < имя файла > назначает файл только для записи введенных пользователем команд.

LOGOFF Останавливает запись команд в файл.

LOGON Возобновляет запись команд в файл.

5.3.1.4. Операции программного контроля. Директивы назначения точек останова.

В iECM-96 возможно установление 17 точек программного останова. Команды установки точек останова следующие:

BR Мониторинг всех активных точек останова.

BR [< номер >] выявляет статус точки останова. При нажатии клавиши ESC переходит к следующему номеру, при вводе значения присваивает адрес останова, при нажатии клавиши Enter завершает команду.

BR [< номер >] = < адрес > Установка точки останова.

5.3.1.5. Директивы выполнения.

GO Выполнение программы начинается с адреса счетчика команд до точки останова.

GO FOREVER Удаляются все точки останова, выполнение программы с адреса счетчика команд.

GO FROM < адрес > команда загружает адрес в счетчик команд и выполняет программу до точки останова.

GO FROM < адрес > FOREVER команда загружает адрес в счетчик команд (РС), удаляет точки останова, и выполняет программу.

GO FROM < адрес > TILL загружает адрес в (РС), устанавливает точку останова (BR[0]) по адресу < адрес > следующему после TILL и запускает выполнение GO FROM < адрес >TILL загружает адрес в (РС), устанавливает точку останова (BR[0]) по адресу < адрес > OR< адрес > следующему после оператора TILL и устанавливает 2 точку останова (BR[1]) по адресу следующему после оператора условия ОR, запускает выполнение.

GO TILL < адрес > Устанавливает 1 точку останова (BR[0]) и выполняет программу с адреса в РС.

GO TILL < адрес > OR Устанавливает 2 точки останова (BR[0]) и (BR[1]). Выполняет программу с адреса в < адрес > (РС).

HALT останов программы.

5.3.1.6. Директивы пошагового выполнения.

Следующие команды предназначены для пошагового выполнения программы.

STEP шаг.

STEP< n > n =количество шагов.

STEP FROM < адрес > Команда загружает адрес в счетчик команд РС и выполняет шаг.

STEP FROM < адрес > Команда загружает адрес в счетчик команд РС и выполняет n шагов.

5.3.1.7. Операции визуализации и изменения программных величин.

iECM-96 поддерживает следующие типы данных: BYTE, WORD, DWORD, REAL. Возможны формы команд. В качестве примера используем переменную типа BYTE.

BYTE <адрес> Просмотр переменной.

BYTE <адрес> = <значение> Модификация.

BYTE <адрес> ТО <адрес> Просмотр переменных.

BYTE <адрес> ТО <адрес> = Модификация переменных.

<значение> Синтаксис для типов переменных WORD,DWORD,REAL аналогичен. Доступ к программному счетчику ( РС ),указателю стека ( SP ), слову состояния программы(PSW) возможен набором соответствующего символического обозначения. Изменение осуществляется вводом символа " = " и присваемого значения.

5.3.1.8. Операции ассемблирования и дизассемблирования.

Однолинейный ассемблер (SLA) вызывается командой:

ASM <адрес> <мнемоника> Дизассемблер конвертирует объектный код из памяти платы в мнемонику ASM- следующими командами :

DASM Дизассемблирует инструкцию с текущего адреса.

DASM < n > Дизассемблирует n инструкций с текущего адреса.

DASM <адрес> Дизассемблирует инструкцию с введенного значения адреса.

DASM <адрес> TO <адрес> Дизассемблирует блок памяти.

5.3.2. Project Builder kit.

Эта система представляет собой программно-аппаратный комплекс ориентированный на разработку и отладку программ для микроконтроллеров серии 8ХС196КD, KC, KB.

В состав проекта Project Builder kit входят.

- 196KD-20 Microcontroller Target Board. Плата с расположенными на ней корпусами микросхем микроконтроллера 8XC196KD,ОЗУ, интерфейса RS-232,сигнальными индикаторами и разьемами связи с РС и портами ввода/вывода, предназначенная для выполнения программ разработчика.

_ Monitor. Программа, предназначенная для загрузки разработанной программы в Microcontroller Target Board, отладки и низкоуровневой интеграции.

_ModelBUILDER. Программа, основное назначение которой, оценка реального времени выполнения программ для различных видов микроконтроллеров, при различной тактовой частоте кварцевого резонатора, циклах ожидания магистрали.

_АрBUILDER. Наглядная программа об архитектуре микроконтроллеров, инструкциях ассемблера, обучающая программированию регистров специальных функций. Содержит гипертекстовую систему руководства по применению микроконтроллеров.

_Make Utility - утилита, которая автоматизирует выполнение Ассемблера, Cи Транслятора, Компоновщика через создание командного файла.

5.3.2.1. i196KD-20 Microcontroller Target Board.

Принцип функционирования платы идентичен рассмотренной нами Еvaluation Board. Основное отличие, от рассмотренной выше системы, заключается в использовании микроконтроллера, имеющего внутрисхемную постоянную память ROM, в которой находится программа связи iRISM-96.При этом используется 8-разрядная магистраль данных между микропроцессором и внешней памятью. Карта распределения памяти при работе с платой представлена в таблице 5.2.

Таблица 5.2.

Адрес Распределение памяти 2000 - 9FFFH Внутрисхемная постоянная память (in-chip ROM ).

2080 - 27FFH RISM-96.

А000 - FFFFH Адресуемая внешняя память.(RAM или ROM ) С000 - DFFFH Программы пользователя.(При использовании RAM 8К х 8 SRAM) Так как, область векторов прерываний (2000-2040h) не доступна для записи (область ROM), то в системе Target Board осуществлен перенос векторов в область D000-D1C0H. См.таблицу 5.3.

Таблица 5.3.

Вектор Приоритет Адрес Адрес Адрес блока прерывания вектора вектора РТS КD Target Board Timer_overflow 0 2000h d000h 360h Ad_done 1 2002h d020h 368h Hsi_date 2 2004h d040h 370h Hso_event 3 2006h d060h 378h Hsi_zero 4 2008h d080h 380h Software_timer 5 200ah d0a0h 388h Serial_port 6 200ch d0c0h 390h External_int 7 200eh d1e0h 3a0h Serial_txd 8 2030h d100h 3a8h Serial_rxd 9 2032h Reserved * 3a8h Hsi_entry_4 10 2034h d140h 3b0h Timer_capture 11 2036h d160h 3b8h Timer_overflow 12 2038h d180h 3c0h External_int 13 203ah d1a0h 3c8h Hsi_fifo_full 14 203ch d1c0h 3d0h NMI 15 203eh Reserved ** TRAP Special 2010h Reserved ** Illegal_Orcode Special 2012h Ret * Зарезервировано для RISM_isr * * Зарезервировано для RISM 196KD 5.3.2.2. Monitor.

Главный инструмент интеграции разработчика и TargetBoard. Работает под управлением Windows 3.1 или выше.Представляет собой графическую версию программы интерфейса ECM 96 и аналогичен ей по возможностям.

5.3.2.3 ModelBUILDER.

Для определения реального времени выполнения программы необходимо выполнить следующие действия :

1.Включить в текст программы директиву контроля ассемблирования $DEBUG для включения символьной информации в объектный файл.

2. В измеряемый участок программы поставить метки T_BEGIN и T_END. Метка T_BEGIN является началом участка, T_END его концом.

3.Если внутри определяемого участка осуществлятся инициализация прерываний, то их необходимо заменить командой вызова подпрограммы - lcall. Пример :

$DEBUG ;

директива включения символьной информации ;

в объектный файл.

;

… начало программы T_BEGIN: ;

метка старта таймера ModelBUILDER ;

… измеряемый участок программы lcall module ;

возможный вызов подпрограммы module T_END: ;

метка завершения отсчета таймера br $ module :

;

…код подпограммы ret END 4.Осуществить трансляцию текста в объектный код.

5.Запустить программу МоdelBUILDER.

6.Включить напряжение питания плат Target Board или Еvaluation Board.

7.Установить в опции Options меню тип процессора, платы, разрядность, количество тактов ожидания внешней шины адреса /данных, и установить требуемую тактовую частоту.

8.Загрузить объектный код программы следующим образом.

- в опции File выбрать Load Templates.

- в опции Routine выбрать @USR_RGM - в опции Period установить примерное время выполнения программы(0.1- 50ms).

9. В опции Options меню выбрать Time Selected Tasks.

Результаты выполнения программы моделирования отображаются в виде процентов загрузки процессора от установленного пользователем времени и значения затраченного времени.

5.3.2.4. АрBUILDER.

Основу программы составляют три редактора: периферийный, регистровый и редактор инструкций.

При выборке типа микроконтроллера в опции Select - device на экран выводится структурная диаграмма микроконтроллера в виде набора изображений - кнопок, соответствующих определенным узлам.После выбора мышью интересующего нас узла, для включения краткой справки об узле, следует нажать на клавишу HiLites, для программирования узла, клавишу входа в периферийный редактор - Periph. Периферийный редактор создает текст программы, соответствующий сделанной настройке узла.

Для входа в регистровый редактор следует нажать кнопку Reg.Регистровый редактор позволяет определенным образом настраивать регистры специальных функций путем выборки опций, при этом генерируется мнемоника ассемблера.

Для входа в редактор инструкций ассемблера следует нажать кнопку Instr.Редактор инструкций ассемблера ознакомит с синтаксисом команд и укажет их время выполнения.

5.4. Отладочная система фирмы Intel - ICE-51FX/PC.

Внутрисхемный эмулятор ICE - 51FX/PC представляет собой систему, содержащую аппаратную и программную части, предназначенные для использования при разработке и отладке МПС, реализуемых на основе МК-51. Аппаратная часть содержит эмулирующий процессор, который предназначен для замены МК в конструируемой системе на этапе проектирования последней.

В том случае, если аппаратная часть еще не создана, можно проводить совершенствование и отладку только ПО в так называемом автономном режиме. Эмулятор также содержит на своей плате микросхемы памяти, которые на этапе проектирования МПС могут с успехом эмулировать все адресное пространство МК - 51. Когда система полностью сконструирована эмулятор обеспечит эффективную отладку ПО и настройку аппаратных средств спроектированной МПС.

Данный эмулятор - одна из частей многочисленной группы средств, нацеленных на расширение использования микроконтроллеров семейства МК-51. Процесс создания МП системы на основе МК состоит из следующих этапов:

- Создание файла исходного текста программы в формате ASC II с помощью любого редактора;

- Использование макро препроцессора для расширения имеющихся макросов в исходном тексте программы, при необходимости. Трансляция исходного текста программы в объектный код;

- Создание библиотек из групп объектных модулей с применением программы LIB51;

- Соединение необходимых программных модулей вместе с помощью утилиты RL51. RL может также создавать абсолютный модуль или код готовый для записи в память программ МК;

- Отладка ПО в автономном режиме;

- Компоновка аппаратных и программных средств проектируемой системы. Тестирование системы с эмулирующим процессором;

-Запись отлаженной программы в память программ МК. Рекомендуемая конфигурация: пакет ПО iPPS PROM совместно с программатором iUP-200 PROM.

ICE-51FX/PC интерактивная отладочная система, которая может эмулировать следующие микроконтроллеры семейства MCS-51:

8031 80C31 8xC51FA 8x51 8xC51 8xC51FB 8032 80C32 8xC51FC 8x52 80C Для удобства пользования эмулятор ICE-51FX/PC поддерживает следующие окна и оконные функции:

- Окно исходного текста программы, окно, отражающее содержимое памяти, окно регистров и ряд других окон;

- Просмотр исходного текста программы;

- Ниспадающие меню и "горячие" клавиши, используемые при отладке;

- Синтаксический контроль с возможностью коррекции вводимых команд в командном окне;

- Буфер введенных команд для быстрого перезапуска ряда введенных команд;

- Встроенный текстовый редактор;

- Система контекстной помощи, доступная по команде help или по нажатию клавиши F1.

С помощью ICE-51FX/PC возможно следующее:

- Загрузка и запуск объектных и hex файлов;

- Дизассемблирование и ассемблирование команд MCS-51;

- Символическое отображение программных объектов;

- Пошаговое выполнение программ с использованием машинных инструкций или выражений на языке высокого уровня;

- Опция установки 128 Кбайт, соответственно по 64 Кбайта память данных и память программ;

- Установка точек остановки тремя путями: в окне текста программы, в форме обработки событий и из командной строки;

- Доступ и модификация регистров и памяти во время процесса эмуляции;

- Сохранение условий остановок (breaks) и прогона программы в регистре остановок для возможного повторного использования;

- Создание и сохранение последовательностей команд отладки;

- Использование таймеров событий и эмуляции для анализа времени выполнения программы.

Аппаратная часть эмулятора состоит из следующих частей:

- Плата контроллера. Плата контроллера эмулятора устанавливается в ПК в любой свободный слот и имеет переключатели для установки подходящего адреса порта. Плата контроллера укомплектована двумя микросхемами памяти по 16 Кбайт. Эти микросхемы могут быть заменены 4-мя микросхемами, позволяющими расширить память программ и внешнюю память данных до 64 Кбайт;

- Соединительный кабель. Шлейф, по обоим концам которого разъемы по 50 контактов. Один из концов имеет экранированный коннектор, соединяемый с землей. Другой конец шлейфа соединяется c интерфейсной платой;

- Интерфейсная плата. Интерфейсная плата имеет 40 выводной DIP (штырьковый) адаптер. Адаптер соединяется непосредственно с конструируемой платой и на время отладки системы заменяет МК-51.

Программное обеспечение эмулятора ICE-51FX/PC можно разделить на три части:

- Инсталляционное программное обеспечение;

- Системное программное обеспечение;

- Программное обеспечение, позволяющее проводить полный;

программный контроль.

Инсталляционное программное обеспечение позволяет пользователю в интерактивном режиме выбрать место на жестком диске, где предполагается хранить программную часть эмулятора.

После соответствующего определения пути производится установка пакета. Имеется утилита установки благоприятного окружения, с помощью которой можно определить наиболее удобную конфигурацию, цветную палитру и т. п.

Системное программное обеспечение - собственно основная часть программного обеспечения эмулятора, которое позволяет проводить:

- полное тестирование аппаратных средств эмулятора;

отладить программу как в автономном режиме, так и на масштабной модели.

Программная часть эмулятора имеет развитую систему команд, которая предоставляет разработчику практически любые средства, необходимые при отладке систем.

6.Нечеткие системы управления динамическими объектами на основе микроконтроллеров.

6.1. Принцип организации нечетких систем управления.

6.2. Реализация нечеткого управления.

6.3.Проектирование систем управления динамическими объектами с использованием алгоритмов 6.1. Принцип организации нечетких систем управления.

В настоящее время начинают находить широкое применение так называемые нечеткие системы управления (fuzzy-системы), основанные на нечеткой логике, разработанной профессором Лотфи Заде еще в 1965 году [7]. Особенно эффективно применение нечетких систем управления там, где объект управления достаточно сложен для его точного описания и существует дефицит априорной информации о поведении системы. Область применения нечетких систем управления показана на рис. 6.1.

Рис. 6.1. Сфера применения нечетких систем управления.

Принцип действия нечетких систем управления основан на выполнении нечеткого логического вывода типа Нечеткие системы имеют базу знаний и зачатки искусственного интеллекта.

Рис. 6.2. Простейшая одновходовая нечеткая система.

Простейшая система управления, функциональная схема которой показана на рис. 6.2., реализует один восходящий нечеткий вывод, схему которого можно представить в следующем виде Здесь - описательная информация - лингвистические переменные, представляемые в виде нечетких множеств Связь между, например, входной переменной и соответствующей ей лингвистической переменной может быть представлена в виде характеристической функции - функции принадлежности, как показано на рис. 6.3. для лингвистической переменной “Высокий”.

Рис. 6.3. Функция принадлежности лингвистической переменной “Высокий”.

При дискретном представлении функции принадлежности А можно рассматривать как вектор А=( a1, a2,... ai,... am ), 0 ? ai ? 1.

Аналогично B=( b1, b2,... bi,... bm ), 0 ? bi ? 1.

В нечетком логическом выводе А - причина и В - результат связаны матрицей R, отражающей нечеткие причинно-следственные отношения между А и В. Матрица R может быть представлена в следующем виде (6.1) Заде следующим образом определил результат нечеткого восходящего вывода для В’ (6.2) Из (6.2) вытекает, что (6.3) где - логическое умножение (MIN);

- логическое сложение (MAX).

Для непрерывной логики логическое умножение эквивалентно нахождению минимального значения, а логическое сложение - максимального.

Мамдани предложил следующий вариант нечеткого отношения, наиболее часто используемый на практике (6.4), где - логическое умножение (MIN).

Рассмотрим реализацию нечеткого управления в простейшей системе управления с одним входом и одним нечетким выводом типа на примере системы управления компенсационной емкостью, функциональная схема которой показана на рис. 6.4.

Рис.6.4. Функциональная схема системы управления компенсационной емкостью.

Система должна следить за тем, чтобы в компенсационной емкости К.Е. было достаточное количество жидкости, но не было переполнения.

Система реализует нечеткий вывод типа:

“Если уровень “высокий”, то открыть” клапан К”.

Таким образом входной лингвистической переменной в данном случае является переменная:

А = “Высокий”, а выходной В = “Открыть”.

Функции принадлежности, связывающие физическую входную переменную “Уровень” в метрах с лингвистической переменной “Высокий” и выходную переменную “Угол поворота вентиля” с лингвистической переменной “Открыт” показаны соответственно на рис. 6.5, а) и б).

а) б) Рис. 6.5. Функции принадлежности лингвистических переменных “Высокий” и “Открыть”.

В соответствии с приведенными функциями принадлежности входная и выходная лингвистические переменные могут быть представлены в виде следующих дискретных множеств “Высокий” = mA(x) = 0.1/1.5 + 0.3/1.6 + 0.7/1.7 + 0.8/1.8 + 0.9/1.9 + 1.0/2.0 + 1.0/2.1 + 1.0/2.2;

“Открыть” = mB(y) = 0.1/30° + 0.3/40° + 0.7/50° + 0.8/60° + 0.9/70° + 1.0/80° + 1.0/90°.

Нечеткий вывод “Если высокий, то открыть” реализуется в данной системе на основе формул (6.3) и (6.4), как показано на рис. 6.6. Управление происходит в три этапа:

-фаззификация - превращение уровня выдаваемого датчиком (например 1.75 м) в лингвистическую переменную (в данном случае A’ - довольно высокий), представленную на рис. 6.6.(а) в виде множества mA(x) с учетом разброса измеряемого параметра x;

-реализация нечеткого вывода по формуле полученной из (6.3) и (6.4) bj’= i(ai’ ai) bj, (6.5) Как показано на рис. 6.6 (б) и (в);

-дефаззификация, то есть превращение полученного выходного множества mB’(y) в выходную величину y. В данном случае на рис. 6.6, (в) показана дефаззификация по методу центра тяжести (фигуры заштрихованной на рис. 6.6, (в), который дает y’=70°.

Рис. 6.6 Реализация управления в простейшей Fuzzy-системе.

6.2. Реализация нечеткого управления.

Нечеткое управление может быть реализовано специальными нечеткими контроллерами, в основе которых лежит так называемая машина нечетких выводов, структура которой показана на рис. 6.7.[8].

Эта машина реализует нечеткий вывод типа “Если А, то В” по формуле (6.5), как показано на рис. 6.6. Блок, реализующий функцию C-MIN, осуществляет пересечение множеств А и А’.

Блок, реализующий функцию E-MAX, выделяет из множества А? А’ элемент с максимальным значением, который осуществляет усечение множества В, превращая его во множество В’. Базовая архитектура нечеткого контроллера, выполняющего много нечетких выводов (r), содержит r машин нечетких выводов (МНВ), как показано на рис. 6.8. Кроме МНВi базовый нечеткий контроллер содержит нечеткую память в которой хранится база знаний и схема объединения результатов выводов - MAX с дефаззификатором.

Рис. 6.7. Функциональная схема машины нечетких выводов.

Рис. 6.8. Базовая архитектура нечеткого контроллера.

Нечеткое управление может быть реализовано с помощью обычных или специализированных логико-арифметических контроллеров, в которых нечеткие выводы выполняются путем вычисления характеристических значений выходной лингвистической переменной через характеристические значения входных лингвистических переменных по логическим формулам использующим логические операции “И” и “ИЛИ”.

Переход от лингвистических переменных, принимающих различные лингвистические значения - ТЕРМЫ, производится через соответствующие характеристические функции - функции принадлежности, показанные на рис. 6.9. Считается, что для реализации простейших алгоритмов нечеткого управления достаточно, чтобы каждая лингвистическая переменная содержала от 3 до 7 термов.

Z-функция -функция -функция S-функция Рис. 6.9. Типовые функции принадлежности.

Разработка алгоритма нечеткого управления традиционно содержит три этапа:

Этап 1. Фаззификация - переход от физических переменных к лингвистическим переменным и их характеристическим функциям. Фаззификация может быть осуществлена путем выполнения следующих шагов:

Шаг 1. Для каждого терма взятой лингвистической переменной находится числовое значение физической величины (или диапазон значений), наилучшим образом характеризующей данный терм и этим значениям присваивается характеристическое значение равное “1”.

Шаг 2. Для каждого терма выбирается диапазон значений физической переменной при которых характеристическая функция принимает значение “0”.

Pages:     || 2 |



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.