Разработка микропроцессорной системы автоматической переездной сигнализации

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    213,66 Кб
  • Опубликовано:
    2014-03-12
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка микропроцессорной системы автоматической переездной сигнализации

Белорусский государственный университет транспорта

Кафедра «Микропроцессорная техника и информационно-управляющие системы»










Курсовой проект

по дисциплине

"Микропроцессорные информационно-управляющие системы"

на тему

"Разработка микропроцессорной системы автоматической переездной сигнализации"


Выполнил: ст. гр. ЭМ-51 Куприенко А.Н.




Гомель 2013

Введение


В настоящее время в нашей стране используются только релейные системы железнодорожной автоматики и телемеханики (СЖАТ). Однако уже с 80-х годов по всему миру внедряются микропроцессорные СЖАТ, имеющие следующие преимущества: резервирование технических средств, обеспечивающее надежное функционирование системы при выходе из строя отдельных компонентов, построение системы из отдельных независимых модулей с простой структурой, значительно меньшие масса и габариты модулей системы, что снижает затраты на их размещение, более простое техническое обслуживание и меньшие эксплуатационные расходы [1]. Поэтому микроэлектронная, микропроцессорная и компьютерная техника определяет на ближайшее будущее развитие средств СЖАТ.

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

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

Разрабатываемая микропроцессорная централизация должна соответствовать существующим нормам безопасности, предъявляемых к СЖАТ.

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


В основу разрабатываемой безопасной МПС положена структура троированной (мажоритарной) системы с умеренными связями. Основа такой системы состоит из трех идентичных вычислительных каналов (ВК1, ВК2 и ВК3) (рисунок 1) и безопасного мажоритарного элемента (БМЭ). Кроме этого, в настоящей схеме присутствуют устройства сопряжения с объектом управления (УСО Х) и (УСО Y).

Рисунок 1 - Структурная схема разрабатываемой МС

Работа каналов синхронизирована по входам и выходам, т. е. входная информация X считывается одновременно всеми каналами, а результаты обработки Y1, Y2 или Y3 одновременно поступают на входы безопасного мажоритарного элемента (БМЭ). БМЭ сравнивает эти сигналы и формирует сигнал сброса Ri отказавшего i-го канала, сигнал которого Yi не совпадает с двумя другими. Безопасность такой структуры сравнима с безопасностью дублированной структуры с умеренными связями, но отказоустойчивость ее выше.

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

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

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

2. Разработка принципиальных электрических схем

 

.1 Разработка принципиальной электрической схемы вычислительного канала


Вычислительные каналы разрабатываемой системы построены с использованием программируемых логических интегральных схемах (ПЛИС) Xilinx Spartan-II.

Программируемые логические интегральные схемы (ПЛИС) благодаря своим преимуществам являются наиболее перспективной элементной базой цифровой электроники. Фирма Xilinx, используя достижения передовых технологий, выпускает семейства ПЛИС с различной архитектурой, которые позволяют создавать в сжатые сроки цифровые системы с различным уровнем сложности и степенью интеграции[4].

В 1985 г. фирма Xilinx представила новый тип логических микросхем - перепрограммируемые пользователем базовые матричные кристаллы (Field Programmable Gate Array, или FPGA). Эти микросхемы предоставили разработчику электронных устройств преимущества использования стандартных базовых матричных кристаллов (БМК), при этом появилась возможность проектировать, конфигурировать, отлаживать, исправлять ошибки и реконфигурировать микросхему непосредственно на рабочем месте, что добавило гибкости и значительно сократило время выхода устройства на рынок готовой продукции.

Конфигурационная последовательность (bitstream) может быть загружена в ПЛИС FPGA непосредственно в системе и перегружена неограниченное число раз. Инициализация ПЛИС производится автоматически из загрузочного ПЗУ Xilinx при подаче напряжения питания или принудительно по специальному сигналу. Процесс инициализации занимает от 20 до 200 мс, в течение которых выводы ПЛИС находятся в высокоомном состоянии (подтянуты к логической единице).

Выпуск нового семейства ПЛИС Spartan™-3 с архитектурой FPGA начат в апреле 2003 г. Семейство специально разработано для использования в электронных устройствах, рассчитанных на большие тиражи и невысокую стоимость комплектующих.

Архитектура ПЛИС семейства Spartan-З содержит 5 фундаментальных программируемых элементов:

-       Конфигурируемый логический блок (КЛБ). На базе КЛБ реализуется комбинаторная и синхронная логика, включая базовые запоминающие элементы.

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

-       Блок памяти. Каждый блок может конфигурироваться как двухпортовое ОЗУ емкостью 18 кбит.

-       Блок умножителя. Встроенный умножитель 18x18 бит.

-       Цифровой блок управления синхронизацией (DCM - Digital Clock Manager).

Все эти элементы расположены в кристалле. Блоки ввода-вывода расположены вокруг регулярной матрицы конфигурируемых логических блоков. Каждый блок памяти ассоциирован с блоком умножения 18x18. Модули управления синхронизацией располагаются рядом с крайними столбцами памяти.

Одним из кристаллов этого семейства Spartan-2 является кристалл XC2S100. Его основные особенности:

·   Высокопроизводительные, программируемые пользователем логические интегральные схемы с архитектурой FPGA (Field Programmable Gate Arrays);

·        Ёмкость от 15 000 до 200 000 системных вентилей;

·        Системная производительность до 200 МГц;

·        Корпусировка в наиболее дешевые корпуса;

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

·        Встроенные цепи управления тактированием;

·        Четыре встроенных модуля автоподстройки задержек (DLL - delay-locked loop) для расширенного управления тактовыми сигналами как внутри ПЛИС, так и всего устройства;

·        Иерархическая система элементов памяти на базе 4-х входовых таблиц преобразования (4-LUT - Look-Up Table) конфигурируемых либо как 16-ти битовая RAM (Random Access Memory), либо как 16-ти битовая двухпортовая RAM, либо как 16-ти битовый сдвиговый регистр;

·        92 пользовательских вывода

Тактовый сигнал на ПЛИС каждого канала и на ПЛИС БМЭ подаётся с микросхемы-генератора с частотой 200 МГц.

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

Вычислительный канал осуществляет приём релейной информации, проверку её корректности, выполнение алгоритма работы. Алгоритм работы вычислительного канала реализован на ПЛИС. Листинг программного обеспечения приведен в приложении А.

На микросхеме DD3.2 собран усилитель с коэффициентом усиления 4.8, который усиливает выходное значение амплитудой 5В. Коэффициент усиления по напряжению составляет: Кu =(R12/R11) + 1 = 10. Пусть R11= 2кОм, тогда R12=8кОм. Цепь коррекции ОУ состоит из корректирующего конденсатора С3 емкостью 33пФ.

Для согласования фидеров питания с ПЛИС применяется делитель напряжения. Значения сопротивлений R3=(Uвых R2)/(Uвх-Uвых).Примем значение сопротивления R3=1кОм, тогда R4=(5·1)/(24-5)=260 Ом. Соответственно R5=1кОм и R6=260 Ом.

.2 Разработка принципиальных электрических схем устройств сравнения и контроля

В состав разрабатываемой безопасной МПС входит безопасный мажоритарный элемент (БМЭ). Он строится на базе известного устройства контроля шин трехканальной структуры, схема которого приведена на рисунке 2.

Рисунок 2 - Функциональная схема устройства сравнения шин трехканальной системы

При отказе одного из микропроцессоров выключаются два из трех контрольных реле. Например, при отказе первого канала отключатся реле Р12 и Р13, т. к. реле Р12 контролирует синхронную работу первого и второго каналов, а реле Р13 - первого и третьего каналов. С помощью контактов контрольных реле осуществляется дешифрация номера неисправного канала и его отключение (рисунок 3).

