Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Розділ 5.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.71 Mб
Скачать

5.8. Приклад розробки мікропроцесорної системи

Нехай треба розробити принципову схему і програмне за­безпечення МПС керування широтно-імпульсного стабіліза­тора напруги з частотою f = 1 кГц. Мікропроцесорна систе­ма керування забезпечує оброблення сигналу зворотного зв'яз­ку U із виходу АЦП за законом пропорційного регулятора:

, де — коефіцієнт заповнення імпульсів широтно-імпульс­ного стабілізатора; 20H — код опорного сигналу.

Структурну схему МПС керу­вання зображено на рис. 5.64.

Рис. 5.64. Структурна схема МПС ке­рування

Сигнал зворотного зв'язку над­ходить на АЦП, де він перетво­рюється на двійковий код. Цей код по системній шині надходить у ЦП, де за програмою, записаною у ПЗП, обробляється за законом пропорційного регулятора. Результатом обчислення є коефі­цієнт заповнення, який завантажується у регістр таймера як константа. На виході таймера отримуємо логічні рівні імпуль­сів керування ШІП.

Функціональну схему мікропроцесорної системи керуван­ня показано на рис. 5.65.

Під час розробки функціональної схеми центрального про­цесора виникає потреба у демультиплексуванні шини адреси-даних, буферизації шин адреси (АВ) і шин даних (BD), а

Рис. 5.65. Функціональна схема МПС

також у формуванні системних керуючих сигналів пам'яті та зовнішніх пристроїв. Демультиплексування здійснюється за допомогою двох ВІС К1810ИР82, що виконують функції фіксатора адреси і буфера шини АВ, буферизації шин да­них - за допомогою двоспрямованих шинних формувачів К1810ВА86, які підсилюють сигнали шини даних і форму­вання керуючих сигналів - за допомогою комбінаційних логічних елементів. На виході цих елементів формуються сигна­ли , , , .

Оскільки у розроблюваній МПС не потрібні режими 1ІДП, переривань та обміну за сигналом готовності, то порівняно зі схемою модуля ЦП (див. рис. 2.40) схема на рис. 5.65 не містить сигналів переривань, готовності, запиту ПДП і дозво­лу шин BUSEN. Тому на входи ВІС генератора, ЦП, регістрів-фіксаторів та буферних регістрів подаються постійні логічні рівні нуля або одиниці. Відсутні також кінцеві каскади схе­ми формування керуючих сигналів (у цій схемі немає потре­би переводити керуючий сигнал у третій стан).

Модуль ПЗП виконано на базі двох ВІС КР556РТ5 ємністю 512 х 8 біт кожна. Пам'ять організована у вигляді двох банків пам'яті - молодшого і старшого. Молодший банк вмикаєть­ся до молодшої половини шини даних D7-D0 і містить лише комірки пам'яті з парними адресами; старший банк - до старшої половини шини даних D15-D8 і містить лише ко­мірки пам'яті з непарними адресами. Зчитування з ПЗП відбу­вається під час виконання циклу читання пам'яті. При цьо­му формується сигнал = 0, який і переводить виходи ВІС ПЗП в активний стан. Із ПЗП завжди зчитується слово. Для цього прикладу початкову адресу ПЗП визначимо за нульових значень А9-A1, A0, а кінцеву - за одиничних.

Отже, початкова адреса ПЗП - 00000H, кінцева адреса

Функціональна схема містить також АЦП К572ПВ1,який є 12-розрядним перетворювачем напруги на двійковий код низької швидкодії. Оскільки АЦП має внутрішній регістр із входом керування третім станом, зовнішній порт введення не потрібний. Вихід АЦП з'єднаний з лініями D11 –D0. З погля­ду процесора АЦП є 16-розрядиим портом. Адреса 16-роз-рядного порту має бути парною. Як видно з рис. 5.65, АЦП вибирається за A3 = 1. Тому адреса АЦП буває будь-якою за A3=1, A0 = 0. Наприклад, оберемо адресу АЦП, що дорів­нює 08H.

Програмований таймер К1810ВИ54 у схемі (див. рис. 5.65; призначений для генерації імпульсів керування широтно-імпульсним стабілізатором. Таймер містить три незалежних канали, кожний з яких може бути запрограмований па робо­ту в одному з шести режимів для двійкового та двійково-десяткового обчислення. У цьому прикладі використовують такі режими роботи каналів:

• канал 0 — програмований мультивібратор;

• канал 1 — імпульсний генератор частоти для запуску ка­налу 0;

• канал 2 — імпульсний генератор для задавання частоти роботи АЦП.

Як видно з рис. 5.65, таймер вибирається за адреси з A3 = = 0. Лінії A1 і А2 обирають один з трьох каналів таймера або регістр керуючого слова. Отже, адресами таймера є:

• адреса каналу 0 — 00H;

• адреса каналу 1 — 02H;

• адреса каналу 2 — 04H;

• адреса RWCH — 06H.

Розрахуємо константи завантаження таймера так. Пере­творимо коефіцієнт заповнення широтно-імпульсного стабі­лізатора gamma на константу перерахунку, що завантажуєть­ся у таймер. Зауважимо, що вихідна частота стабілізатора дорівнює 1 кГц, а частота тактових імпульсів МГц.

Канал 0. Згідно із завданням коефіцієнт заповнення імпульсів широтно-імпульсного стабілізатора

.

Визначимо період роботи широтно-імпульсного стабіліза­тора, мс:

.

Тоді тривалість імпульсу, мс:

Тривалість лічильних імпульсів каналів (CLK) за частоти роботи процесора 5 МГц, не:

.

Код завантаження каналу 0 таймера визначають як відно­шення до :

Рис. 5.66. Алгоритм керування широт­но-імпульсним стабілізатором

Канал 1. Коефіцієнт ділення каналу 1 визначають як відношен­ня тривалості періоду широтно-імпульсного стабілізатора до три­валості періоду Tclk:

Канал 2. Коефіцієнт ділення каналу 2 визначають як відношен­ня тривалості періоду тактових імпульсів АЦП (170 кГц) до три­валості періоду Tclk:

.

Алгоритм керування широтно-імпульсним стабілізатором показано на рис. 5.66. Спочатку в обидва канали таймера за­вантажуються керуючі слова. Керуюче слово для каналу 0 дорівнює 00110010В і визначає режим 1 лічильника 0, заван­таження відбувається спочатку молодшого, а потім старшого байта, лічення — двійкове. Керуюче слово для першого і дру­гого каналів визначає режим 1, завантаження спочатку молод­шого, а потім старшого байтів, лічення — двійкове. Керуючі слова дорівнюють відповідно 01110100В і 10110100В.

Після завантаження керуючих слів програма завантажує початкові значення у канали 1 та 2 таймера. На цьому ініціалі­зація закінчується і починається нескінченний цикл введен­ня коду зворотної напруги з АЦП, перерахування її на код завантаження і виведення його у канал 0.

Зазначимо, що після системного скидання регістри CS і IP МП відповідно набудуть значень 0FFFFH і 0000Н. Це призведе до того, що в адресі першої комірки ПЗП, до якої після скидання звернеться МП у першому машинному циклі ВИБІРКА КОМАНДИ, чотири молодших розряди будуть нульовими, а всі інші — одиничними. Тоді ця адреса дорівнюватиме 3F0H.

Програма має такий вигляд:

ORG 3F0H

JMP START

ORG 100Н

START

MOV AL, 00110010B

Формування в AL керуючого слова режиму 1 каналу 0

OUT 06, AL

Виведення керуючого слова в ; РКС

MOV AL, 01110100B

Формування в AL керуючого ; слова в РКС

OUT 06, AL

Виведення керуючого слова ;режиму 2 ; каналу 1

MOV AL,10110100В

Формування в AL керуючого слова режиму каналу 2

OUT 06, AL

Виведення керуючого слова ; режиму РКС

MOV AX, 5000

Задавання частоти перетворен-; ня f = 1 кГц

OUT 02H, AL

Запис молодшого байта коду

Попереднє встановлення в канал 1

MOVAL, AH

Запис старшого байта коду ;

Попереднє встановлення в канал 1

OUT 02H, AL

Задавання частоти АЦП f = ; = 170кГц

MOV AL ,29

Запис коду, попереднє встанов-; лення в канал 2

OUT 04H, AL

MOV AL, 00

OUT 04H, AL

L:

IN AX, 08H

Введення сигналу зворотного ; зв'язку U;

AND AX, 0000 1111 1111 1111B

Виділення значущих цифр U ; Віднімання U 20Н, результат — у АХ;

MOV BL, 20

MUL BL

Множення на 20:20(U-20H), результат— в АХ

ADD AX, 2500

Додавання 2500+20(U-20H), результат — в АХ

OUT 00H,AL

Запис молодшого байта коду

Попереднє встановлення в ка­нал 0

MOV AL, AH

OUT 00H,AL

Запис старшого байта коду

Попереднє встановлення в ка­нал 0

MOV CX, 100

Затримка на час, більший ніж тривалість перетворення АЦП

D:

LOOP D

t = 16 • 100 • 200 (нc)

JMP L

Перейти за адресою з міткою L (цикл)

END

Контрольні запитання

1. Як забезпечується зберігання інформації, що надходить від ПВВ?

2. Назвіть способи адресування портів введення-виведення.

3. Дайте порівняльну характеристику видів обміну.

4. Які є типи програмного обміну?

5. Наведіть структурну схему обміну за стробом готовності.

6. Наведіть структурну схему обміну за перериванням.

7. Наведіть структурну схему обміну в режимі ПДП.

8. Як відбувається запам'ятовування вмісту акумулятора, РЗП, про­грамного лічильника та прапорців під час обміну за перериван­ням?

9. В яких випадках доцільно застосовувати прямий доступ до пам'яті?

10. Яке призначення ВІС програмованого паралельного інтерфейсу КР580ВВ55?

11. Опишіть режими роботи програмованого паралельного інтерфейсу.

12. Назвіть можливі комбінації ввімкнення портів ВІС КР580ВВ55.

13. Які порти паралельного інтерфейсу можуть працювати в усіх мож­ливих режимах?

14. Запишіть керуюче слово для роботи паралельного інтерфейсу в режимі 0 під час налагодження портів А і В на виведення, а пор­ту С — на введення.

15. Який принцип скидання-встановлення розрядів порту С?

16. Яке призначення ВІС програмованого інтерфейсу клавіатури та індикації?

17. Яку максимальну кількість клавіш можна з'єднати з ВІС програ­мованого інтерфейсу клавіатури та індикації КР580ВВ79?

18. Поясніть особливості режиму опитування матриці клавіатури.

19. Поясніть особливості режиму опитування матриці датчиків.

20. Поясніть особливості режиму введення за стробом.

21. Які функції виконує програмований таймер у МПС?

22. З яких блоків складається таймер? Що входить до складу одного лічильника?

23. Опишіть режими роботи таймера.

24. Чим відрізняється дія сигналу GATE в режимах 0 та 1 ?

25. Які нові функції має ВІС таймера КР1810ВИ54 порівняно з ВІС таймера КР580ВИ53?

26. Назвіть можливі комбінації роботи каналів таймера.

27. Назвіть приклади використання таймера МПС.

28. Запишіть керуючі слова для роботи таймерів у режимах 0, 2, 5.

29. Як можна прочитати вміст внутрішніх регістрів таймера?

30. У чому полягає відмінність між режимами 4 і 5?

31. В якому режимі таймер працює як подільник частоти?

32. Яке максимальне число можна завантажити у внутрішні регістри таймера?

33. Для чого потрібні лінії Л0, А1 таймера?

34. Які функції виконує КПДП у мікропроцесорній системі?

35. Розкажіть про режими роботи КПДП.

36. В яких випадках доцільно застосовувати прямий доступ до па­м'яті?

37. Яке призначення регістра станів?

38. Який принцип призначення пріоритетів каналів?

39. Які функції виконує порт послідовного передавання даних у VGC?

40. Розкажіть про режими роботи ВІС.

41. Поясніть роботу ВІС послідовного інтерфейсу в асинхронному ре­жимі.

42. Поясніть роботу ВІС послідовного інтерфейсу в синхронному ре­жимі.

43. Як здійснюється обмін даними за синхронного режиму з внутріш­ньою і зовнішньою синхронізацією?

44. Які функції виконує контролер переривань у МПС керування?

45. Яку кількість запитів переривань може обслужити одна ВІС ПКП?

46. Якої максимальної кількості запитів переривань можна досягти у системі переривань на базі ВІС КР580ВН59?

47. Для чого призначений режим спеціального маскування?

48. Які пріоритетні схеми оброблення запитів переривань реалізують­ся у ВІС КР580ВН59?

49. Як змінюються пріоритети у схемі циклічного оброблення пріори­тетів?

50. Коли доцільно використовувати режим фіксованих пріоритетів?

51. Коли доцільно використовувати режим циклічних пріоритетів?

52. Який із входів IRQ має вищий пріоритет?

53. Як можна зменшити пріоритет входів IRQ?

54. Як можна вимкнути одну або кілька ліній IRQ?

55. Коли можна записувати команди ініціалізації і керування?

56. Для чого необхідні сигнали І NT і І NT А?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]