Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
33
Добавлен:
23.02.2014
Размер:
3.39 Mб
Скачать

3 Реализация микропроцессорной системы управления дптнв

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

К основным характеристикам систем контроля относят:

  1. Эффективность контроля – мера целесообразности его применения;

  2. Достоверность;

  3. Точность и производительность;

  4. Ресурс контрольно-измерительной аппаратуры;

  5. Объем контроля;

  6. Количество и характер зондирующих сигналов;

  7. Количество и характер наблюдаемых сигналов;

  8. Режимы работы;

  9. Стоимость.

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

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

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

3.1 Разработка структурной схемы

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

За основу проектируемой МПС возьмем однокристальную микроЭВМ. Данная мЭВМ должна удовлетворять следующим требованиям:

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

- удовлетворять требованиям, предъявляемым по объемам контроля;

- удовлетворять критерию стоимости;

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

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

Рисунок 3.1 – Структурная схема МПС

3.2 Выбор элементной базы

В качестве мЭВМ выберем отечественную однокристальную микроЭВМ КМ1816ВЕ48. Основу мЭВМ образует внутренняя двунаправленная 8-байтная шина, которая связывает между собой все элементы мЭВМ: арифметико-логическое устройство(АЛУ), устройство управления(УУ), резидентную память данных(RAM) и память программ(EPROM), программный счетчик адреса(РС), регистр адреса(RAR), таймер/счетчик(TCNT), слово состояния программы(RSW), регистр команд(РК) и порты ввода/вывода информации(Р1,Р2,DB).

В состав АЛУ входят следующие блоки: комбинационная схема обработки байтов, регистры Т1 и Т2, регистра аккумулятор(А), схема десятичного корректора и схема формирования признаков(RSW). Аккумулятор используется в качестве регистра операнда и регистра результата. Регистр временного хранения операнда (Т1) программно недоступен и используется для временного хранения второго при выполнении двухоперандных команд.

При выполнении операций обработки данных в АЛУ вырабатываются флаги, которые формируются на комбинационной схеме и не фиксируются на триггерах.

Память программ и память данных в мЭВМ физически и логически разделены. Память программ реализована в резидентном ППЗУ объемом 1К байт. Максимальное адресное пространство, отводимое для программ, составляет 4К байта. Счетчик команд (РС) содержит 12 бит, но инкрементируются в процессе счета только младшие 11 бит. Поэтому РС из предельного состояния 7FFFh(если только по этому адресу не расположена команда передачи управления) перейдет в состояние 000h. Состояние старшего бита счетчика команд может быть изменено специальными командами (SELMB0,SELMB1). Подобный режим работы позволяет создать два банка памяти емкостью по 2К байта. В свою очередь оба банка памяти разделяются на страницы по 256 байт в каждой. В командах условного перехода задается 8-битный адрес передачи управления в пределах текущей страницы. Межстраничные переходы обеспечиваются модификацией 11-го бита РС при вызове подпрограмм в пределах выбранного банка памяти программ.

Резидентная память данных емкостью 64 байта имеет в своем составе два рабочих банка регистров 0-7 и 24-31 по восемь регистров в каждом. Выбор банка осуществляется по команде SELRB0 илиSELRB1. Рабочие регистры доступны по командам с прямой адресацией. В качестве регистров косвенного адреса используются регистрыR0 иR1 иR0* иR1*.

Ячейки RAMс адресами 8-23 адресуются указателем стека изRSWи могут быть использованы в качестве 8-ми уровневого стека. В случае, если уровень вложенности программ меньше 8, незадействованные в стеке ячейки могут использоваться как ячейкиRAM. мЭВМ КМ1816ВЕ48 не имеет команд загрузки байта в стек или его извлечения из стека, и в нем фиксируется только содержимое РС и старшая тетрадаRSW. В силу этого необходимо следить за тем, чтобы вложенные подпрограммы не использовали одни и те же рабочие регистры.

Для связи мЭВМ с объектом управления используется 27 линий. Эти линии сгруппированы в три порта(Р1, Р2 и DB) по восемь линий в каждом, и могут быть использованы для ввода, вывода или для ввода/вывода информации через двунаправленные линии. Кроме портов имеются три линии, сигналы на которых могут изменять ход программы по командам условного перехода(INT,T0,T1).

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

Порт DBпредставляет собой двунаправленный буфер с тремя состояниями и предназначен для побайтного ввода/вывода информации. Данный порт является системным: с его помощью можно расширить систему ввода/вывода информации.

Внутренний 8-ми битный двоичный таймер/счетчик TCNTможет быть использован для формирования временных задержек и для подсчета внешних событий. Из максимального состоянияFFhTCNTпереходит в начальное состояние 00h. При этом устанавливается в “1” флаг переполнения, который может быть опрошен по команде условного переходаJTF. Выполнение командыJTF, как переход к подпрограмме обработки прерывания по вектору с адресом 7, сбрасывает флаг переполненияTCNT.

