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 относятся: развитая регистровая структура, существенно уменьшающая число обращений к памяти; конвейерный принцип выполнения команд с предварительной выборкой, обеспечивающий максимальную пропускную способность системной магистрали; распределенное микропрограммное устройство управления; мультиплексированная шина адреса-данных; многофункциональное использование выводов, позволяющее адаптировать МП к уровню сложности разрабатываемой системы; способность координировать взаимодействие нескольких процессоров.