Міністерство освіти і науки України
Національний технічний університет
«Харківський політехнічний інститут»
Реферат
за темою:
«Розробка та відлагодження програмного забезпечення віртуальної лабораторії на базі програмно-відладочного стенду
«AVR MicroLAB»
»
Виконала: студентка гр.xxxxxx
xxxxxxx.
Перевірив: проф. xxxxxxx.
Харків 2008
ЗМІСТ
Постановка проблеми
Мета роботи
1. Основні задачі проектування ВЛ «Програмування мікроконтролерних систем»
2. Особливості побудови ВВК з відкритою архітектурою на основі ПК
2.1. Концепція побудови ВВК з відкритою архітектурою
2.2 Задачі, що необхідно вирішувати при розробці ВВК
2.3 Достоїнства використання відкритої архітектури програмного забезпечення ВВК
3. Існуючи методи побудови ВП
4. Особливості реалізації ВВК з відкритою архітектурою при проведенні лабораторно-практичних робіт у процесі навчання основам проектування й програмування мікроконтролерних пристроїв і систем.
4.1. Концепція побудови лабораторного практикуму
4.2. Структура лабораторних робіт
4.3. Прилади, необхідні для виконання лабораторних робіт
4.4. Архітектура апаратного забезпечення ВЛ
5. Реалізація ВВК на основі програмно-відлагоджувального стенда „AVR MicroLAB”
5.1. Апаратні засоби для реалізації ВВК
5.2. Протокол обміну даними між ПК та стендом
5.3. Програмні засоби для реалізації віртуального вимірювального комплексу
5.4. Програмні засоби для осцилографа
6. Результати розробки та відлагодження програмного забезпечення віртуальної лабораторії на базі програмно-відладочного стенду «AVR MicroLAB»
6.1. Відлагодження розробленого протоколу обміну даними між ПК та СК віртуального вимірювального комплекса
6.2. Відлагодження клієнтської частини приладу «Осцилограф» віртуального вимірювального комплекса
Висновки
Список літератури
Постановка проблеми
Аналіз сучасного стану вимірювальних приладів, пристроїв діагностики та контролю, що використовуються під час відлагодження та випробуваннях апаратних засобів обчислювальної техніки, мікропроцесорних та радіотехнічних систем різноманітного призначення показує, що їх розвиток та вдосконалення іде двома шляхами:
Перший шлях – подальше вдосконалення таких пристроїв у традиційному приладному виконанні;
Другий – використання технології віртуальних приладів (ВП) при створенні різного роду вимірювальних пристроїв (цифрових вольтметрів, мультиметрів, осцилографів, генераторів сигналу, вимірювачів частоти), засобів технічної діагностики та контролю (аналізаторів спектру, генераторів сигналів довільної форми, логічних та сигнатурних аналізаторів) зараз отримує все більш широке використання.
Така технологія дозволяє реалізовувати засоби контролю та діагностики будь-якого призначення та складності.
Безперервне розширення області використання віртуальних приладів, поява нових технологій для створення апаратних та програмних засобів, необхідність отримання різних функціональних можливостей та характеристик ВП призводить до необхідності нових досліджень та розробок в цій області.
Метою даної роботи є спроба створення відкритої архітектури віртуального вимірювального комплексу, що дозволяє достатньо просто інтегрувати до його структури різні ВП, як існуючі, так і ті, що розробляються.
Віртуальна лабораторія (ВЛ) є електронним середовищем, яке дозволяє віддалену співпрацю чи творчу діяльність з метою отримання та обміном результатами по відкритим каналам комунікації.
Комунікаційні інструменти ВЛ поділяються на наступні три класи:
1) «людина-людина, що означає призначення засобів для спілкування учасників ВЛ;
2) «людина-обладнання», що означає призначення засобів для роботи з обладнанням;
3) «людина-метамашина», що означає призначення засобів для роботи з кластерами (системи з великою кількістю віддаленого обладнання, що керується суперкомп’ютером) та моделюючими середовищами (системи, що моделюють складні процеси на суперкомп’ютерах).
Віртуальна лабораторія з проектування МКС та програмування МК повинні мати комунікаційні засоби «людина-обладнання».
Для закріплення теоретичних знань та отримання практичних навичок з проектування мікроконтролерних систем виконуються лабораторні роботи з використанням програмно-відлагоджувальних стендів. Програмно-відлагоджувальний стенд являє собою набір окремих функціональних модулів, які можуть бути поєднані в необхідну конфігурацію. Таким чином, в залежності від складності стенду можна створити робочий макет мікроконтролерної системи необхідною функціональності.
Основною задачею дослідження є створення концепції ВЛ та обґрунтування структури ПЗ клієнт-серверної системи ВЛ «Програмування мікроконтролерних систем». Апаратна частина ВЛ складається з двох однакових програмно-відлагоджувальних стендів “AVR-Microlab”, що дозволяє отримати практично всі необхідні можливості для організації лабораторного практикуму та знизити витрати на апаратне забезпечення.
Таким чином, архітектура віртуальної лабораторії «Програмування мікроконтролерних систем» представлена на рис. 1
Рисунок 1. Архітектура віртуальної лабораторії «Програмування мікроконтролерних систем»
Зазвичай до складу стенду входять основний модуль зі встановленим мікроконтролером, модуль статичної індикації на світлодіодах, модуль динамічної індикації, модуль клавіатури, модуль цифро-аналогово перетворювача, модуль вихідних ключів, модуль перетворювачів інтерфейсів.
2.1 Концепція побудови ВВК з відкритою архітектурою
Основна особливість відкритої архітектури ВВК полягає у можливості розширювати номенклатуру ВП без перероблення існуючого апаратного та програмного забезпечення.
На апаратному рівні це автоматично забезпечується архітектурою ПК, що дозволяє підключати до останнього велику кількість різноманітних периферійних пристроїв за допомогою різних типів уніфікованих інтерфейсів.
На програмному рівні це забезпечується за рахунок блочно-модульного принципу побудови програмного забезпечення ПК та створення єдиної програмного оболонки., в якій достатньо просто можна розширювати бібліотеки користувача. Це і дозволяє змінювати функціональні можливості окремих ВП, а також зміст або конфігурацію ВВК.
Структура та взаємодія програмних та апаратних засобів такого ВВК подані на рисунку 2.
Рисунок 2. Структура та взаємодія програмних та апаратних засобів ВВК
2.2 Задачі, що необхідно вирішувати при розробці ВВК
Віртуальні прилади реалізуються на основі персонального комп’ютера та додаткових нестандартних апаратних та програмних засобів (АЗВП). Останні представляють собою периферійний пристрій для сполучення з ПК та об’єктом вимірювання та контролю.
При створенні ВП доводиться вирішувати наступні задачі:
1) Визначення способу підключення АЗВП до ПК (через зовнішній інтерфейс або до внутрішніх інтерфейсів);
2) Визначення способу реалізації АЗВП ( на «жорсткій» або на «програмованій» логіці);
3) Пошук оптимального варіанта реалізації АЗВП та віртуального приладу в цілому;
4) Розробка необхідного програмного забезпечення як на рівні ПК, так і на рівні АЗВП;
5) Отримання необхідних точносних так якісних показників.
2.3 Достоїнства використання відкритої архітектури програмного забезпечення ВВК
Основні достоїнства використання відкритої архітектури ВВК полягають у можливості простого інтегрування ВП до складу вимірювального комплексу. Ця можливість забезпечується за допомогою блочно-модульного принципу побудови програмного забезпечення ПК та створення єдиної програмного оболонки., в якій достатньо просто можна розширювати бібліотеки користувача. Це і дозволяє змінювати функціональні можливості окремих ВП, а також зміст або конфігурацію ВВК.
Зараз відома велика кількість різних віртуальних приладів, характеристики яких визначаються в основному технічними параметрами їх апаратних засобів (АЗВП). Результати аналізу існуючих способів побудови останніх показали, що вони можуть бути реалізовані як:
· простіші модулі з одним лише АЦП або ЦАП;
· звукові карти ПК;
· універсальні плати збору даних на базі АЦП;
· універсальні ЦАП;
· універсальні плати цифрової обробки сигналів;
· спеціалізовані плати (осцилографи, генератори і т.д.).
Аналіз показує, що простіші модулі з АЦП та ЦАП, а також звукові карти, дозволяють створити ВП з дуже обмеженими функціональними можливостями. З їх допомогою неможливо реалізувати цифрові прилади (логічні аналізатори, генератори слів, вимірювачі частоти та ін.). Плати АЦП та ЦАП реалізуються в основному на основі «жорсткої» логіки. Це дозволяє, у ряді випадків, мінімізувати як розміри, так і вартість апаратних засобів віртуальних приладів. Однак при цьому збільшуються вимоги до ПК, тому що на нього покладається вся обробка вхідних сигналів.
Універсальні плати для цифрової обробки сигналів не дозволяють реалізувати аналогові ВП, такі, наприклад, як осцилографи, мультиметри, аналізатори спектра та ін. Спеціалізовані плати ВП реалізуються сьогодні в основному на основі «програмованої» логіки (на мікроконтролерах – МК та/або програмованих логічних інтегральних схемах – ПЛІС). Це дозволяє перекласти частину обробки вхідних сигналів на АЗВП, що істотно розвантажує ПК.
Таким чином, у кожному способі можливі варіанти реалізації схем як на «жорсткій», так і на «програмованій» логіці. У першому випадку наявність декількох каналів вводу-виводу сигналів дозволяє отримати більш низьке споживання, а в другому – створити інтелектуальний АЗВП. Однак таким чином реалізуються тільки окремі ВП.
Пропонується наступна концепція побудови нового лабораторного практикуму:
1.Спочатку використовується ряд лабораторних робіт, пов’язаних з набуттям практичних навичок програмування внутрішньої структури МК та основних периферійних пристроїв, що входять до його складу (порти вводу\виводу, пам’ять даних, таймери-лічильники, система переривань тощо).
2. На другому рівні навчання розробляються прости мікроконтролерні пристрої з використанням деяких зовнішніх пристроїв (клавіатури, різноманітних індикаторів, цифро-аналогових перетворювачів та інших датчиків вхідних сигналів). Ці периферійні пристрої можуть входити до складу навчально-відлагоджувальних стендів або знаходитись зовні. При цьому повинні застосовуватися також програмні модулі, розроблені та відлагоджені на попередньому рівні навчання.
3. На третьому рівні навчання розроблюються більш складні мікроконтролерні пристрої і системи з участю персональних комп’ютерів (наприклад, віртуальні вимірювальні пристрої).
4. Відлагодження мікроконтролерних пристроїв на другому й третьому етапах навчання практично неможливо без використання вимірювальних приладів (генераторів сигналів, осцилографів, логічних аналізаторів, та інших), в якості таких з успіхом можуть використовуватися віртуальні прилади на основі ПК.
5. Апаратні та програмні засоби ЛП повинні дозволяти студенту використовувати для розробки мікроконтролерних пристроїв різні типи МК(AVR, PIC або MCS-51).
6. Лабораторний практикум повинен дозволяти виконання завдань в дистанційному режимі. Це знову ж таки диктує необхідність використання в структурі апаратних засобів віртуальних приладів, які будуть доступними користувачеві (студенту). При цьому також необхідно організувати роботу користувача з методичними матеріалами, апаратними та програмними засобами. А це в свою чергу вимагає наявність простого і наглядного графічного інтерфейсу ЛП.
Лабораторні роботи складені за блочно-ієрархічним підходом. Згідно якого, перші лабораторні роботи які стоять на нижчому ієрархічному ступеню, самі малі за складністю та об’ємом. Вони включають у себе роботу з одним периферійним приладом МК. Так можливо більше поглибити знання шляхом детального розглядання окремої задачі. На наступному ступені розглядаються задачі з додатковими завданнями, які потребують, готові вже на попередньому етапі, алгоритми та рішення, а ті в свою чергу становлять фундамент для наступного ієрархічного рівня. Так до тих пір, поки не реалізується завдання сконструювати який не будь багатофункціональний мікроконтролерний прилад чи систему. Цей підхід проілюстровано на рисунку 2.1.
Завдання у лабораторному практикумі забезпечують просте засвоювання знань за різними темами, так як охоплюються більшість функціональних вузлів, у кожній наступній роботі є можливість використовувати завдання для виконання з вимогами до попередніх робіт. Наприклад, вивчаючи роботу таймера та формування часових інтервалів легше реалізовувати та перевіряти її за допомогою лінійки світлодіодної індикації. Або, навчившись вводити аналогові сигналі і передавати дані до ПК, можна перейти до реалізації віртуального осцилографа.
Для побудови віртуального вимірювального комплексу необхідно з'ясувати, які прилади повинні входити в його структуру. Для цього проведений аналіз завдання для лабораторних робіт з дисципліни «Проектування мікроконтролерних пристроїв», що показує, що для їхнього виконання необхідні наступні прилади:
· Генератор слів;
· Генератор сигналів довільної форми;
· Логічний аналізатор;
· Осцилограф.
Нижче наведена таблиця із вказівкою всіх лабораторних робіт і приладів, необхідних для виконання кожної роботи.
Осцилограф |
Генератор байтів |
Генератор сигналів |
Логічний аналізатор |
Мультиметр |
Частотомір |
Лабораторна робота №1 |
+ |
+ |
Лабораторна робота №2 |
+ |
+ |
Лабораторна робота №3 |
+ |
Лабораторна робота №4 |
+ |
Лабораторна робота №5 |
+ |
+ |
Лабораторна робота №6 |
+ |
Лабораторна робота №7 |
+ |
+ |
Таблиця 1. Прилади для лабораторних робіт
При цьому одночасно необхідно використання тільки двох приладів : ГС(ГСПФ)+ЛА(ОСЦ).
Для реалізації зазначених вище віртуальних приладів необхідні такі апаратні засоби – мікроконтролер, АЦП, ЦАП, перетворювачі рівнів та перетворювачі інтерфейсів. Всі ці засоби присутні на програмно-відлагоджувальному стенді „AVR MicroLAB”. Таким чином, віртуальний вимірювальний комплекс може бути реалізований на таких самих технічних засобах, які використаються для навчання.
Вихідне технічне завдання предписує використовувати в апаратній частині ВЛ навчально-відлагоджувальні стенди «AVR-Microlab». Такі стенди дозволяють виконувати весь список лабораторних робіт з лабораторного практикуму, мають малу вартість та мають можливість використовувати МК не тільки фірми Atmel, а й Microchip (за умови невеликою доробки). Об’єкт дослідження ВЛ використовує «AVR-Microlab». На основі цього стенду будуються мікроконтролерні пристрої та МКС. Стенд побудований за блочно-модульним принципом, підтримує інтерфейси USB та RS232. Істотним плюсом є можливість використання USB.
Використовуючи такі стенди, можна навчитися та засвоїти загальні принципи функціонування, які було заложено в основу при створенні цілого класу МК (від різних виробників). МК, які підтримує стенд, дозволяють реалізувати широку гаму простих пристроїв автоматизації, серед яких може бути власний модуль вводу/виводу.
Аналіз існуючих аналогів ВЛ показує, що об’єкт дослідження з’єднується з ПК через посередництво багатофункціонального модулю вводу/виводу (БМВВ), яким може бути готовий контролер, сигнальний процесор чи пристрій власної розробки. Модуль виконує керування об’єктом за рахунок виводу та зчитує стан об’єкту за рахунок вводу. Істотним недоліком готових рішень для таких модулів є їхня вартість.
Проблема може бути вирішена за рахунок використання в якості БМВВ апаратних засобів ВВК [13-15]. ВВК побудований на основі відкритої архітектури, а його технічних можливостей досить для задовільнення вимог лабораторного практикуму, вартість значно нижча. На відміну від готових рішень, ПЗ ВВК легко може бути пристосоване до використання у ВЛ. ВВК використовує апаратні можливості навчально-відлагоджувального стенду «AVR-Microlab».
Апаратне забезпечення зображене на рисунку 3.
Рисунок 3 – Архітектура апаратного забезпечення ВЛ
Таким чином, використання двох навчально-відлагоджувальних стендів дає можливість реалізувати лабораторний практикум в повному обсязі. Апаратне забезпечення може бути легко під’єднаним до всіх сучасних ПК через інтерфейс USB.
Даний віртуальний вимірювальний комплекс реалізується на основі програмно - відлагоджувального стенда „AVR MicroLAB”.
Для реалізації кожного приладу необхідні такі апаратні ресурси як порти вода/виводу мікроконтролера, пам'ять даних і пам'ять програм мікроконтролера.
У результаті аналізу реалізацій даних приладів отримана, що при об'єднанні їх у вимірювальний комплекс на основі AVRMicroLAB загальний розмір коду програми буде становити приблизно 3 Кб, загальний розмір змінних 2 Кб. Таким чином, для реалізації даного ВВК на основі AVRMicroLAB у його состав можуть входити такі МК: ATMega 323 (2К, 32К), ATMega 32 (2К, 32К).
Для реалізації двоканального осцилографа необхідно два входи модуля аналого-цифрового перетворювача AIN0, AIN1.
Для реалізації генератора байтів використаються 8 виходів мікроконтролера.
Для реалізації генератора сигналів довільної форми використається блок цифро-аналогового перетворювача, побудованого на ИМС DA3 типи TLC5615 фірми Texas Instruments, що представляє собою десятирозрядний ЦАП з послідовним SPI- інтерфейсом, виведеним на порт «B» контролера. Таким чином, використаються розряди 4-7 порту В. Фільтр вихідного сигналу першого порядку організується за допомогою модуля блоку вихідних ключів, до складу якого входять 2 RC фільтри НЧ для фільтрації вихідних сигналів мікроконтролера. Вони підключаються до виходів 4-5 порту С.
Для реалізації логічного аналізатора використаються розряди 8 виходів мікроконтролера (для введення даних).
Таким чином, з урахуванням описаної конфігурації кожного із приладів можна запорпонувати 2 варіанти розподілу апаратних ресурсів між ними.
Варіант 1: зєднання комутуються одноразово для всіх лабраторних робіт. При цьому для приймання та передавання сигналів необхідні додаткові засоби буферізації, що потребує внесення змін до принципової схеми стенда та додаткового часу на обробку данихю
Структурна схема розподілу ресурсів мікроконтролера (вар. 1) між приладами наведена на рис. 4
/
Рисунок 4. Структурна схема розподілу ресурсів мікроконтролера між приладами
Варіант 2: Для різних задач зєеднання у стенді комутуються за двома варіантами – для використання аналогових та цифрових приладів. Структурна схема розподілу ресурсів мікроконтролера (вар. 2) між приладами наведена на рис. 5 (а,б)
Рисунок 5а. Структурна схема розподілу ресурсів мікроконтролера між приладами «Генератор байтів» та «Логічний аналізотор»
Рисунок 5б. Структурна схема розподілу ресурсів мікроконтролера між приладами «Осцилограф» та «Генератор сигналів довільної форми»
Для реалізації віртуальної лабораторії необїідно здійснювати обмін даними між стендами та сервером. Для передавання даних від ПК до станду та в зворотному напрямку визначен протокол запитів та відповідей для кожного з віртуальних приладів. Їх структура подана у таблиці 2.
Генератор байтів |
до МК |
"Старт" |
"Стоп" |
код ГСл |
код ГСл |
старт |
Стоп |
частота |
тип генерації |
об'єм даних |
данні (256 b) |
До ПК |
Ответ |
код ГСл |
0 |
Осцилограф |
до МК |
"Старт" |
"Стоп" |
код Осц |
код Осц |
старт |
стоп |
тип сигнала+синхронизация |
пороговый уровень |
частота |
номер канала |
До ПК |
Ответ |
Продолжение |
код Осц |
код Осц |
об'єм даних |
об'єм даних |
данні (256 b) |
данні (256 b) |
Генератор сигналів |
до МК |
"Старт" |
"Стоп" |
код ГС |
код ГС |
старт |
стоп |
частота |
тип генерації |
об'єм даних |
данні (256 b) |
До ПК |
Ответ |
код ГС |
0 |
Таблиця 2. Формат запитов да відповідей для віртуальних приладів
|
Логічний аналізатор |
до МК |
"Старт" |
"Стоп" |
код ЛА |
код ЛА |
старт |
стоп |
канал запуску |
шаблон |
глибина п-п реєстрації |
частота |
До ПК |
Ответ |
Продолжение |
код ЛА |
код ЛА |
об'єм даних |
об'єм даних |
данні |
данні |
Таблиця 2. Продовження
Для реалізації віртуального вимірювального комплексу необхідно розробляти програмні засоби як на стороні ПК, так і на стороні МК.
Програмне забезпечення ПК має наступну структуру (рисунок 6):
Рисунок 6. Структура ПО ПК
Програмне забезпечення ПК складається з підпрограми, що генерує головне вікно ВВК, з якого користувач має можливість вибрати необхідні йому для роботи прилади. Головне вікно ВВК представлене на рисунку 7:
Рисунок 7. Головне вікно ВВК
Програма ПК повинна виконувати наступні функції:
1) Прийом сигналу по інтерфейсі RS-232;
2) Відображення отриманого сигналу у відповідній області вікна програми;
3) Зсув сигналу по осі Х и В;
4) Вибір кольорів відображення сигналу.
Алгоритм роботи приладу в складі ВВК представлений на рисунку 8:
Рисунок 8. Алгоритм роботи віртуального осцилографа в складі ВВК
Для відлагодження протоколу обміну даними використовувалась зручна програма LookRS232, що слідкує за даними, що передаються через СОМ-порт.
Для перевірки роботи програми протоколу створено 2 тестові послідовності. Перша містить помилку у структурі команди, друга – ні.
Рисунок 9. Результати відладки програми протоколу обміну даними
Як видно з рисунку 9 пістя отриманя даних з помилкой, програма відсилає до ПК код помилки (10)
Рисунок 10. Результати відладки програми протоколу обміну даними
На рисунку 10 показано, що у випадку коректного запиту на дані, програма відсилає до ПК структуру відповіді з даними.
При виборі з головного вікна ВВК приладу «осцилограф» з'являється наступне вікно, що відображає елементи керування роботою приладу:
Рисунок 11. Вікно віртуального осцилографа
В результаті роботи запропонований варіант побудови віртуального вимірювального комплексу, що об’єднує в собі ВП, побудовані різними способами на основі багатофункціональних АЗВП.
Запропонований варіант реалізації віртуального вимірювального комплексу на апаратних засобах, що призначені для навчання (учебно-отладочных стендах, стартових комплектах і т.д.). Також розроблений протокол обміну даними між сервером та навчальнм стендом.
1. Гелль П. Как превратить персональный компьютер в измерительный комплекс. – М.: ДМК, 1999. – 144 с.
2. Скороделов В.В. Виртуальные приборы на основе персонального компьютера // Сборник научных трудов «Системы обработки информации» – Харьков: НАНУ, ПАНМ, ХВУ. – 2001. – Вып. 6 (16) – C.109–115.
3. Бударин А. Концепция построения виртуальной измерительной лаборатории. – http://www.rudshel.ru.
4. Скорин Ю.І., Макаров О.В. Віртуальні вимірювальні прилади // Збірка наукових праць НАН України. Тем. вип. «Моделювання та інформаційні технології» – Київ: ІПМЕ. – 2004. – №26 – C.188 – 190.
5. Руднев П., Шелковников Д., Шиляев С. Один компьютер – вся измерительная лаборатория. – http://www.rudshel.ru.
6. Белоруков В.А., Михайлов А.М. Виртуальные приборы: опыт создания, сферы применения в области электросвязи. – http://www.tehnohals.spb.ru.
7. Шиляев С.Н., Руднев П.И. Компьютер и виртуальные приборы. – http:// www.rudshel.ru.
8. Скороделов В.В., Шершнёв А.А. Виртуальный генератор сигналов произвольной формы // Вестник НТУ «ХПИ». Сборник научных трудов. Тем. вып. «Автоматика и приборостроение» – Харьков: НТУ «ХПИ». – 2001. – №4 – С.101 – 105.
9. Скороделов В.В., Шершнёв А.А. Виртуальный измеритель частоты и генератор сигналов на основе персонального компьютера // Вестник НТУ «ХПИ». Сборник научных трудов. Тем. вып. «Автоматика и приборостроение» – Харьков: НТУ «ХПИ». – 2002. – №18 – С .119 – 122.
|