Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод заочн_ОТ та МП (1-5р и СТН)_изм 02_03_15_...doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.42 Mб
Скачать

3.2 Методичні вказівки на побудову мікропроцесорної системи

Мікропроцесорна система (МПС) – це багатофункційна програмно-керована система оброблення інформації, яка складається з підсистеми центрального процесора (ЦП), підсистеми пам’яті (ПП) та підсистеми введення-виведення у паралельному, на периферійних інтерфейсах/таймерах (ПІТ), коді та послідовному, на послідовних, асинхронних приймачах/передавачах (ПАП/П), об’єднаних інформаційними каналами. Мікропроцесорні системи будують на мікропроцесорних комплектах і поділяють на МПС керувальні, обчислювальні, контрольно-вимірювальні, збирання даних.

Комп’ютер, сам по собі, також є мікропроцесорною системою.

Різниця між обчислювальною системою та мікропроцесорною системою полягає тільки у масштабах задач, що розв’язуються, а також кількості та складності обладнання.

Узагальнена структурна схема МПС фоннейманівського типу представлена на рис. 3.1.

Рисунок 3.1 − Узагальнена структурна схема МПС

Вибір мікропроцесорного комплекту мікросхем для побудови МПС обумовлено:

  • задачами, які будуть розв’язуватися;

  • довжиною даних, які будуть використовуватися у цих задачах;

  • вимогами до пристроїв введення-виведення інформації і до надійності МПС, та іншими вимогами, які обумовлено особливостями використання цієї МПС.

Розглянемо структуру МПС, яку зреалізовано на мікросхемах фірми Моtorola мікропроцесорного комплекту МС68000.

До підсистеми центрального процесора МПС, яка згідно із завданням використовує мікропроцесор MC68000, входять: центральний процесор (CPU) і пристрої – великі інтегральні схеми (ВІС), які забезпечують його роботу, а саме:

  • генератор тактових імпульсів (G), який формує послідовність імпульсів тактової частоти для всієї МПС (ВІС типу МС88916);

  • формувач сигналів керування МПС, який формує всі сигнали, необхідні для вибору вузлів МПС, керування вибором розрядності операндів, контролю за формуванням адреси пристроїв, перериваннями тощо, (ВІС типу FPGA);

  • буфер шини даних (БШД) – пристрій, який забезпечує необхідний рівень навантажувальної здатності виходів шини даних CPU. Він являє собою двоспрямований приймач-передавач, який підключається до виходів CPU (ВІС типу 74F245).

Підсистема центрального процесора показана на рис. 3.2.

Рисунок 3.2 – Підсистема центрального процесора

На схемі позначено:

  • ШД – шина даних;

  • ША – шина адреси;

  • ПП – периферійні пристрої.

Мікросхема FPGA – це програмована користувачем вентильна матриця (ПКВМ), яка є різновидом програмованих логічних інтегральних схем (ПЛІС), що програмується у процесі виготовлення і призначена для використання у МПС на базі МС68000. Вона формує сигнали керування для МПС:

  • PDEN1…0 – сигнали керування БШД і визначають напрям проходження сигналу даних по ШД;

  • BACK5…1 – сигнали вибору периферійного пристрою, відповідно до табл. 3.1:

Таблиця 3.1 – Сигнали вибору пристрою

Пристрій

BACK5

BACK4

BACK3

BACK2

BACK1

ПЗП

0

0

0

0

1

ОЗП

0

0

0

1

0

Послідовний інтерфейс

0

0

1

0

0

Паралельний інтерфейс

0

1

0

0

0

Таймер

1

0

0

0

0

  • BYTE2…0 – сигнали, які визначають розрядність даних, що передаються ШД. Значення сигналу BYTE0, що дорівнює 0 зберігається при обробленні байтів, слів і довгих слів; значення BYTE1 дорівнює 0 при обробленні слів та молодших байтів довгих слів і BYTE2 дорівнює 0 при обробленні старших байтів довгих слів, що дозволяє спрощувати організацію багатошарової пам’яті.

Підсистема пам’яті будується відповідно до завдання і складається з блока ОЗП і блока ПЗП, побудованих за однаковими принципами. Різниця між ними полягає лише у необхідності забезпечення і формування специфічних для кожного з них сигналів керування.

Задача побудови блока запам’ятовуючого пристрою (ЗП) у залежності від завдання і початкових умов може вирішуватися у різний спосіб. Умови задачі також можуть мати свої відмінності в залежності від конкретних умов функціонування цього блока.

