Разработка универсального микропроцессорного блока дискретного ввода-вывода для управления испытания

 РАЗРАБОТКА УНИВЕРСАЛЬНОГО МИКРОПРОЦЕССОРНОГО БЛОКА ДИСКРЕТНОГО ВВОДА-ВЫВОДА ДЛЯ УПРАВЛЕНИЯ ИСПЫТАНИЯМИ ЭЛЕКТРОННЫХ УСТРОЙСТВ

Д.А. Баланин, К.Ю. Кирпичёв., Е.С. Неретин

Д.А. Баланин, К.Ю. Кирпичёв., Е.С. Неретин

РАЗРАБОТКА УНИВЕРСАЛЬНОГО МИКРОПРОЦЕССОРНОГО БЛОКА ДИСКРЕТНОГО ВВОДА-ВЫВОДА ДЛЯ УПРАВЛЕНИЯ ИСПЫТАНИЯМИ ЭЛЕКТРОННЫХ УСТРОЙСТВ

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

Разработанный универсальный микропроцессорный блок (УМБ) представляет собой устройство, обеспечивающее управление различными периферийными устройствами, первичную обработку информации и обмен данными с персональным компьютером или другими устройствами,
а, следовательно, может найти широкое применение в управлении различным электрооборудованием. УМБ позволяет осуществлять гибкую настройку
каналов управления и дискретного ввода, а также имеет интуитивно понятный дружественный пользователю интерфейс. Дискретные измерения и управление возможны как в однополярном, так и на биполярном диапазонах.

В результате проведенного анализа УМБ был спроектирован по классической схеме «вычислитель + устройства ввода-вывода + коммуникации».

Основным процессорным элементом выбран 8-разрядный однокристальный микроконтроллер RISC-архитектуры ATmega128 производства фирмы Atmel, выполняющий 16 млн. операций в секунду при тактовой частоте 16 МГц, что соответствует производительности, приближающейся к
1 MIPS на 1 MГц.

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

Подсистема ввода-вывода контроллера УМБ обеспечивает каналы дискретных вводов с напряжением коммутации до +27 В (12 шт.), каналы дискретного ввода ТТЛ/КМОП (4 шт.), дискретные выводы с напряжением коммутации до +27 В (12 шт.), дискретные выводы управляющих сигналов ТТЛ уровня (14 шт.).

Т.к. преимущественно УМБ предполагается использовать в системах управления авиационным и космическим оборудованием, то разработанный для УМБ блок питания выдает 4 основных напряжения питания с защитой
от перегрузок и короткого замыкания:

●  +5 В (максимальный выходной ток 1 А) для питания цифровой части УМБ;

●  +27 В (максимальный выходной ток 11 А) для реализации управляющих релейных команд авиационных и космических устройств;

●  ±28 В (максимальный выходной ток, 2,2 А), обеспечивающей напряжение бортовой сети спутников.

По функциональному назначению в УМБ можно выделить три части: управляющая, коммуникационная и узел программирования и отладки.

Рис. 1. Функциональная схема УМБ.

Силовой частью схемы блока являются ключи, выполненные
на КМОП-транзисторах с малым сопротивлением канала в открытом состоянии, что обеспечивает меньшее падение мощности на ключах по сравнению
с биполярными транзисторами.

Максимальное напряжение коммутации составляет +28 В, максимальный ток коммутации 4 А.

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

Таким образом, все каналы управления и каналы дискретных входов
с напряжением +27 В, ±28 В оптически изолированных от микроконтроллера, а для непосредственной работы с микроконтроллером выделяется специальная шина питания +5 В.

Для управления также используется встроенный в микроконтроллер АТmega128 10-разрядный 2-канальный ШИМ-генератор, построенный
на реверсивных счётчиках. Соотношение между длительностью импульса
и длительность паузы задается числом в диапазоне 0…1023, записываемым
в соответствующий регистр микроконтроллера АТmega128.

Для изменения значения регистра, определяющего соотношение между длительностью импульса и длительность паузы, в протоколе обмена данными УМБ предусмотрена команда, позволяющая менять значение ШИМ.

Подсистема ввода-вывода УМБ обеспечивает каналы дискретного
ввода ТТЛ/КМОП (4 шт.), каналы дискретного вывода ТТЛ (14 шт.), каналы дискретного вывода с напряжением коммутации до +28 В (12 шт.).

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

Коммуникационная часть схемы используется для обмена информацией с другими устройствами, в которой используется универсальный синхронный/асинхронный приемо-передатчик (УСАПП), встроенный в микроконтроллер ATmega128 (асинхронный режим).

Для сопряжения УМБ с другими устройствами интерфейс УСАПП преобразуется в интерфейс RS-232С, реализованный с помощью микросхемы-драйвера ADM202 производства фирмы ANALOG DEVICES. По умолчанию установлена скорость передачи данных 115200 бод.

Для обмена данными и управления используется открытый документированный протокол типа «запрос-ответ» с подтверждением и контролем корректности передаваемой информации. Протокол содержит команды управления состоянием выходных каналов, чтения входных каналов, однократного или непрерывного чтения результатов измерений, управления ШИМ-генератором, получения статусной и диагностической информации, а также конфигурации всех элементов УМБ.

Узел программирования и отладки Программирование микроконтроллера ATmega128 осуществляется при помощи программатора AS-2M компании Argussoft через интерфейс SPI или при помощи программатора, входящего в состав AVR JTAG ICE через интерфейс JTAG.

Отладка программы для микроконтроллера ATmega128 может осуществляться при помощи среды программирования и отладки AVR Studio как на стадии программирования в режиме программной эмуляции микроконтроллера, так и в режиме реальной работы программы в микроконтроллере при помощи подключения к нему отладочных модулей AVR JTAGICE или AVR JTAGICE mkII.

Программное обеспечение для УМБ представляет собой последовательную схему взаимодействия компонентов (рис. 2). В зависимости от применения, структурная схема может модифицироваться.

Рис. 2. Схема взаимодействия компонентов ПО.

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

Для разработки программно-математического обеспечения верхнего уровня использовались среда программирования Delphi 7.0 для реализации протокола обмена с УМБ и среда разработки Wonderware SCADA-Intouch для создания графического интерфейса управления УМБ. Для разработки программно-математического обеспечения нижнего уровня для расположенного на УМБ микроконтроллера ATmega128 использовался язык программирования С++ в среде ImageCraft IDE for ICCAVR v.7.

Разрабатанное программно-математическое обеспечение имеет внутренние средства тестирования и управления системой; хранит
набор настроек для микроконтроллера, ШИМ-регулятора, каналов
ввода/вывода; отображает полученные результаты на экране в виде графиков; осуществляет экспорт полученных результатов в другие приложения (например,
Microsoft Excel).

Тестирование представленного программного обеспечения подтвердило его работоспособность и эффективность.

Разработанное устройство используется в ОАО «Концерн радиостроения «Вега» в автоматизированном рабочем месте тестирования разрабатываемых приборов задержки сигналов для использования в радиолокаторах с синтезируемой апертурой авиационных и космических летательных аппаратах, где УМБ выступает в роли имитатора сигналов управления и питания. УМБ создает управляющие сигналы ТТЛ уровня (основной и резервный каналы) для управления встроенным в прибор задержки сигналов управляемым высокочастотным аттенюатором, а также выдает релейные команды для переключения СВЧ-коммутатора между каналами фазированной антенной решетки радиолокатора.

С использованием УМБ поставлены две лабораторные работы в экспериментальной учебной лаборатории «Электрические измерения неэлектрических величин» на кафедре 303 Московского Авиационного Института:
«
Построение микропроцессорных управляющих устройств на базе микроконтроллеров RISC-архитектуры» и «Методы и технические средства определения давления».

Составными частями УМБ являются элементы, входящие в состав большого количества устройств, а, следовательно, он может являться отладочным набором для освоения принципов работы микроконтроллеров, Flash-памяти, усилительных транзисторных каскадов, гальванических развязок, интерфейсов JTAG, SPI, RS-232С, Ethernet и др., а также основами управления и обмена данными с периферийными устройствами.

Список использованных источников:

1.  Егоров А.А., Осипов В.Г., Соловьев С.Ю. Программирование микроконтроллеров семейства AVR: Учебное пособие. – М.: Изд-во МАИ, 2005. – 80 с.

2.      Неретин Е.С., Чубаров О.Ю. Лаборатория методов и технических средств изучения неэлектрических величин // Сборник статей V Межрегиональной научно-практической конференции студентов и аспирантов «Инновационные технологии в экономике, информатике и медицине». – Пенза: ПГТА, 2008. – с. 99-102.

3. Каган Б.М., Сташин В.В. Основы проектирования микропроцессорных устройств автоматики. – М.: Энерго