Для корректной работы микроконтроллера следует ввести задержки на опрос объектов после подачи на них управляющих команд. В противном случае, может возникнуть следующая ситуация. Микроконтроллер подает команду на перевод стрелки. Сигнал поступает на обмотку реле, но на перемещение якоря требуется некоторое время. За это время микроконтроллер уже произвел повторный опрос состояния стрелки и обнаружил, что она сохранила свое первоначальное положение, а перевод не произведен. В то же время команда фактически уже выполняется, и будет выполнена, только по истечении 2-3 сек. Таким образом, возникает алгоритмическая ошибка функционирования системы управления.

Так как время выполнения отдельной операции микроконтроллером К1816ВЕ48 фиксировано и зависит от длительности синхронизирующего сигнала, формируемого кварцем Z, то необходимую задержку времени при передаче управляющей команды легко обеспечить программным путем. Наиболее распространенный способ программной задержки, основан на задании в теле программы локальных циклов, заполненных пустыми

Рис. 4. Алгоритм организации локального цикла.

 

операциями, либо операциями, выполняемыми за максимальное число циклов.

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

Работает цикл следующим образом. Запуск цикла происходит в тот момент, когда микроконтроллер считывает команду, размещенную в памяти программ в ячейке, соответствующей началу цикла (1). Далее из памяти данных считывается начальный индекс цикла (2). После этого осуществляется проверка превышения числом уже выполненных циклов заданного числа 0 (счет выполненных циклов осуществляется в обратном порядке). Так как начальный индекс цикла больше заданного числа 0, то по ветке «нет» начинается последовательное выполнение () команды, обеспечивающих заданное время выполнения цикла. Предпоследней командой, выполняемой в ветке «нет», (8) производится декрементирование индекса цикла (уменьшение индекса на единицу). После этого следует команда безусловного перехода по метке (3). Снова производится проверка превышения уже выполненным числом циклов заданного числа , и выполнение команд из ветки «нет» (4)-(9). Так продолжается до тех пор, пока очередная проверка (4) не обнаружит, что условие стало истинным. В этом случае происходит условный переход по метке конца локального цикла.

НЕ нашли? Не то? Что вы ищете?

Приведенный на рисунке 4 алгоритм цикла изображен в общем виде, тогда как при написании программного кода число операций, в течение которых выполняется отдельный элемент алгоритма, может быть более одной. Это происходит потому, что помимо операций преобразования данных микроконтроллер выполняет также ряд вспомогательных операций, например, таких как операции пересылки данных между узлами, операции «очистки» регистров и т. д. (число операций зависит от микроконтроллера). Как следует из анализа системы команд (см. табл.10) большинство операций преобразования данных, таких как присвоение значений переменным, декрементирование, инкрементирование выполняется в регистре аккумуляторе. Так как в процессе выполнения программы регистр-аккумулятор должен хранить различные данные, которые зависят от операции, выполняемой АЛУ, то большинство переменных, хранится в регистрах памяти данных. Значит для выполнения, например операции условного перехода, требуется предварительно переслать в аккумулятор из памяти данных анализируемое число (команда MOV A,Rn), и только затем произвести сравнение содержимого аккумулятора с нулем и осуществить переход по метке (команда JZ add).

С учетом вспомогательных операций подробный алгоритм цикла задержки имеет вид, представленный на рисунке 5. Как видно из приведенного алгоритма один раз в начале цикла выполняются операции (2)-(4), затем раз операции (5)-(12) и при выходе из цикла еще раз команды (5), (6). Само тело цикла заполнено пустыми операциями NOP. Формула для определения длительности указанного цикла имеет вид:

Блок-схема: ссылка на другую страницу: 2

Блок-схема: ссылка на другую страницу: 2

Рис. 5. Алгоритм организации локального цикла

на уровне команд микроконтроллера

 

, мкс

где - число команд, расположенных вне цикла;

- число циклов;

* - число команд в цикле.

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

В примере, приведенном на рис.5 число циклов определяется с учетом того, что, требуемое время задержки составляет ;

- команды (2)-(4), (5), (6);

- команды (7)-(12).

Поэтому формула для данного цикла имеет вид:

.

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

Для определения времени выполнения команды необходимо учесть следующее. Работа микроконтроллера является циклической, поэтому в качестве временной характеристики, широко используемой для расчетов, является время машинного цикла. Микроконтроллер МК1816ВЕ48 имеет фиксированное время машинного цикла, длительность которого в 15 раз превышает длительность сигнала синхронизации. С учетом этого, длительность машинного цикла может быть определена из частоты синхронизации по следующей формуле:

, мкс

где - частота синхронизации микроконтроллера МК1816ВЕ48, МГц.

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

, мкс

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

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Работу следует выполнять в следующей последовательности.

1.  По таблице 1 выбрать вариант реализуемого маневрового маршрута.

2.  По маршруту движения, заданному в варианте на курсовую работу, выбрать ОУ и ОК, разделить их на типы (стрелка, светофор маневровый, светофор входной, светофор выходной, изолированный участок пути или стрелочно-путевая секция). Результатом выполнения данного шага должна быть таблица типов объектов (табл.4) вида:

Таблица 4

Обозначение на схематическом плане горловины

Тип ОК

Тип ОУ

3.  Для каждого типа ОК выбрать параметры, которые необходимо учитывать для реализации маршрута; определить контакты реле, которые характеризуют каждый из параметров в ОК. Указать положение контактов при различных состояниях ОК. Для всех типов ОК заполнить таблицы параметров ОК (табл.5) вида:

Таблица 5

ОК

Параметр

Контакты реле

Положение фронтовых контактов

4.  Модули А0-А7 принципиальной схемы СУУ служат для подключения ОК. Пользуясь таблицей 4 каждому ОК за исключением изолированных участков пути назначить по одному из модулей А0-А7. Что касается изолированных участков пути, то они обладают двумя параметрами: «занятость» (занят/свободен), «замкнутость в маршруте» (замкнут/незамкнут). Первый параметр в СУУ будет контролироваться аппаратно контактами реле П участков, а второй – программно без участия реле. Учитывая то, что каждый из модулей А0-А7 позволяет подключить не более пяти контактов, следует на каждые пять изолированных участков назначить по одному из оставшихся модулей, туда же следует включить контакты стрелочных путевых реле. Результатом выполнения шага должна быть таблица 6.

Таблица 6

Модуль СУУ

Вид модуля ОК

Обозначение ОК на схематическом плане

А0

А1

Резервный модуль

А7

Модуль путевых реле

Примечание: Число модулей может быть большим, чем требуется использовать по заданию. Их следует обозначить как резерв. Лишние ключи заменить перемычками.

5.  По таблице 6 определить количество видов модулей ОК, модули ОК типа «резерв» не учитывать.

6.  С использованием таблицы 5 в каждом виде модулей ОК дать обозначения контактам реле. В модулях путевых реле у контакта каждого путевого реле дополнительно следует указать обозначение секции, к которой оно относится. Зарисовать модули всех используемых в задании видов, над каждым рисунком подписать название модуля ОК.

7.  Проанализировать схему подключения модулей ОК к микроконтроллеру (см. приложение 1). Найти на принципиальной схеме разъемы fxi. У каждого разряда разъемов fxi определить номер разряда порта микроконтроллера, который будет принимать данные от модуля. Обозначить разряды порта микроконтроллера на рисунках структуры модулей, полученных в шаге 6.

8.  Получить слово микроконтроллера, характеризующее каждый из видов модулей. Для каждого разряда слова привести в соответствие значение двоичного параметра и состояние ОК. Зарисовать формат слова для каждого ОК. Три младших разряда слова выделить под двоичный адрес модуля.

9.  Для каждого типа ОУ из табл.4 определить управляющие воздействия, которые он должен осуществлять для реализации маршрута (например, для стрелки управляющими воздействиями является ее перевод в плюсовое, либо минусовое положение, для светофора – это включение или выключение разрешающих огней). В соответствии с управляющими воздействиями определить обмотки реле. Заполнить таблицу 7.

Таблица 7

ОУ

Воздействие

Обмотка управляющего реле

Состояние обмотки при реализации воздействия

(под током/без тока)

10.  Используя таблицу 7 привести в соответствие модули D0-D3 и ОУ (по каждому ОУ), которыми они будут управлять. Один модуль должен управлять объектами одного вида. Следует учесть, что на два маневровых светофора, или три стрелки требуется один модуль. Результат должен быть представлен в виде таблицы 8.

3

Таблица 8

Модуль СУУ

Вид модуля ОУ

Обозначение ОУ на схематическом плане

D0

D1

D2

D3

