Реферат: Контроллер системы автоматизации - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Контроллер системы автоматизации

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 3305 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Контроллер системы автоматизации 1 Техническое задание на разработ ку проекта Исходные данные для проектирования Назначение устройства Устройство , разработка которого проводится в данной работе , - контроллер системы автоматизации . В качестве реализуемых на его основе функций можно назвать следующие : получение данных от датчиков состояния объекта управления , формирование управляющих воздействий согласно решаемым задачам , обмен информацией с другими контроллерами и центральной ЭВМ . Также в этот список можно включить и такие внутренние сервисные функции как самодиагностика и контроль хода выполнения программы – выявление ситуаций “зависания”. В проекте не рассматриваются процессы непосредственного управления объектом . Поэтому основной задачей контроллера будет прием данных от внешнего источника , преобразование их в нужный фо рмат и передача дальше по цепочке . То есть контроллер можно рассматривать как некий “информационный” ретранслятор , снабженный функциями контроля и самодиагностики. Контроллер принимает данные в виде пакетов в соответствии с протоколом X-Modem, обеспечивающ им проверку возникновения ошибок передачи и повторный запрос пакета в случае их возникновения . Реализуемый интерфейс приема – ИРПР-М. Информация буферизуется и передается дальше по одному байту без контроля ошибок также с использованием интерфейса ИРПР-М . Дополнительно с помощью программируемого таймера контроллер производит проверку состояния ПЗУ (подсчет контрольной суммы ) и анализ хода выполнения программы . В случае несовпадения контрольной суммы либо зависания одной из задач выключается индикатор норма л ьной работы , и процесс останавливается до вмешательства оператора. 1.1.2 Характеристики интерфейса ИРПР-М Интерфейс ИРПР-М является унифицированной системой связей и сигналов и обеспечивает единые способы обмена информацией при соединении корреспонденто в посредством кабеля . Интерфейс ИРПР-М может быть использован при построении сосредоточенных модульных систем обработки данных . По классификационным признакам интерфейс ИРПР-М является межблочным , асинхронным , параллельным , однонаправленным , радиальным ин т ерфейсом . Единицей обмена данными для интерфейса является байт или слово . Максимальное удаление двух взаимодействующих компонент – 15 метров . Максимальное число линий связи – 40. Минимальный набор линий связи приведен в таблице 1.1 Таблица 1.1 - Сигналы и нтерфейса ИРПР-М Сигнал Активный Уровень Инициатор сигнала Комментарий -ACKNLG Низкий Приемник Запрос очередного байта данных BUSY Высокий Приемник Высокий уровень на линии сигнализирует о неготовности приемника к обмену -STROBE Низкий Передатчик Строб данных DATA - Передатчик Восемь (шестнадцать ) линий данных Временные диаграммы , объясняющие обмен информацией по линиям интерфейса , представлены на рисунке 1.1. Рисунок 1.1 – Временные диаграммы интерфейса ИРПР-М 1.1.3 Структура сообщений Прием данных осуществляется в соответствии с протоколом X-Modem. Пакет информации представляет собой последовательность из 132 байт . Структу ра пакета : Заголовок пакета . В качестве заголовка выступает код 01h (SOH). Два байта – номер пакета . Первый байт – собственно номер , а второй его дополнение (для контроля ошибок ). Тело пакета – 128 байт. Байт контрольной суммы . Контрольная сумма охватывает номер пакета и тело пакета. Для сопровождения обмена используются служебные символы , представленные в таблице 1.2. Таблица 1.2 – Служебные символы протокола X-Modem Символ Шестнадцатиричный код Назначение SOH 01h Символ начала пакета ACK 06h Подтвержде ние приема NAK 15h Отрицание приема EOT 04h Завершение обмена CAN 18h Аварийное завершение обмена Процесс обмена осуществляется следующим образом : Приемник посылает передатчику подряд два сигнала NAK. В ответ передатчик начинает посылку пакетов . После приема каждого пакета приемник анализирует правильность передачи и посылает передатчику символ ACK – подтверждение приема . Если при подсчете контрольной суммы обнаружена ошибка , то вместо сигнала ACK передается NAK – запрос на повторную передачу пакета . П оследовательность пакетов передатчик завершает символов EOT, который приемник подтверждает сигналом ACK. Если при установке связи передатчик не ответил на запрос информации (два сигнала NAK), то приемник продолжает посылать запрос NAK с интервалом 10 секу н д . Может быть послано до десяти запросов NAK. Передача информации производится посимвольно . Причем данные посылаются блоками по 256 байт . В начале каждого блока располагается четыре байта , несущие информацию о текущем времени контроллера . Данные блоки форм ируются в отдельном участке памяти – буфере передатчика и посылаются п мере готовности . За формированием информационных блоков следит специальная задача. Структура и алгоритм функционирования контроллера. 1.2.1 Структурная схема контроллера Структурная схема контроллера представлена на рисунке 1.2. Элементы , входящие в схему : СГ – системный генератор. ЦП – центральный процессор. ПЗУ – постоянное запоминающее устройство. ОЗУ – оперативное запоминающее устройство. ПКП – программируемый контроллер прерываний. ПТ – про граммируемый таймер. ИГ – индикатор готовности. ПВВ – порт ввода-вывода. Рисунок 1.2 - Структурная схема контроллера Системная шина контроллера состоит из трех составляющих : шины адреса (AB), шины данных (DB), шины управления (CB). Индикатор готовности ин формирует о нормальной работе устройства – в случае возникновения ошибок индикатор гасится. Диаграммы состояний основных процессов Диаграмма состояний процесса приема , показанная на рисунке 1.3, наглядно иллюстрирует работу контроллера при приеме данных от внешнего устройства . Так как прием информации осуществляется пакетами , то в основе схемы лежит диаграмма состояний при использовании протокола X-Modem. Рисунок 1.3 - Диаграмма состояний процесса приема данных Более подробно состав блока “Послать символ” представлен на рисунке 1.4. Рисунок 1.4 – Состав блока “При нять символ” Содержание блока “Послать символ” раскрыто на рисунке 1.5. Рисунок 1.5 – Состав блока “Послать символ”. На рисунке 1.6 показана диаграмма процесса передачи информации . Передача ведется по одному байту без контроля ошибок. На рисунке событие “Прошло 500 нс” означает выдержку нео бходимой паузы для формирования сигнала . Включение передатчика происходит при наличии флага готовности буфера передачи . Поэтому проверка буфера включает в себя и проверку состояния флага. Рисунок 1.6 - Диаграмма состояний процесса передачи данных. Диаграмма состояний процесса самодиагностики показана на рисунке 1.7. Подсчет контрольной суммы ПЗУ (КС ) ведется в цикле . В случае несовпадения рассчитанного значения с кон трольными данными происходит останов процессора . Блок “Подсчет КС” обозначает циклический процесс по суммированию по модулю 256 содержимого ячеек ПЗУ. Рисунок 1.7 - Диаграмма состояний процесса самодиагностики Диаграмма состояний процесса “службы времени” представлена на рисунке 1.8. Служба времени решает две задачи . Это контроль зависания задач и формирование переменной , содержащей текущее время от начала работы к онтроллера . Конторль зависания осуществляется следующим образом . Перед началом каждого цикла прохода подпрограмм диспетчер запускает таймер , работающий в роли одновибратора . Время срабатывания таймера заведомо больше времени одного цикла работы диспетчера. Поэтому , если все задачи отработали успешно , таймер не успеет сработать до следующего перезапуска . Если таймер сработает и вызовет прерывание , то это сигнализирует о “зависании” одной из задач . В данной ситуации требуется немедленно остановить работу про ц ессора . При подсчете времени таймер генерирует импульсы определенной частоты , по которым контроллер прерываний формирует запросы на прерывание для процессора . Обработчик этих прерываний каждый раз наращивает на единицу переменную-счетчик времени. Рисунок 1.8 - Диаграмма состояний процесса “службы времени” Разработка аппаратной части контроллера Обоснование выбора микропроцессора Шестнадцатиразрядный микроп роцессор КР 1810ВМ 86 обеспечивает возможность эффективной работы с языками высокого уровня , имеет гибкую и мощную систему команд . Может быть использован как 16-ти так и 8-ми разрядный процессор . ВМ 86 выполняет операции над битами , байтами , двухбайтовыми сл о вами , действия знаковой и беззнаковой двоичной или десятичной арифметики , в том числе умножение и деление , имеет гибкую структуру аппаратурных и программных прерываний (до 256 типов ). К наиболее важным аппаратурным особенностям К 1810ВМ 86 относятся : развит ая регистровая структура , существенно уменьшающая число обращений к памяти ; конвейерный принцип выполнения команд с предварительной выборкой , обеспечивающий максимальную пропускную способность системной магистрали ; распределенное микропрограммное устройст в о управления ; мультиплексированная шина адреса-данных ; многофункциональное использование выводов , позволяющее адаптировать МП к уровню сложности разрабатываемой системы ; способность координировать взаимодействие нескольких процессоров. Распределение адр есного пространства Микропроцессор К 1810ВМ 86 позволяет адресовать до 1Мбайт памяти . Так как основной задачей разрабатываемого контроллера является прием информации , преобразование в другой формат и передача ее следующему корреспонденту , то распределение п амять становится важной задачей . Особенности процессора заставляют выбирать такую структуру памяти , при которой младшие адреса занимает ОЗУ , а старшие – ПЗУ . Поставленная задача не требует реализации полного объема возможной памяти , поэтому используется с л едующая структура памяти : · адреса 0000 – 3 FFFh соответствуют ОЗУ ; · адреса 4000 – 7 FFFh соответствуют ПЗУ. · Порты ввода-вывода , регистры управления таймера и программируемого контроллера прерывания также имеют фиксированные адреса : · адреса 0000-0006 соответствуют порту ввода-вывода , предназначенному для приема данных ; · адреса 0008-000Е h соответствуют порту ввода-вывода , предназначенному для передачи данных ; · адреса 00 10 -001 6 h соответствуют управляющим регистрам программируемого таймера ; · адреса 0018-00 1 Ah соответствуют управляющим регистрам программируемого контроллера прерываний. Функциональная схема контроллера Функциональная схема контроллера приведена в приложении . Параллельный порт ввода-вывода PPI ( DD 15) предназначен для обес печения приема информации в соответствии с протоколом X - Modem . Поэтому необходима двунаправленная связь . Фактически на микросхеме реализовано два интерфейса ИРПР-М . Один из них , для приема байтов информации , имеет следующую организацию : сигналы D IN 0 - D IN 7 – выводы Р А 0 – Р А 7; сигнал STROBE IN – вывод Р С 4; сигналы BUSY IN и ACKNLG IN – выводы Р С 0 и Р С 1 соответственно. При приеме байта , он поступает на линии порта А (сигналы D IN 0 – D IN 7). Для передачи управляющих символов используется порт В . При этом служеб ные сигналы подключаются к следующим линиям : сигнал STROBE OUT – вывод Р С 2; сигналы BUSY OUT и ACKNLG OUT – выводы Р С 5 и Р С 6 соответственно. Для передачи информации используется параллельный порт ввода-вывода PPI ( DD 16) На нем также реализован интерфейс ИРПР- М. Данные выдаются через порт А . Сигнал STROBE поступает в линию связи через нулевой разряд порта В . Сигналы готовности приемника BUSY и ACKNLG поступают в порт С (разряды 1 и 0 соответственно ). Так как импульс ACKNLG имеет длительность около 5 мкс , то его программная фиксация в режиме параллельной обработки нескольких задач затруднена . Предусмотрена аппаратная защелка этого сигнала с помощью триггера . После получения сигнала ACKNLG триггер программно сбрасывается . Аналогичная схема присутствует и в блоке п риема данных . Индикатор готовности выполнен на дешифраторе DD 28. Его адресные входы подсоединены к линиям 4, 5, 6 порта С микросхемы DD 16 . Регистр в нормальном рабочем режиме управляет индикатором готовности системы , а в случае конфликтной ситуации отобра жает номер “зависшей” задачи. Программируемый таймер используется для отсчета интервалов времени для контроля выполнения задач и вызова прерываний для самопроверки контроллера – подсчета контрольной суммы ПЗУ . В качестве счетных импульсов к таймеру подведе н сигнал с выхода PCLK системного генератора , имеющий частоту , в два раза меньшую , чем тактовая частота процессора . При частоте процессора 5 МГц таймер отсчитывает импульсы с частотой 2,5 МГц . При этом максимальная задержка , обеспечиваемая таймером равна 2 6 мс. Программируемый контроллер прерываний служит для упорядочения запросов на прерывание по приоритету и во времени . В данной схеме обслуживается два прерывания : контроль прохождения контрольной точки задачами и самодиагностика . Запросы на прерывание пос тупают от таймера и подаются на входы IRQ 0 , IRQ 1 и IRQ 2. Для выбора нужной микросхемы при выполнении операций ввода-вывода используется дешифратор DD 29 , преобразующий два разряда адресной шины AB 2 и AB 3 в сигналы выбора CS . Сигналы выбора кристалла CS форм ируются только если один из сигналов IOR и IOW находится в активном состоянии . Необходимым условием выбора внешних по отношению к процессору устройств является равенство нулю младшего адресного разряда AB 0. Для хранения адреса в течение всего цикла шины ис пользуются регистры-защелки DD 11 и DD 12 , управляемые сигналов ALE процессора . Шина данных умощняется за счет подключения шинных формирователей . Память контроллера организована на четырех микросхемах ; две из них образуют ПЗУ ( DD 2 и DD 3) и две другие – ОЗУ ( DD 7 и DD 8 ). Память выполнена в виде двух банков с целью передачи как двухбайтовых слов , так и отдельных байтов . Для выбора соответствующего банка используются сигнал BHE (разрешение старшего банка ) и младший разряд адресной шины AB 0 . Разряд шины адреса AB 14 служит для выбора ПЗУ или ОЗУ . Также в качестве управляющих сигналов , задающих направление передачи применяются MEMR и MEMW . Шина управления состоит из четырех сигналов MEMR , MEMW , IOR , IOW , которые формируются на основе сигналов процессора RD , WR , M / IO . В таблице 2.1 показано соответствие основных элементов структурной схемы контроллера используемым микросхемам. Таблица 2.1 – Используемые микросхемы. Обозначение на схеме Микросхема DD1 К 1810 ГФ 84 DD2, DD3 К 556 РТ 16 DD6 К 1810 ВМ 86 DD7, DD8 К 537 РУ 17 DD11, DD12 К 1810 ИР 82 DD13, DD14 К 1810 ВА 86 DD15, DD16 К 580 ВВ 55 DD17 К 1810 ВИ 54 DD18 К 1810 ВН 59А DD27 К 155 ТМ 2 DD28 К 155 ИР 1 DD29 К 155 ИД 3 РАЗРАБОТКА РАБОЧЕЙ ПРОГРАММЫ КОНТРОЛЛЕРА Структура данных В данном проекте фоновым процессом является передача данных . В связи с этим опишем используемые переменные и структуры. К основной структуре можно отнести два массива . Один из них служит буфером приемника и занимает в памяти ячейки с 0000 по 2 FFFh . Указателем в этом массиве служит переменная RecCou nt . Второй массив SendBuf является буфером передатчика . За его заполнением следит отдельная задача , не рассматриваемая в данном проекте . При заполнении этого буфера данными флаг BufReady устанавливается в единичное состояние . Буфер SendBuf имеет размер 255 байт и располагается с адреса 3000 h по адрес 30 FFh . Указателем на очередной элемент буфера служит переменная SendCount . В таблице 3.1 описаны используемые переменные. Таблица 3.1 – Описание используемых переменных Переменная Размер Расположение Описание TimeVar 3 байта 3100 h Переменная хранит время в секундах с начала работы контроллера BufReady 1 байт 3104 h Флаг готовности буфера передатчика RecCount 2 байта 3106h Указатель буфера приемника SendCount 2 байта 3108h Указатель буфера передатчика Sentry 1 байт 310Ah Переменная – точка входа в процедуру передатчика FS 1 байт 310Ch Флаг работы процедуры передатчика (анализируется “службой времени” ) Переменная TimeVar обслуживается счетчиком времени . Ее значение периодически используется для процедурой формирования очередного сообщения. Переменная Sentry необходима для работы однопроходной формы задачи . В ней хранится метка входа в процедуру. Переменная FS является сигнализатором того , что процесс передачи в данный момент активен . В случае “зависания” по этим флагам служба времени определяет конфликтную задачу и отображает ее номер на индикаторе . Счетчик байтов SendCount в процессе передачи сообщения изменяет свое значение от 0 до FF . Схемы алгоритмов процессов в автономной форме Схема алгоритма проце сса самодиагностики в автономной форме показана на рисунке 3.1. Рисунок 3.1 – Автономная форма алгоритма процесса самодиагностики. Процесс самодиагностики инициируется по прерываниям от таймера . Заключается в подсчете контрольной суммы ПЗУ и сравнении ее с известным значением . При несовпадении индикатор готовности гасится и процессор останавливается (вводится в бесконечный цикл ) Схема алгоритма процесса при ема в автономной форме показана на рисунке 3.2. Рисунок 3.2 – Автономная форма алгоритма процесса приема. На рисунках 3.3 и 3.4 более подробно раскрыт состав бло ков “прием символа” и “передача символа”. Рисунок 3.3 – Состав блока “прием символа”. Рисунок 3.4 – Состав блока “передача символа”. Алгоритм приема информации реализует прием пакетов в формате X - Modem . Контроль получаемых сообщений реализуется с помощью подсчета контрольной суммы. На рису нке 3.5 показана схема алгоритма передачи информации . Передатчик начинает работать , если буфер данных заполнен символами . Об этом сигнализирует флаг BufReady . После окончания передачи программа должна снять этот флаг – это служит запросом для процедуры под готовки данных. Рисунок 3.5 – Автономная форма алгоритма процесса передачи. Передача осуществляется порциями по 256 байт . Первые три байта – текущее время в секундах от начала работы контроллера . Задача “службы времени” разбита на две части : Одна из них следит за текущим временем и формирует переменную , содержащую значение времени с момента включения контроллера , а другая часть контролирует отсутствие “зави саний” выполняемых задач. На рисунке 3.6 показаны схемы алгоритмов для обеих частей задачи. Рисунок 3.6 – Автономная форма алгоритмов процессов “службы времени”. Схемы алгоритмов рабочей программы . Фоновый процесс В графической части представлена схема алгоритма процесса передачи в однопроходной форме . По сле размыкания циклов задачи получилось две ветви . Первая – ожидание заполнения буфера данных . Вторая – собственно посылка буфера . За один проход задачи посылается один символ . Выбор ветви осуществляется с помощью переменной Sentry . Обмен информацией идет по стандарту интерфейса ИРПР-М. При посылке байта для соблюдения необходимых временных интервалов формируются паузы не менее 0,5 мкс . При проверке готовности приемника происходит логическое сложение сигналов BUSY и ACKNLG , и если результат равен нулю , выпо лняется отправка одного байта . По окончании передачи всего сообщения флаг готовности буфера сбрасывается. 3.4 Схемы алгоритмов рабочей программы . Подпрограмма обработки прерываний Подпрограмма самодиагностики запускается по прерыванию от таймера . В одноп роходном варианте присутствует три ветви . Первая ветвь пустая . Она выполняется диспетчером , если не возникало прерывания от таймера . Вторая ветвь служит для инициализации счетчика контрольной суммы . Обнуляется переменная – указатель и переменная , запомина ю щая текущее значение КС . В третьей ветви выполняются действия по суммированию содержимого ПЗУ . При достижении конечного адреса происходит сравнение полученного значения контрольной суммы с проверочным . При совпадении процедура устанавливает точку входа на первую ветвь , включает индикатор готовности и заканчивает работу . При ошибке КС индикатор готовности гасится и процессор зацикливается. Текст фрагмента рабочей программы Фрагмент программы , представленный в приложении полностью соответствует описанной выше схеме алгоритма . Программа выполнена в виде самостоятельного модуля . Трансляция проводилась с помощью ассемблера TASM 5.0. Программа состоит из четырех основных частей . В первой части происходит сохранение используемых регистров и опрос переменной , хранящей точку входа в основное тело программы . При этом происходит выбор одной и з ветвей прохода задачи . Вторая часть реализует первую ветвь алгоритма и начинается сметки Е 0. Здесь осуществляется проверка готовности буфера и , при необходимости , изменение точки входа . Третья часть программы реализует вторую ветвь алгоритма . Если прием н ик готов , то выполняется посылка одного байта и изменение счетчика символов . И , наконец , четвертая часть программы (метка EXLABEL ) завершает проход задачи , восстанавливает регистры и передает управление вызвавшей программе.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Очень неприятно, когда парень Лев, а ведёт себя как какой-нибудь Водолей. Никакого уважения к астрологии.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

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

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru