Проблема может быть решена за счет использования в качестве БМВВ аппаратных средств ВВК [13-15]. ВВК построенный на основе открытой архитектуры, а его технических возможностей довольно для удовлетворения требований лабораторного практикума, стоимость значительно низшая. В отличие от готовых решений, ПО ВВК легко может быть приспособленное к использование во ВЛ. ВВК использует аппаратные возможности учебно-отладочного стенда "AVR-Microlab".
Аппаратное обеспечение изображено на рисунке 2.
Рисунок 2 - Архитектура аппаратного обеспечения ВЛ
Таким образом, использование двух учебно-отладочных стендов дает возможность реализовать лабораторный практикум в полном объеме. Аппаратное обеспечение может быть легко подсоединено ко всем современным ПК через интерфейс USB.
Рассмотрим открытую архитектуру ПО (рисунок 3). Открытость достигается за счет введения в структуру ВЛ адаптеров, которые свободно могут прибавляться к ВЛ, подключаться к шине сообщений (это можно реализовать через ПО администрирование).
ВЛ с открытой архитектурой состоит из следующих компонентов:
Ядро - центральный компонент ВЛ, основной задачей которого являются предоставления компонентам системы набора сервисов, необходимых для реализации;
Шина сообщений - обеспечивает интерфейс взаимодействия компонент ВЛ;
Адаптеры ВЛ - реализуют зависимые от типа ВЛ операции взаимодействия с native-службами операционной системы (или систем) и физическими ресурсами за специальными протоколами;
Клиентское ПО - web-интерфейс пользователя; ПО складывается из 2 частей - общей оболочки и реализации клиентских частей протоколов взаимодействия с ресурсами ВЛ;
Программное обеспечение администрирования - программа, которая разрешает централизованно руководить одним или несколькими серверами ВЛ.
Рисунок 3 - Открытая архитектура программного обеспечения ВЛ
Как видим взаимодействие " человек-оборудование" в ВЛ нуждается в реализации клиент-серверной системы. Сервер должен руководить оборудованием. Также нужно выполнять визуализацию на стороне клиента. Эти задачи выполняет ПО.
Технологии программирования, которые используются при создании ПО ВЛ, должны удовлетворять следующим требованиям:
иметь возможности реализации клиент-серверной системы;
иметь возможность работы с аппаратными ресурсами серверного ПК, к которым подсоединено другое оборудование;
иметь возможность графического вывода на стороне клиента.
Остановимся на первом критерии. Клиент - Серверную систему можно построить двумя способами:
прямая коммуникация между клиентом и сервером (рисунок 4)
коммуникация между клиентом и сервером на основе идеологии Web
Рисунок 4 - Прямая коммуникация между клиентом и сервером
Эту задачу можно реализовать с помощью Trac - инструмент управления проектами и отслеживания ошибок в программном обеспечении.
Trac является открытым программным обеспечением, разработанным и поддерживаемым компанией Edgewall Software.
Trac использует минималистичный веб-интерфейс, основанный на технологии wiki, и позволяет организовать перекрёстные гиперссылки между базой данных зарегистрированных ошибок, системой управления версиями и wiki-страницами. Это даёт возможность использовать Trac в том числе и как веб-интерфейс для доступа к ВЛ
Основой для Trac'а является SVN репозиторий. Один из самых распространенных методов использования TRAC
Рисунок 5 - Работа Trac
Также возможны и другие способы, например без Apache - Trac будет работать как standalone сервер. Можно еще подключить LDAP для аутентификации. Работа с системой ведется через веб-интерфейс. Для входа нужен логин и пароль. Основные элементы интерфейса:
Рисунок 6 - Интерфейс системы Trac
Основные функции.
Управление проектом:
разделение проекта на этапы (milestones)
контроль выполнения (roadmap)
все изменения по проекту заносятся на временную шкалу (timeline)
поддержка rss
Tickets Стандартная функциональность - учет ошибок, замечаний, пожеланий с возможностью фильтрации и занесение соответсвенно в milestone, roadmap.
Я так же использую в качестве ToDo. Достаточно просто и удобно.
Просмотр репозитория Достаточно удобный модуль по просмотру Subversion репозитория проекта. Позволяет просматривать исходный код с учетом ревизии, а также изменений.
Функциональность может быть расширена за счет дополнительных модулей.
Управление пользователями Простая система - что могут делать пользователи, а что нет.
WiKi В trac встроена система WiKi с возможностью делать ссылки на milestone, roadmap, ticket. Органично вписывается и удобна в использовании при ведении проекта.
TRAС может быть легко использованная для реализации взаимодействия клиентов с сервером. Именно таким образом мы можем записывать данные на сервер для заявления о желании работать с аппаратурой и получать результат работы. При этом мы можем выполнять асинхронные действия - запрос может быть разбит на части и передаваться по мере поступления информации для него, что очень актуально на стадии настройки любой системы.
Клиентскую часть виртуального комплекса и исходники лабораторных работ, методические пособия, дополнительная справочная литература можно загрузить в систему контроля версий Subversion и постоянно их обновлять в процессе работы. Работа ведется через клиентскую программу Tortoise SVN. Репозиторий (хранилище) исходников находится на сервере и связан со средой Trac. Пользователи скачивают исходники в свою папку на локальной машине, где будет находится рабочая версия исходников, файлы которых они могут менять, добавлять и удалять. После того, как добавлена и проверена некоторая законченная функциональность, необходимо обновить версию исходников на сервере. В этот момент может произойти интеграция результатов работы последних результатов с более ранними).
Среда Trac позволяет выполнить требования к организации учебного материала и всей системы дистанционного обучения, разрешает обеспечить совместимость компонентов и возможность их многократного использования. обеспечить доставку необходимых ресурсов пользователю,, слежку и обработку информации о действиях лица, которое учится. Может быть организована навигация и соответствующее представление компонентов учебного материала в зависимости от действий лица, которое учится.
Система Trac дает возможность быстро создать систему нужной функциональности. Останется лишь запрограммировать специфические функции.
Система Trac разрешает создать систему дистанционного образования, в частности существует:
Возможность создания информационного архива с учебными материалами;
Возможность создания системы дистанционного образования по одновременной поддержкой нескольких курсов (каждый курс должен содержать теоретическую часть, практическую часть и контроль знаний);
Возможность создания контроля знаний и разного рода тестирований;
Возможность информирования студентов о тех или другие события, мероприятия;
Возможность оставлять личные вопросы преподавателю во время, отличное от лабораторных занятий.
Для реализации ГСПФ необходимы такие аппаратные ресурсы как порты вода/вывода микроконтролера, память данных и память программ микроконтролера.
Для реализации генератора сигналов произвольной формы используется блок цифр-аналогового преобразователя, построенного на ИМС DA3 типа TLC5615 фирмы Texas Instruments, что представляет собой десятирозрядний ЦАП с последовательным SPI - интерфейсом, выведенным на порт "B" контролера. Таким образом, употребятся разряды 4-7 порта В. Фильтр исходного сигнала первого порядка организуется с помощью модуля блока исходных ключей, в состав которого входят 2 RC фильтры НЧ для фильтрации исходных сигналов микроконтроллера. Они подключаются к выходам 4-5 порта С.
Рисунок 7 - Функциональная схема ГСПФ
Структурная схема распределения ресурсов микроконтроллера на рис.8
Рисунок 8 - Схема распределения ресурсов МК
Протокол обмена данными между ПК и стендом
Для реализации передачи данных от ПК к стенду и в обратном направлении определен протокол запросов и ответов. Их структура представлена в табл 1.
ъ | |||||
к МК | "Старт" | "Стоп" | |||
код ГС | код ГС | ||||
старт | стоп | ||||
частота | |||||
тип генерации | |||||
объем данных | |||||
дані (256 b) | |||||
К ПК | Ответ | ||||
код ГС | |||||
0 | |||||
Рассматривается создание еще одного типа ВП - Виртуального генератора сигналов произвольных форм и открытой архитектуры ВВК. Открытость архитектуры ВВК - это возможность расширять номенклатуру ВП без переработки существующего аппаратного и программного обеспечения.
На аппаратном уровне это автоматически обеспечивается архитектурой ПК, которая разрешает подключать к последнему большое количество разнообразных периферийных устройств с помощью разных типов унифицированных интерфейсов.