Реферати

Реферат: Мікроконтролер 8250

XXI століття. План Уведення 1 Минулі події 1.1 2000-і 1.2 2010-і 2 Очікувані події 2.1 2010-і 2.2 2020-і 2.3 2030-і 2.4 2040-і 2.5 2050-і 2.6 2060-і 2.7 2100-і Список літератури

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

Музеї Владимирськ області. Контрольна робота з дисципліни: "Музеї світу" на тему: "Музеї Владимирськ області" Виконав: Керівник: Зміст: Уведення 3 Історія Володимиро-Суздальського князівства 5 Міста Владимирськ області . Музеї 14 Список джерел 41

Керування безпекою праці. Зміст Уведення Розділ 1. Керування безпекою праці 1.1. Правові і нормативні основи безпеки праці 1.2. Соціально-економічне значення і джерела фінансування охорони праці

Моделі атома і теорія Бора. Зміст Уведення 3 Список літератури 15 Уведення Джерела квантової фізики можна знайти в дослідженнях процесів випромінювання тел. Ще в 1809 р. П. Прев зробив висновок, що кожне тіло випромінює незалежно від навколишнього середовища. Завдяки розвитку спектроскопії в XIX в. при вивченні спектрів випромінювання починають звертати увагу і на спектри поглинання.

ИС послідовного ассинхронного інтерфейсу

WD8250

ХАРАКТЕРНІ РИСИ

* Спроектована для найбільш простого приєднання до

самим широко використовуваним мікропроцесорам (Z-80, 8080А, 6800

і т.д.).

* Повна подвійна буферизация.

* Незалежне керування передачею, прийомом, лініями

стану, перериванням.

* Програмувальний генератор швидкості передачі дозволяє

поділяти будь-як вхідні синхроімпульси на число від 1 до (2**16-1)

і робить внутренную шестнадцатикратную синхронізацію.

* Незалежне введення синхронізуючих імпульсів приймача.

* Цілком програмувальний послідовний інтерфейс.

Характеристики:

- 5, 6, 7 чи 8-ми бітові дані;

- формування біта контролю чи парності непарності і його виявлення;

- формування 1, 1,5 чи 2-х стопових битов;

- формування швидкості в бодах (канал зв'язку зі швидкістю до 56 Кбод);

- виявлення помилкового стартового біта;

* Повні характеристики повідомлень про стан

* ТтL-драйвер з 3-мя станами для двунаправленной шини даних і шини керуючої.

* Генерація і виявлення переривання передачі.

* Характеристики внутрішнього діагностування

- контроль лінії зв'язку для виявлення несправної ізоляції.

- моделювання помилок переривання передачі, паритету, переповнення, кадрування.

* Цілком керована пріоритетна система приревания.

* Єдине джерело харчування +5 В.

ОПИС

WD8250 являє собою програмувальний елемент

ассинхронной зв'язку (ACE) у 40-контактному корпусі. Пристрій

виготовляється за технологією кремнеевих затворів N/MOS.

ACE є програмувальним пристроєм, що

використовує двунаправленную 8-ми бітову шину даних з 3-мя

станами.

АСІ використовується для перетворення рівнобіжних даних у послідовний формат з боку передачі і перетворення послідовних даних у рівнобіжні з боку приймача. Послідовний формат являє собою стартовий біт для передачі і прийому наступні від 5-ти до 8-ми битов даних, біт паритету (якщо запрограмований) і один, півтора (тільки 5-ти бітовий формат) чи два стопових біти. Максимальна швидкість передачі, що рекомендується, даних 56 Кбод. Внутрішні регістри дають можливість пользхователю програмувати різні типи переривань, сигналів керування модему і знакові формати. Користувач може зчитувати стан АСІ в будь-який час, читаючи регістри стану, переривання і стани модему.

Додатковою характерною рисою АСІ є програмувальний генератор швидкості, що може чи поділяти внутрішній синхронізуючий сигнал від чи кварцу внешную частоту рівня TTL на число від 1 до 2**16-1.

АСІ спроектований для роботи як у керованій системі переривання так і в системі опитування, що програмується користувачем і працює під керуванням програмного забезпечення з використанням внутрішнього регістра.

ОПИС КОНТАКТІВ

Номер|

кін- |

такта|

Мнемони-

ка

Наименова-| ние сиг- | нала |

Функція

1 |

2

3 |

4

1 |

до |

8 |

|

|

|

9 |

|

|

|

|

10 |

|

|

11 |

|

|

|

|

|

12 |

13 |

14 |

|

15 |

|

|

|

|

|

|

|

16 |

|

|

17 |

|

|

18 |

19 |

|

|

|

|

|

|

|

|

20 |

21 |

22 |

|

|

|

|

|

|

|

23 |

|

|

|

|

24 |

|

|

|

25 |

|

|

|

|

|

|

|

|

|

|

|

|

|

26 |

|

27 |

|

28 |

|

29 |

|

30 |

|

31 |

|

|

|

|

32 |

|

|

|

33 |

|

|

|

34 |

|

|

|

|

35 |

|

36 |

|

|

37 |

|

|

|

38 |

|

|

|

|

|

|

39 |

|

|

|

40 |

D0

до D7

RCLK

SIN

SOUT

CSO

CS1

CS2

BAUDOUT

XTAL1

XTAL2

DOSTR

DOSTR

Vss

DISTR

DISTR

DDIS

CSOUT

ADS

A2

A1

A0

NC

INTRPT

OUT2

RTS

DTR

OUT1

MR

CTS

DSR

RSLD

RI

Vcc

Шина |

даних |

|

|

|

|

Вхід син- | хронизации| приймача |

|

|

Вхід после| дователь- | них данних|

Вихід пос-| ледовате- | льних даний-| них |

|

Входи |

Вибір ИМС0|

Вибір ИМС1|

Вибір ИМС2| |

Вихід син-| хронизации| передатчи-| ка |

|

|

|

|

Вхід внеш-| його синх-| росигнала |

Вихід поза-| шнего синх| росигнала |

Вхід строб| висновку дан| них |

|

|

|

|

|

|

|

Заземление|

Вхід строб| уведення даний-| них |

|

|

|

|

|

|

Вихід бло-| кировка бу| фера даний- | них |

|

Вихід ви- |

бора ИМС |

|

|

Вхід строб|

адреси |

|

|

|

|

|

|

|

|

|

|

|

Входи | Вибір ре- | гистра А2 | Вибір ре- | гистра А1 | Вибір ре- | гистра А0 |

Немає під-| соединения|

Вихід пре| ривания |

Вихід 2 | | | | |

Вихід за-| прос пері-| дачі |

|

Вихід го-| товность | термінала | даних |

Вихід 1 | | | | |

Вхід про-| щий скидання |

Вхід го- | тов для | передачі |

Вхід вуст-| ройство со| пряжения | готове |

Вхід де- | тектор при| нимаемого | лінійного | сигналу ка| нала даний- | них |

Вхід ин- | дикатор | виклику |

|

+5 В |

Лінії введення /висновку з 3-мя состояними. Двунаправленние лінії зв'язку меж-

ду WD8250 і шиною даних. Усі ском-

понованние дані TX і RX, управля-

ющие слова й інформація про стан

передаються через шину даних D0-D7.

Цей вхід є входом частоти, що задає, для приймача на ИМС (може бути приєднаний до 15-му контакту

BAUDOUT) (частота дорівнює швидкість у бодах помножена на 16)

Введення одержуваних даних з каналу

зв'язку (від перифирийного пристрою,

чи модему пристрою сполучення).

