Logo GenDocs.ru


Поиск по сайту:  


Лабораторная работа №1 (на укр.яз) - файл Лабораторна_робота _№1.doc


Лабораторная работа №1 (на укр.яз)
скачать (9.9 kb.)

Доступные файлы (1):

Лабораторна_робота _№1.doc79kb.04.02.2008 09:13скачать

содержание

Лабораторна_робота _№1.doc

Реклама MarketGid:
ЛАБОРАТОРНА РОБОТА №1

Курс “Інтерфейси”

Тема: “Організація передачі даних за допомогою інтерфейсу “CENTRONICS” для ПЕОМ типу IBM PC”.

Мета роботи: Здійснити односторонній обмін даними між двома ЕОМ за допомогою спеціалізованої нуль-модемної шини.

Основні теоретичні відомості


Паралельний порт ЕОМ IBM PC (LPT-порт) фізично складається з набору регістрів, які в логічній моделі ЕОМ мають свої визначені адреси. Звичайно значення адрес можна одержати переглянувши BIOS системи, або, скориставшись за допомогою різноманітних тестових програм. Можна отримати таку інформацію й програмно. Для цього слід програмно прочитати таблицю базових адрес портів. Таблиця базових адрес портів знаходиться в області даних BIOS, починаючи з комірки 408h: LPT1- 0:408, LPT2-0:40A, LPT3:-0:40C. Якщо порт не встановлений, то у відповідній комірці записаний 0.

Однак для більшості випадків справедливим є наступний розподіл адрес:

Таблиця 1


^ Номер LPT

LPT1

LPT2


Регістр даних:

378 h

278 h

Регістр стану:

379 h

279 h

Регістр управління:

37А h

27А h

Паралельний порт може працювати в одному з наступних режимів: Normal, ECP, EPP. Для режиму Normal, швидкість передачі даних обмежена 150 кБайт/сек при відстані передачі до 3м.

Програмування паралельного порту полягає у записі нулів та одиничок у відповідні регістри при виводі інформації з ЕОМ, та їх зчитування з відповідних регістрів при вводі інформації в ЕОМ від зовнішніх пристроїв. При цьому слід пам'ятати, що виведена інформація залишається у відповідному регістрі порта до наступного виводу, а інформація, яка вводиться - не запам’ятовується в регістрі, і є активною (може бути зчитана) тільки протягом часу дії ввідного сигналу. Перевага застосувань паралельного порта полягає в його широкій розповсюдженості та уніфікації використання. Напрям обміну даними регістрів паралельного порта для режиму Normal наведені в Таблиці 2.

Таблиця 2.

Тип регістру
^

Напрям дії


Регістр даних:

Вивід з ЕОМ

Регістр стану:

Ввід до ЕОМ

Регістр управління:

Вивід з ЕОМ

Розподіл, назва та номери виводів регістрів паралельного порта для режиму Normal наведені в Таблиці 3.

Таблиця 3.1


^ Регістр даних.

Bіt7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

Назва


D7

D6

D5

D4

D3

D2

D1

D0

№ конт.


9

8

7

6

5

4

3

2

Таблиця 3.2


^ Регістр стану.

Bіt7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

Назва


-busy

-ack

pe

slct

-error

0

0

0

№ конт.


11

10

12

13

15

x

x

x



Таблиця 3.3


^ Регістр управлін.

Bіt7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

Назва


0

0

0

irq en

slckt in

-init

auto lf

strobe

№ конт.


x

x

x

x

17

16

14

1


Прим. Знак “-“ означає інверсію сигналу. Знак “х” означає відсутність вихідного контакту. Знак “0” означає невикористання даного біту в регістрі.


Як видно з таблиці 3.2 для вводу інформації за допомогою паралельного порту можна використати тільки 5 ввідних ліній, тому байт даних для вводу доцільно розбивати на тетради, з організацією почергової їх передачі. Передачу даних можна організовувати асинхронно або з використанням синхронізуючих (стробуючих) сигналів. Швидкість передачі даних обмежується кількістю можливих записів в порт ( < 300 000 зап./сек.) та довжиною з’єднувальної шини. При невисокій обчислювальній спроможності ЕОМ (платформи на основі процесорів Intel 286, 386, 486) та складності алгоритму передачі/прийому інформації, швидкість передачі може обмежуватись і цими факторами. У випадку реалізації алгоритмів передачі, для забезпечення цілісності даних слід використовувати наступні (один з можливих, або їх комбінацію) прийоми:

  • Зменшення швидкості передачі даних до значення 100%-ї відсутності помилок передачі;

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

  • Використання надлишкового завадостійкого кодування (коди Хемінга, тощо).

Реалізація алгоритму здійснюється за допомогою будь-яких засобів програмування (Сі, Паскаль, Асемблер) - на вибір.

