Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка для лаб Арх_комп(Схемтех).doc
Скачиваний:
6
Добавлен:
08.05.2019
Размер:
1.76 Mб
Скачать

Індивідуальне завдання на лабораторну роботу

  1. Проаналізувати текст програми, визначити коди символів, що виводяться на ІАР і ІРД.

  2. Підготувати нові коди для зміни цифрових і текстових повідомлень.

Порядок виконання лабораторної роботи

  1. Ввести в пам'ять ЕОМ програми, що розглянуті в розділі короткої інформації.

  2. Відлагодити і виконати програму.

  3. Натискаючи кнопки «Ад +», «Ад –», «Ввод», «Вывод», домогтись появи на ІАР і ІРД повідомлень «СОПР», «НАПР», «0000», «FFFF».

  4. Внести зміни для отримання нових повідомлень і виконати модифікацію програми.

  5. Зробити висновки з роботи.

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

  1. Які оператори в підпрограмі рис. 14.4 забезпечують виведення букви «О»?

  2. Проаналізувати програми рис. 14.3 і 14.6 і вказати, як формуються коди цифр 0 і F.

  3. Як виводяться чотири однакові цифри на ІРД?

  4. Як виконати виведення букв «ПР», що використовуються при виведенні повідомлень «СОПР» і «НАПР», за допомогою спеціальної підпрограми?

  5. Які зміни необхідно внести в програму, щоб перепризначити використовування кнопки і виконати ті ж дії за допомогою кнопок «0», «1», «2», «3»?

  6. Для чого в програмі рис. 14.2 потрібно відновлювати вміст акумулятора?

Лабораторна робота № 15 Тема: тестування пам’яті мікропроцесорної системи

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

Коротка інформація

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

В мікропроцесорних системах функції контролю повинні виконуватись автоматично, для чого створюються спеціальне програмне забезпечення і комплекс тестових програм. Тести, що є обов’язковим елементом програмного забезпечення системи, виконуються при включенні приладу або, якщо необхідно, — при виконанні спеціальної команди, що задається з пульта керування. Як правило, це кнопка «Сарос», так, наприклад, в мікролабораторії. В ряді випадків при включенні приладу виконується мінімальний контроль працездатності, тому може бути передбачена можливість виконання більш повних тестів з метою виявлення не тільки несправного вузла системи з точністю до плати, а ще й виявлення дефектного вузла на самій платі. До числа обов’язкових тестів треба віднести програми, що забезпечують контроль працездатності процесора, ПЗП і ОЗП, інтерфейсів периферійних пристроїв і самих периферійних пристроїв.

Тест процесора перевіряє правильність виконання команд на прикладах їх виконання з заданими параметрами і порівнянні отриманого результату з заздалегідь визначеним. Більш повний тест виконує всі команди з всіма можливими значеннями параметрів. Для виконання такого тесту потрібно значно більше часу.

Тест ПЗП, як правило, передбачає контроль порозрядних сум всіх слів програми і порівнює отримані контрольні суми з дійсним значенням. Очевидно, що поява зайвої логічної одиниці в будь-якому розряді або її зникнення однозначно вказує на необхідність втручання спеціаліста для ремонту. Оскільки ПЗП реальних систем розміщується в кількох мікросхемах, то контроль може проводитись по кожній мікросхемі, що спрощує процедуру пошуку несправності, але збільшує час тестування.

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

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

Контроль ОЗП можна виконати простою подачею "решітки" 0 і 1 по кожній з адрес. Для мікропроцесорної системи з процесором типу КР580ВМ80А це послідовності 0101 0101 і 1010 1010 або 55 і AA в 16-ковому коді. Послідовно записуючи за всіма адресами код 55 і перевіряючи правильність результату, виконуючи читання з порівнянням за всіма адресами спочатку 55, а потім AA, можна зробити висновок про те, що по всім розрядам всього масиву пам’яті можна виконувати запис 0 і 1. Такий тест не перевіряє можливість обриву або короткого замикання по адресним лініям. Для повної перевірки необхідний більш складний тест.

Адреса

Код команди

Мітка

Мнемоніка команди

Коментар

8030

INCR:

INX

H

; Збільшення HL на 1

8031

RET

; Повернення

Рис. 15.1. Модифікація адреси вічка пам’яті.

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

Адреса

Код команди

Мітка

Мнемоніка команди

Коментар

8035

BEG:

LXI

H, 8025

; Завантаження початкової адреси ділянки ОЗП, що тестується

8038

MOV

B, M

; Пересилання вмісту вічка за

8039

INX

H

; адресою 8025 в регістри H, L

803A

MOV

C, M

; – спочатку завантажується

803B

MOV

L, B

; молодший, а потім старший

803C

MOV

H, C

; байти

803D

RET

Рис. 15.2. Підготовка початкової адреси в H, L.

Початкова і кінцева адреси ділянки пам’яті, що тестується вкажемо в спеціально виділених вічках пам’яті. Оскільки адреса складається з 16 двійкових розрядів, то для її позначення потрібно виділяти по два вічка пам’яті. Нехай початкова адреса зберігається за адресами 8025 і 8026, а кінцева – за адресами 8027 і 8028. За непарною адресою ОЗП будемо зберігати молодший байт адреси, а по парному – старший. Завантаження початкової адреси виконаємо за допомогою підпрограми BEG (рис. 15.2), а завантаження кінцевого – з перевіркою на збіг з вмістом пари регістрів H, L підпрограмою FІN (рис. 15.3).

Адреса

Код команди

Мітка

Мнемоніка команди