Висновок переданих даних, наданих у послідовному коді в канал зв'язку. Сигнал SOUT встановлюється у визначений стан (лог.1) при загальному скиданні.

Коли сигнали CS0 і CS1 високі, а

CS2 низький, вибирається ИМС. Вибір виконується, коли строб адреси ADS фіксує обрані сигнали ИМС.

16-ти кратний синхросигнал передчи-

ка ИМС WD8250. Частота синхросигна-

ла дорівнює частоті генератора, разде-

ленної на число, завантажене в ре-

гистр дільника. Сигнал BAUDOUT може

бути використаний для синхронізації

приймача при підключенні його до

RCLR (контакт 09).

До цих контактів підключають кварц

чи зовнішній генератор, що задає, для

завдання необхідної швидкості передачі

(см. мал. 5 і 6).

Коли ИМС обрана, низький рівень сигналу DOSTR чи високий рівень сигналу DOSTR дозволяють запам'ятати дані в обраному регістрі WD8250 (записує ЦПУ). Тільки одна з

цих ліній повинна использоиваться.

Установите невикористовувану лінію

у неактивний стан:

DOSTR - високий рівень,

DOSTR - низький рівень.

Заземлення

Коли ИМС обрана низький сигнал

DISTR чи високий сигнал DISTR дозволяє зчитувати з обраного регістра WD8250 (читає ЦПУ).

Тільки одна з цих ліній може

бути використана. Установите не-

використовувану лінію в неактивне

стан: DISTR - високий рівень

DISTR - низький рівень. Вихід низький усякий раз когдда дані зчитуються з WD8250. Може бути використаний для зміни напрямку даних від зовнішнього приемопередатчика. Вихід високий усякий раз, коли ИМС обрана. Передача даних у лінію не може бути ініційована доти, поки CSOUT високий. При низькому сигналі забезпечується фіксування сигналів для вибору регістра (А0, А1, А2) і вибори ИМС (CS0, CS1,CS2). Примітка: Позитивний фронт сигналу ADS необхідний, коли сигнали вибору регістра (А0, А1, А2) і вибори ИМС (CS0, CS1,CS2) нестабільні під час операції чи зчитування записи. Якщо це не потрібно, вхід ADS може бути постійно низьким. Ці 3 входи використовуються для вибору внутрішнього регістра WD8250 під час зчитування і запису. Див. таблицю нижче.

Не використовується

Висновок високий усякий раз, коли є присутнім дозволене переривання.

Вихід призначений для користувача, що може бути запрограмований 3-тім битому регістра керування модему. Біт рівний 1 формиру-

ет OUT2 низьким.

Коли вихід низький, він повідомляє чи модему пристрою сполучення, що

WD8250 готовий передати дані.

Див. регістр керування модему. Якщо вихід низький, він повідомляє чи модему пристрою сполучення, що WD8250 готово одержати дані. Вихід, призначений для користувача, може бути запрограмований 2-им битому регістра керування модему. Біт рівний 1 формує вихід 1 низьким. Високий сигнал скидає регістри в стани, зазначені в табл. 1. Сигнал з АПД, що вказує, що пристрій готовий до передачі даних.

Див. регістр стану модему.

Сигнал з АПД, використовуваний для вказівки стану готовності улаштуй-

ства сполучення.

Див. регістр стану модему. Сигнал з АПД, що вказує, що йде одержання сигналу, що задовольняє умовам якості сигналу.

Див. регістр стану модему.

Вхід низький, указує, що

сигнал виклику отриманий чи модемом

пристроєм сполучення.

Див. регістр стану модему. Харчування +5 В.

ВИБІР ИМС І АДРЕСАЦІЯ РЕГІСТРІВ

Строб адреси (ADS 25-тий контакт): при низькому рівні забезпечує дозвіл аналізу сигналів вибору регістра (А0, А1, А2) і вибори ИМС (СS0, CS1, CS2).

Примітка: позитивний фронт сигналу ADS необхідний

для фіксації, коли сигнали вибору регістра (А0,

А1, А2) і вибори ИМС (CS0, CS1, CS2) можуть змінювати під час чи зчитування запису. Якщо ADS не використовується для фіксування, то на цей вхід необхідно подати постійний рівень, що дозволяє, логічного 0.

Вибір ИМС (CS0, CS1, CS2) контакти 12-14: для вибору ИМС входи CS0 і CS1 повинні мати високий рівень, а CS2 - низький. Вибір ИМС виробляється після фіксування стробом адреси (ADS) чи якщо вхід ADS постійно низький.

Вибір регістра (А0, А1, А2) контакти 26-28: умови вибору регістра при чи зчитуванні записі див. табл. 2.

Примітка: розрядом доступу до регістрів дільника (DLAB) є самий старший розряд у регістрі керування лінією. DLAB повинний бути запрограмований у 1 для забезпечення доступу до регістрів дільника генератора швидкості передачі.

DLAB |

А2

А1

А0

Регістр

0 |

|

|

0 |

х |

|

х |

х |

х |

х |

х |

1 |

1 |

0

0

0

0

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

0

1

0

1

0

1

0

1

0

1

Буферний регістр прийому (читання)

Регістр збереження інформації передавача (запис)

Регістр дозволу переривання

Регістр ідентифікації переривання (тільки читання)

Регістр керування лінією

Регістр керування модемом

Регістр стану лінії

Регістр стану модему

Немає

Регістр дільника (молодший байт)

Регістр дільника (старший байт)

ПРИНЦИП ДІЇ WD8250

Установка ИМС у вихідний стан.

Високий рівень на вході на 35-ом контакті встановлює WD8250 у положення, зазначене в табл. 1.

Доступ до регістрів WD8250.

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

Таблиця 1

Регістр/сигнал

Установка |

Вихідний стан

Буферний регістр приймача

отримане |

перше слово |

дані

Регістр збереження інформації передавача

запис у етот|

регістр |

|

дані

Регістр дозволу переривань

загальне скидання |

|

усі розряди низькі

Регістр ідентифікації переривання

|

- "- |

|

розряд 0 високий і разря-

ди з 1 по 7 постійно

низькі

Регістр керування лінією

- "- |

|

Усі розряди низькі

Регістр керування модемом

- "- |

|

Усі розряди низькі

Регістр стану лінії

- "- |

|

Усі розряди низькі, а розряди 5 і 6 високі

Регістр стану модему

загальне скидання |

сигнальні |

входи модему |

Розряди 0-3 низькі, розряди 4-7 - вхідні сигнали

Регістр дільника молодший байт

запис у ре- |

гистр |

дані

Регістр дільника старший байт

запис у ре- |

гистр |

дані

SOUT

загальне скидання |

високий

BAUDOUT

запис у лю- |

бій регістр |

дільника |

низький

CSOUT

сигнал строба|

ADS і складаючись-| ние ліній ви-| бора ИМС |

високий/низький

DDIS

DDIS=CSOUT x |

RCLKx DISTR | (при загальному сб-| росі ЦП устан-| авливает низк-| ие RCLK і |

DISTR) |

високий

INTRPT

загальне скидання |

низький

OUT2

-"- |

високий

RTS

-"- |

високий

DTR

-"- |

високий

OUT1

-"- |

високий

Лінії шини даних

D7 - D0

- -

У третє состо|

яние, якщо |

CSOUTxDISTR =| високий чи | CSOUTxDOSTR =| високий | -

Третій стан дані (від ИМС до ЦП) даного (від ЦП до ИМС)

- -

РЕГІСТР КЕРУВАННЯ ЛІНІЇ

Розряди 0 і 1: ці два розряди визначають кількість битов у кожній переданій чи прийнятій послідовності символів. Кодування битов 0 і 1 наступне

Біт

1

| Біт

0

| Довжина символу

0

0

1

1

| 0

| 1

| 0

| 1

| 5 біт

| 6 біт

| 7 біт

| 8 біт

Розряд 2: цей розряд визначає кількість стопових битов у послідовності символів. Якщо розряд 2 є лог.0, один стоповий біт чи формується контролюється при чи передачі одержанні даних, відповідно. Якщо розряд 2 є лог.1 (при обраної розрядами 1 і 0 довжині символу в 5-ть битов) чи формується контролюється 1,5 стопових біта. Якщо розряд 2 є лог.1, при довжині слова 6, 7 чи 8 битов, чи формується перевіряється два стопових біти.

Розряд 3: це розряд дозволу паритету. Якщо біт 3 є лог.1, біт паритету формується (передача даних) чи контролюється (одержання даних) між останнім бітом символу і стоповим битому послідовності даних (біт паритету використовується для формування парного чи непарного числа одиниць при підсумовуванні битов символу і біта паритету).

Розряд 4: цей біт є битому вибору перевірки за паритетом на парність. Якщо біт 3 є лог.1 і біт 4 є лог.0, непарне число логічних одиниць чи передається контролюється в бітах інформаційного слова і біті паритету. Коли біт 3 є лог.1 і біт 4 є лог.1, чи передається контролюється парне число битов.

Розряд 5: це біт фіксованого паритету. Коли біт 3 і біт 5 є лог.1, біт паритету передається і потім визначається приймачем у протилежному режимі, зазначеному битому 4.

Розряд 6: це біт керування перериванням передачі. Коли біт 6 є лог.1, послідовний вихід (SOUT) встановлюється в стан пробілу (лог.0) і знаходиться в цьому стані (до установки і вихідний стан битому 6 низького рівня) незалежно від інших сигналів керування передачі. Ця особливість дозволяє ЦПУ підключати термінал у систему зв'язку ЕОМ.

Розряд 7: це біт доступу до регістра дільника (DLAB). Він повинний бути на високому рівні (лог.1) для доступу до регістрів дільника генератора швидкості передачі при чи зчитуванні записі. Він повинний бути на низькому рівні (лог.0) для доступу до буфера приймача, регістру збереження інформації чи передавача регістру дозволу переривання.