Слід зазначити, що програмування регістрів програмою користувача прямо допустимо тільки для операційних систем MS DOS, Microsoft Windows -95, -98, -ME. При використанні Microsoft Windows NT, 2000, XP програмування слід здійснювати шляхом викликів API функцій Windows. При передачі даних між двома ЕОМ, логічно, за способом генерації керуючих сигналів можна розглядати одну машину працюючою в ведучому режимі (A) а іншу – в веденому (B).

Перед реалізацією алгоритму слід провести логічний розподіл контактів за функціями. Наприклад, нехай контакти паралельного порту №1 машини А, 378.0…378.3 будуть передавати тетради даних. Для прийому даних виділимо контакти 379.3…379.6 паралельного порту №1 машини В. Строб-сигнал буде генеруватись машиною А (37А.0) і прийматись машиною В (379.7). Напрям передачі даних – від А до В. Приймання даних реалізоване програмно, що значно знижує швидкість обміну.

Один з можливих алгоритмів односторонньої передачі байта даних між двома ЕОМ в такому випадку за допомогою паралельного порту в режимі Normal:

Для машини А:

  1. Розбити байт на старшу і молодшу тетраду.

  2. Виставити на лінію строб-сигналу лог. 0 (можливо подвійної тривалості)

  3. Виставити в канал передачі молодшу половину даних.

  4. Виставити на лінію строб-сигналу лог. 1 (можливо подвійної тривалості)

  5. Виставити на лінію строб-сигналу лог. 0 (можливо подвійної тривалості)

  6. Виставити в канал передачі старшу половину даних.

  7. Виставити на лінію строб-сигналу лог. 1 (можливо подвійної тривалості)

  8. Перейти до пересилки наступного байта.

Для машини В:

  1. Циклічно очікувати приходу лог.0 на лінії строб-сигналу

  2. Циклічно очікувати приходу лог.1 на лінії строб-сигналу

  3. Зчитати з каналу передачі молодшу половину даних.

  4. Циклічно очікувати приходу лог.0 на лінії строб-сигналу

  5. Циклічно очікувати приходу лог.1 на лінії строб-сигналу

  6. Зчитати з каналу передачі старшу половину даних.

  7. Об’єднати старшу і молодшу тетради даних.

  8. Зберегти одержаний байт даних.

При розробці програми слід забезпечити індикацію кількості байтів, переданих по каналу. При цьому зручно користуватись комбінованими способами написання програм (мова високого рівня+вбудований асемблер). Наприклад в середовищі Borland Pascal v.7.0, фрагменти програми які реалізують передачу даних можуть бути реалізовані двоїсто:

// Передача даних

procedure WriteByte1(adr:word; b:byte);

begin

asm

mov dx,adr

mov al,b

out (dx),al

end;

end; // Такий спосіб допустимий і для DELPHI


procedure WriteByte2(adr:word; b:byte);

begin

PORT[adr]:=b;

end;

аналогічно фрагменти для вводу даних будуть мати вигляд:

……………..

asm

mov dx,adr

in al,(dx)

mov b,al

end;

…………… або просто b:=PORT[adr];

^

Варіанти виконання роботи

Варіанти виконання роботи вибираються згідно останньої цифри Q в номері залікової книжки у відповідності до Таблиці 4:

Таблиця 4

Q

Біти рег. даних 378h

Біти рег. прийм. 379h

Формування стробу (ЕОМ)

1

d3,d2,d1,d0

b7,b6,b5,b4

А

2

d0,d1,d2,d3

b6,b5,b4,b3

В

3

d4,d5,d6,d7

b4,b5,b6,b7

А

4

d7,d6,d5,d4

b3,b4,b5,b6

В

5

d6,d5,d4,d3

b7,b6,b5,b4

А

6

d5,d4,d3,d2

b6,b5,b4,b3

В

7

d1,d2,d3,d4

b4,b5,b6,b7

А

8

d2,d3,d4,d5

b3,b4,b5,b6

В

9

d3,d4,d5,d6

b7,b6,b5,b4

А

10

d3,d4,d5,d6

b6,b5,b4,b3

B



^

Підготовка до виконання роботи


Підготовка до виконання лабораторної роботи включає:

  • Вибір варіанту завдання у відповідності до Таблиці 4.

  • Розробку алгоритму передачі даних для машини-передавача (А) та машини приймача (В) даних.

  • Розподіл контактів паралельних портів для машин А і В.



^

Вимоги до оформлення звіту


Звіт повинен оформлятись на форматах А4 згідно до загальноприйнятих вимог. Допускається текстову та графічну частини виконувати вручну. Звіт повинен містити:

  • Вибраний варіант

  • Текстовий опис алгоритму функціонування програм

  • Друковану версію тексту програм передачі і прийому інформації.

  • Блок-схему алгоритму функціонування програм

  • Висновки


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

  1. Які фактори впливають на швидкодію передачі даних через паралельний порт?

  2. Яким чином збільшити завадостійкість прийому/передачі даних?

  3. У випадку, якщо приймач організований апаратно, яким шляхом можна кардинально збільшити швидкість передачі даних ? (Розробіть спосіб)

Реклама:





Скачать файл (9.9 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru