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

20



Міністерство освіти і науки України

Національний технічний університет

"Харківський політехнічний інститут"



















Реферат науково-дослідницькой роботи магістра

Розробка та відлагодження програмного забезпечення (ПЗ) вiртуальноï лабораторiï "Програмування мiкроконтролерних систем".







Виконала:

студ. групи xxxxx

xxxxxxxxx.

Науковий керiвник

підготовки магістра

проф. xxxxxxxxxxx









Харків 2008


Содержание



Введение

1. Концепция построения виртуальной лаборатории “Программирование микроконтроллерных систем"

1.1 Разработка концепции построения виртуальной лаборатории

1.2 Принцип построения лабораторного практикума

1.2.1 Концепция построения лабораторного практикума

1.2.2 Структура лабораторных работ

1.3 Архитектура аппаратного обеспечения ВЛ

1.4 Архитектура ПО ВЛ "Программирование икроконтроллерных систем"

2. Реализация ГСПФ на основе програмно-отладочного стенда „AVR MicroLAB"

2.1 Аппартные способы реализации ГСПФ

2.2 Программные средства для реализации ГСПФ

Выводы

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




Введение



Подготовка специалистов для проектирования и эксплуатации автоматизированных систем измерений, испытаний и управления требует организации лабораторных практикумов, позволяющих изучать компоненты этих систем, приобретать соответствующие практические навыки. Огромная, непрерывно обновляющаяся номенклатура средств автоматизации и инструментария для интеграции их в системы ставит перед техническими вузами практически неразрешимые проблемы внедрения методик ускоренного обучения и постоянного совершенствования лабораторной базы. Создание современных учебных лабораторий требует значительных финансовых затрат на приобретение технических средств, поддержание их в работоспособном состоянии, разработку методических материалов. Более перспективным представляется создание хорошо оснащённых центров коллективного пользования с возможностью удалённого доступа через глобальную информационную сеть. Известные примеры таких центров, называемых также Web лабораториями, базируются, как правило, на программных симуляторах, реализованных на Java, или на технологии виртуальных инструментов, содержащих встроенный Web_сервер. При разработке Web лаборатории "Микроконтроллеры и сигнальные процессоры" наряду с виртуальными инструментами использованы и другие технологии, что обеспечило возможность организации удалённого эксперимента на реальном оборудовании при снижении требований к качеству каналов связи. Известно, что дисциплина "Проектирование микропроцессорных систем" с учётом её аналогов с несколько иными названиями является одной из самых распространённых в технических вузах, и на примере этой дисциплины наглядно проявляются проблемы и перспективы дистанционного образования.


1. Концепция построения виртуальной лаборатории “Программирование микроконтроллерных систем"



1.1 Разработка концепции построения виртуальной лаборатории



"Программирование микроконтроллерных систем”.

Нас интересует ВЛ “Программирование микроконтроллерных систем”. Это виртуальная учебная лаборатория, которая поможет, во-первых, в создании на специальном лабораторном стенде микроконтроллерного устройства, во-вторых, в создании ПО для него, в-третьих, в программировании микроконтроллерного устройства, в-четвертых, в проведении исследования работы микроконтроллерного устройства (в многопользовательском режиме) и отладки ПЗ, в-пятых, в отображении процесса работы и отладки с помощью графического интерфейса ВЛ.

С того, что ВЛ, которая проектируется, является учебной, выплывают дополнительные требования относительно процесса учебы. В частности, на всех этапах учебного процесса должна обеспечиваться поддержка учебы (это отображено на рис.1).





Рис.1. ВЛ как учебный мультимедиа-комплекс.



Исходя из заданий, которые перед нами стоят, из требований, которые ставятся перед нами, можно однозначно определить концепцию построения вышеуказанной ВЛ:

максимальное использование современных возможностей ЕОТ и применение последних разработок в сфере информационных технологий (ІТ);

выполнение производственно-экономических требований к разработкам - снижение материально-технических затрат на приобретение и эксплуатацию;

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

развитой, понятный и адекватный (поведение максимально приближено к реальной, что является чрезвычайно важным) интерфейс пользователя, что должно способствовать правильному восприятию фактов и правильному их осмыслению;

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

наличие инструкций по выполнению работ;

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

наличие вопросов и фактов, на которые следует обратить особенное внимание;

пользователь должен иметь возможность использовать при работе с ВЛ современные пакеты автоматизации инженерного труда в заданной предметной области (интеграция с существующими популярными пакетами САПР).


1.2 Принцип построения лабораторного практикума



1.2.1 Концепция построения лабораторного практикума

Предлагается следующая концепция построения нового лабораторного практикума:

1. Сначала используется ряд лабораторных работ, связанных с обретением практических привычек программирования внутренней структуры МК и основных периферийных устройств, которые входят в его состав (порты ввода\вывода, память данных, таймеры-счетчики, система прерываний и т.п.).

2. На втором уровне обучения разрабатываются простые микроконтроллерные устройства с использованием некоторых внешних устройств (клавиатуры, разнообразных индикаторов, цифро-аналоговых преобразователей и других датчиков входных сигналов). Эти периферийные устройства могут входить в состав учебно-отладочных стендов или находиться извне. При этом должны применяться также программные модули, разработанные и отлаженные на предыдущем уровне обучения.

3. На третьем уровне обучения разрабатываются более сложные микроконтроллерные устройства и системы с участием персональных компьютеров (например, виртуальные измерительные устройства).

4. Отладка микроконтроллерных устройств на втором и третьем этапах обучения практически невозможна без использования измерительных приборов (генераторов сигналов, осциллографов, логических анализаторов, и других), в качестве таких с успехом могут использоваться виртуальные приборы на основе ПК.

5. Аппаратные и программное средства ЛП должны разрешать студенту использовать для разработки микроконтроллерных пристроил разные типы МК (AVR, PIC или MCS-51).

6. Лабораторный практикум должен разрешать выполнение задач в дистанционном режиме. Это снова же таки диктует необходимость использования в структуре аппаратных средств виртуальных приборов, которые будут доступными пользователю (студенту). При этом также необходимо организовать работу пользователя с методическими материалами, аппаратными и программными средствами. А это в свою очередь требует наличие простого и наглядного графического интерфейса ЛП.



1.2.2 Структура лабораторных работ

Лабораторные работы составленные блочно-иерархичным подходом. Согласно которому, первые лабораторные работы которые стоят на низшей иерархической степени, самые малые за сложностью и объемом. Они включают у себя работу по одним периферийным прибором МК. Так возможно больше углубить знание путем детального рассматривания отдельной задачи. На следующей степени рассматриваются задачи с дополнительными задачами, которые нуждаются в, готовые уже на предыдущем этапе, алгоритмы и решения, а те в свою очередь представляют фундамент для следующего иерархического уровня. Так до тех пор, пока не реализуется задача сконструировать некоторый многофункциональный микроконтроллерный прибор или систему.



1.3 Архитектура аппаратного обеспечения ВЛ



Учебно-отладочные стенды "AVR-Microlab" разрешают выполнять весь список лабораторных работ по лабораторному практикуму, имеют малую стоимость и имеют возможность использовать МК не только фирмы Atmel, а и Microchip (при условии небольшой заделы). Объект исследования ВЛ использует "AVR-Microlab". На основе этого стенда строятся микроконтроллерные устройства и МКС. Стенд построен по блочно-модульному принципу, поддерживает интерфейсы USB и RS232. Важным плюсом является возможность использования USB.

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

Анализ существующих аналогов ВЛ показывает, что объект исследования соединяется с ПК через посредничество многофункционального модулю ввода/вывода (БМВВ), которым может быть готовый контролер, сигнальный процессор или устройство собственной разработки. Модуль выполняет управление объектом за счет вывода и считывает состояние объекту за счет ввода. Важным недостатком готовых решений для таких модулей есть их стоимость.