ПРОГРАМУВАЛЬНИЙ ГЕНЕРАТОР ШВИДКОСТІ ПЕРЕДАЧІ

Цей генератор може приймати будь-який вхідний

синхронізуючий сигнал (до 3,1 Мгц) і поділяти його на будь-яке

число від 1 до 2**16-1. Частота виходу генератора - 16 помножити

на швидкість передачі в бодах. Два 8-ми бітових регістри зберігають

число - дільник у 16-ти бітовому двоичном коді. Ці регістри

дільника треба завантажити під час ініціалізації для забезпечення

необхідного режиму роботи генератора. При завантаженні будь-якого

регістра дільника, негайно завантажується 16-ти бітовий

лічильник бодов. Це предотвротит роботу лічильника без вихідної

завантаження. Таблиці 3 і 4 ілюструють використання генератора

с двома різними ведучими частотами.

Таблиця 3 - використання кварцу 1,8432 Мгц.

Таблиця 4 - використання кварцу 3,072 Мгц.

Примітка: максимальна частота генератора - 3,1 Мгц. При використанні дільника 6 і менших дільників, максимальна частота дорівнює 1/2 значення дільника в Мгц. Наприклад, якщо дільник дорівнює 1, максимальна частота дорівнює 1/2 Мгц. Швидкість передачі даних не повинна перевищувати 56 Кбод.

Таблиця 3

Застосування кварцу 1,8432 Мгц у генераторі швидкості передачі

Швидкість у бодах

Число-дільник синхронізації

| Помилка в %

|

50

75 110 134,5 150 300 600

1200

1800

2000

2400

3600

4800

7200

9600 19200 38400 56000

2304

1536

1047

857

768

384

192

96

64

58

48

32

24

16

12

6

3

2

| -

| -

| 0,026

| 0,058

| -

| -

| -

| -

| -

| 0,69

| -

| -

| -

| -

| -

| -

| -

| 2,86

Примітка: 1,8432 Мгц - це стандартна частота 8080, ділена на 10.

Таблиця 4

Застосування кварцу 3,072 Мгц у генераторі швидкості передачі

Швидкість у бодах

Число-дільник синхронізації

| Помилка в %

|

50

75 110 134,5 150 300 600

1200

1800

2000

2400

3600

4800

7200

9600 19200 38400 56000

3840

2560

1745

1428

1280 640 320 160 107

96

80

53

40

27

20

10 5 3

| -

| -

| 0,026

| 0,034

| -

| -

| -

| -

| -

| -

| -

| 0,628

| -

| 1,23

| -

| -

| -

| 14,285

РЕГІСТР СТАНУ ЛІНІЇ

Цей 8-ми бітовий регістр надає ЦПУ інформацію про передачу даних. Формат регістра представлений у табл.2 і описаний нижче.

Розряд 0: цей біт - індикатор готовності даних приймача (DR). Біт 0 встановлюється в стан лог. 1, коли прийнятий весь символ, що надходить, і переданий на буферний регістр приймача. Біт 0 може бути скинутий у стан лог. 0 або при читанні ЦПУ даних у буферному регістрі приймача, або при записі ЦПУ лог. 0 у цей біт.

Розряд 1: цей біт є індикатором помилки переповнення (ОЕ). Біт 1 указує на те, що дані в буферному регістрі приймача не були лічені ЦПУ до передачі наступного символу в буферний регістр приймача, руйнуючи цим попередній символ. Індикатор ОЕ скидається при читанні ЦПУ вмісту регістра стану лінії.

Розряд 2: цей біт є індикатором помилки паритету (PE). Біт 2 указує на те, що символ прийнятих даних не має правильного парного чи непарного паритету, відповідно до встановленого битому вибору паритету. Біт РЕ встановлюється в стан лог. 1 при виявленні помилки паритету і скидається в лог. 0, коли ЦПУ зчитує вміст регістра стану лінії.

Розряд 3: цей біт є індикатором помилки кадру (FE). Біт 3 указує на те, що прийнятий знак не має щирого біта останова. Біт 3 встановлюється в лог. 1, коли біт останова, що випливає за останнім битому даних чи битому паритету розпізнається як нульовий біт (рівень пробілу).

Розряд 4: цей біт є індикатором переривання передачі (BI). Біт 4 встановлюється в стан лог. 1, якщо вхід прийнятих даних утримується в стані пробілу (лог. 0) у перебігу часу, що перевищує час передачі повного символу (тобто, загальне час старт-битий + біти даних + паритет + біти останова). Примітка: Біти 1-4 ідентифікують помилки, що формують

переривання по стані лінії прийому при виявленні

відповідних умов.

Розряд 5: цей біт є індикатором "регістр збереження передавача порожній" (THRE). Він указує на те, що WD8250 готово прийняти новий символ для передачі. Крім того, цей біт викликає формування WD8250 переривання для ЦПУ, коли установлений високий рівень дозволу переривання по ситуації "регістр збереження передавача порожній". Біт THRE встановлюється в стан лог. 1, коли символ переданий з регістра збереження передавача на сдвиговий регістр передавача. Біт скидається в лог. 0 одночасно з завантаженням регістра збереження передавача ЦПУ.

Розряд 6: цей біт є індикатором "сдвиговий регістр передавача порожній" (TSRS). Біт 6 устванавливается в лог. 1, коли сдвиговий регістр передавача бездіє. Він скидається в стан лог. 0, коли дані передані з регістра збереження передавача на сдвиговий регістр передавача. Біт 6 - біт тільки читання.

Розряд 7: цей біт постійно встановлений у стан лог. 0.

РЕГІСТР ІДЕНТИФІКАЦІЇ ПЕРЕРИВАННЯ

WD8250 має убудовану в ИМС можливість переривання, що забезпечує гнучкість при сполученні найбільше часто використовуваних мікропроцесорів, що дозволяє використовувати мінімальний обсяг програмного обеспичения при передачі символів даних при поділі переривань WD8250 по пріоритеті на 4 рівні. Серед них - наступні умови формування переривання:

- стан линнії прийому (пріоритет 1),

- готовність прийнятих даних (пріоритет 2),

- регістр збереження передавача порожній (пріоритет 3),

- стан модему (пріоритет 4).

Інформація, що вказує на те, що переривання

упорядковане по пріоритеті чекає, і вказує на джерело

цього переривання записана в регістрі ідентифікації переривання

(см. табл. 5). При адресації регістра ідентифікації переривання

(IIR) на час звертання до ИМС заморожується стан самого

високого по преоритету переривання, а інші переривання не

підтверджуються доти, поки попереднє переривання не буде

обслуговано ЦПУ. Уміст IIR представлений у табл. 2 і

описується нижче.

Розряд 0: цей біт може використовуватися при програмному опитуванні і вказує на чекання переривання. Коли біт 0 - лог. 0, переривання очікує, а вміст IIR може використовуватися як покажчик типу переривання для програми обслуговування переривання. Коли біт 0 - лог. 1, що очікує переривання ні, і опитування продовжується (якщо він використовується).

Розряди 1 і 2 : ці два біти IIR використовуються для ідентифікації старшого по пріоритеті переривання, що знаходиться в чеканні (див. табл. 5).

Розряди 3 - 7: ці 5-ть битов IIR завжди в стані лог. 0.

Таблиця 5

Функції керування перериванням

Регістр індикації переривання -

Бит|бит|бит 2 | 1 | 0

Умови установки і - Уровень| Прапор приори-| переривання тета |

|

скидання переривання

- -

| Джерело | Керування

| переривання | скиданням

| | переривання

| |

0 | 0 | 1

1 | 1 | 0 | | | | | | | |

1 | 0 | 0 | | | |

0 | 1 | 0 | | | | | | | | | | | | | |

0 | 0 | 0 | | | | | | | | | | | | | | | |

- | Немає

Самий |состояние чи

високий|нії прийому

|

|

|

Другий |наличие при- |нятих даних |

Третій |регистр хра- |нения пері- |датчика порожній | | | | |

Четвер-| Стан

тий |модема

|

|

|

|

|

|

|

| Немає | -

|переполнение, |чтение регист-

|ошибка парите-|ра стану

|та, помилка |линии

|кадра, прерива-|

|ние передачі |

| Наявність при- |чтение реги-

|нятих даних |стра буфера

| |приемника

| Регістр хра- | Читання ре-

|нения пері- |гистра IIR

|датчика порожній |(як источни-

| |ка переривання)

| |или запис у

| |регистр хране-

| |ния передат-

| |чика

| Готовий до пері-| Читання реги-

|даче, у |стра складаючись-

|сопряжения да-|ния модему

|нних готово, |

|индикатор ви- |

|зова, детектор|

|принимает |

|линейного сиг-|

|нала |

РЕГІСТР ДОЗВОЛУ ПЕРЕРИВАННЯ

Цей 8-ми розрядний регістр дозволяє кожному з 4 джерел переривання WD8250 окремо формувати вихідний сигнал переривання (INTRPT). Можливо цілком відключити систему переривання, скинувши біти 0 - 3 регістри дозволу переривання в стан лог. 0. Подібно цьому установлюючи відповідні біти цього регістра в стан лог. 1, можуть бути дозволені обрані переривання. Відключаючи систему переривання, ми відключаємо регістр ідентифікації переривання й активний (високий) рівень вихідного сигналу INTRPT. Всі інші функції ИМС діють, як звичайно, включаючи установку регістра стану, регістрів стану ліній і модему. Уміст регістра дозволу переривання представлене в табл. 2 і описано нижче.

Розряд 0: цей біт дозволяє переривання по наявності прийнятих даних, якщо він встановлений у стан лог. 1.

Розряд 1: цей біт дозволяє переривання, коли регістр збереження передавача порожній, і він встановлений у стан лог. 1.

Розряд 2: цей біт дозволяє переривання по стані лінії прийому, коли він встановлений у стан лог. 1.

Розряд 3: цей біт дозволяє переривання по стані модему при установці його в стан лог. 1.

Розряди 4 - 7: ці 4 біти завжди встановлені в стан лог. 0.

РЕГІСТР КЕРУВАННЯ МОДЕМОМ

Восьмиразрядний регістр керує інтерфейсом з утройством сполучення, чи модемом, чи перефирийним пристроєм, иммитирующим модем. Уміст регістра керування модемом представлене в табл. 2 і описано нижче.

Розряд 0: цей біт керує виходом готовності термінала даних (DTR). Коли біт 0 встановлюється в стан лог. 1, вихід DTR примусово встановлюється в стан лог. 0. Коли біт 0 скидається в стан лог. 0, вихід DTR встановлюється в стан лог. 1.

Примітка: вихід DTR WD8250 може подаватися на

лінійний драйвер, що інвертує, (такий як DS1488)

для одержання виходу потрібної полярності на

модемі, що підключається, чи пристрої сполучення. Розряд 1: цей біт керує виходом запиту передачі (RTS).

Біт 1 діє на вихід аналогічно біту 0.

Розряд 2: цей біт керує сигналом "вихід 1" (OUT1), що є допоміжним виходом, обумовленим користувачем. Біт 2 діє на вихід аналогічно біту 0.

Розряд 3: цей біт керує сигналом "вихід 2" (OUT2), що є допоміжним виходом, обумовленим користувачем. Біт 3 діє на вихід аналогічно біту 0.

Розряд 4: цей біт забезпечує зациклення для

діагностичного тестування WD8250. Коли біт 4

встановлюється в стан лог. 1, відбувається наступне:

вихід передавача (SOUT) встановлюється в стан лог.1

(високий рівень); вхід приймача (SIN) відключається; вихід

сдвигового регістра передавача замикається на вхід здвигового

регістра приймача; 4-рі керуючих входу модему (CTS, DSR,

RLSD, RI) відключаються; 4-рі керуючих виходу модему (DTR, RTS, OUT1, OUT2) внутрішньо підключаються до 4-м керуючих входам модему. У діагностичному режимі передані дані приймаються негайно. Це дозволяє процесору перевірити передавальні і приймаючі канали даних WD8250.

У діагностичному режимі працюють переривання приймача і передавача. Переривання по стані модему виконуються так само, але джерелом переривання тепер є 4 молодших біти регістра керування модемом, а не 4-рі входу керування модему. Переривання керуються регістром дозволу переривань. Система переривання WD8250 може бути перевірена записом у 6-ть молодших битов регістра стану лінії і 4-рі молодших біта регістра стану модему. Установка цих битов у стан лог. 1 (кожного з них) формує відповідне переривання, якщо воно дозволено. Скидання цих переривань відбувається так само, як і при нормальній роботі WD8250. Для повернення до реальної роботи регістри повинні бути перепрограмовані для нормальної роботи, а потім біт 4 повинний бути скинутий у стан лог. 0.

Розряди 5 - 7: ці біти постійно встановлені в стан лог. 0.

РЕГІСТР СТАНУ МОДЕМУ

Цей 8-ми розрядний регістр забезпечує читання поточного стану керуючих ліній від модему (чи перефирийного пристрою) на ЦПУ. Крім цієї інформації про поточне стані 4-рі біта регістра стану модему забезпечують інформацію про зміну цього поточного стану. Ці біти встановлюються в стан лог. 1, коли керуючий вхід від модему змінює стан. Вони скидаються в стан лог. 0, коли ЦПУ читає регістр стану модему. Уміст регістра стану модему приведене в табл. 2 і описано нижче.

Розряд 0: цей біт є індикатором зміни сигналу готовності до передачі (DCTS). Біт 0 указує, що вхід CTS у ИМС змінив стан стосовно тому, як він у попередній раз був лічений ЦПУ.

Розряд 1: цей біт - індикатор зміни сигналу готовності термінала даних (DDSR). Біт 1 указує, що вхід DSR у ИМС змінив стан стосовно тому, як він у попередній раз зчитувався ЦПУ.

Розряд 2: цей біт - детектор заднього фронту індикатора виклику (TERI). Біт 2 указує на те, що вхід RI у ИМС змінився з ON (лог.1) на OFF (лог.0).

Розряд 3: цей біт - індикатор зміни детектора прийнятого лінійного сигналу каналу даних (DRLSD). Біт 3 указує на зміну стану входу RLSD у ИМС. Примітка: коли біти 0, 1, 2 чи 3 встановлені в стан лог. 1, генерується переривання по стані модему.

Розряд 4: цей біт - доповнення до входу "готовий для передачі" (CTS).

Розряд 5: цей біт - доповнення входу готовності термінала даних (DSR).

Розряд 6: цей біт - доповнення входу "індикатор виклику" (RI).

Розряд 7: цей біт - доповнення входу "детектор прийнятого лінійного сигналу" (RLSD).

Таблиця 2

Доступні регістри WD8250

- -

| Адреса регістра 0 DLAB 0 | Адреса регістра 0 DLAB 0

N біта

Регістр буфера приймача (тільки читання)

Регістр збереження передавача (тільки запис)

0

Розряд даних 0 *

Розряд даних 0 *

1

Розряд 1

" 1

2

Розряд 2

" 2

3

Розряд 3

" 3

4

Розряд 4

" 4

5

Розряд 5

" 5

6

Розряд 6

" 6

7

Розряд 7

" 7

*Розряд 0 є найменьшим значущим розрядом, переданим чи прийнятим.

- -

| Адреса регістра 1 DLAB 0

- - N біта | Регістр дозволу переривання

0

Дозволяє переривання по одержанню даних (ERBFI)

1

Дозволяє переривання при порожньому буфері передавача (ETBEI)

2

Переривання по стані лінії прийому (ELSI)

3

Дозвіл переривання по стані модему (ЕDSSІ)

4

0

5

0

6

0

7

- -

0 -

Адреса регістра 2

N біта

Регістр ідентифікації переривання

0

Наявність переривання

1

Ідентифікація переривань розряд 0

2

Ідентифікація переривань розряд 1

3

0

4

0

5

0

6

0

7

- -

0 -

Адреса регістра 3

N біта

Регістр керування лінією

0

Вибір довжини символу розряд 0 (WLS0)

1

Вибір довжини символу розряд 1 (WLS1)

2

Кількість битов останова (STB)

3

Дозвіл паритету (PEN)

4

Вибір паритету (EPS)

5

Фіксований паритет

6

Переривання передачі

7

- -

Розряд доступу до регістрів дільника (DLAB) -

Адреса регістра 4

N біта

Регістр керування модемом

0

Готовність термінала даних (DTR)

1

Запит на передачу (RTS)

2

Висновок 1 (OUT1)

3

Висновок 2 (OUT2)

4

Зациклення

5

0

6

0

7

- -

0 -

Адреса регістра 5

N біта

Регістр стану лінії

0

Готовність даних (DR)

1

Помилка переповнення (OR)

2

Помилка паритету (PE)

3

Помилка кадрування (FE)

4

Переривання прийому (ВІ)

5

Порожній регістр збереження даних передавача (THRE)

6

Порожній сдвиговий регістр (TSRE)

7

- -

0 -

Адреса регістра 6

N біта

Регістр стану модему

0

Зміна сигналу "вільний для передачі" (DCTS)

1

Зміна сигналу "готовність передати дані" (DDSR)

2

Негативний фронт сигналу "індикатор виклику" (TERI)

3

Зміна детектора лінійного сигналу (DSLSD)

4

Вільний для передачі (CTS)

5

