4.2.4 Оцінка реалізації обчислювача на особливі ситуації
Особливими ситуаціями в системі, що розробляється, є сигнали переривань. Джерела переривань і пов'язані з ними події дані в таблице. 4.1
Таблиця 4.1 Джерело переривань і пов'язані з ними події дано
Подія | Сигнал | Дія | Обробка | Додаткові умови |
Завершення періоду | Переривання від таймера | Перезапис стартового числа і перехід на початок функціонального алгоритму | В спеціальній процедурі | Вищий пріоритет |
Прийом байта з буфера паралельного порту | Переривання від паралельного порту | Читання коду (1 байт) з буфера паралельного порту | В спеціальній процедурі |
4.2.5 Структура повного алгоритму роботи системи
Повний алгоритм функціонування обчислювача за рішенням задачі управління складається з таких етапів:
1. Прийом коду із значенням управляючого сигналу (по сигналу готовності, який обробляється через канал переривання).
2. Прийом коду із значенням сигналу з датчика положення
.3. Реалізація обчислень (узгодження вхідних сигналів, реалізація закону управління).
4. Очікування завершення періоду, реалізоване через очікування сигналу переривання від таймера.
5. Перезапуск таймера (запис стартового числа) і перехід до пункту 1.
4.3 Побудова функціональної схеми спецобчислювача
Спецобчислювач призначений для перетворення і обробки інформації тією, що подається з датчиків. На вхід спецобчислювача подається аналоговий сигнал вдіапазоні 0…+5В, а на виході одержуємо аналоговий сигнал в діапазоні0…+10В. Функціональна схема спецобчислювача представлена на малюнку 4.2.Для здійснення керованої передачі аналогової інформації в АЦП застосований 8-розрядний аналоговий комутатор з дешифратором, якийкомутує вихід з 0 і 1 з 8 аналогових входів. В нашому випадку всю рештувходів заземлимо, окрім останнього, який залишимо для виходу з підсилювача потужності. Номер даного входу визначається двійковим номером, заданим науправляючих входах. Інформація про двійковий номер поступаєбезпосередньо від мікроконтролера. Для перетворення 8-розрядного дискретного коду в аналоговий застосовний 10-розрядний ЦАП, для цього на дварозряди ЦАП подамо землю. З цього виходить, що в обчислювач повинні входити: мікроконтролер (МК), АЦП, ЦАП, пристрій виборкихраніння (УВХ), аналоговий комутатор (АК).
Малюнок 4.2 – Функціональна схема спецобчислювача
4.3.1 Формування алгоритму роботи спецобчислювача
Спецбчислювач на базі мікроконтролера виконує наступні операції:
– отримання і обробка інформації з підсилювача, датчика зворотногозв'язку по положенню і датчика кутової швидкості;
- реалізація закону управління;
- видача аналогового сигналу на електрогідравлічний перетворювач.
На малюнку 4.3 представлений спрощений алгоритм роботи обчислювача по отриманню, перетворенню і передачі даних. Алгоритм представлений у вигляді блок-схеми.
На основі запропонованого алгоритму роботи складена програма роботи управляючого обчислювача, побудованого на основі мікроконтролера AT89S8252 фірми Atmel.
Розроблена програма вводиться в керований обчислювач за допомогою LPT-порту ПК і каналу програматора, який здійснює прошивку резидентної пам'яті программікроконтролера.
4.4 Розробка структури ПО і оцінка необхідних ресурсів
Програмне забезпечення для вирішення даної задачі складатиметься із структурних елементів, характеристика яких представлена в таблиці 4.2.
Таблиця 4.2 Характеристика структурних елементів ПО
№ | Назва і функціональне призначення | Передбачуваний об'єм коду, байт | Передбачуваний об'єм даних, байт | Макс. час виконання, мс | Вимоги по розміщенню в пам'яті |
1 | Початковий пуск і ініціалізація (стік, таймери, переривання) | 50 | Регістри РСФ, стік в РПД(16 байт) | 0.1 | Після таблиці векторів переходу |
2 | Функціональний алгоритм ПД-регулювання | 100 | РПД(до 30) | 10 | довільне |
3 | Процедури уведення-виведення і управління ЦАП | 150кожна | РПД(до 10 байт) | 1кожна | довільне |
4 | Арифметичні процедури для 2-байтових чисел («+»,» – «,»*») | До 30 байт («+»,» – «) і до 100 («*») | Банк Рон(8 байт) | 0.05 і 0.2 | довільне |
5 | Таймірованіє (період ) | 20 | РСФ | 0.02 | довільне |
Під процедурами введення(висновку) маються на увазі дії по управліннюканалом введення(висновку), по перетворенню числа. Загальна діаграма завантаженняобчислювача в межах базового періоду роботи
представлена на малюнку 4.4.Малюнок 4.4 – Діаграма завантаження обчислювача
На схемі цифрами позначені:
1. Установка адреси роботи.
2. Дозвіл роботи аналогового комутатора.
3. Дозвіл роботи УВХ і АЦП.
4. Час перетворення.
5. Читання даних.
6. Заборона роботи АЦП і аналогового комутатора.
7. Установка адреси на аналоговий комутатор.
8. Дозвіл роботи аналогового комутатора.
9. Дозвіл роботи УВХ і АЦП.
10. Час перетворення.
11. Читання даних.
12. Визначення значення управляючої дії.
13. Вибір закону управління на Порт 2.
Максимальний час на виповнення алгоритму в межах базового періодускладає (на підставі таблицы 4.2):
де
(
– час виконання функціонального алгоритму).Тоді
.Оскільки
<, то циклограма малюнка 2.4 може бути реалізована на даному процесорі безпосередньо.Необхідний об'єм пам'яті програм (ПЗП) складає:
байт.Об'єму ПЗП достатньо для виконання алгоритму, оскільки об'єм РПП складає4096 байт.
4.5 Розробка принципової схеми обчислювача
4.5.1 Вибір елементарної бази
Годинозадаючий ланцюг.
Годинозадаючий ланцюг необхідний для завдання тактових імпульсів мікроконтролеру для його синхронізації. На малюнку 4.5представлена принциповасхема час задаючого контура, створеного на основі кварцового резонатораз частотою 22.1184 Мгц, включеного по схемі з середньою крапкою.
Кварцовий резонатор, що підключається до зовнішніх висновків XTAL1 і XTAL2 мікроконтролера, управляє роботою внутрішнього генератора, якийформує внутрішні сигнали синхронізації.
На основі сигналів синхронізації пристрій управління мікроконтролера формує машинний цикл фіксованої тривалості, яка дорівнює 12 періодам резонатора. Вибір зупинений саме на такій схемі з таким кварцовим резонатором унаслідок того, що у взаємодії з мікроконтролером AT89S8252 цей ланцюг генерує крок роботи МК рівний 0.5 мкс. Такий крок роботи програм повністю влаштовує, оскільки дозволить легко вкласти алгоритм роботи мікроконтролера в 5 мс.
Для проектованого управляючого обчислювача був вибраний мікроконтролер AT89S8252 фірми Atmel. На малюнку 4.6 представлено графічне позначення мікроконтролера AT89S8252 фірми Atmel.
Вибір цього мікроконтролера обумовлений наступним:
- гранично низька вартість;
- наявність 8 кбайтів FLASH-ПЗП програм з можливістю внутрішньосистемного перепрограмування через SPI (serial programming interface) канал;
- можливість роботи на низьких тактових частотах (аж до нуля Гц), що важливе в системах реального часу.
Основні характеристики наступні:
- три рівні захисту програм;
- 256 байтів внутрішньої оперативної пам'яті;
- три 16-бітові таймери/лічильники;
- 32 програмовані лінії уведення-виведення;
- дев'ять джерел переривань;
- програмований послідовний інтерфейс;
- master/slaveSPI послідовний інтерфейс;
- режим зниженого енергоспоживання (живлення +5 В);
- переривання при подачі напруги;
- програмований сторожовий таймер;
- два регістри – покажчика даних;
- прапор відключення живлення.
Мікроконтролер випускається в DIP корпусі, що дозволяє як встановлюватиконтроллер на контактний майданчик, так і упаювати його в схему.
Шинний формувач застосовується для збільшення потужності вхіднихі вихідних (запетлеваних) сигналів мікроконтролера до 20 мА. Як шинний формувач в представленому пристрої використовується мікросхемаКР1533АП6, графічне позначення якої представлено на малюнку4.7.
Малюнок 4.7– Шинний формувач
Мікросхема є восьмирозрядним двонаправленим приймачем-передавачем з двома станами на виході і без інверсії вхідної інформації. Режим роботи визначається комбінацією сигналів на двох входахуправління –
і . При низькому рівні напруги на вході управління третім станом напряму передачі визначається логічним рівнем на вході , а при високому рівні напруги на вході виходи мікросхеми переводяться у високоімпедансний стан (таблиця 4.3).