Технічне завдання на розробку модуля ЗП повинно містити:

  • технічні характеристики МПС, для якої буде розроблятися блок: потрібна інформаційна ємність, розрядність та типи сигналів шини адреси та шини даних, розподіл адресного простору, наявність сигналів керування та їхні рівні, довжина ліній проходження сигналів, інформаційна організація блока пам’яті, наявність блоків живлення – рівні напруг і величини електричних струмів, які вони забезпечують тощо;

  • часові характеристики сигналів керування: тривалість імпульсів керування, часові затримки між ними, співвідношення поміж перепадами цих сигналів;

  • часові характеристики сигналів, які формуються блоком, що розробляється, їх співвідношення із внутрішніми і зовнішніми сигналами в МПС ;

  • електричні характеристики сигналів на виході блока ЗП: рівні напруги, навантажувальна здатність виходів блока.

Головна задача, що при цьому вирішується – забезпечення необхідної інформаційної ємності і забезпечення розрядності сигналів даних. Розв’язання цієї задачі, в залежності від наявності мікросхем пам’яті, може бути двох видів:

– у номенклатурі мікросхем пам’яті існує ВІС, яка відповідає завданню на інформаційну організацію блока і забезпечує відповідні часові характеристики. У цьому випадку мікросхема встановлюється у МПС і виконується узгодження рівнів сигналів керування або їх формування в разі необхідності. На цьому побудова блока пам’яті вважається закінченою;

– у номенклатурі мікросхем пам’яті не існує ВІС, яка відповідає завданню на організацію блока. В цьому випадку необхідно з наявних типів ВІС побудувати схему, яка буде відповідати завданню. Ця задача має два варіанти: по-перше – у наявності є мікросхеми, що мають необхідну інформаційну ємність, але мають меншу розрядність даних; по-друге – у наявності можуть бути ВІС, які мають меншу інформаційну ємність, ніж задано, але забезпечують розрядність шини даних.

Побудова блоків пам’яті ПЗП і ОЗП відбувається аналогічно. Різниця між ними полягає лише у необхідності забезпечення і формування специфічних для кожного з них сигналів керування.

Розглянемо приклад побудови ПЗП для використання у МПС, яка має 24-розрядну шину адреси, 8-розрядну шину даних і на шині керування якої формується сигнал – з активним рівнем логічного 0.

Інформаційна організація блока, що розробляється, становить 115К × 8, у блоці пам’яті необхідно використовувати мікросхему РПЗП-УФ типу АМ27С512, що має організацію 64К × 8. Початкова адреса комірки пам’яті для блока – 000000В.

По-перше, визначимо кількість мікросхем для забезпечення необхідної організації

.

Якщо в результаті отримано дробове число, то його необхідно обов’язково заокруглити до більшого цілого числа. По-друге, визначимо останню адресу комірки пам’яті блока. Дві ВІС блока повинні працювати по-черзі, обробляючи кожна по 64К інформації. У сумі обидві ВІС можуть обробити 128К інформації, що буде відповідати 217 = 131072D адресам. Якщо подати це число у шістнадцятьковій системі числення, то отримаємо число 1FFFFH, яке й буде останньою адресою блока. Це число більше ніж задане – 115К, це означає, що останні комірки пам’яті блока ніколи використовуватись не будуть.

ВІС, яку необхідно використовувати, має такі виводи: шістнадцять адресних входів – A0...A15; вісім виходів даних – DO0...DO7; входи керування – , і . Таким чином, необхідно з’єднати 2 ВІС з шинами МПС і між собою так, щоб забезпечити чергування їхньої роботи в залежності від установлення адреси.

Блок ПЗП наведено на рис. 3.3.

Рисунок 3

1

2

3

4

5

6

7

8

.3 – Блок ПЗП з організацією 128К × 8

Таблиця істиності мікросхеми АМ27С512 наведена у табл. 3.2.

Таблиця 3.2 – Таблиця істиності мікросхеми АМ27С512

Назва сигналу, значення сигналу

Режим роботи

A0...A15

DO

1

X

X

X

z

Неактивна

0

1

X

X

z

Неактивна

0

0

1

X

z

Неактивна

0

1

0

X

z

Зберігання

0

0

0

A

D

Читання

Робота кожної з мікросхем відбувається відповідно до цієї таблиці за сигналами керування, що надходять від МПС. Робота блока відбувається в діапазоні адрес, який був визначений раніше. Якщо МПС формує адресу більшу ніж 01FFFFН, то на виході 7-вхідного елемента АБО (елемент DD1) формується сигнал логічної 1, який з’явиться на виході 2-вхідного елемента АБО (елемент DD3) і переведе обидві мікросхеми ВІС до неактивного стану.

Вибір однієї з двох мікросхем ПЗП відбувається сигналом A16 (лінія 17 адресної шини). Якщо на цій лінії є сигнал логічного 0 (адреси в діапазоні 000000Н – 00FFFFН), то дозволяється робота мікросхеми DD4, на вхід якої надходить сигнал логічного 0. Якщо діапазон адрес, який виставлено на шину адреси, становить 010000Н – 01FFFFН, то дозволяється зчитування з мікросхеми DD5, на вхід якої надходить сигнал логічного 0 з виходу інвертора (елемент DD2). Зчитування інформації відбувається сигналом , що надходить на входи обох мікросхем.

Розглянемо приклад побудови ОЗП для використання в МПС, яка має 24-розрядну шину адреси, 8-розрядну шину даних і на шині керування якої формуються сигнали:

    •  – з активним рівнем логічного 0, окремо для блока ОЗП;

    •  – сигнал керування процесом запису-зчитування, активний рівень логічного 0 має сигнал R.

Інформаційна організація блока, що розроблюється, становить 64К × 16, але розрядність шини даних становить 16 розрядів (слово). У блоці пам’яті необхідно використовувати мікросхему ОЗП статичного типу АМ21С512, що має організацію 64К × 8. Початкова адреса комірки пам’яті для блока – 000000В.

Визначимо кількість мікросхем для забезпечення необхідної організації

.

Якщо у результаті отримано дробове число, то його необхідно заокруглювати обов’язково до більшого цілого числа.

Визначимо останню адресу комірки пам’яті блока. Тому що інформаційна ємність блока складає 64К, то остання адреса буде 00FFFFH.

ВІС, яку необхідно використовувати, має такі виводи: шістнадцять адресних входів – A0...A15; вісім входів/виходів даних – DІO0...DІO7; входи керування – , , і .

Для збільшення кількості розрядів шини даних слід з’єднати мікросхеми таким чином, щоб забезпечити їх одночасну роботі з однаковими адресами.

Блок ОЗП наведено на рис. 3.4.

Робота мікросхем ОЗП відбувається згідно з таблицею істиності (табл. 3.3) відповідно до сигналів керування, що надходять від МПС. Обидві мікросхеми працюють одночасно (паралельно з сигналами адрес і сигналами керування).

Таблиця 3.3 – Таблиця істинності мікросхеми ОЗП типу АМ21С512

Назва сигналу, значення сигналу

Режим роботи

A0...A15

DІO0...DІO8

1

1

1

X

X

z

Неактивний стан

1

1

0

X

X

z

Неактивний стан

0

1

0

X

X

z

Зберігання

0

0

0

1

А

Запис вхідних даних

0

0

0

0

А

DO

Зчитування даних

Відміни в побудові пам’яті для МПС на базі МС68000 обумовлені тим, що у таких системах дані можуть подаватися у вигляді байтів, слів й довгих слів, при тому, що пам'ять МПС має байтову організацію, а ШД є 16-розрядною і робота з байтами та словами відбувається за один цикл шини, а робота з довгими словами виконується за два цикли. Тому при роботі з байтами і словами відбувається звернення до комірок пам’яті з однією адресою, а молодше і старше слова довгих слів розміщуються у двох сусідніх парах комірок. Для реалізації такого принципу роботи необхідно будувати пам’ять з чотирьох блоків, кожен з яких призначено для роботи з байтами даних, поєднуючи їх відповідно до довжини операндів. Приклад логічної структури пам’яті, яку побудовано за таким принципом, показано на рис. 3.5. Організація блоків ОЗП і ПЗП виконується однаково.

Рисунок 3.4 – Блок ОЗП з організацією 64К × 16

Рисунок 3.5 – Логічна структура блока па м’яті

Робота такого блока буде відбуватися наступним чином: якщо необхідно звернутися до даних, розмір яких дорівнює байту, адреса комірки пам’яті надходить на всі блоки, але формується лише сигнал BYTE0, який дозволяє роботу лише Блоку пам’яті 1, і до шини даних підмикаються виходи цього блока, на яких формуються розряди даних D7D0. При роботі зі словами одночасно формуються сигнали BYTE0 та BYTE1, і до шини даних підмикаються виходи Блоків пам’яті 1, 2, які працюють одночасно як одна комірка пам’яті, і на виходах формуються розряди даних D7D0 і D15D8. Звернення до довгих слів відбувається за два цикли шини: у першому циклі відбувається звернення до молодшого слова, так як було показано вище, а в другому циклі, при незмінній адресі, формується сигнал BYTE2, який одночасно надходить на обидва Блоки пам’яті 3, 4, і на шину даних надходить старше слово – розряди D23D16 і D31D24.