Готовність передати дані (DSR)

6

Індикатор виклику (RI)

7

- -

Детектор прийнятого лінійного сигналу (RLSO) -

|адрес регістра | Адреса регістра

| 0 DLAB 1 | 1 DLAB 1

N

біта

Регістр дільника

(LS)

| Регістр

дільника

(MS)

0

Розряд 0

| Розряд

8

1

Розряд 1

| Розряд

9

2

Розряд 2

| Розряд

10

3

Розряд 3

| Розряд

11

4

Розряд 4

| Розряд

12

5

Розряд 5

| Розряд

13

6

Розряд 6

| Розряд

14

-

7

- -

Розряд 7 -

-

| Розряд

- -

15

- -

-

From news-service Sun May 17 13:24:01 1992

To: subscribers

From: scott@mycro.UUCP (Scott C. Sadow)

Newsgroups: comp.sys.ibm.pc.hardware,comp.sys.ibm.pc.misc,comp.sys.ibm.pc.programmer Subject: [News] UART information: 8250 vs 16450 vs 16550 vs 16550A Message-ID: < 1992May15.094715@mycro.UUCP >

Date: Fri, 15 May 92 13:47:15 GMT

Sender: L-usenet@kiae.su

Status: R

This message describes the differences between the 8250, 16450, 16550, and 16550A UART chips and some programming information for the 16550A. All of this information is from the National Semiconductor manuals. This means there is no guarantee that this is correct for other chips. Any and all information is supplied as-is. Also, if there are any typos or errors, they are probably due to transmission errors. :)

8250: Used in the original PC. For more information on this, refer to any of the many books on serial communtications.

16450: This is essentially an 8250, but the inside of the chip was designed using the latest technology. This chip has a scratch register for programmer use at offset BASE+7.

16550: This is essentially a 16450, but FIFO buffers were added for both transmit and receive. (FIFO means first-in-first-out and is the same as a queue) This was done to lower the overhead of serial communication by decreasing the amount of interrupts needed. However, there were bugs in the chip, so FIFOs should NOT be used. (Characters may be lost in FIFO mode)

16550A: This is a 16550 with working FIFOs.

Chip Detection

It is rather easy to detect what kind of UART is installed:

An 8250 does not have a scratch register

A 16450 does not have a FIFO

A 16550 has bad FIFOs, indicated by bit 7 of IIR

A 16550A has good FIFOs, indicated by bit 7 and bit 6 of IIR

You can use the following algorithm to detect the UART type. BASE is the base address of the serial port. (usually 3F8 for COM1, 2F8 for COM2, etc)

IIR = BASE+2 = interrupt identification register (read only)

FCR = BASE+2 = FIFO control register (write only)

SCR = BASE+7 = scratch register (read and write)

Bits are numbered from 0 to 7, 7 is high bit

Read and save the SCR

Store a test value into SCR (hex 5A is good)

Read SCR and compare to test value

If not equal, there is no scratch register, so the chip is an 8250

Store another test value into SCR (hex A5 is good)

Read SCR and compare to test value

If not equal, there is no scratch register, so the chip is an 8250

Restore the saved value from the SCR

Read and save the IIR (saves current possible FIFO status)

Store 1 into FCR (enables possible FIFOs)

Read IIR

If saved IIR value had bit 7 clear, store 1 into FCR (FIFOs were off)

If IIR had bit 6 set, the chip is a 16550A

If IIR had bit 7 set, the chip is a 16550

Otherwise, the chip is a 16450

How to use the 16550 FIFOs

National semiconductor says not to - you can lose characters. Get a 16550A (see below)

How to use the 16550A FIFOs

Changes to the UART registers compared to an 8250

IIR = BASE+2 = interrupt identification register (read only)

The upper 2 bits (bits 7 and 6) indicate if the FIFOs are enabled. A one in both means the FIFOs are enabled. A one in bit 7 only means you have a 16550, not a 16550A. (see above about chip detection and using 16550 FIFOs)

Bit 3 is used to indicate character time-out. This is set to indicate that there are bytes in the receive FIFO that need to be read. This happens after a short amount of time has elapsed that no characters have been recieved. If Bit 3 is set, Bit 2 is also set (which means receive data available), so for most applications, Bit 3 can be ignored.

On an 8250 and 16450, bits 7, 6, and 3 are always zero. Bits 5 and 4 are reserved. For compatability, after reading the IIR, mask the value with 7.

FCR = BASE+2 = FIFO control register (write only)

Bit 0 - FIFO enable

Bit 1 - receive FIFO reset

Bit 2 - transmit FIFO reset

Bit 3 - DMA mode select

Bit 4 - reserved

Bit 5 - reserved

Bit 6 - receiver trigger (LSB)

Bit 7 - receiver trigger (MSB)

Bit 0 - Set to 1 to enable both receive and transmit FIFOs. This bit must be set when any other bits are set.

Bit 1 - Set to 1 to clear the receiver FIFO. (flush the queue). This bit automatically resets to 0.

Bit 2 - Set to 1 to clear the transmit FIFO. (flush the queue). This bit automatically resets to 0.

Bit 3 - not used on most PC serial boards

Bit 6 & 7 - Receiver interrupt trigger level. Without a FIFO, the UART generates an interrupt every time a character is received. With the FIFO enabled, the UART generates an interrupt after N characters are received.

Bit 7 Bit 6 Trigger Level

0 0 1 byte

0 1 4 bytes

1 0 8 bytes

1 1 14 bytes

Why use the FIFOs, how they work, and how to use them