Рисунок 3- Схема дешифрации номера неисправного канала

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

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

Модуль БМЭ состоит из двух основных блоков: первый представляет собой часть устройства сравнения шин трехканальной системы до CCBР, во второй присутствует остальная часть устройства сравнения шин трехканальной системы после CCBР, схема дешифрации номера неисправного канала и схема запуска рестарта неисправного канала.

Первая часть модуля БМЭ размещена в корпусе ПЛИС. Её структура приведена на рисунке 4. Выходы SSVR11-32 идут на ССВР, которые схематически расположены во втором блоке модуля БМЭ.

При исправной работе каналов на выходе фиксирующих элементов присутствует парафазный сигнал, а при неисправности - непарафазный.

Основу первого блока модуля БМЭ составляет фиксирующий элемент FE с программным восстановлением, схема которого приведена на рисунке 5.

PTGen - парафазный тактовый генератор, вырабатывающий импульсы с периодом 5 мс. Process_1 вырабатывает импульс начального сброса парафазного триггера ПТ1. Vosstan формирует импульсы восстановления состояния парафазного триггера ПТ2.

Рисунок 4 - Первая часть модуля БМЭ, созданная в ActiveHDL

Рисунок 5 - Модель фиксирующего элемента, созданная в ActiveHDL

В состав фиксирующего элемента, позволяющего различать сбои и отказы, входят: тестер 2/4-СПТ, парафазный тактовый генератор PTGen, парафазные триггеры ПТ1, ПТ2 и схема восстановления. При появлении запрещенной кодовой комбинации на входе фиксирующего элемента появляется не парафазный сигнал. Распространяясь по цепям фиксирующего элемента этот сигнал вызывает блокировку парафазных триггеров ПТ1 и ПТ2. С выходов триггера ПТ2 на схему восстановления поступает не парафазный сигнал, что влечет генерацию импульса восстановления для триггера ПТ1.

Рисунок 6 - Модель тестера 2/4 СПТ, созданная в ActiveHDL

Если к моменту выработки сигнала восстановления на вход фиксирующего элемента поступает разрешенная кодовая комбинация, то парафазный триггер ПТ1 сбрасывается и возобновляет нормальную работу. Парафазный триггер ПТ2 выйдет из заблокированного состояния по импульсу с Vosstan.

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

Основу ФЭ составляют тестер 2/4 СПТ (рисунок 6) и парафазный триггер (рисунок 7).

СПТ представляют собой кодовые детекторы, задача которых состоит в том, чтобы отличить кодовые комбинации, принадлежащие рассматриваемому коду, от остальных возможных комбинаций. СПТ реализуются в виде устройства с n входами и двумя выходами z1 и z2. Правильным входным вектором для тестера 2/4-СПТ считается код, вес которого равен двум (две единицы в коде).

Парафазный триггер (ПТ) представляет собой устройство, имеющее два парафазных информационных входа T0 и T1 и два выхода Q1 и Q0.

Парафазный триггер обладает следующими свойствами:

·   если на вход парафазного триггера поступает парафазный сигнал и сама схема ПТ исправна, то на его выходе также присутствует парафазный сигнал;

·   если на вход ПТ в любом такте его работы поступают одинаковые сигналы, то схема ПТ блокируется в защитном состоянии, и в том же такте на выходе устанавливаются одинаковые сигналы (00 или 11), которые сохраняются во всех последующих тактах работы независимо от состояния входов;

·   при возникновении в схеме ПТ одиночных неисправностей схема также блокируется в защитном состоянии;

·   вывод схемы из защитного состояния возможен только по цепям установки и сброса (S или R).

Парафазный триггер состоит из четырех бистабильных ячеек памяти Y1, Y2, Y3 и Y4. При кратковременной подаче логического нуля на вход R и наличии сигналов T1T0=01 схема переходит в устойчивое состояние 0110 (состояние «0» триггера). При подаче логического нуля на вход S и наличии сигналов T1T0=01 схема переходит в устойчивое состояние 1001 (состояние «1» триггера). Полный цикл работы триггера происходит на входной последовательности сигналов T1T0 вида 01,10,01,10,01. При этом схема последовательно все свои состояния: 0110®1010®1001®0101®0110.

Рисунок 7 - Модель парафазного триггера, созданная в ActiveHDL

В качестве ССВР используется стандартная схема УВИР на основе выпрямителя с умножением напряжения, которая приведена на рисунок 8.

Для обеспечения синфазности сигналов на информационных входах УВИР один из сигналов подается через инвертор.

Входные сигналы от контролируемого устройства в виде прямоугольных импульсов поступают на прямой и инверсный входы двухполюсного ключа (ДПК) на транзисторах VT1-VT3. При парафазности сигналов, поступающих от разных датчиков, на входе выпрямителя с умножителем напряжения (ВУН), собранного на элементах C1-C6, VD1-VD6, появляется переменное прямоугольное напряжение, амплитуду которого выбирают меньшей, чем напряжение отпускания исполнительного реле. ВУН выпрямляет и умножает исходное напряжение до уровня, необходимого для работы реле, при поступлении нескольких импульсов.

Рисунок 8 - УВИР на основе выпрямителя с умножением напряжения

Повреждение любого элемента ведёт к прекращению умножения напряжения либо снижению выходного напряжения ВУН и исключает возможность ложного притяжения или удержания якоря реле. В случае повреждения трёх и более элементов к реле может быть подключён один из источников ДПК, однако его напряжения недостаточно не только для притяжения, но и для удержания якоря реле во включённом состоянии. Временная диаграмма работы схемы изображена на рисунке 9.

На реле Р1, Р2, Р3 собрана схема дешифрации номера неисправного канала. Когда все каналы работают исправно, контакты Р1-Р3 разомкнуты, на линии Restart1-3 подается логическая ‘1’, т.е. рестарта не происходит, поскольку бесконечный рестарт формируется по сигналу логического ‘0’. Вместе с этим на инверторы DD17.4-DD17.6 подается логический ‘0’ и светодиоды, сигнализирующие о неисправности каналов, не горят.

Рисунок 9 - Временная диаграмма работы УВИР

Выход из строя канала 1-3 ведет к обесточиванию соответствующего реле (Р1-Р3).

При отказе, например, 1-го канала реле Р1 обесточится, контакт Р1 будет замкнут, на линии Restart1 появятся импульсы генератора, вызывая рестарт 1-го канала. Вместе с этим на выходе инвертора DD24.4 появятся импульсы от генератора, сдвинутые по фазе на 180o , что вызывает мигание светодиода VD52 с частотой 0.1Гц.

При восстановлении работы 1-го канала реле Р1 включится, контакт Р1 будет разомкнут, на линии Restart1 подается логическая ‘1’, т.е. рестарта не произойдет, светодиод прекратит мигать.

Генератор импульсов состоит из трех инверторов, резистора и конденсатора. Используя формулу,

 

определим номиналы конденсатора и резистора. Пусть сброс неисправного канала происходит каждые 5 с, тогда выходная частота генератора f=1/10=0.1Гц, исходя из формулы, найдём номиналы резистора и конденсатора. Возьмём резистор номиналом 220 кОм и получим номинал конденсатора равным 15 мкФ.

В качестве реле К12, К23 и К13, Р1, Р2 и Р3 применены реле 1 класса надежности РЭЛ1-1600, сопротивление обмотки которых 800 Ом, напряжение отпускания 5В, напряжение срабатывания 16В.

Рассчитаем сопротивление резисторов R103, R104, R105:

,

где - напряжение и ток срабатывания реле.

,

тогда:

 Ом.