При побудові цієї логічної структури було прийнято, що мапа розподілу адресного простору має вигляд, який подано на рис. 3.6. При цьому кожна з підсистем МПС має власну область адрес у адресному просторі МПС. Для зручності адреси показані у шістнадцятьковій і двійковій системах числення. При запису двійкового коду, для більшої наочності, тетради відокремлено крапками.

При аналізі адрес пристроїв можна побачити, що молодші чотири розряди шістнадцятирічних адрес циклічно повторюються для кожного пристрою. Відміни є лише у п’ятому і шостому шістнадцятькових розрядах, які і передбачено використовувати для адресування відповідних пристроїв. Так, початкова адреса для ПЗП користувача становить $090000 = = 0000.1001.0000.0000.0000.0000, а остання $09FFFF = = 0000.1001.1111.1111.1111.1111. Таким чином, адресний простір цього блока становить 64К і для організації звернення до нього необхідно дешифрувати код, якій відповідає початковій адресі цього пристрою (найстарші розряди адреси), а саме $09 = %0000.1001. Логічна структура такого дешифратора показана на рис. 3.7.

Рисунок 3.6 – Мапа розподілу адресного простору

Рисунок 3.7 – Логічна структура дешифратора

У МПС, яка розробляється, розподілення адрес виконується за допомогою ВІС FPGA, яка була розглянута вище, і яка формує сигнали BACK1 (2, 3, 4, 5) також відповідно до мапи, аналогічно схемі, наведеній на рис. 3.5.

До підсистеми введення/виведення інформації входять такі пристрої :

– ВІС периферійних інтерфейсів/таймерів, призначених для обміну даними між мікропроцесором і периферійними пристроями (датчиками, пристроями керування тощо) у паралельному коді. Також ці пристрої вміщують таймери для формування довільних часових інтервалів у МПС.

ВIC PI/T є паралельний інтерфейс/таймер, призначений для обміну 8-розрядними даними між мікропроцесором і зовнішніми пристроями (датчиками, пристроями керування тощо). Структурну схему PI/T наведено на рис. 3.8.

Рисунок 3.8 – Структурна схема РІ/Т

PI/T складається з блоків, які забезпечують зв’язок з мікропроцесором (буферний регістр, системний інтерфейс), і блоків, які обслуговують зовнішні пристрої (8-розрядні порти А, В, С, 24-розрядний таймер, блок керування обміном, який може використовуватись для реалізації переривань, паралельного введення-виведення даних або формування сигналів квитування при пересиланні даних через порти А, В). Виводи РС7...РС2 можуть програмуватись для передавання сигналів таймера TIN#, TOUT#, переривання PIRQ#, PIACK#, TIACK, запиту прямого доступу DMAREQ#. Зв’язок PI/T з МП зреалізовується шляхом обміну даними по виводах D7…D0 у циклі читання або запису. МП видає на вхід системного інтерфейсу сигнал R/ , а PI/T видає сигнал підтвердження готовності DTACK#.

Дані зчитуються або записуються до одного з регістрів таймера, порту А, В, С або блока керування обміном. Вибір регістру визначається кодом адреси, який надходить на входи адреси RS5…RS1. В адресному просторі PI/T займає 32-байтові комірки, з яких 23 зайнято регістрами, а решта не використовуються. Всі регістри, крім лічильника CNT та регістра попереднього встановляння лічильника CPR, які мають 24 розряди, є 8-розрядні і адресуються як байт. CNT та CPR адресуються як три окремих 8-розрядні регістри.

При зверненні до PI/T на входи RS5...RS1 надходить адреса регістру, яку формує МП, а на вхід вибирання CS# подається сигнал CS# від адресного дешифратора, який визначає саме цей PI/T серед усіх, які входять до МПС. На вхід CLK надходять синхросигнали CLK/2, а на вхід RESEТ# – загальний для всієї системи сигнал скидання.

PI/T є програмована ВІС, до керувальних регістрів якої для реалізації різних режимів роботи треба записати керувальні коди, тобто зініціалізувати її.