В режиме таймера на вход TCNTпоступают основные синхросигналы машинного циклаALE(400 кГц) и счетчик увеличивает свое состояние на 1 через каждые 80 мкс (12.5 кГц). Путем программной установкиTCNTв исходное состояние и анализа флага переполнения могут быть реализованы различные временные задержки, лежащие в диапазоне от 80 мкс до 20.48 мс. Большие по времени задержки могут быть получены накоплением переполнений в рабочем регистре под управлением программы.

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

Система команд мЭВМ КМ1816ВЕ43 содержит 96 основных команд, ориентированных на реализацию процедур управления. Формат команд – один или два байта(70% - однобайтные).

Все множество команд мЭВМ КМ1816ВЕ48 можно разбить на пять групп по функциональному признаку: команды пересылки данных; команды арифметических операции; команды логических операций; команды передачи управления и команды управления режимами работы мЭВМ.

В качестве контроллера клавиатуры выберем БИС отечественного производства КР580ВВ79.

БИС КР580ВВ79 – программируемое устройство, предназначенное для построения систем (подсистем) отображения информации на основе дисплеев (индикаторов) различных типов, а также систем (подсистем) ввода информации из различного типа клавиатур (рисунок 3.3).

Рисунок 3.3 -Условное графическое обозначение (а) и назначение выводов (б) БИС КР580ВВ79.

Эта БИС позволяет автоматически сканировать клавиатуру, определить и выдать код позиции клавиши, нажатой в матрице клавиатуры, подавить помехи дребезга контактов клавиатуры, а также регененерировать изображение на дисплее (индикаторе). Программирование восьми режимов ввода и четырех режимов вывода обеспечивает широкие возможности для пользователя при вводе и отображении информации. Вводимая информация может накапливаться в обратном магазине (ОМ) ОЗУ датчиков с доступом "первый вошел-первый вышел" емкостью 8 слов Х 8 разрядов (8 байт). При наличии информации в ОМ ОЗУ датчиков микросхема вырабатывает запрос прерывания, а в случае ввода или чтения более восьми символов – сигналы ошибок переполнения или переопустошения в слове состояния. Для регенерации изображения на дисплее (индикаторе) в микросхеме имеется ОЗУ отображения объемом 16 слов Х 8 разрядов. Время сканирования клавиатуры и регенерации изображения задается программным способом. По электрическим параметрам БИС КР580ВВ79 полностью совместима с микросхемами серии ТТЛ.

БИС КР580ВВ79 организована на базе внутренней шины. В ее состав входят: ОМ ОЗУ датчиков со схемой управления и устранения дребезга клавиатуры, буферами клавиатуры и датчиков и схемой анализа состояния ОМ ОЗУ датчиков; схема управления и синхронизации со счетчиком сканирования; ОЗУ отображения с регистрами адреса и данных; средства сопряжения с системной шиной – буферы канала данных и схема управления чтением-записью.

ОЗУ датчиков обеспечивает хранение информации, поступающей со входов RET7…RET0, и выдачу ее в микропроцессор через внутреннюю шину данных и буферы канала данных по командам чтения.

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

Счетчик сканирования – 4-разрядный двоичный счетчик сканирует строки клавиатурной матрицы и регенерирует изображения на дисплее (индикаторе). Программно счетчик можно установить в кодированный или декодированный (дешифрированный) режим работы.

Буферное ОЗУ отображения – ОЗУ с произвольным доступом, хранит коды символов, отображаемых на дисплее. Каждый байт может рассматриваться как два независимых полубайта. Это позволяет обслужить дисплей с большими функциональными возможностями – на 16 знакомест при восьмиразрядном коде символа и на 32 знакоместа при 4-разрядном коде символа. ОЗУ доступно для записи и чтения информации. Регистр адреса ОЗУ отображения может быть программно установлен в режим автоинкрементирования. В процессе регенерации отображения на дисплее информация из ОЗУ отображения на дисплее циклически выдается на выходы DSPA3…DSPA0иDSPB3…DSPB0, причем битDSPA3 соответствует битуD7 шины данных, аDSPB0 – битуD0.

Буфер канала данных – двунаправленный трехстабильный, осуществляет стыковку внутренней шины данных БИС КР580ВВ79 с системной шиной данных с помощью линий D7…D0.

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

Информация в БИС КР580ВВ79 вводится через линии возврата RET7…RET0. В кодированном (дешифрированном) режиме сканирования с обнаружением одноклавишных сцеплений по нажатию клавиши срабатывает логика подавления дребезга. Другие нажатия клавиш обнаруживаются в течение следующих двух сканирований. Если это единственная нажатая клавиша и ОМ ОЗУ датчиков было пусто, то ее позиция записывается в ОМ ОЗУ датчиков. Если ОМ ОЗУ датчиков было заполнено полностью, то информация с клавиши не будет введена и установится флаг ошибкиD5 в слове состояния. В случае одновременного нажатия нескольких клавиш код ни одной из них не будет записан в ОМ ОЗУ датчиков. Код клавиши записывается в ОМ ОЗУ датчиков только одиночным нажатием.