Для надежного срабатывания реле выберем сопротивление резисторов чуть меньше требуемого, например. 390 Ом, тогда напряжение на реле при его срабатывании будет удерживаться немного большим 16В.

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

Сигналы, управляющие работой реле К1 и К2, поступают с выходов каналов на входы УВИР, представленной на рисунке 10.

Рисунок 10 - Мажоритарное УВИР

При синхронном поступлении импульсных сигналов на входы 1, 2, 3 происходит заряд конденсаторов C1, C2, C3 в течение времени действия входных импульсов. Во время паузы они разряжаются на светодиоды оптопар VO1 и VO2 через резисторы R1, R2. При этом напряжение, воздействующее на них, равно сумме напряжений на конденсаторе и источнике питания. В результате этого фототранзисторы оптопар переключаются и формируют импульсы, поступающие на вход преобразователя полярности (элементы C4, C5, VD6, VD7). Поляризованное реле ИР притягивает якорь.

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

Рисунок 11 - Временная диаграмма работы УСО при трёх активных входах

Рисунок 12 - Временная диаграмма работы УСО при двух активных входах

В качестве реле К1 и К2 применены реле 1 класса надежности РЭЛ1-1600, сопротивление обмотки которых 800 Ом, напряжение отпускания 5В, напряжение срабатывания 16В.

В пакете OrCAD была собрана часть описанной схемы - УВИР с конденсаторной гальванической развязкой, которая приведена на рисунке 13, а временная диаграмма ее работы - на рисунке 14.

 

Рисунок 13 - Схема УВИР с конденсаторной гальванической развязкой, выполненная в пакете OrCAD

Рисунок 14 - Временная диаграмма работы УВИР

Как видно из временной диаграммы на пятом импульсе происходит включение реле при достижении напряжения порядка 16В. Напряжение 2В, отпирающее транзистор соответствует напряжению срабатывания оптронов VO1 и VO2 мажоритарного УВИР на рисунке 8.

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


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

На выходах устройства ввода информации T и не-T генерируются последовательности парафазных импульсов. Достоверность информации подтверждается парафазностью импульсных последовательностей, поступающих на входы А и В. Значение переменной X определяется следующим образом. Если на вход А приходит сигнал Т, а на вход В - сигнал не-Т, то контакт реле замкнут, в противоположном случае - контакт разомкнут.

Рисунок 16 - Устройства безопасного ввода информации

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

Для поступления парафазных импульсов Т и не-Т собран генератор на элементах DD1.1- DD1.4.

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

 

определим номиналы конденсатора и резистора. Пусть опрос кнопки бдительности происходит каждые 5 мс, тогда выходная частота генератора f=1/0,01=100Гц, исходя из формулы, найдём номиналы резистора и конденсатора. Возьмём резистор номиналом 2,2 кОм и получим номинал конденсатора равным 1,5 мкФ.

Для контролирования цепи контроля торможения используется идентичная схема, в которой генератор собран на элементах DD1.5,DD1.6,DD2.1,DD2.2. Выходная частота генератора, номиналы резистор и конденсатора такие же. Опрос цепи каждые 5 мс достаточен для аварийного срабатывания системы.

2.5 Разработка принципиальной электрической схемы парафазного генератора


Для выбранной ПЛИС выберем генератор, который генерировал бы частоту 200МГц для тактирования схем системы. Для данных целей можно применить генератор и умножитель частоты в одном корпусе TL555. Схема генератора приведена на рисунке 17.

Рисунок 17 - Генератор импульсов

По данным указанным в Xilinx Application Note 078, примем C5=0.047mF, R16=1M.

2.6 Разработка принципиальной электрической схемы согласования с линией


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

Таблица 1 - Назначение выводов МАХ490

Обозначение

Назначение

A

B

выход

Vcc

питание +5В

RO

разрешение передачи

Z

вход

Y

выход

GND

земля

DI

разрешение приёма


Рисунок 18 - Схема сопряжения с линией

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


3.1 Алгоритм работы подпрограммы считывания информации с реле


Алгоритм подпрограммы представлен на рисунке 19.

Рисунок 19 - Алгоритм работы подпрограммы считывания информации с реле

3.2 Алгоритм проверки и управления состоянием переезда

Алгоритм подпрограммы представлен на рисунке 20.

Рисунок 20 - Алгоритм проверки и управления состоянием переезда

3.3 Алгоритм передачи информации в линию

Алгоритм подпрограммы представлен на рисунке 21.

Рисунок 21 - Алгоритм передачи информации в линию

3.4 Алгоритм закрытия/открытия переезда


Алгоритм подпрограммы представлен на рисунке 22.

Рисунок 22 - Алгоритм закрытия/открытия переезда

3.5 Описание работы программы


Листинг программы ПЛИС приведен в приложении А. Далее в пункте изложены основные принципы организации вычислений и дано описание используемых портов, сигналов и процессов.

В начале программы объявлены все порты ввода и вывода информации:

· F1, F2 - входы, на которые подаётся напряжение +5В при наличии питания на фидерах и нулевое напряжение при его отсутствии.

·        O1_T, O1_nT, O1_A, O1_B, O2_T, O2_nT, O2_A, O2_B, O3_T, O3_nT, O3_A, O3_B, O4_T, O4_nT, O4_A, O4_B - входы, на которые подаются импульсы от устройств безопасного ввода информации(c огневых реле ОР1 - ОР4).

·        P1_T, P1_nT, P1_A, P1_B, P2_T, O2_nT, P2_A, P2_B, P3_T, P3_nT, P3_A, P3_B - входы, на которые подаются импульсы от устройств безопасного ввода информации(c путевых реле ПР1 - ПP3).

·        K1, K2 - выходы управления переездными светофорами.

·      SendInfo - вход, по которому осуществляется выдача информации о состоянии МПС АПС.

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

·        Synchr - вход, сигнал синхронизации передачи.

·        Zvuk - выход, по которому осуществляется звуковая сигнализация.

·        Pereezd - выход, несущий информацию о состоянии переезда.

·        FStatus - вектор, несущий информацию о состоянии фидеров питания.

Далее объявлены сигналы, используемые в программе:

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

·        P1 - сигнал, устанавливаемый при включении путевого реле ПР1.

·        P2 - сигнал, устанавливаемый при включении путевого реле ПР2.

·        P3 - сигнал, устанавливаемый при включении путевого реле ПР3.

·        O1 - сигнал, устанавливаемый при включении огневого реле O1.

·        O2 - сигнал, устанавливаемый при включении путевого реле O1.

·        O3 - сигнал, устанавливаемый при включении путевого реле O1.

·        O4 - сигнал, устанавливаемый при включении путевого реле O1.

·        CLK, ClkL, - внутренние тактирующие сигналы, используемые для реализации различного рода задержек. Назначение каждого из сигналов приведено в комментариях листинга.

При запуске программы все сигналы инициализируются в нуль.

Описание процессов.

·      p1, p2, p3, o1, o2,o3,o4 - процессы, проверяющие состояние путевых и огневых реле.

Если приходит фронт сигнала Т производится четыре замера состояния на линиях Т, не-Т, А и В через 1.5, 3, 6.5 и 8 мс, т.е. по два в первый и второй полупериоды. Со следующим фронтом начинается новый цикл считывания. Состояние реле определяется следующим образом: если на вход А приходит сигнал Т, а на вход В - сигнал не-Т, то реле замкнуто, иначе - разомкнуто. При определении состояния реле устанавливается сигнал Blok=1. Если Blok=0, это говорит о нарушении парафазности или импульсного характера сигнала.

Рисунок 25 - Временная диаграмма работы процесса

·      fiders. Процесс проверяет наличие напряжения на фидерах питания. Состояние о фидерах питания выдается по телесигнализации дежурному по переезду.

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

·        delayL. Процесс реализует изменение внутреннего тактирующего сигнала ClkL для мигания ламп переездных светофоров.

·        closeP. Процесс реализует выполнение алгоритма закрытия переезда. Проверяет состояние сигналов Close и при наличии на нем выдаёт сигналы на включение ламп переездных светофоров и звуковой сигнализации в зависимости от состоянии сигнала ClkL.

·        TS. Процесс выдачи в порт InfoOut информации телесигнализации. Выдаётся стартовый бит, четыре бита адреса для идентификации переезда, 6 бит данных телесигнализации, бит паритета и стоповый бит.

data (0) = O1;состояние огневого реле ОР1

data (1) = O2;состояние огневого реле ОР2

data (2) = O3;состояние огневого реле ОР3

data (3) = O4;  состояние огневого реле ОР4

data (4) = Pereezd; состояние переезда

data(6 downto 5) := FStatus; состояние фидеров питания

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


4. Расчет показателей безотказности и безопасности системы

Основными показателями безотказности и безопасности системы являются:

безотказность СЖАТ - свойство системы непрерывно сохранять работоспособное состояние в течение некоторого времени или наработки. Показатели безотказности делятся на две группы: показатели невосстанавливаемых и восстанавливаемых изделий.

Невосстанавливаемые изделия - изделия, поведение которых существенно лишь до первого отказа, - характеризуются следующими количественными показателями надежности: интенсивностью отказов l(t); вероятностью безотказной работы Р(t); вероятностью отказа Q(t); средней наработкой до отказа То.

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

Безопасность СЖАТ - свойство системы непрерывно сохранять исправное, работоспособное или защитное состояние в течение некоторого времени или наработки. Показатели безопасности аналогичны показателям безотказности.

Для невосстанавливаемых систем рассчитывают следующие показатели: вероятность безопасной работы Рб(t); вероятность опасного отказа Qоп(t); интенсивность опасных отказов lоп(t); среднюю наработку до опасного отказа Топ.

Вероятность безотказной работы мажоритарной структуры с умеренной связью определяется выражением:

,

где P1, Pмэ - вероятности безотказной работы соответственно канала обработки информации и мажоритарного элемента МЭ; - число информационных выходов модуля.

Для разрабатываемой системы n=3.

Для вычислительного канала имеем:

Резисторы - 16 шт. = 1/ч

Конденсаторы - 13 шт. = 1/ч

Диоды - 5 шт. = 1/ч

Интегральные микросхемы - 6 = 1/ч

Для БМЭ:

Резисторы - 29 шт. = 1/ч

Конденсаторы - 20 шт. = 1/ч

Диоды - 21 шт. = 1/ч

Транзисторы - 9 шт. = 1/ч

Интегральные микросхемы - 3 = 1/ч

Реле - 6 шт. = 1/ч

Таким образом,

.

Вероятность безотказной работы за год составляет:

=2,56-1,679=0,881,

или 88,1%.

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

,        (2)

где tД - период диагностирования элементов модуля;

li - интенсивность отказов канала обработки информации.

Основной цикл программы и основные подпрограммы при размещении на кристалле занимают около 57000 системных вентилей ПЛИС. Учитывая, что значение средней задержки распространения сигнала равно 12нс, можно принять время максимального цикла примерно равное 57000*12нс.

Следовательно, для разработанной системы tД равняется примерно 684мкс или  лет. li - есть суммарная интенсивность отказов, которая составляет:

li = 1/ч

или 0,049 1/лет

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

 или  %.

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

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

Заключение


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

Разработаны принципиальные схемы вычислительных каналов, устройств сравнения и контроля, алгоритмы и программное обеспечение МИУС. Произведен необходимый расчет показателей безопасности и безотказности системы. Разработанная система полностью отвечает требованиям безопасности, предъявляемым к СЖАТ.

При проведении расчёта показателей безопасности и безотказности были получены следующие значения характеристик:

-        вероятность безотказной работы Р=0.881;

-        вероятность отказа системы (одновременное появление одинакового сбоя в двух вычислительных каналах) Q=1.1×10-14.

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

 

Список литературы


1 Методы построения безопасных микроэлектронных систем железнодорожной автоматики / В.В. Сапожников, Вл. В. Сапожников, Х.А. Христов, Д.В. Гавзов; Под ред. Вл. В. Сапожникова. - М.: Транспорт, 1995. - 272 с.

2 РТМ 32 ЦШ 1115842.01-94. Безопасность железнодорожной автоматики и телемеханики. Методы и принципы обеспечения безопасности микроэлектронных СЖАТ. - СПб.: ПГУ ПС, 1994. - 120 с.

3 Щелкунов Н.Н., Дианов А.П. Микропроцессорные средства и системы. М.: Радио и связь, 1989.

4 XC2S100 Datasheet. Xilinx. 2001

5 Цифровые интегральные микросхемы. Справочник/ Богданович М.Н., Грель И.Н., Дубина С.А., Прохоренко В.А., Шалимо В.В. - Минск: Полымя, 1996. - 603 с.

6 Системы железнодорожной автоматики и телемеханики / Кравцов Ю.А., Нестеров В.Л. и др. - Учебник для ВУЗов. М.: Транспорт, 1996. 400 с.

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

 

Приложение А

 

Листинг программы ПЛИС вычислительного канала

 

-- Title : mine

- Design : work

- Author : Alexey Kuprienko

- Company : Home

-

- File : mine.vhd

- Generated : Sun Dec 4 17:21:15 2005

- From : interface description file

- By : Itf2Vhdl ver. 1.20

-

-------------------------------------------------------------------------------------------

- Description : курсовой проект по МИУС Куприенко Алексея

-

-------------------------------------------------------------------------------------------IEEE;IEEE.STD_LOGIC_1164.all;IEEE.STD_LOGIC_ARITH.all;IEEE.STD_LOGIC_UNSIGNED.all;mine is