Порти А та В забезпечують паралельний обмін даними між МП та периферійними пристроями. Для виведення даних МП записує їх до регістру даних відповідного порту: PADR або PBDR, а введення здійснюється шляхом їхнього зчитування з регістрів даних. Кожний вивід портів А та В може програмуватись окремо на введення або виведення встановленням у 1 (виведення) або у 0 (введення) бітів відповідного регістру – PADDR або PBDDR. Порти мають також додаткові регістри даних – PАСDR та PBСDR, які дозволяють зберігати дані, якщо необхідно ввести від периферійного пристрою наступний біт до того, як попередній було зчитано мікропроцесором, або вивести наступний біт з мікропроцесора до того, як попередній біт було прийнято зовнішнім пристроєм. Отже, PACDR та PBCDR слугують за буферні регістри.

Блок керування обміном здійснює загальне керування портами А та В, а також керування функціями виводів Н3...Н1. При ініціалізації портів А та В до регістрів PGCR, PSRR блока керування, регістрів PACR, PADDR та PBCR, PBDDR портів МП записує керувальні коди, які визначають їхнє функціонування.

Логічна структура блока паралельних портів і таймерів наведена на рис. 3.9. В якості паралельного порту передбачено використання двох ВІС DD3 і DD4, за допомогою яких буде можливо зорганізувати підключення шести незалежних периферійних пристроїв. В якості таймера використовується окрема ВІС DD5 для усунення конфліктів між портами обміну даними і таймером.

Керування пристроями здійснюється за допомогою сигналів від ВІС FPGA, які дозволяють роботу паралельного порту (ВІС DD3 і DD4) – BACK4 і таймера – сигнал BACK5.

Загалом, з ША ці ВІС з’єднуються шиною RS5…1, яка підключена до розрядів А5…А1 і забезпечує вибір пристроїв, що входять до складу цих мікросхем. Таким чином, адресний простір кожної з цих мікросхем становить 25 = 32 комірки пам’яті, тому для вибору однієї з цих двох мікросхем можна використовувати наступний розряд ША – А6. Вибір між цими ВІС здійснюється за допомогою дешифратора DD2, який виконує дешифрування біта А6 шини адреси. При цьому, значення біта А6 = 0 викликає формування сигналу на виводі Y0 дешифратора DD2, який дозволяє роботу ВІС DD3 (верхня, за схемою), а значення А6 = 1 – дозволяє роботу ВІС DD4. Дозволом на роботу дешифратора слугує сигнал BACK4, який надходить на його вхід ОЕ. Якщо є необхідність збільшити кількість паралельних каналів, то необхідно включати додаткові ВІС, вибір яких буде здійснюватися при дешифруванні відповідних старших розрядів ША.

Рисунок 3.9 – Логічна структура блока паралельних портів і таймера

Дані, які приймаються або передаються через паралельний порт надходять на виводи D7…D0, які з’єднуються з ШД і становлять молодший байт цієї шини. Кожна з двох ВІС паралельного порту з’єднується з периферійними пристроями трьома шинами, які підключено до виводів РА7…0, РВ7…0 і РС7…0, які можуть працювати у різних режимах [1], а для обміну сигналами квитування слугують виводи Н4…Н0.

Через те, що у якості таймеру використовується така сама ВІС, як і у паралельному порту, то підключення виконується аналогічно, лише вихідні сигнали формуються тільки на виводах РС7…РС0.

Блок послідовного введення/виведення може бути зреалізований за допомогою ВІС МС68681 фірми Motorola і слугує для організації двох незалежних послідовних асинхронних дуплексних каналів обміну (А та В) із периферійними пристроями; також за його допомогою існує можливість організації обміну службовою інформацією через 6-розрядний паралельний порт приймання і 8-розрядний паралельний порт введення-виведення інформації. Схема підключення ВІС DUART показана на рис. 3.10. Логічна структура блока наведена на рис. 3.11.

Рисунок 3.10 – Схема підключення ВІС DUART

Рисунок 3.11 – Логічна структура блока послідовного порту

Вибір блока послідовного введення/виведення відбувається сигналом BACK3#, який формується ВІС FPGA. На схемі показано підключення двох ВІС ПАП/П (DD6, 7), що дає змогу організувати чотири незалежних дуплексних каналів зв’язку (TDA, RDA, TDB, TDB). Вибір однієї з двох ВІС ПАП/П здійснюється аналогічно попередньому блоку, за допомогою дешифратора DD2.