Normally when transmitting or receving, the UART generates an interrupt for every character sent or received. For 2400 baud, typically this is 240/second. For 115,200 baud, this means 11,520/second. With FIFOs enabled, the number of interrupt is greatly reduced. For transmit interrupts, the UART indicates the transmit holding register is not busy until the 16 byte FIFO is full. A transmit hold register empty interrupt is not generated until the FIFO is empty (last byte is being sent) Thus, the number of transmit interrupts is reduced by a factor of 16. For 115,200 baud, this means only 7,200 interrupts/second. For receive data interrupts, the processing is similar to transmit interrupts. The main difference is that the number of bytes in the FIFO before generating an interrupt can be set. When the trigger level is reached, a recieve data interrupt is generated, but any other data received is put in the FIFO. The receive data interrupt is not cleared until the number of bytes in the FIFO is below the trigger level.

To added 16550A support to existing code, there are 2 requirements.

1) When reading the IIR to determine the interrupt source, only use the lower 3 bits.

2) After the existing UART initialization code, try to enable the FIFOs by writing to the FCR. (A value of C7 hex will enable FIFO mode, clear both FIFOs, and set the receive trigger level at 14 bytes) Next, read the IIR. If Bit 6 of the IIR is not set, the UART is not a 16550A, so write 0 to the FCR to disable FIFO mode.

Upgrading to a 16550A from an existing 8250, 16450, or 16550

This information is not for the hardware-squeemish. Like all other hardware modifications, if you don't know what you are doing, get help and/or have someone do it for you. Desoldering a 40 pin chip (or worse) is not for beginners.

The 16550A is pin-for-pin compatabile with the other chips except pin 24 and pin 29. Pin 24 is an output on the old chips, and pin 29 was not connected. Pin 24 and Pin 29 are now output pins used for DMA mode. Thus, there should be no problem just removing the old chips and inserting the new one. I have done this on about a dozen boards with no problem.

Scott C. Sadow scott@mycro.UUCP ...gatech!nanovx!mycro!scott

- -

From news-service Sat May 23 05:31:58 1992 To: subscribers

From: bweaver@quack.sac.ca.us (Brian Weaver) Newsgroups: comp.sys.ibm.pc.hardware,comp.sys.ibm.pc.misc,comp.sys.ibm.pc.programmer Subject: [News] Re: UART information: 8250 vs 16450 vs 16550 vs 16550A Message-ID: < fNnycbQ@quack.sac.ca.us >

Date: Tue, 19 May 92 00:00:42 GMT

References: < 7060318454537@jaber.eecs.umich.edu > < 1992May15.094715@mycro.UUCP > < 1992May17.232539@mycro.UUCP >

Organization: The Duck Pond public unix: +1 408 249 9630, log in as 'guest'. Sender: L-usenet@kiae.su

Status: R

I just picked up a serial card with a 16550AFN UART chip. Is this the same as 16550A ? Also, will qmodem use the FIFO or do I need to install a fossil driver first? OR should i?

- -

Brian Weaver bweaver@quack.sac.ca.us KD6CFA@N0ARY.#NOCAL.CA.USA.NA

From news-service Sun May 24 08:00:43 1992 To: subscribers

From: scott@mycro.UUCP (Scott C. Sadow) Newsgroups: comp.sys.ibm.pc.hardware,comp.sys.ibm.pc.misc,comp.sys.ibm.pc.programmer Subject: [News] Re: UART information: 8250 vs 16450 vs 16550 vs 16550A Message-ID: < 1992May20.100137@mycro.UUCP >

Date: Wed, 20 May 92 14:01:37 GMT

Article-I.D.: mycro.1992May20.100137

References: < fNnycbQ@quack.sac.ca.us > < 7060318454537@jaber.eecs.umich.edu > < 1992May15.094715@mycro.UUCP > < 1992May17.232539@mycro.UUCP > Sender: L-usenet@kiae.su

Status: R

In article < fNnycbQ@quack.sac.ca.us > , bweaver@quack.sac.ca.us (Brian Weaver) writes:

> I just picked up a serial card with a 16550AFN UART chip. Is this

> the same as 16550A ?

Yes - a 16550AFN is a 16550A, and the "FN" suffix indicate something like plastic case and 40-pin dip package.

> Also, will qmodem use the FIFO or do I need

> to install a fossil driver first? OR should i?

I don't know the answer to this question.

Scott C. Sadow scott@mycro.UUCP ...gatech!nanovx!mycro!scott

From news-service Sun May 24 08:00:43 1992 To: subscribers

From: scott@mycro.UUCP (Scott C. Sadow) Newsgroups: comp.sys.ibm.pc.hardware,comp.sys.ibm.pc.misc,comp.sys.ibm.pc.programmer Subject: [News] Re: UART information: 8250 vs 16450 vs 16550 vs 16550A Message-ID: < 1992May20.100351@mycro.UUCP >

Date: Wed, 20 May 92 14:03:51 GMT

Article-I.D.: mycro.1992May20.100351

References: < j=rk6ma.mortal@netcom.com > < 1992May15.094715@mycro.UUCP > Sender: L-usenet@kiae.su

Status: R

In article < j=rk6ma.mortal@netcom.com > , mortal@netcom.com (Phyllis Schlafley) writes:

>

> I have a question. What good does having an 8250 vs. 16450 vs.

> 16550 vs. 16550A. Why is the higher ones needed? What abilities

> does the 16550A have over teh 16550A or the 16550?

> Email or post. Thanks.

>

> Mortal@netcom.com

The 8250 is the original serial chip.

The 16450 is a newer version, but is essentially the same.

The 16550 was created to have internal FIFO queues for both transmit and receive, but the are bugs in the chip, so the manufacturer says not to use the FIFOs on that chip.

The 16550A is the same as a 16550A, but with working FIFOs.

The only real difference: If you have a 16550A and have software that can use the FIFOs, the chip will generate fewer interrupts. This means that the CPU has less to do to communicate at the same speeds, or can now communicate at higher speeds with the same CPU load.

Scott C. Sadow scott@mycro.UUCP ...gatech!nanovx!mycro!scott

======================================================================== * Origin: Power CAD BBS, Kiev, Ukraine (FidoNet 2:463/16)

_