( : in STD_LOGIC;-- контроль наличия напряжения на фидере 1: in STD_LOGIC;-- контроль наличия напряжения на фидере 2: in STD_LOGIC; : in STD_LOGIC;: out STD_LOGIC_VECTOR (1 downto 0);: in STD_LOGIC;: out STD_LOGIC;_nT : in STD_LOGIC; -- P1 - Путевое реле 1_A : in STD_LOGIC;_B : in STD_LOGIC;_T : in STD_LOGIC;_nT : in STD_LOGIC; -- P2 - Путевое реле 2_A : in STD_LOGIC;_B : in STD_LOGIC;_T : in STD_LOGIC; _nT : in STD_LOGIC; -- P1 - Путевое реле 1_A : in STD_LOGIC;_B : in STD_LOGIC;_T : in STD_LOGIC; _nT : in STD_LOGIC; -- O1 - ОР1 переездного св.1_A : in STD_LOGIC;_B : in STD_LOGIC;_T : in STD_LOGIC; _nT : in STD_LOGIC; -- O2 - ОР2 переездного св.1_A : in STD_LOGIC;_B : in STD_LOGIC;_T : in STD_LOGIC; _nT : in STD_LOGIC; -- O3 - ОР1 переездного св.2_A : in STD_LOGIC;_B : in STD_LOGIC;_T : in STD_LOGIC;_nT : in STD_LOGIC; -- O4 - ОР2 переездного св.2_A : in STD_LOGIC;_B : in STD_LOGIC;_T : in STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC;

-K1,K2 -выходной вектор управления светофорами: out STD_LOGIC;: out STD_LOGIC;-- сигнал выдачи в линию информации о состоянии АПС: in STD_LOGIC-- синхронизация передачи

- СПИСОК СИГНАЛОВ, ИСПОЛЬЗУЕМЫХ В ПРОГРАММЕClose : STD_LOGIC :='0';-- закрыть переездP1 : STD_LOGIC :='0';-- ПР1 замкнутоP2 : STD_LOGIC :='0';-- ПР2 замкнутоP3 : STD_LOGIC :='0';-- ПР3 замкнуто

- БЛОК СИГНАЛОВ, СООТВЕТСТВУЮЩИХ ПОРТАМ ПЛИСO1: STD_LOGIC;O2: STD_LOGIC;O3: STD_LOGIC;O4: STD_LOGIC;<=not CLK after 0.1 ms; process; <=not Synchr after 10 ns; process;<=not SendInfo after 3600 s; process;

- СЪЁМ ИНФОРМАЦИИ С ПУТЕВОГО РЕЛЕ 1; ПРОИЗВОДИТСЯ ПОСТОЯННО: processP1_T1,P1_T2,P1_T3,P1_T4 : STD_LOGIC;P1_nT1,P1_nT2,P1_nT3,P1_nT4 : STD_LOGIC;P1_A1,P1_A2,P1_A3,P1_A4 : STD_LOGIC;P1_B1,P1_B2,P1_B3,P1_B4 : STD_LOGIC;Blok : STD_LOGIC :='0';

-  __ __

- длительность импульсов и провалов: 5 ms _| |__| |_P1_T'event and P1_T='1' -- если пришёл фронт сигнала Тfor 1.5 ms; _A1:=P1_A;_B1:=P1_B;_T1:=P1_T;_nT1:=P1_nT; for 1.5 ms;  _A2:=P1_A;_B2:=P1_B;_T2:=P1_T;_nT2:=P1_nT;for 3.5 ms; _A3:=P1_A;_B3:=P1_B;_T3:=P1_T;_nT3:=P1_nT; for 1.5 ms;  _A4:=P1_A;_B4:=P1_B;_T4:=P1_T;_nT4:=P1_nT;P1_A1=P1_T1 and P1_A2=P1_T2 and P1_T1=P1_T2 then P1_B1=P1_nT1 and P1_B2=P1_nT2 and P1_nT1=P1_nT2 then P1_A3=P1_T3 and P1_A4=P1_T4 and P1_T3=P1_T4 then P1_B3=P1_nT3 and P1_B4=P1_nT4 and P1_nT3=P1_nT4 then P1_A1/=P1_A3 and P1_A2/=P1_A4 then:='1';<='1'; -- путевое реле 1 замкнутоif;if;

end if;if;if;P1_A1=P1_nT1 and P1_A2=P1_nT2 and P1_nT1=P1_nT2 then P1_B1=P1_T1 and P1_B2=P1_T2 and P1_T1=P1_T2 then P1_A3=P1_nT3 and P1_A4=P1_nT4 and P1_nT3=P1_nT4 then P1_B3=P1_T3 and P1_B4=P1_T4 and P1_T3=P1_T4 then P1_A1/=P1_A3 and P1_A2/=P1_A4 then:='1';<='0'; -- путевое реле 1 разомкнутоif;if;if;if;if;

- нарушение парафазности или импульсного сигнала на входах А и В Blok='0' then<='0';if;if;process;

- СЪЁМ ИНФОРМАЦИИ С ПУТЕВОГО РЕЛЕ 2; ПРОИЗВОДИТСЯ ПОСТОЯННО: processP2_T1,P2_T2,P2_T3,P2_T4 : STD_LOGIC;P2_nT1,P2_nT2,P2_nT3,P2_nT4 : STD_LOGIC;P2_A1,P2_A2,P2_A3,P2_A4 : STD_LOGIC;P2_B1,P2_B2,P2_B3,P2_B4 : STD_LOGIC;Blok : STD_LOGIC :='0';

-  __ __

- длительность импульсов и провалов: 5 ms _| |__| |_P2_T'event and P2_T='1' -- если пришёл фронт сигнала Тfor 1.5 ms; _A1:=P2_A;_B1:=P2_B;_T1:=P2_T;_nT1:=P2_nT; for 1.5 ms;  _A2:=P2_A;_B2:=P2_B;_T2:=P2_T;_nT2:=P2_nT;for 3.5 ms; _A3:=P2_A;_B3:=P2_B;_T3:=P2_T;_nT3:=P2_nT; for 1.5 ms;  _A4:=P2_A;_B4:=P2_B;_T4:=P2_T;_nT4:=P2_nT;P2_A1=P2_T1 and P2_A2=P2_T2 and P2_T1=P2_T2 then P2_B1=P2_nT1 and P2_B2=P2_nT2 and P2_nT1=P2_nT2 then P2_A3=P2_T3 and P2_A4=P2_T4 and P2_T3=P2_T4 then P2_B3=P2_nT3 and P2_B4=P2_nT4 and P2_nT3=P2_nT4 then P2_A1/=P2_A3 and P2_A2/=P2_A4 then:='1';<='1'; -- путевое реле 2 замкнутоif;if;

end if;if;if;P2_A1=P2_nT1 and P2_A2=P2_nT2 and P2_nT1=P2_nT2 then P2_B1=P2_T1 and P2_B2=P2_T2 and P2_T1=P2_T2 then P2_A3=P2_nT3 and P2_A4=P2_nT4 and P2_nT3=P2_nT4 then P2_B3=P2_T3 and P2_B4=P2_T4 and P2_T3=P2_T4 then P2_A1/=P2_A3 and P2_A2/=P2_A4 then:='1';<='0'; -- путевое реле 2 разомкнутоif;if;if;if;if;

- нарушение парафазности или импульсного сигнала на входах А и В Blok='0' then<='0';if;if;process;

- СЪЁМ ИНФОРМАЦИИ С ПУТЕВОГО РЕЛЕ 3; ПРОИЗВОДИТСЯ ПОСТОЯННО: processP3_T1,P3_T2,P3_T3,P3_T4 : STD_LOGIC;P3_nT1,P3_nT2,P3_nT3,P3_nT4 : STD_LOGIC;P3_A1,P3_A2,P3_A3,P3_A4 : STD_LOGIC;P3_B1,P3_B2,P3_B3,P3_B4 : STD_LOGIC;Blok : STD_LOGIC :='0';

-  __ __

- длительность импульсов и провалов: 5 ms _| |__| |_P3_T'event and P3_T='1' -- если пришёл фронт сигнала Тfor 1.5 ms; _A1:=P3_A;_B1:=P3_B;_T1:=P3_T;_nT1:=P3_nT; for 1.5 ms;  _A2:=P3_A;_B2:=P3_B;_T2:=P3_T;_nT2:=P3_nT;for 3.5 ms; _A3:=P3_A;_B3:=P3_B;_T3:=P3_T;_nT3:=P3_nT; for 1.5 ms;  _A4:=P3_A;_B4:=P3_B;_T4:=P3_T;_nT4:=P3_nT;P3_A1=P3_T1 and P3_A2=P3_T2 and P3_T1=P3_T2 then P3_B1=P3_nT1 and P3_B2=P3_nT2 and P3_nT1=P3_nT2 then P3_A3=P3_T3 and P3_A4=P3_T4 and P3_T3=P3_T4 then P3_B3=P3_nT3 and P3_B4=P3_nT4 and P3_nT3=P3_nT4 then P3_A1/=P3_A3 and P3_A2/=P3_A4 then:='1';<='1'; -- путевое реле 3 замкнутоif;if;

end if;if;if;P3_A1=P3_nT1 and P3_A2=P3_nT2 and P3_nT1=P3_nT2 then P3_B1=P3_T1 and P3_B2=P3_T2 and P3_T1=P3_T2 then P3_A3=P3_nT3 and P3_A4=P3_nT4 and P3_nT3=P3_nT4 then P3_B3=P3_T3 and P3_B4=P3_T4 and P3_T3=P3_T4 then P3_A1/=P3_A3 and P3_A2/=P3_A4 then:='1';<='0'; -- путевое реле 3 разомкнутоif;if;if;if;if;

- нарушение парафазности или импульсного сигнала на входах А и В Blok='0' then<='0';if;if;process;

- СЪЁМ ИНФОРМАЦИИ С ОГНЕВОГО РЕЛЕ 1 ПЕРЕЕЗДНОГО СВЕТОФОРА 1;: processO1_T1,O1_T2,O1_T3,O1_T4 : STD_LOGIC;O1_nT1,O1_nT2,O1_nT3,O1_nT4 : STD_LOGIC;O1_A1,O1_A2,O1_A3,O1_A4 : STD_LOGIC;O1_B1,O1_B2,O1_B3,O1_B4 : STD_LOGIC;Blok : STD_LOGIC :='0';

-  __ __

- длительность импульсов и провалов: 5 ms _| |__| |_P1='1' -- если переезд закрытif ClkL='0'thenO1_T'event and O1_T='1' -- если пришёл фронт сигнала Тfor 1.5 ms; _A1:=O1_A;_B1:=O1_B;_T1:=O1_T;_nT1:=O1_nT; for 1.5 ms;  _A2:=O1_A;_B2:=O1_B;_T2:=O1_T;_nT2:=O1_nT;for 3.5 ms; _A3:=O1_A;_B3:=O1_B;_T3:=O1_T;_nT3:=O1_nT; for 1.5 ms;  _A4:=O1_A;_B4:=O1_B;_T4:=O1_T;_nT4:=O1_nT;O1_A1=O1_T1 and O1_A2=O1_T2 and O1_T1=O1_T2 then O1_B1=O1_nT1 and O1_B2=O1_nT2 and O1_nT1=O1_nT2 then O1_A3=O1_T3 and O1_A4=O1_T4 and O1_T3=O1_T4 then O1_B3=O1_nT3 and O1_B4=O1_nT4 and O1_nT3=O1_nT4 then O1_A1/=O1_A3 and O1_A2/=O1_A4 then

-Close1<='1'; -- путевое реле 1 разомкнуто; закрыт переезд:='1';<='1'; -- лампа ОР1ПС1 исправнаif;if;

end if;if;if;O1_A1=O1_nT1 and O1_A2=O1_nT2 and O1_nT1=O1_nT2 then O1_B1=O1_T1 and O1_B2=O1_T2 and O1_T1=O1_T2 then O1_A3=O1_nT3 and O1_A4=O1_nT4 and O1_nT3=O1_nT4 then O1_B3=O1_T3 and O1_B4=O1_T4 and O1_T3=O1_T4 then O1_A1/=O1_A3 and O1_A2/=O1_A4 then

-Close1<='0'; -- путевое реле 1 разомукнуто; переезд открыт:='1';<='0';-- лампа ОР1ПС1 неисправна if;if;if;if;if;

- нарушение парафазности или импульсного сигнала на входах А и В Blok='0'O1<:=0; -- лампа ОР1ПС1 неисправнаif;if;if;process;

- СЪЁМ ИНФОРМАЦИИ С ОГНЕВОГО РЕЛЕ 2 ПЕРЕЕЗДНОГО СВЕТОФОРА 1;: processO2_T1,O2_T2,O2_T3,O2_T4 : STD_LOGIC;O2_nT1,O2_nT2,O2_nT3,O2_nT4 : STD_LOGIC;O2_A1,O2_A2,O2_A3,O2_A4 : STD_LOGIC;O2_B1,O2_B2,O2_B3,O2_B4 : STD_LOGIC;Blok : STD_LOGIC :='0';

-  __ __

- длительность импульсов и провалов: 5 ms _| |__| |_P1='1' -- если переезд закрытif ClkL='1'thenO2_T'event and O2_T='1' -- если пришёл фронт сигнала Тfor 1.5 ms; _A1:=O2_A;_B1:=O2_B;_T1:=O2_T;_nT1:=O2_nT; for 1.5 ms;  _A2:=O2_A;_B2:=O2_B;_T2:=O2_T;_nT2:=O2_nT;for 3.5 ms; _A3:=O2_A;_B3:=O2_B;_T3:=O2_T;_nT3:=O2_nT; for 1.5 ms;  _A4:=O2_A;_B4:=O2_B;_T4:=O2_T;_nT4:=O2_nT;O2_A1=O2_T1 and O2_A2=O2_T2 and O2_T1=O2_T2 then O2_B1=O2_nT1 and O2_B2=O2_nT2 and O2_nT1=O2_nT2 then O2_A3=O2_T3 and O2_A4=O2_T4 and O2_T3=O2_T4 then O2_B3=O2_nT3 and O2_B4=O2_nT4 and O2_nT3=O2_nT4 then O2_A1/=O2_A3 and O2_A2/=O2_A4 then:='1';<='1'; -- лампа ОР1ПС2 исправнаif;if;

end if;if;if;O2_A1=O2_nT1 and O2_A2=O2_nT2 and O2_nT1=O2_nT2 then O2_B1=O2_T1 and O2_B2=O2_T2 and O2_T1=O2_T2 then O2_A3=O2_nT3 and O2_A4=O2_nT4 and O2_nT3=O2_nT4 then O2_B3=O2_T3 and O2_B4=O2_T4 and O2_T3=O2_T4 then O2_A1/=O2_A3 and O2_A2/=O2_A4 then:='1';<='0';-- лампа ОР1ПС2 неисправна if;if;if;if;if;

- нарушение парафазности или импульсного сигнала на входах А и В Blok='0'O2<=0; -- лампа ОР1ПС2 неисправнаif;if;if;process;

- СЪЁМ ИНФОРМАЦИИ С ОГНЕВОГО РЕЛЕ 1 ПЕРЕЕЗДНОГО СВЕТОФОРА 2;: processO3_T1,O3_T2,O3_T3,O3_T4 : STD_LOGIC;O3_nT1,O3_nT2,O3_nT3,O3_nT4 : STD_LOGIC;O3_A1,O3_A2,O3_A3,O3_A4 : STD_LOGIC;O3_B1,O3_B2,O3_B3,O3_B4 : STD_LOGIC;Blok : STD_LOGIC :='0';

-  __ __

- длительность импульсов и провалов: 5 ms _| |__| |_P1='1' -- если переезд закрытif ClkL='0'thenO3_T'event and O3_T='1' -- если пришёл фронт сигнала Тfor 1.5 ms; _A1:=O3_A;_B1:=O3_B;_T1:=O3_T;_nT1:=O3_nT; for 1.5 ms;  _A2:=O3_A;_B2:=O3_B;_T2:=O3_T;_nT2:=O3_nT;for 3.5 ms; _A3:=O3_A;_B3:=O3_B;_T3:=O3_T;_nT3:=O3_nT; for 1.5 ms;  _A4:=O3_A;_B4:=O3_B;_T4:=O3_T;_nT4:=O3_nT;O3_A1=O3_T1 and O3_A2=O3_T2 and O3_T1=O3_T2 then O3_B1=O3_nT1 and O3_B2=O3_nT2 and O3_nT1=O3_nT2 then O3_A3=O3_T3 and O3_A4=O3_T4 and O3_T3=O3_T4 then O3_B3=O3_nT3 and O3_B4=O3_nT4 and O3_nT3=O3_nT4 then O3_A1/=O3_A3 and O3_A2/=O3_A4 then:='1';<='1'; -- лампа ОР2ПС1 исправнаif;if;

end if;if;if;O3_A1=O3_nT1 and O3_A2=O3_nT2 and O3_nT1=O3_nT2 then O3_B1=O3_T1 and O3_B2=O3_T2 and O3_T1=O3_T2 then O3_A3=O3_nT3 and O3_A4=O3_nT4 and O3_nT3=O3_nT4 then O3_B3=O3_T3 and O3_B4=O3_T4 and O3_T3=O3_T4 then O3_A1/=O3_A3 and O3_A2/=O3_A4 then:='1';<='0';-- лампа ОР2ПС1 неисправна if;if;if;if;if;

- нарушение парафазности или импульсного сигнала на входах А и В Blok='0'O3:=0; -- лампа ОР1ПС2 неисправнаif;if;if;process;

- СЪЁМ ИНФОРМАЦИИ С ОГНЕВОГО РЕЛЕ 2 ПЕРЕЕЗДНОГО СВЕТОФОРА 2;: processO4_T1,O4_T2,O4_T3,O4_T4 : STD_LOGIC;O4_nT1,O4_nT2,O4_nT3,O4_nT4 : STD_LOGIC;O4_A1,O4_A2,O4_A3,O4_A4 : STD_LOGIC;O4_B1,O4_B2,O4_B3,O4_B4 : STD_LOGIC;Blok : STD_LOGIC :='0';

-  __ __

- длительность импульсов и провалов: 5 ms _| |__| |_P1='1' -- если переезд закрытif ClkL='1'thenO4_T'event and O4_T='1' -- если пришёл фронт сигнала Тfor 1.5 ms; _A1:=O4_A;_B1:=O4_B;_T1:=O4_T;_nT1:=O4_nT; for 1.5 ms;  _A2:=O4_A;_B2:=O4_B;_T2:=O4_T;_nT2:=O4_nT;for 3.5 ms; _A3:=O4_A;_B3:=O4_B;_T3:=O4_T;_nT3:=O4_nT; for 1.5 ms;  _A4:=O4_A;_B4:=O4_B;_T4:=O4_T;_nT4:=O4_nT;O4_A1=O4_T1 and O4_A2=O4_T2 and O4_T1=O4_T2 then O4_B1=O4_nT1 and O4_B2=O4_nT2 and O4_nT1=O4_nT2 then O4_A3=O4_T3 and O4_A4=O4_T4 and O4_T3=O4_T4 then O4_B3=O4_nT3 and O4_B4=O4_nT4 and O4_nT3=O4_nT4 then O4_A1/=O4_A3 and O4_A2/=O4_A4 then:='1';<='1'; -- лампа ОР2ПС2 исправнаif;if;

end if;if;if;O4_A1=O4_nT1 and O4_A2=O4_nT2 and O4_nT1=O4_nT2 then O4_B1=O4_T1 and O4_B2=O4_T2 and O4_T1=O4_T2 then O4_A3=O4_nT3 and O4_A4=O4_nT4 and O4_nT3=O4_nT4 then O4_B3=O4_T3 and O4_B4=O4_T4 and O4_T3=O4_T4 then O4_A1/=O4_A3 and O4_A2/=O4_A4 then:='1';<='0';-- лампа ОР2ПС2 неисправна if;if;if;if;if;

- нарушение парафазности или импульсного сигнала на входах А и В Blok='0'O4<=0; -- лампа ОР2ПС2 неисправнаif;if;if;process;

- КОНТРОЛЬ ПИТАНИЯ ФИДЕРОВ: process (F1, F2)F1='1' and F2='1'FStatus<="11";if;F1='0' and F2='1'FStatus<="01";if;F1='1' and F2='0'FStatus<="10";if;F1='0' and F2='0'FSatus<="00";if;process;

- ОПРЕДЕЛЕНИЕ СОСТОЯНИЯ ПЕРЕЕЗДА

ПР : process (P1,P2,P3)Var : integer range 0 to 3 := 0;(var=0 and P1='1' and P2='0' and P3='0') or

(var=0 and Close1='0' and P2='0' and P3='1')Close<='1';:=1;if;(var=1 and P1='1' and P2='1' and P3='0')or

(var=1 and P1='0' and P2='1' and P3='1')var:=2;if;(var=2 and P2='0')var:=3;if;(var=3 and P1='0' and P2='0' and P3='0')var:=0; Close<='0';if;process;

- МИГАНИЕ ЛАМП ПЕРЕЕЗДНЫХ СВЕТОФОРОВ: process (Close)TIMER : TIME := 1000 ms;Close='1'ClkL<= not ClkL after TIMER;if;process;

- ЗАКРЫТИЕ ПЕРЕЕЗДА: process (Close)Close='1'if CLKl='1'K1<=CLK; -- попеременное мигание<=CLK -- ламп переездных<='1'; -- звуковая сигнализация<='1';if K1<='0';<='0';<='1'<='1';if; if K1<='0';<='0';<='0';<='0';if;process;: process()

- ПЕРЕДАЧА В ЛИНИЮ ИНФОРМАЦИИ О СОСТОЯНИИ АПС: process (SendInfo)start_read : boolean := false;last_bit : boolean := false;num_bit : integer := 0;adress: STD_LOGIC_VECTOR (0 to 4) := "0111";data : STD_LOGIC_VECTOR (0 to 6);SendInfo = '1' thenfalling_edge(Synchr) thenSendInfo = '0' and num_bit = 0InfoOut <= '0';if;start_read = true thennum_bit = 11InfoOut <= '1';_bit := 0;_bit := true;if;num_bit = 13<= (adress(3) xor adress(2) xor adress(1) xor adress(0)data(0) xor data(1) xor data(2) xor data(3)xor data(4));_bit := 14;if;num_bit = 12InfoOut <= data(6);_bit := 13;if;num_bit =11 InfoOut <= data(5);_bit := 12;if;num_bit = 10InfoOut <= data(4);_bit := 11;if;num_bit = 9InfoOut <= data(3);_bit := 10;if;num_bit = 8InfoOut <= data(2);_bit := 9;if;num_bit = 7InfoOut <= data(1);_bit := 8;if;num_bit = 6InfoOut <= data(0);_bit := 7;if;num_bit = 5InfoOut <= adress(0);_bit := 6;if;num_bit = 4InfoOut <= adress(1);_bit := 5;if;num_bit = 3InfoOut <= adress(2);_bit := 4;if;num_bit = 2InfoOut <= adress(3);_bit := 3;if;num_bit = 1InfoOut <= '1';_bit := 2;if;if;SendInfo = '1' and num_bit = 0if last_bit = truelast_bit := false;_read := true;_bit := 1;(0) := O1;(1) := O2 ;(2) := O3;(3) := O4;(4) := Pereezd; (6 downto 5) := FStatus;if;if;if;if;process;mine;

Приложение Б

 

Листинг программы ПЛИС БМЭ


--

- Title : mine

- Design : work

- Author : Alexey Kuprienko

- Company : Home

- File : ИЬУ.vhd

- Generated : Sun Dec 4 17:21:15 2005

- From : interface description file

- By : Itf2Vhdl ver. 1.20

--

- Description : курсовой проект по МИУС Куприенко Алексея--

-- Description :

- Design unit header --IEEE;IEEE.std_logic_1164.all;BME is(R1 : in STD_LOGIC;R2 : in STD_LOGIC;R1 : in STD_LOGIC;R2 : in STD_LOGIC;R1 : in STD_LOGIC;R2 : in STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC

);BME;BME of BME is

--- Component declarations -----FE(: in STD_LOGIC;: in STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC

);component;spt(: in STD_LOGIC;: in STD_LOGIC;: in STD_LOGIC;: in STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC

);component;

--- Signal declarations used on the diagram ----NET122 : STD_LOGIC;NET126 : STD_LOGIC;NET130 : STD_LOGIC;NET134 : STD_LOGIC;NET138 : STD_LOGIC;NET142 : STD_LOGIC;NET295 : STD_LOGIC;NET299 : STD_LOGIC;NET303 : STD_LOGIC;NET307 : STD_LOGIC;NET317 : STD_LOGIC;NET321 : STD_LOGIC;

--- Component instantiations ----: sptmap(=> K2R1,=> K2R2,=> NET138,=> NET142,=> NET303,=> NET307

);: FEmap(=> NET303,=> NET307,=> SSVR21,=> SSVR22

);: FEmap(=> NET295,=> NET299,=> SSVR11,=> SSVR12

);: FEmap(=> NET317,=> NET321,=> SSVR31,=> SSVR32

);: sptmap(=> K1R1,=> K1R2,=> NET122,=> NET126,=> NET295,=> NET299

);<= not(K3R2);<= not(K3R1);<= not(K2R2);<= not(K2R1);<= not(K1R2);<= not(K1R1); BME;

- Title : Фиксирующий элемент

-- Design : First

- Author : 123

- Company : 456

-

- Description :

-

- Design unit header --IEEE;IEEE.std_logic_1164.all;

- other libraries declarations

- synopsys translate_off VIRTEX;IEEE;IEEE.vital_timing.all;

- synopsys translate_on FE is(: in STD_LOGIC;: in STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC

);FE;FE of FE is

--- Component declarations -----pt(: in STD_LOGIC;: in STD_LOGIC;: in STD_LOGIC;: in STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC

);component;ptgen(: out STD_LOGIC;: out STD_LOGIC

);component;sbros(: out STD_LOGIC

);component;spt(: in STD_LOGIC;: in STD_LOGIC;: in STD_LOGIC;: in STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC

);component;Vosstan(: out STD_LOGIC

);component;VCC

- synopsys translate_off(: STRING := "*";: BOOLEAN := False;

TimingChecksOn : BOOLEAN := false;: BOOLEAN := TRUE

);

- synopsys translate_on(: out std_ulogic := '1'

);component;

--- Signal declarations used on the diagram ----NET101 : STD_LOGIC;NET260 : STD_LOGIC;NET264 : STD_LOGIC;NET276 : STD_LOGIC;NET308 : STD_LOGIC;NET387 : STD_LOGIC;NET394 : STD_LOGIC;NET398 : STD_LOGIC;NET404 : STD_LOGIC;NET414 : STD_LOGIC;NET418 : STD_LOGIC;NET422 : STD_LOGIC;NET453 : STD_LOGIC;NET458 : STD_LOGIC;NET572 : STD_LOGIC;NET576 : STD_LOGIC;NET639 : STD_LOGIC;NET707 : STD_LOGIC;NET716 : STD_LOGIC;NET97 : STD_LOGIC;

--- Configuration specifications for declared components

- synopsys translate_offU6 : VCC use entity VIRTEX.VCC;

- synopsys translate_on

- synopsys translate_offU7 : VCC use entity VIRTEX.VCC;

- synopsys translate_on

--- Component instantiations ----: sptmap(=> In1,=> NET97,=> NET101,=> In2,=> NET260,=> NET264

);<= not(NET639);<= not(NET422);<= not(NET418);<= NET639 and NET414;<= not(NET453);<= NET572 and NET458;<= NET716;<= NET707;: sbrosmap(=> NET572

);: ptgenmap(=> NET97,=> NET101

);: Vosstanmap(=> NET387

);: ptmap(=> NET394,=> NET308,=> NET387,=> NET707,=> NET716,=> NET398

);: ptmap(=> NET716,=> NET576,=> NET276,=> NET264,=> NET260,=> NET707

);: VCCmap(=> NET308

);: VCCmap(=> NET276

);<= not(NET404);<= NET398 xor NET394;FE;

-------------------------------------------------------------------------------------------

- Title : 2-4 СПТ

- Design : First

- Author : 123

- Company : 456

- Description :

- Design unit header --IEEE;IEEE.std_logic_1164.all;spt is(: in STD_LOGIC;: in STD_LOGIC;: in STD_LOGIC;: in STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC

);spt;spt of spt is

--- Signal declarations used on the diagram ----NET107 : STD_LOGIC;NET115 : STD_LOGIC;NET91 : STD_LOGIC;NET99 : STD_LOGIC;

--- Component instantiations ----<= In2 or In1;<= In4 or In3;<= In2 and In1;<= In4 and In3;<= NET99 and NET91;<= NET115 or NET107;spt;

-------------------------------------------------------------------------------------------

- Title : Парафазный триггер

- Design : First

- Author : 123

- Company : 456

-

- Description :

- Design unit header --IEEE;IEEE.std_logic_1164.all;pt is(: in STD_LOGIC;: in STD_LOGIC;: in STD_LOGIC;: in STD_LOGIC;: out STD_LOGIC;: out STD_LOGIC

);pt;pt of pt is

--- Signal declarations used on the diagram ----NET102 : STD_LOGIC;NET204 : STD_LOGIC;NET230 : STD_LOGIC;NET232 : STD_LOGIC;NET236 : STD_LOGIC;NET239 : STD_LOGIC;NET240 : STD_LOGIC;NET340 : STD_LOGIC;NET343 : STD_LOGIC;NET344 : STD_LOGIC;NET444 : STD_LOGIC;NET447 : STD_LOGIC;NET448 : STD_LOGIC;NET556 : STD_LOGIC;NET568 : STD_LOGIC;NET580 : STD_LOGIC;NET592 : STD_LOGIC;NET67 : STD_LOGIC;NET71 : STD_LOGIC;NET88 : STD_LOGIC;

--- Component instantiations ----<= not(NET102 and Reset and T0);<= not(NET236);<= not(NET240);<= not(NET239);<= not(NET230);<= NET232 or NET240;<= not(NET344 and Set and T1);<= not(NET568 and Reset and NET340);<= not(NET340);<= not(NET343);<= not(NET556 and Set and NET204);<= not(NET448 and Reset and T1);<= not(NET592 and Set and NET444);<= not(NET444);<= not(NET447);<= not(NET204);<= not(NET102);<= not(NET88);<= not(NET67);<= NET71 or NET102;<= not(NET240 and Set and T0);<= not(NET580 and Reset and NET236); pt;

- Title : Парафазный генератор

-- Design : First

- Author : 123

- Company : 456

- Description :

- Design unit header --IEEE;IEEE.std_logic_1164.all;PTGen is(  : out STD_LOGIC;: out STD_LOGIC);PTGen;STRUCTURA of PTGen isCLK_PERIOD: TIME := 10 us; _GEN: process<= '0';<= '1';for CLK_PERIOD/2;<= '1';<= '0';for CLK_PERIOD/2;process;STRUCTURA;

-------------------------------------------------------------------------------------------

-- Title : Формирователь сигнала восстановления ПТ2

-- Design : First

- Author : 123

- Description :

- Design unit header --IEEE;IEEE.std_logic_1164.all;Vosstan is(  : out STD_LOGIC);Vosstan;STRUCTURA of PTGen is_GEN: processi:bit:='0';i='0' thenfor 7us;:='1';if;<= '1'; for 0.3us;<= '0';for 82us;process;

end STRUCTURA;

-------------------------------------------------------------------------------------------

- Title : Формирователь сигнала начального сброса ПТ1

-- Design : First

- Author : 123

- Company : 456

- Description :

- Design unit header --IEEE;IEEE.std_logic_1164.all;sbros is(  : out STD_LOGIC );sbros;STRUCTURA of sbros is<= '1';for 6 us;<= '0';

end process;STRUCTURA;

Похожие работы на - Разработка микропроцессорной системы автоматической переездной сигнализации

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!