ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА
федеральное государственное бюджетное образовательное учреждение высшего
профессионального образования
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙСООБЩЕНИЯ»
СОГЛАСОВАНО:
Выпускающей кафедрой
«Железнодорожная автоматика, телемеханика и связь»
Зав. кафедрой
____________________А.В. Горелик
(подпись, Ф.И.О.)
« ___ » _____________20 ____г.
Кафедра: «Железнодорожная автоматика, телемеханика и связь»
(название кафедры)
Авторы: Ермакова О.П., к. тех. н, доц.
(ф. и .о., ученая степень, ученое звание)
ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ ПО ДИСЦИПЛИНЕ
«Прикладное программирование»
(название дисциплины)
Направление/специальность: 190901.65. Системы обеспечения движения поездов
(код, наименование специальности /направления)
Профиль/специализация: «Автоматика и телемеханика (СА)»,
«Телекоммуникационные системы и сети железнодорожного транспорта» (СТ)»
Квалификация (степень) выпускника: специалист
Форма обучения: заочная
Москва 2015 г.
КОНТРОЛЬНАЯ РАБОТА
«Разработка микропроцессорной системы управления стрелками и сигналами
на станции»
В контрольной работе студент должен:
Схематический план нечетной горловины станции представлен на рис. 1.
Вариант задачи выбирается из таблицы 1 следующим образом:
Таблица 1
|
Вариант |
Цифра шифра | ||||||||||
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | ||
|
а |
От М19 |
От М25 |
От М 19 |
От Н до |
От М17 |
От М21 |
От М7 |
От М1 |
От М5 |
От М3 | |
|
б |
R33 – R40 |
R36 – R43 |
R39 – R46 |
R42 – R49 |
R45 – R52 |
R48 – R55 |
R51 – R58 |
R54 – R61 |
R57 – R64 |
R50 – R58 | |
|
в |
R42 |
R45 |
R48 |
R51 |
R54 |
R57 |
R50 |
R33 |
R36 |
R39 | |
|
г |
6 |
4.5 |
3 |
6 |
4.5 |
3 |
6 |
4.5 |
3 |
6 | |
|
д |
tстр |
3 |
3.1 |
3.2 |
3.3 |
3.4 |
3.5 |
3 |
3.1 |
3.2 |
3.3 |
|
tсвет |
1 |
1.1 |
1.2 |
1.3 |
1.4 |
1 |
1.1 |
1.2 |
1.3 |
1.4 | |
П-О
С
3П
IП
IIП
4П
6П
8П
М29 ®@ 51
11
12
13
39
39 35
—j
ЧII н§>ео©
9 @® М3
9
------1------3
1НУП 2НУП
33
15
37
41
31
М37
@® М23
i------
©a М27
3-----
13 11
---3
М29 ®©
—I—
М21 ®©
29 27
—f—
М15 ®@
25 23
ЧС11-13
МК1
©а М13
—i—
—i—
М11@©
©•X М17
—5-
5 ©sX М5
3---
М9 I®©
J7
НАП
1 ©@ М1 ЧБП
1
17
Рис.1. Схематический план нечетной горловины станции
43
з 45
--1—
М25 Ks©
49 47
©•Я М31
3------
@® М19
£
19
21
(s® М7
—I—
1ЧУУ 2ЧУУ
£-»---1-----3
т§н НД 8 ю
Л.Х.
Разработка принципиальной схемы системы управления станционными
устройствами железнодорожной автоматики (СУУ) осуществляется в два
этапа. На первом этапе осуществляется анализ общей структуры СУУ,
выясняется специфика управления, а на втором этапе - производится синтез
принципиальной схемы СУУ и алгоритмического обеспечения к ней.
Общая структура СУУ может быть представлена аналогично структуре
большинства систем управления, применяемых в технике. Она изображена на
рисунке 2. Основными элементами являются: объекты контроля и
управления (ОУК), объекты контроля (ОК) и управляющее устройство (УУ).
Перед началом анализа системы управления следует выяснить смысл
понятий «объект контроля», «объект управления» и «управление».
Под «объектом контроля» (ОК) в общем случае понимается
физический объект, либо группа физических объектов, состояние которых
требуется учитывать при реализации некоторого процесса управления. В
СУУ в качестве таких объектов обычно выступают рельсовые цепи,
рельсовые педали и проч.
Под «объектом управления» (ОУ) понимается физический объект, либо
группа физических объектов, состояние которых требуется изменять в
заданном направлении.
Объектами контроля и управления являются объекты, которые
включают все свойства как ОК, так и ОУ.
ОУК в СУУ являются в первую очередь стрелки и светофоры.
Число ОУК и ОК в реальной системе управления может быть
достаточно большим. Однако, с целью упрощения анализа приведенной
общей структурной схемы, число ОУК ограничено двумя, а число ОК -
одним.
Состояние ОК (ОУК), характеризуется рядом контролируемых
параметров Х1 – Х3 (см.рис.2). Например, для рельсовой цепи таким
параметром является ток, поступающий в путевой приемник (ток,
поступающий в путевой приемник, существенно изменяется при занятии
рельсовой цепи подвижным составом или изломе рельса). Для светофора,
такими параметрами являются целостность нитей ламп, факт их горения,
либо негорения, работа светофора в дневном или ночном режиме,
переключение его на резервное питание и проч.
Изменение контролируемых параметров ОУ в заданном направлении
характеризует понятие «управления». Изменение контролируемых
параметров осуществляется формированием управляющих воздействий на
объект Y1 – Y3. Управляющие воздействия для стрелочных приводов
заключаются в перемещении остряков стрелок в требуемое положение. Для
светофоров управляющими воздействиями является постановка под
напряжение нитей накала соответствующих ламп, режим двойного снижения
напряжения, переключение на резервный источник питания.
Важной особенностью СУУ является то, что большинство
контролируемых параметров является дискретными, и более того –
бинарными. Бинарность параметра означает, что он может принимать только
два состояния.
Рассмотрим работу системы управления.
Информация о параметрах ОУК и ОК, представленная набором
контролируемых параметров Х1 – Х3, фиксируется набором датчиков Д11 –
Д33. Датчики осуществляют первичное преобразование контролируемых
параметров в эквивалентные значения некоторой электрической величины а1
– а3. Как правило, в СУУ в качестве датчиков используют контакты
исполнительных реле, либо конечные выключатели.
Далее, набор сигналов, характеризующих контролируемые параметры,
поступает на входы вторичных преобразователей ВП11 – ВП33. Назначение
вторичных преобразователей многогранно - это усиление, формирование
сигналов (придание заданной формы), гальваническая развязка с объектом
управления. Например, применение контактов реле в качестве датчиков в
ОК
1а
2а
3а
Рис. 2. Структурная схема системы управления
цифровых микропроцессорных схемах, а в частности в СУУ, напрямую без
вторичного преобразования невозможно. «Дребезг» контактов при
замыкании и размыкании цепей (многократные замыкания и размыкания)
приводят к сбоям в работе цифровых систем.
Двоичные сигналы, сформированные на выходах вторичных
преобразователей ВП11 - ВП33 (b1 -b3), поступают на информационные
входы устройства управления (УУ), реализующего всю логику работы СУУ.
Важно заметить, что каждый информационный вход в УУ имеет свой
уникальный адрес (1а - 9а). Поэтому УУ всегда может определить какой
параметр и от какого ОК поступает на соответствующий информационный
вход. Помимо информационных входов УУ имеет также и информационные
выходы. На эти выходы УУ подает сигналы, характеризующие управляющие
воздействия (с1 – с3). Информационные выходы, также как и
информационные входы имеют уникальные адреса (1б -6б).
Фактически, работа УУ заключается в опросе информационных входов
по требуемым в текущей ситуации управления адресам, алгоритмической
обработке результатов опроса информационных входов и формировании на
соответствующих информационных выходах управляющих сигналов.
Управляющие воздействия (с1 – с3) непосредственно влиять на
технологический процесс, как правило, не могут. Для того, чтобы оказать
требуемые воздействия на ОУ, сигналы (с1 – с3) необходимо усилить. Также
необходимо обеспечить гальваническую развязку УУ от ОУ по цепям
управления. Указанные задачи выполняют усилители - преобразователи
УП11 – УП23, формирующие из сигналов (с1 – с3) функционально
взаимосвязанные с ними сигналы d1 - d3 . Далее, уже сигналы d1 - d3
поступают в исполнительные устройства (ИУ11 - ИУ33).
Назначение ИУ - управляемое изменение состояния ОУ. Так как ОУ
функционируют на разных физических принципах, то ИУ для каждого типа
ОУ является уникальным. Например, для стрелочного перевода ИУ является
шибер, а для светофора - это нить накала соответствующей лампы.
На основе структурной схемы системы управления произведем синтез
принципиальной схемы системы управления.
Принципиальная схема СУУ представлена в приложении 1.
На схеме приняты следующие обозначения.
А0 – А7 – модули первичных датчиков по сбору информации от ОУ
(ОУК);
B0 – B7 – модули гальванической развязки ОК от УУ;
С0 – С3 – модули усилителей управляющих воздействий;
D0 – D3 – модули ИУ системы управления.
Как следует из схемы, возможности системы управления по контролю
составляют 8модулей×5параметров=40 параметров, по управлению
4модуля×6параметров=24 параметра.
Рассмотрим принципиальную схему системы управления.
Основным элементом, служащим для программной обработки
информации, является микроконтроллер DD1 серии КР1816ВЕ48. Основные
сведения о работе микроконтроллера изложены в [1]. Остановимся только на
особенностях его включения в принципиальную схему. Кварц, задающий
частоту тактовых импульсов, подключен к входам х1, х2. Для
первоначальной инициализации микроконтроллера при включении питания к
входу reset подключена по типовой схеме интегрирующая цепочка,
состоящая из резистора и конденсатора. Для ручного сброса
микроконтроллера предусмотрен ключ К1.
Шина BUS в данной схеме использована для формирования адресов
ОУК и ОУ. Три младших разряда порта p00 , p01 , p02 служат для передачи
адресов опрашиваемых модулей А0-А7. Два старших разряда порта p06 , p07
служат для передачи адресов модулей управления D0-D3.
Порт Р1 служит для приема информации о контролируемых
параметрах от ОУК (ОК). Для приема информации о контролируемых
параметрах использованы пять старших разрядов. Возможности порта
реализованы не полностью, т.к. он позволяет фиксировать восемь
параметров.
Порт Р2 служит для управления ОУК. Для передачи команд
управления использованы шесть старших разрядов. При необходимости
передачи команды управления, содержащей восемь параметров, следует
подключить оставшиеся разряды.
Схема сопряжения микроконтроллера с АРМ ДСП и протокол обмена
данными между ними для упрощения условий задания не оговариваются. В
задании на контрольную работу только определена область памяти данных, в
которой у микроконтроллера записаны текущие данные от АРМ ДСП.
Для сопряжения микроконтроллера с модулями усилителей
управляющих воздействий используются демультиплексоры DD7 – DD12.
Демультиплексоры служат для распределения управляющих команд
МК, формируемых в порту BUS , по адресам, указанным в разрядах p06 и p07.
Адрес модуля, которому предназначена команда, определяется таблицей
соответствия:
Таблица 2
Комбинация | Модуль | |
Р06 | Р07 | |
0 | 0 | D0 |
1 | 0 | D1 |
0 | 1 | D2 |
1 | 1 | D3 |
Каждый демультиплексор имеет адресные входы (а00 – а01) и один
информационный вход (d). В зависимости от комбинации, поступающей на
адресные входы демультиплексора (а00 – а01), сигнал с информационного
входа (d) появляется только на одном из 4 выходов.
Так как демультиплексор имеет один информационный вход, то он
может передавать только один разряд 6-разрядной команды. Для передачи
всей команды требуется 6 демультиплексоров. Схема соединений
демультиплексоров с микроконтроллером такова, что DD7 распределяет
младший разряд команды p22 из порта Р2 МК, DD8 распределяет разряд p23;
DD9 - p24 ; DD10 - p25 ; DD11 - p26 ; DD12 - p27. Одноименные выходы
различных демультиплексоров объединяются в шины, число которых
составляет четыре, а разрядность равна шести. Шины заканчиваются
разъемами xy0 – xy3. К тем, в свою очередь, подключаются модули
усилителей управляющих воздействий (C0 - C3) (аналогично модулям В0-
В7). Все модули усилителей управляющих воздействий имеют одинаковую
конструкцию и содержат по шесть счетных триггеров D1-D6 и шесть
усилителей формирователей У1–У6. Каждый триггер и усилитель
формирователь, включенные в одну цепь, занимаются формированием
одного из разрядов передаваемой команды и работают независимо от других.
Триггеры служат для фиксации команды, на время обращения
микроконтроллера к иным управляемым модулям, что позволяет
осуществлять последовательное управление всеми модулями. Например
триггеры модуля С0 фиксируют команду в течение времени обращения к
модулям С1-С3 и т.д.
На выходе каждого модуля усилителей управляющих воздействий
имеется разъем xxi. К этому разъему подключаются модули исполнительных
устройств D0 – D3. Модули исполнительных устройств содержат группы
исполнительных реле, причем к каждому из разрядов разъема xxi
подключается обмотка одного исполнительного реле (могут включаться по
схеме самоблокировки).
Использование в схеме управления демультиплексоров - устройств
жесткой логики, приводит к тому, что адресация ОУ является аппаратной.
Т.е. при формировании в разрядах p06 и p07 кода 002 управление всегда
осуществляется модулем D0, а при формировании в них же кода 112
управление осуществляется модулем D3 (смотри таблицу 2).
Счетные триггеры в модулях C0-C3 фактически осуществляют деление
входного импульсного сигнала на два (считает периоды импульсного
сигнала), поэтому для перевода триггера в состояние «лог.1» на его вход
последовательно подаются «лог.1» и «лог.0». Для перевода триггера в
состояние «лог.0» снова пропускается последовательность «лог.1» - «лог.0».
Указанные последовательности должен реализовывать микроконтроллер
алгоритмически.
Для сопряжения микроконтроллера с модулями гальванической
развязки ОК используются мультиплексоры DD2 – DD6. Мультиплексоры
выполняют функцию, обратную функции демультиплексоров.
Каждый мультиплексор имеет восемь информационных входов (d00 –
d07), подключаемых к модулям гальванической развязки, три адресных входа
(а00 - а02) и один выход Q. В зависимости от кодовой комбинации,
поступающей на адресные входы, к единственному выходу Q подключается
один из восьми входов, а остальные отключаются.
Так как мультиплексор имеет только один выход, то он может
мультиплексировать только один разряд данных, в то время как разрядность
данных, которые обрабатывает микроконтроллер, равна 5. Соответственно,
для мультиплексирования всех 5 разрядов следует использовать 5
мультиплексоров. Способ их присоединения к микроконтроллеру показан на
принципиальной схеме. Одноименные информационные входы
мультиплексоров объединены в шины. Принцип объединения аналогичен
принципу объединения выходов демультиплексоров. В результате
получается восемь пятиразрядных шин данных от ОУ. Каждая из шин
данных от ОУ заканчивается пятиразрядным разъемом fyi .
К каждому разъему подключаются выходы одного из модулей
гальванической развязки ОУ от СУ (В0 – В7). Каждый модуль
гальванической развязки содержит по пять независимых элементов
гальванической развязки и формирования сигнала Ф1 – Ф5. Один элемент
позволяет сформировать только один разряд передаваемых данных.
Входы формирователей выведены в разъемы fxi. К разъемам
подключают выходы модулей первичных датчиков (А0 – А7). Модули могут
содержать как контакты реле, так и перемычки.
Адресация ОК при использовании мультиплексоров является
аппаратной, т.е. не зависит от программы работы микроконтроллера и
определяется только номером разъема, к которому подключен тот или иной
ОК. Адрес модуля ОК определяется таблицей 3
Таблица 3
Комбинация | Модуль | ||
Р02 | Р01 | Р00 | |
0 | 0 | 0 | А0 |
0 | 0 | 1 | А1 |
0 | 1 | 0 | А2 |
0 | 1 | 1 | А3 |
1 | 0 | 0 | А4 |
1 | 0 | 1 | А5 |
1 | 1 | 0 | А6 |
1 | 1 | 1 | А7 |
Процесс обмена данными между микроконтроллером и ОУ (ОУК)
имеет важную особенность. Она заключается в том, что скорость работы
микроконтроллера значительно превышает время срабатывания устройств
автоматики. Например, микроконтроллер может выполнить порядка
400тыс.операций/сек., тогда как одна только операция перевода стрелки
занимает секунды. Время срабатывания реле автоматики по сравнению со
скоростью выполнения операций микроконтроллером также велико.
Для корректной работы микроконтроллера следует ввести задержки на
опрос объектов после подачи на них управляющих команд. В противном
случае, может возникнуть следующая ситуация. Микроконтроллер подает
команду на перевод стрелки. Сигнал поступает на обмотку реле, но на
перемещение якоря требуется некоторое время. За это время
микроконтроллер уже произвел повторный опрос состояния стрелки и
обнаружил, что она сохранила свое первоначальное положение, а перевод не
произведен. В то же время команда фактически уже выполняется, и будет
выполнена, только по истечении 2-3 сек. Таким образом, возникает
алгоритмическая ошибка функционирования системы управления.
Так как время выполнения отдельной операции микроконтроллером
К1816ВЕ48 фиксировано и зависит от длительности синхронизирующего
сигнала, формируемого кварцем Z, то необходимую задержку времени при
передаче управляющей команды легко обеспечить программным путем.
Наиболее распространенный способ программной задержки, основан на
задании в теле программы локальных циклов, заполненных пустыми
операциями, либо операциями, выполняемыми за максимальное число
циклов.
Примерный вид локального цикла представлен на рисунке 4. Цифрами
1 и 11 обозначены метки начала и окончания цикла.
Работает цикл следующим образом. Запуск цикла происходит в тот
момент, когда микроконтроллер считывает команду, размещенную в памяти
программ в ячейке, соответствующей началу цикла (1). Далее из памяти
данных считывается начальный индекс цикла (2). После этого
осуществляется проверка превышения числом уже выполненных циклов m
заданного числа 0 (счет выполненных циклов осуществляется в обратном
порядке). Так как начальный индекс цикла m больше заданного числа 0, то
по ветке «нет» начинается последовательное выполнение ( n 2 ) команды,
обеспечивающих заданное время выполнения цикла. Предпоследней
командой, выполняемой в ветке «нет», (8) производится декрементирование
индекса цикла (уменьшение индекса на единицу). После этого следует
команда безусловного перехода по метке (3). Снова производится проверка
превышения уже выполненным числом циклов заданного числа m , и
выполнение команд из ветки «нет» (4)-(9). Так продолжается до тех пор, пока
очередная проверка (4) не обнаружит, что условие i 0 стало истинным. В
этом случае происходит условный переход по метке конца локального цикла.
Конец цикла
Рис.4. Алгоритм организации локального цикла.
Приведенный на рисунке 4 алгоритм цикла изображен в общем виде,
тогда как при написании программного кода число операций, в течение
которых выполняется отдельный элемент алгоритма, может быть более
одной. Это происходит потому, что помимо операций преобразования
данных микроконтроллер выполняет также ряд вспомогательных операций,
например, таких как операции пересылки данных между узлами, операции
«очистки» регистров и т.д. (число операций зависит от микроконтроллера).
Как следует из анализа системы команд (см.табл.10) большинство операций
преобразования данных, таких как присвоение значений переменным,
декрементирование, инкрементирование выполняется в регистре-
аккумуляторе. Так как в процессе выполнения программы регистр-
аккумулятор должен хранить различные данные, которые зависят от
операции, выполняемой АЛУ, то большинство переменных, хранится в
регистрах памяти данных. Значит для выполнения, например операции
условного перехода, требуется предварительно переслать в аккумулятор из
памяти данных анализируемое число (команда MOV A,Rn), и только затем
произвести сравнение содержимого аккумулятора с нулем и осуществить
переход по метке (команда JZ add). С учетом вспомогательных операций
подробный алгоритм цикла задержки имеет вид, представленный на рисунке
5.
Рис.5. Алгоритм организации локального цикла на уровне
команд микроконтроллера.
Как видно из приведенного алгоритма один раз в начале цикла
выполняются операции (2)-(4), затем m раз операции (5)-(12) и при выходе
из цикла еще раз команды (5), (6). Само тело цикла заполнено пустыми
операциями NOP. Формула для определения длительности указанного цикла
имеет вид:
fn
t port tcir z t com.k +m* Z t com.i , мкс
k1 i1
где f - число команд, расположенных вне цикла;
m - число циклов;
n - число команд в цикле.
Если известно необходимое время задержки tcir , число f ,n и время
выполнения команд цикла tcom , тогда число циклов может быть определено
по формуле:
f
tcir t com.k
m
k1
n
tcom.i
i1
В примере, приведенном на рис.5 число циклов определяется с учетом
того, что, требуемое время задержки составляет tcir;
f = 5 - команды (2)-(4), (5), (6);
n = 8 - команды (7)-(12).
Поэтому формула для данного цикла имеет вид:
m
5
tcir t com.k
k1
8
tcom.i
i1
Чтобы воспользоваться приведенной формулой для расчета,
необходимо определить время выполнения команд.
Для определения времени выполнения команды необходимо учесть
следующее. Работа микроконтроллера является циклической, поэтому в
качестве временной характеристики, широко используемой для расчетов,
является время машинного цикла. Микроконтроллер МК1816ВЕ48 имеет
фиксированное время машинного цикла, длительность которого в 15 раз
превышает длительность сигнала синхронизации. С учетом этого,
длительность машинного цикла может быть определена из частоты
синхронизации по следующей формуле:
Т
sin
15
= —, мкс
Z
где vz - частота синхронизации микроконтроллера МК1816ВЕ48, МГц.
Команды микроконтроллеров могут выполняться за один, либо
несколько машинных циклов N . Из табл.10 видно, что в системе команд
микроконтроллера присутствуют команды, выполняемые за один и за два
машинных цикла. Тогда длительность выполнения команды может быть
определена как:
tcom N Tsin , мкс
При организации цикла в виде подпрограммы необходимо помнить,
что стек выделяется в памяти данных из регистров под номерами 8-23.
Поэтому необходимо исключить их использование при обмене данными и
хранении переменных.
Работу следует выполнять в следующей последовательности.
По таблице 1 выбрать вариант реализуемого маневрового маршрута.
По маршруту движения, заданному в варианте на контрольную работу,
выбрать ОУ и ОК, разделить их на типы (стрелка, светофор маневровый,
светофор входной, светофор выходной, изолированный участок пути или
стрелочно-путевая секция). Результатом выполнения данного шага должна
быть таблица типов объектов (табл.4) вида:
Таблица 4
|
Обозначение на |
Тип ОК |
Тип ОУ |
Для каждого типа ОК выбрать параметры, которые необходимо
учитывать для реализации маршрута; определить контакты реле, которые
характеризуют каждый из параметров в ОК. Указать положение контактов
при различных состояниях ОК. Для всех типов ОК заполнить таблицы
параметров ОК (табл.5) вида:
Таблица 5
|
ОК | ||
|
Параметр |
Контакты реле |
Положение фронтовых |
Модули А0-А7 принципиальной схемы СУУ служат для подключения
ОК. Пользуясь таблицей 4 каждому ОК за исключением изолированных
участков пути назначить по одному из модулей А0-А7. Что касается
изолированных участков пути, то они обладают двумя параметрами:
«занятость» (занят/свободен), «замкнутость в маршруте»
(замкнут/незамкнут). Первый параметр в СУУ будет контролироваться
аппаратно контактами реле П участков, а второй – программно без участия
реле. Учитывая то, что каждый из модулей А0-А7 позволяет подключить не
более пяти контактов, следует на каждые пять изолированных участков
назначить по одному из оставшихся модулей, туда же следует включить
контакты стрелочных путевых реле. Результатом выполнения шага должна
быть таблица 6.
Таблица 6
|
Модуль СУУ |
Вид модуля ОК |
Обозначение ОК на |
|
А0 | ||
|
А1 | ||
|
Резервный модуль | ||
|
А7 |
Модуль путевых реле |
Примечание: Число модулей может быть большим, чем требуется
использовать по заданию. Их следует обозначить как резерв. Лишние ключи
заменить перемычками.
По таблице 6 определить количество видов модулей ОК, модули ОК
типа «резерв» не учитывать.
С использованием таблицы 5 в каждом виде модулей ОК дать
обозначения контактам реле. В модулях путевых реле у контакта каждого
путевого реле дополнительно следует указать обозначение секции, к которой
оно относится. Зарисовать модули всех используемых в задании видов, над
каждым рисунком подписать название модуля ОК.
Проанализировать схему подключения модулей ОК к
микроконтроллеру (см. приложение 1). Найти на принципиальной схеме
разъемы fxi. У каждого разряда разъемов fxi определить номер разряда порта
микроконтроллера, который будет принимать данные от модуля. Обозначить
разряды порта микроконтроллера на рисунках структуры модулей,
полученных в шаге 6.
Получить слово микроконтроллера, характеризующее каждый из видов
модулей. Для каждого разряда слова привести в соответствие значение
двоичного параметра и состояние ОК. Зарисовать формат слова для каждого
ОК. Три младших разряда слова выделить под двоичный адрес модуля.
Для каждого типа ОУ из табл.4 определить управляющие воздействия,
которые он должен осуществлять для реализации маршрута (например, для
стрелки управляющими воздействиями является ее перевод в плюсовое, либо
минусовое положение, для светофора – это включение или выключение
разрешающих огней). В соответствии с управляющими воздействиями
определить обмотки реле. Заполнить таблицу 7.
Таблица 7
|
ОУ | ||
|
Воздействие |
Обмотка управляющего |
Состояние обмотки при |
Используя таблицу 7 привести в соответствие модули D0-D3 и ОУ (по
каждому ОУ), которыми они будут управлять. Один модуль должен
управлять объектами одного вида. Следует учесть, что на два маневровых
светофора, или три стрелки требуется один модуль. Результат должен быть
представлен в виде таблицы 8.
Таблица 8
Модуль СУУ | Вид модуля ОУ | Обозначение ОУ на |
D0 | ||
D1 | ||
D2 | ||
D3 |
С учетом таблиц 7 и 8 сконструировать модули D0-D3. Зарисовать
модули по аналогии с модулями А0-А7. Проанализировать принципиальную
схему (приложение 1) и обозначить, какие разряды порта микроконтроллера
управляют соответствующими разрядами модулей в разъемах yyi.
Аналогично формату слова ОК (шаг 8) сформировать управляющее
слово для модуля ОУ каждого вида. Зарисовать формат слова.
Диапазон ячеек памяти данных микроконтроллера, в которые из АРМ
ДСП переданы данные о требуемом для реализации маршрута состоянии ОК
и ОУК указан в задании на контрольную работу. Каждую ячейку ПД
микроконтроллера следует назначить для хранения состояния не более
одного модуля из А0-А7. Результат сопоставления ячеек ПД и модулей А0-А7
(ОК) должен быть представлен в трех первых столбцах таблицы 9.
Пользуясь схематическим планом нечетной горловины станции
определить требуемое состояние ОК для реализации маршрута. Требуемое
состояние записать в скобках у обозначения ОК.
Определить кодовое слово требуемого состояния. При определении
кодового слова следует учитывать составленный ранее формат слова
микроконтроллера для каждого вида модулей и значения разрядов в нем.
Полученные кодовые слова записать в четвертый столбец таблицы 9.
Таблица 9
Ячейка ПД | Модуль | ОК | Кодовое слово |
( ) |
Примечание: Для всех секций маршрута должно быть указано
состояние свободно.
Кодовые слова, характеризующие требуемое состояние всех ОК для
обеспечения реализации маршрута, следует определить самостоятельно с
учетом формата слов каждого из ОК. Результат следует вписать в ранее
составленную таблицу. Кодовые слова следует записать в двоичном коде, а в
скобках указать шестнадцатеричный эквивалент.
Примечание: Цифры, записанные в таблице курсивом, характеризуют
адрес модуля.
С учетом времен задержки на реализацию управляющих воздействий
для каждого типа ОУ (ОУК), определяемых по варианту задания на
контрольную работу, произвести расчет локальных циклов.
В последнюю очередь должен быть составлен алгоритм работы СУУ по
установке маршрута с учетом адресов используемых ячеек и системы команд
микроконтроллера. При составлении алгоритма маршрута следует
первоначально произвести проверку состояния всех изолированных участков
формируемого маршрута на факт замкнутости в других маршрутах или
занятости подвижным составом. В случае, если хотя бы один изолирующий
участок маршрута занят, либо замкнут маршрут не может быть приготовлен.
В этом случае в ячейку ПД, определяемую вариантом студента, должен
помещаться код, информирующий о невозможности реализации маршрута.
Если состояние изолированных участков позволяет реализовать маршрут, то
далее следует проверить состояние стрелок, участвующих в маршруте. При
несоответствии состояния стрелок заданному, следует осуществить проверку
на факт того, какой параметр стрелки не соответствует заданному –
изменяемый (положение остряков стрелки) или неизменяемый
(неисправность). Если параметр изменяемый, то алгоритм должен
обеспечивать формирование команды перевода стрелок и осуществлять
выдержку времени на исполнение команды. Если параметр неизменяемый, то
маршрут устанавливаться не должен, а в ячейку ПД, определенную
вариантом студента, снова должен помещаться код о невозможности
реализации маршрута. При соответствии состояния стрелок и изолированных
участков требуемому алгоритм должен обеспечивать замыкание секций
маршрута и открытие сигналов с выдержкой на реализацию команд
(выдержка времени на открытие сигнала указана в задании). После этого
алгоритм должен обеспечивать проверку соответствия сигнальных показаний
маршруту и фактического замыкания маршрута. В случае, если они неверны
должно обеспечиваться закрытие сигналов. При соответствии сигнальных
показаний и контроле фактического замыкания маршрута в ячейку ПД
должен помещаться код успешного завершения операции. Алгоритм должен
быть представлен в графическом виде.
Система команд микроконтроллера приведена в таблице 10.
Способ организации временных задержек приведены в разделе 2.
В качестве примера выполнения контрольной работы разработаем СУУ
для реализации маневрового маршрута от М5 до М13. Ячейки памяти с
требуемым состоянием ОУК и ОК для реализации маршрута R40 – R48
Пользуясь рисунком 1, заполним таблицу 4
Обозначение на | Тип ОК | Тип ОУ |
М5 | Светофор маневровый | Светофор маневровый |
5СП | Стрелка | Стрелка |
5-23УП | Изолированный участок | - |
М13 | Светофор маневровый | Светофор маневровый |
Для каждого типа ОК заполним таблицу 5
Маневровый светофор | ||
Параметр | Контакты реле | Положение фронтовых |
Красный огонь | КО | |
Белый огонь | БО | |
Стрелка | ||
Параметр | Контакты реле | Положение фронтовых |
Плюсовое | ПК | ПК замкнут при плюсовом |
Минусовое | МК | МК замкнут при минусовом |
Взрез | ПК, МК | При взрезе по истечении |
Занятость | СП | При занятости участка |
Замкнутость в | Программный | - |
Изолированный участок | ||
Параметр | Контакты реле | Положение фронтовых |
Занятость | П | При занятости участка |
Замкнутость в маршруте | Программный | - |
Назначим модули для контроля ОК
Модуль СУУ | Вид модуля ОК | Обозначение ОК на |
АО | Модуль светофора | М5 |
А1 | Модуль стрелки | 5СП |
А2 | Модуль путевых реле | 5СП, П (5-23УП) |
А3 | Модуль светофора | М13 |
А4-А7 | Резервные модули |
При проектировании использовано 4 модуля. Использованы модули 3
видов. Нарисуем схемы модулей каждого вида и обозначим разряды порта
микроконтроллера на их выходах.
Модуль путевых реле
Модуль стрелки
Модуль светофора
Рис.6
С учетом представленной на рис.6 структуры модулей формат слова
микроконтроллера, характеризующего состояние ОК, имеет вид:
5СП П Адрес модуля
(5-23 УП)
Резерв
|
р17 |
р16 |
р15 |
р14 |
р13 |
р12 |
р11 |
р10 |
1 – свободен
1 г 0 – занят
1 – свободен
0 – занят
Рис.7
Резерв Адрес модуля
МК ПК
р17 | р16 | р15 | р14 | р13 | р12 | р11 | р10 |
1 – остряки в «+»
1Г 0 – остряки не в «+»
1 – остряки в «-»
0 – остряки не в «-»
Рис.8
Резерв Адрес модуля
КО БО
р17 | р16 | р15 | р14 | р13 | р12 | р11 | р10 |
1 – включен белый огонь
1 г 0 – белый огонь выключен
Рис.9
Используя таблицу 3 заполним таблицу 7.
Светофор маневровый | ||
Воздействие | Обмотка управляющего | Состояние обмотки при |
Включение | КС | 0 – под током 1 – без тока |
Включение | БС | 1 – под током |
Стрелка | ||
Воздействие | Обмотка управляющего | Состояние обмотки при |
Перевод в | ПУ | 1 – под током |
Перевод в | МУ | 1 – под током |
Распределим объекты управления по модулям D0-D3, для чего
заполним таблицу 8.
Модуль СУУ | Вид модуля ОУ | Обозначение ОУ на |
D0 | Модуль светофоров | М5, М13 |
D1 | Модуль стрелок | 5СП |
D2 | Резерв | |
D3 | Резерв |
Конструируем модули
Модуль светофоров
маневровых (М5 и М13)
Модуль стрелки 5СП
Рис.10
С учетом рисунка 10 и принципиальной схемы СУУ (приложение 1)
определим форматы слов микроконтроллера для всех видов модулей ОУ.
Формат слова модуля маневровых светофоров (М5 и М13)
Резерв БС КС БС КС не задействованы
(М13) (М13) (М5) (М5)
|
р27 |
р26 |
р25 |
р24 |
р23 |
р22 |
р21 |
р20 |
1 – Красный огонь включить
1' 0 – Красный огонь выключить
1 –Белый огонь включить
1' 0 – Белый огонь выключить
1 – Красный огонь включить
1Г 0 – Красный огонь выключить
1 –Белый огонь включить
0 – Белый огонь выключить
Формат слова модуля стрелки 5СП
Резерв МУ ПУ не задействованы
(5СП) (5СП) л л | |||||||
р27 | р26 | р25 | р24 | р23 | р22 | р21 | р20 |
1 – Перевести в плюс
1 г 0 – Не переводить в плюс
1 –Перевести в минус
0 – Не переводить в минус
Определим кодовые слова требуемого состояния ОК, хранящиеся в
памяти данных микроконтроллера.
Ячейка ПД | Модуль | ОК | Кодовое слово |
R40 | A0 | Светофор М5 | 111010002 (E8h) |
R41 | A1 | Стрелка 5СП | 111010012 (E9h) |
R42 | A2 | Путевые реле П (5- | 111110102 (FAh) |
|
R43 |
A3 |
Светофор М13 |
111100112 (F3h) |
|
R44 – R48 |
- |
Не используются |
Составление алгоритма реализации маршрута в примере не
приводится.
Примечание: В рассмотренном примере использован минимальный
набор параметров ОК и управляющих воздействий для них. Студенты при
выполнении работы могут использовать резервные разряды для контроля
дополнительных параметров (формирования дополнительных управляющих
воздействий) по своему усмотрению.
Перед составлением алгоритма реализации маршрута студентам
рекомендуется ознакомиться алгоритмами, приведенными в источнике [3]
дополнительной литературы.
Таблица 10. Система команд микроконтроллера МК48
Мнемоника | Код операции | Количество | Время | Выполняемые действия |
Арифметические операции | ||||
ADD A, Rn | 01101rrr | 1 | 1 | A^ (A) + (Rn) |
ADD A, @Ri | 0110000i | 1 | 1 | A^ (A) + ((Ri) |
ADD A, #d | 00000011 | 2 | 2 | A^- (A) + # d |
INC A | 00010111 | 1 | 1 | A^ (A) +1 |
INC Rn | 00011rrr | 1 | 1 | R. ^( R. ) + i |
INC @Ri | 0001000i | 1 | 1 | ((Ri ))M( Ri)) + 1 |
DEC A | 00000111 | 1 | 1 | A^ (A)-1 |
DEC Rn | 11001rrr | 1 | 1 | R. ^(R.)-i |
Логические операции | ||||
ANL A, Rn | 01011rrr | 1 | 1 | A+- ( A)a(Rn) |
ANL A, @Ri | 0101000i | 1 | 1 | A^ ( A)a((Rd) |
ANL A, #d | 01010011 | 2 | 2 | A<- (A)a# d |
ORL A, Rn | 01001rrr | 1 | 1 | A^ ( A)v( R.) |
ORL A, @Ri | 0100000i | 1 | 1 | A^ (A)v((R)) |
ORL A, #d | 01000011 | 2 | 2 | A^- (A )v# d |
XRL A, Rn | 11011rrr | 1 | 1 | A^- ( A)®(Rn) |
XLR A, @Ri | 1101100i | 1 | 1 | A^ (A)®((R)) |
XLR A, #d | 11010011 | 2 | 2 | A+- (A)®# d |
CLR A | 00100111 | 1 | 1 | A 4-0 |
CPL A | 00110111 | 1 | 1 | A^ (A) |
SWAP A | 01000111 | 1 | 1 | A0..3 (A4..?) |
RL A | 11100111 | 1 | 1 | Циклический сдвиг влево |
RLC A | 11110111 | 1 | 1 | Сдвиг влево (А) через |
RR A | 01110111 | 1 | 1 | Циклический сдвиг вправо |
RRC A | 01100111 | 1 | 1 | Сдвиг вправо (А) через |
ANL Pp, #d | 100110pp | 2 | 2 | Pp MPp )a# d, p = 1,2 |
ANL BUS, #d | 10011000 | 2 | 2 | BUS <-(BUS)л#d |
ORL Pp, #d | 100010pp | 2 | 2 | Pp ^(Pp)v#d, p = 1,2 |
ORL BUS, #d | 10001000 | 2 | 2 | BUS <-(BUS)v#d |
CLR C | 10010111 | 1 | 1 | C <-0 |
CLR F0 | 10000101 | 1 | 1 | F 0<-0 |
CLR F1 | 10100101 | 1 | 1 | F 1<-0 |
CPL C | 1010111 | 1 | 1 | c^ (С) |
CPL F0 | 10010101 | 1 | 1 | F 0 <- (F0) |
CPL F1 | 10110101 | 1 | 1 | F1 <- (F1) |
Операции пересылки данных | ||||
MOV A, Rn | 11111rrr | 1 | 1 | A^ (Rn) |
MOV A, @Ri | 1111000i | 1 | 1 | A< ((Ri) |
MOV A, #d | 00100011 | 2 | 2 | A<r- # d |
MOV Rn, A | 10101rrr | 1 | 1 | Rn (A) |
MOV Rn, #d | 10111rrr | 2 | 2 | Rn <-# d |
MOV @Ri, A | 1010000i | 1 | 1 | ((R))^ A |
MOV @Ri, #d | 1011000i | 2 | 2 | ((Ri)^# d |
MOV A, T | 01000010 | 1 | 1 | A^ (T) |
MOV T, A | 01100010 | 1 | 1 | T ^(A) |
XCH A, Rn | 00101rrr | 1 | 1 | A^ (Rn) |
XCH A, @Ri | 0010000i | 1 | 1 | A^ ((Ri)) |
IN A, Pp | 000010pp | 1 | 2 | A^ (Pp ), p = 1,2 |
INS A, BUS | 00001000 | 1 | 2 | A <- (BUS) |
OUTL Pp, A | 001110pp | 1 | 2 | Pp M A), p = 1,2 |
OUTL BUS, A | 00000010 | 1 | 2 | BUS «- (A) |
Операции передачи управления (условных и безусловных переходов) | ||||
JMP ad 11 | a10a9a800100 | 2 | 2 | Безусловный переход по |
JMPP @A | 10110011 | 1 | 2 | PC0 7 <- ((A)) переход в |
DJNZ Rn, ad | 11101rrr | 2 | 2 | Декремент (Rn) и |
JC ad | 11110110 | 2 | 2 | Переход по ad , если ( c ) = 1 |
JNC ad | 11100110 | 2 | 2 | Переход по ad , если ( c ) = 0 |
JZ ad | 11000110 | 2 | 2 | Переход по ad , если ( A ) = 0 |
JNZ ad | 10010110 | 2 | 2 | Переход по ad , если ( A )*0 |
JT0 ad | 00110110 | 2 | 2 | Переход по ad , если T 0 = 1 |
JNT0 ad | 00100110 | 2 | 2 | Переход по ad , если T 0 = 0 |
JT1 ad | 01010110 | 2 | 2 | Переход по ad , если T 1 = 1 |
JNT1 ad | 01000110 | 2 | 2 | Переход по ad , если T 1 = 0 |
JF0 ad | 10110110 | 2 | 2 | Переход по ad , если ( F 0) = 1 |
JF1 ad | 01110110 | 2 | 2 | Переход по ad , если ( F 1) = 1 |
JTF ad | 00010110 | 2 | 2 | Переход по ad , если TF = 1 |
CALL ad | a10a9a810100 | 2 | 2 | Вызов подпрограммы по |
RET | 10000011 | 1 | 2 | Возврат из |
RETR | 10010011 | 1 | 2 | Возврат из |
Операции управления режимами микроконтроллера | ||||
STRT T | 01010101 | 1 | 1 | Запуск таймера |
STRT CNT | 01000101 | 1 | 1 | Запуск счетчика |
STOP TCNT | 01100101 | 1 | 1 | Останов |
EN TCNT | 00100101 | 1 | 1 | Разрешение прерывания |
DIS TCNT1 | 00110101 | 1 | 1 | Запрещение прерываний |
SEL RB0 | 11000101 | 1 | 1 | Выбор банка 0 РПД; (BS) <- 0 |
SEL RB1 | 11010101 | 1 | 1 | Выбор банка 1 РПД; (BS )^1 |
SEL MB0 | 11100101 | 1 | 1 | Выбор банка 0 памяти |
SEL MB1 | 11110101 | 1 | 1 | Выбор банка 1 памяти |
NOP | 00000000 | 1 | 1 | Холостая команда |
Обозначения, используемые в табл.10
Rn (n = 0,...7) - рабочий регистр;
@ R (i = 0,1) - адрес, в качестве которого используется содержимое регистров
R0, R;
A - регистр-аккумулятор;
@ A - восьмиразрядный адрес памяти программ, в качестве которого
используется содержимое аккумулятора;
Pp (Р = 1,2) - порты Pi, P2;
BUS - порт BUS;
C, F 0, F1 -флаги;
ad - 8-разрядный адрес памяти программ, задаваемый в команде;
ad 11 - 11-разрядный адрес памяти программ, задаваемый в команде;
T - таймер в команде STRT, таймер/счетчик в команде MOV;
TCNT - таймер/счетчик в команде STOP;
TCNT1 - таймер/счетчик в командах EN, DIS;
RB0, RB1 - нулевой и первый банки регистров соответственно;
MB 0, MB1 - нулевой и первый банки памяти программ соответственно.
ОСНОВНАЯ ЛИТЕРАТУРА
ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА
Комментарии (0)