11.  С учетом таблиц 7 и 8 сконструировать модули D0-D3. Зарисовать модули по аналогии с модулями А0-А7. Проанализировать принципиальную схему (приложение 1) и обозначить, какие разряды порта микроконтроллера управляют соответствующими разрядами модулей в разъемах yyi.

12.  Аналогично формату слова ОК (шаг 8) сформировать управляющее слово для модуля ОУ каждого вида. Зарисовать формат слова.

13.  Диапазон ячеек памяти данных микроконтроллера, в которые из АРМ ДСП переданы данные о требуемом для реализации маршрута состоянии ОК и ОУК указан в задании на контрольную работу. Каждую ячейку ПД микроконтроллера следует назначить для хранения состояния не более одного модуля из А0-А7. Результат сопоставления ячеек ПД и модулей А0-А7 (ОК) должен быть представлен в трех первых столбцах таблицы 9.

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

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

Таблица 9

Ячейка ПД

Модуль

ОК

Кодовое слово требуемого состояния

( )

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

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

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

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

18.  В последнюю очередь должен быть составлен алгоритм работы СУУ по установке маршрута с учетом адресов используемых ячеек и системы команд микроконтроллера. При составлении алгоритма маршрута следует первоначально произвести проверку состояния всех изолированных участков формируемого маршрута на факт замкнутости в других маршрутах или занятости подвижным составом. В случае, если хотя бы один изолирующий участок маршрута занят, либо замкнут маршрут не может быть приготовлен. В этом случае в ячейку ПД, определяемую вариантом студента, должен помещаться код, информирующий о невозможности реализации маршрута. Если состояние изолированных участков позволяет реализовать маршрут, то далее следует проверить состояние стрелок, участвующих в маршруте. При несоответствии состояния стрелок заданному, следует осуществить проверку на факт того, какой параметр стрелки не соответствует заданному – изменяемый (положение остряков стрелки) или неизменяемый (неисправность). Если параметр изменяемый, то алгоритм должен обеспечивать формирование команды перевода стрелок и осуществлять выдержку времени на исполнение команды. Если параметр неизменяемый, то маршрут устанавливаться не должен, а в ячейку ПД, определенную вариантом студента, снова должен помещаться код о невозможности реализации маршрута. При соответствии состояния стрелок и изолированных участков требуемому алгоритм должен обеспечивать замыкание секций маршрута и открытие сигналов с выдержкой на реализацию команд (выдержка времени на открытие сигнала указана в задании). После этого алгоритм должен обеспечивать проверку соответствия сигнальных показаний маршруту и фактического замыкания маршрута. В случае, если они неверны должно обеспечиваться закрытие сигналов. При соответствии сигнальных показаний и контроле фактического замыкания маршрута в ячейку ПД должен помещаться код успешного завершения операции. Алгоритм должен быть представлен в графическом виде.

Система команд микроконтроллера приведена в таблице 10.

Способ организации временных задержек приведены в разделе 2.

В качестве примера выполнения контрольной работы разработаем СУУ для реализации маневрового маршрута от М5 до М13. Ячейки памяти с требуемым состоянием ОУК и ОК для реализации маршрута R40 – R48

1.  Пользуясь рисунком 1, заполним таблицу 4

Обозначение на схематическом плане горловины

Тип ОК

Тип ОУ

М5

Светофор маневровый

Светофор маневровый

5СП

Стрелка

Стрелка

5-23УП

Изолированный участок

-

М13

Светофор маневровый

Светофор маневровый

2.  Для каждого типа ОК заполним таблицу 5

Маневровый светофор

Параметр

Контакты реле

Положение фронтовых контактов

Красный огонь

КО

Белый огонь

БО

Стрелка

Параметр

Контакты реле

Положение фронтовых контактов

Плюсовое положение

ПК

ПК замкнут при плюсовом положении стрелки и разомкнут в остальных

Минусовое положение

МК

МК замкнут при минусовом положении стрелки и разомкнут в остальных

Взрез

ПК, МК

При взрезе по истечении времени перевода оба контакта разомкнуты

Занятость

СП

При занятости участка разомкнуты

При свободности участка замкнуты

Замкнутость в маршруте

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

-

Изолированный участок

Параметр

Контакты реле

Положение фронтовых контактов

Занятость

П

При занятости участка разомкнуты

При свободности участка замкнуты

Замкнутость в маршруте

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

-

3.  Назначим модули для контроля ОК

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3