Коментар

8040

FIN:

XCHG

; Обмін D, E, H, L

8041

LXI

H, 8020

; Завантаження кінцевої адреси ділянки ОЗП, що тестується

8044

MOV

A, M

; Пересилання старшого байту

8045

CMP

D

; Порівняння старших байтів

8046

JNZ

CONT

; Тест не закінчений

8049

DCX

H

; Зменшення HL на 1

804A

MOV

A, M

; Пересилання молодшого байту

804B

CMP

E

; Порівняння молодших байтів

804C

JNZ

CONT

; Тест не закінчений

804F

CALL

STOP

; Тест закінчений

8052

CONT:

XCHG

; Відновлення H, L

8053

RET

; Продовження тесту

Рис. 15.3. Перевірка закінчення тесту.

Ця ж підпрограма забезпечує продовження або завершення тесту. Перевірка на продовження тесту починається з обміну вмісту H, L і D, E пар регістрів. Поточна адреса вічка, перевірка якого здійснюється, переноситься в регістри D, E, а на її місце заноситься адреса, за якою записана кінцева адреса тестування ОЗП. При цьому аналіз збігання адрес буде виконуватись починаючи з старшого байту адреси. Якщо старші байти не співпадають, відновлюється вміст регістрів H, L і тест продовжується. Якщо збігання є, то перевіряється на рівність молодші байти поточної і кінцевої адрес. Якщо вони співпадають, викликається підпрограма STOP (рис. 15.4), інакше, – як і в попередньому випадку, тест продовжується. Підпрограма STOP виводить на ІРД стилізований з урахуванням можливостей семисегментних індикаторів текст «StOP», якщо в усіх вічках ОЗП не було помилок.

Для цього використовуємо вічка пам’яті, які опитуються каналом ПДП (прямого доступу до пам’яті) для виводу на ІРД даних за адресами з 83FC по 83FF. Коди символів, що складають повідомлення:

Адреса

Код команди

Мітка

Мнемоніка команди

Коментар

8055

STOP:

LXI

H, 83FC

Завантаження регістрів H, L

8058

MVI

A, 6D

  адресою 83FC. Далі групи

805A

MOV

M, A

 S  по три команди послідовно

805B

INX

H

   виводять текст “StOP”

805C

MVI

A, 78

805E

MOV

M, A

 t

805F

INX

H

8060

MVI

A, 3F

8062

MOV

M, A

 O

8063

INX

H

8064

MVI

A, 73

 P

8066

MOV

M, A

8067

HLT

Рис. 15.4. Підпрограма виведення повідомлення StOP і зупинення.

Підпрограма STOP завершує програму тесту ОЗП і зупиняє мікролабораторію. Якщо в процесі тестування будуть виявлені помилки, тобто записане у вічко пам’яті повідомлення і повідомлення, яке зчитане по цій же адресі, не співпадають, то процес тестування припиняється і на індикатори виводиться стилізоване повідомлення Error, яке формується підпрограмою ERR (рис. 15.5). Підпрограма виконана по аналогії з підпрограмою STOP.

Коди символів, що виводяться на індикатор, завантажуються в ОЗП з адреси 83FB до 83FF і мають значення:

Вивчивши текст програми рис. 15.5, можна припустити, що три старших розряди ІАР не змінюють свого поточного значення, в чому і потрібно впевнитись при виконанні програми.

Адреса

Код команди

Мітка

Мнемоніка команди

Коментар

8070

ERR:

LXI

H, 83FB

Завантаження регістрів H, L

8073

MVI

A, 39

    адресою 83FB. Далі групи

8075

MOV

M, A

 по три команди послідовно

8076

INX

H

     виводять текст “ErrOr”

8077

MVI

A, 50

8079

MOV

M, A

r

807A

INX

H

807B

MVI

A,50

807D

MOV

M, A

r

807E

INX

H

807F

MVI

A, 3F

8081

MOV

M, A

O

8082

INX

H

8083

MVI

A,50

r

8085

MOV

M, A

8086

HLT

Рис. 15.5. Підпрограма виведення повідомлення “ErrOr” і зупинення.

Текст основної програми, яка викликає описані підпрограми, показана на рис. 15.6. Студенти повинні самостійно розібрати роботу програми і відобразити її у вигляді схеми.

Адреса

Код команди

Мітка

Мнемоніка команди

Коментар

8000

CALL

BEG

; Пуск

8003

LDA

CONST

; Завантаження константи

8006

MOV

B, A

; для тестування ОЗП

8007

COUNT:

MOV

M, B

; Запис у вічко

8008

MOV

A, M

; Читання вічка

8009

CMP

B

; Порівняння

800A

CNZ

ERR

; Помилка

800D

CZ

FIN

; Перевірка закінчення

8010

CALL

INCR

; Наступне вічко

8013

JMP

COUNT

; Продовжити тест

8016

HLT

; Зупинення

Рис. 15.6. Основна програма тесту ОЗП.

Для роботи програми необхідно попередньо занести в ОЗП додаткову інформацію за адресами.

Отже, пускова адреса програми – 8000. Програму рекомендується виконувати, завантажуючи у вічко 8020 послідовно 00, FF, 55, AA і працюючи з областю пам’яті з 8100 до 8200. Якщо мікролабораторія справна, то в усіх випадках буде виводитись повідомлення StOP. Якщо тепер виконати ті ж дії, але з фіктивною областю пам’яті, наприклад, з адреси 9000 до 9200, то при всіх значеннях тестуючого коду, крім FF, буде виводитись повідомлення ErrOr.

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