Проблема может быть решена за счет использования в качестве БМВВ аппаратных средств ВВК [13-15]. ВВК построенный на основе открытой архитектуры, а его технических возможностей довольно для удовлетворения требований лабораторного практикума, стоимость значительно низшая. В отличие от готовых решений, ПО ВВК легко может быть приспособленное к использование во ВЛ. ВВК использует аппаратные возможности учебно-отладочного стенда "AVR-Microlab".

Аппаратное обеспечение изображено на рисунке 2.



Серверный ПК

Учебно-

отладочный стенд №1

Учебно-

Отладочный стенд №2

ПМ

ПРМ1

МЗІ

ПРМ2

МВ

ПМ

ПРМ1

МЗІ

ПРМ2

МВ

Объектный модуль

ВВК

RS232

USB/RS232

USB/RS232

П

П – программатор; 				ПМ – процессорный модуль;

МВ – модуль ввода; 			МВВ – модуль вывода;

МЗІ – модуль внешних интерфейсов;	ПРМ1, ПРМ2 – переферийные модули

П

МВВ

МВВ

Рисунок 2 - Архитектура аппаратного обеспечения ВЛ



Таким образом, использование двух учебно-отладочных стендов дает возможность реализовать лабораторный практикум в полном объеме. Аппаратное обеспечение может быть легко подсоединено ко всем современным ПК через интерфейс USB.


1.4 Архитектура ПО ВЛ "Программирование икроконтроллерных систем"



Рассмотрим открытую архитектуру ПО (рисунок 3). Открытость достигается за счет введения в структуру ВЛ адаптеров, которые свободно могут прибавляться к ВЛ, подключаться к шине сообщений (это можно реализовать через ПО администрирование).

ВЛ с открытой архитектурой состоит из следующих компонентов:

Ядро - центральный компонент ВЛ, основной задачей которого являются предоставления компонентам системы набора сервисов, необходимых для реализации;

Шина сообщений - обеспечивает интерфейс взаимодействия компонент ВЛ;

Адаптеры ВЛ - реализуют зависимые от типа ВЛ операции взаимодействия с native-службами операционной системы (или систем) и физическими ресурсами за специальными протоколами;

Клиентское ПО - web-интерфейс пользователя; ПО складывается из 2 частей - общей оболочки и реализации клиентских частей протоколов взаимодействия с ресурсами ВЛ;

Программное обеспечение администрирования - программа, которая разрешает централизованно руководить одним или несколькими серверами ВЛ.



Web-интерфейс

пользователя

1

2

N

Шина сообщений

Ядро ВЛ

Адаптер 1

Адаптер N

Клиентское ПО

ПЗОадминистрирования

База

данных

Реализация протоколов взаимодействия с разными ресурсами ВЛ

Централизованное управление ресурсами сервера ВЛ

Рабочее место адміністратора



Управление сессиями

Управление адаптерами

Управление шиной сообщений

Управление потоком заявок на обслуживание



Взаимодействие с ОС

Взаимодействие с аппартными ресурсами ВЛ

Ресурсы ВЛ

…

…

Рисунок 3 - Открытая архитектура программного обеспечения ВЛ



Как видим взаимодействие " человек-оборудование" в ВЛ нуждается в реализации клиент-серверной системы. Сервер должен руководить оборудованием. Также нужно выполнять визуализацию на стороне клиента. Эти задачи выполняет ПО.

Технологии программирования, которые используются при создании ПО ВЛ, должны удовлетворять следующим требованиям:

иметь возможности реализации клиент-серверной системы;

иметь возможность работы с аппаратными ресурсами серверного ПК, к которым подсоединено другое оборудование;

иметь возможность графического вывода на стороне клиента.

Остановимся на первом критерии. Клиент - Серверную систему можно построить двумя способами:

прямая коммуникация между клиентом и сервером (рисунок 4)

коммуникация между клиентом и сервером на основе идеологии Web 





ПК Клиент

ПК Сервер

Клиєнтськое ПО

ПК Клиент

Клієнтське ПЗ

Серверне ПЗ

Сеть

Двійкові дані

Текст

XML

Рисунок 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 разрешает создать систему дистанционного образования, в частности существует:

Возможность создания информационного архива с учебными материалами;

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

Возможность создания контроля знаний и разного рода тестирований;

Возможность информирования студентов о тех или другие события, мероприятия;

Возможность оставлять личные вопросы преподавателю во время, отличное от лабораторных занятий.




2. Реализация ГСПФ на основе програмно-отладочного стенда „AVR MicroLAB"



2.1 Аппартные способы реализации ГСПФ



Для реализации ГСПФ необходимы такие аппаратные ресурсы как порты вода/вывода микроконтролера, память данных и память программ микроконтролера.

Для реализации генератора сигналов произвольной формы используется блок цифр-аналогового преобразователя, построенного на ИМС DA3 типа TLC5615 фирмы Texas Instruments, что представляет собой десятирозрядний ЦАП с последовательным SPI - интерфейсом, выведенным на порт "B" контролера. Таким образом, употребятся разряды 4-7 порта В. Фильтр исходного сигнала первого порядка организуется с помощью модуля блока исходных ключей, в состав которого входят 2 RC фильтры НЧ для фильтрации исходных сигналов микроконтроллера. Они подключаются к выходам 4-5 порта С.





Рисунок 7 - Функциональная схема ГСПФ



Структурная схема распределения ресурсов микроконтроллера на рис.8




Рисунок 8 - Схема распределения ресурсов МК



Протокол обмена данными между ПК и стендом

Для реализации передачи данных от ПК к стенду и в обратном направлении определен протокол запросов и ответов. Их структура представлена в табл 1.



ъ

к МК

 

"Старт"

 

 

"Стоп"

 



код ГС



 

код ГС

 



старт



 

стоп

 



частота



 



 



тип генерации



 



 



объем данных



 



 



дані (256 b) 



 



 







 



 







 



К ПК

 

Ответ

 

 

 

 



код ГС



 



 



0



 



 

 

 

 

 

 




2.2 Программные средства для реализации ГСПФ



Рассматривается создание еще одного типа ВП - Виртуального генератора сигналов произвольных форм и открытой архитектуры ВВК. Открытость архитектуры ВВК - это возможность расширять номенклатуру ВП без переработки существующего аппаратного и программного обеспечения.

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

На программном уровне это обеспечивается за счет блочно-модульного принципа построения программного обеспечения ПК.

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

1) программного обеспечения ПК, которое состоит из программы интерфейса пользователя и драйверной части подключения устройства;

2) программного обеспечения микроконтроллера.

С помощью интерфейса ГСПФ, можно выполнять следующие действия:

Выбор сигнала стандартной формы:

а) прямоугольной; 

б) синусоидальной; 

в) треугольной; 

г) экспоненциальной.

Выбор сигнала произвольной формы.

Изменение параметров сигнала:

а) амплитуды; б) частоты; в) скважности; г) постоянного смещения.

Задача режимов работы: разовый или автоматический.

Запуск процессу генерации.

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

Структура интерфейса пользователя

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

Структура программы ГСПФ





Формирование и передача настроек пользователя в МК

Работа з СОМ - портом

Подача байтов на МК

(управляющие и сигнал)

Визуализация графиком сигналов, что подаются

Задание пользователем параметров сиганала

Задание пользователем формы сигнала

Генерация сигналов 

МК-ром

ВГСПФ

Выходные сигналы

УБРисунок 9 - Структура программы ГСПФ



Структура и функции ПО:

Задание формы сигнала:

Выбор из стандартных форм сигналов (синус, прямоугольный, треугольный, экспоненциальный);

Задание пользователем произвольной формы сигнала:

Функциональное задание;

Графическая задача.

Установление параметров сигналов:

Амплитуда;

Уровень (смещение);

Скважность.

Выбор типа генерации сигнала:

Разовая генерация;

Автоматическая генерация.

Отображение сигнала, который задается.

Инициализация COM-Порта.

Принятие/передача данных с COM-Порта.

При выборе из главного окна ВВК прибора "Генератор сигналов" появляется следующее окно, которое отображает элементы управления работой прибора:





Рисунок 10 - Окно виртуального генератора сигналов


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

Внешний вид окна генератора сигналов в режиме проверки изображен на рис.11.





Рисунок 11 - Внешний вид окна генератора сигналов в режиме проверки




Выводы



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

В предложенной концепции ВЛ “Программирование микроконтроллерных систем” создание среды для работы и обмена результатами достигается с помощью использования существующих клиент-серверных решений на базе системы Trac. Это разрешает быстро создать систему нужной функциональности. Останется лишь запрограммировать специфические функции.

Система Trac разрешает создать систему дистанционного образования, в частности существует:

Возможность создания информационного архива с учебными материалами;

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

Возможность создания контроля знаний и разного рода тестирований;

Возможность информирования студентов о тех или другие события, мероприятия;

Возможность оставлять личные вопросы преподавателю во время, отличное от лабораторных занятий.


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



http://www.renesasinteractive.com.

http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/en/universityprogram. htm - Silicon Labs MCUniversity Program

http://www.ni.com, http://sine. ni.com/nips/cds/view/p/lang/en/nid/202707 - NATIONAL INSTRUMENTS EDUCATIONAL LABORATORY VIRTUAL INSTRUMENTATION SUITE (ELVIS), Freescale HCS12 microcontroller TeachingPlatform

http://faksu. vstu.vinnica.ua/SiteNEV/rus/virt_lab/defaults.html - Виртуальная лаборатория из электроники Винницкого государственного технического университета, Факультет авиационных и космических систем

http://iit.ntu-kpi.kiev. ua/LDSP1/ru/index.html, - Виртуальная лаборатория цифровой обработки сигналов НТУУ КПИ, Кафедра Информационно-измерительной техники (http://iit.ntu-kpi. kiev.ua/iit/index.html)

http://udec. ntu-kpi. kiev. ua/, http://www.ntu-kpi.kiev. ua/ru/education/udec.html - Украинский институт информационных технологий в образовании НТУУ "КПИ" (УИИТО)

http://www.ucv-lab.n-sk.ru - Виртуальная лаборатория Новосибирского государственного технического университета? CV-Lab "Микроконтроллеры и сигнальные процессоры".

http://www.ce.cctpu. edu.ru/msclub/VirtualLab - Виртуальная лаборатория MICROVIEW-R Томского государственного университета "Программирование микроконтроллеров".

Скороделов В.В., Шершнев А.А., Виртуальный генератор сигналов произвольной формы // Вестник НТУ "ХПИ". Сборник научных трудов. Тем. вып. "Автоматика и приборостроение" - Харьков, НТУ "ХПИ". - 2001. - № 4-с.101-105.

Скороделов В.В., Шершнев А.А., Виртуальный измеритель частоты и генератор сигналов на основе персонального компьютера // Вестник НТУ "ХПИ". Сборник научных трудов. Тем. вып. "Автоматика и приборостроение" - Харьков, НТУ "ХПИ". - 2002. - № 18-с.119-122.

Скороделов В.В., Крашенникова В.В., Создание виртуальных измерительных комплексов на основе персональных компьютеров // Вестник НТУ "ХПИ". Сборник научных трудов.

http://www.vl-e. nl/ - сайт разработчиков методологии виртуальных лабораторий

ГОСТ 12.1 005-88* ССБТ. Общие санитарно-гигиенические требования к воздуху рабочей зоны. - Введ.01.01.89.

ГОСТ 14254-80. Изделия электротехнические. Оболочки. Степень защиты. Обозначения. Методы испытаний. (СТ-СЭВ 778-77).

ГОСТ 12.1 004-91* ССБТ. Пожарная безопасность. Общие требования. Введ.01.07.92.