Перетворювачі передавачів конвертують рівень напруги ТТЛ у рівень RS232, а перетворювачі приймачів - навпаки


перейти к полному списку дипломных проектов

Ссылка на скачивания файла в формате .doc находится в конце странички

Перетворювачі передавачів конвертують рівень напруги ТТЛ у рівень RS232, а перетворювачі приймачів - навпаки

Коли інформація з цього регістра зчитана, він очищається і готовий до прийому наступного блоку даних.

По зсуву 01h від базового знаходиться регістр дозволу переривань, за допомогою якого можна конфігурувати переривання, що генеруються UART. Призначення бітів цього регістра приведені нижче:

0 0 0 0 SINP ERBK TBE RxRD

біти з 7 по 4 завжди нулі

SINP 1 = переривання по зміні стану ліній CTS, DSR, DCD і RI

0 = немає переривання

ERBK 1 = переривання при помилці прийому даних

0 = немає переривання

ТВЕ 1 = переривання, коли регістр передавача порожній

0 = немає переривання

RxRD 1 = переривання при одержанні цаннх

0 = немає переривання

По зсуву 02h знаходиться регістр ідентифікації переривань. При виникненні переривання нульовий біт цього регістра встановлюється в 0. Біти 1 і 2 указують причину переривання. Біти з 7 по 3 не використовуються і завжди дорівнюють нулю. Призначення бітів регістра наступне:

0 0 0 0 0 ID1 ID0 PND

PND 1 = немає переривання

0 = переривання

ID1, ID0 00 = зміна вхідного сигналу RS232 (пріоритет 3)

01 = регістр передавача порожній (пріоритет 2)

10 = у буферному регістрі приймача дані готові (пріоритет 1)

11 = помилка передачі даних чи зупинка (пріоритет 0, вищий ступінь)

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

ID1 = 0, ID0 = 0 читання вмісту регістра стану модему (06h)

ID1 = 0, ID0 = 1 запис у регістр передавача (00h) чи читання регістра ідентифікації переривань (02h)

ID1 = 1, ID0 = 0 читання байта даних з буферного регістра приймача (00h)

ID1 = 1, ID0 = 1 читання регістра стану прийомопередавача (05h)

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

DLAB BRK PAR2 PAR1 PAR0 STOP DAB1 DAB0

DLAB 1 = доступ до установки швидкості 0 = доступ до регістра приймача/регістру передавача (00h) й до регістра дозволу переривань

BRK 1 = зупинка включена

0 = зупинка виключена

PAR2,1,0 000 = немає перевірки

001 = непарна

011 = парна

101 = завжди 1

111 = завжди

STOP 1 = 2 стопових біти

0 = 1 стоповий біт

DAB1,0 00 = 5 біт даних

01 = 6 біт даних

10 = 7 біт даних

11 = 8 біт даних

Коли біт DLAB дорівнює 1, регістри прийомопередавача (00h) і дозволу переривань (01h) використовуються для завантаження дільника швидкості обміну. У перший записується молодший, у другий - старший байт дільника. Вони формують шістнадцятибітовий дільник, значення якого обчислюється за наступною формулою:

Дільник = байтрегістр 00h + 256?байт регістр 01h

У комп'ютері тактова частота, що подається в UART, складас 1,8432 Мгц. Усередині UART еталонна частота утвориться як тактова, ділена на 16, і дорівнює 115200 Гц. Співвідношення між значеннями дільника і швидкістю можна представити у виді формули:



Для одержання швидкості 9600 бод необхідно, щоб дільник був рівний 12. Отже, у буферний регістр прийомопередавача (00h) повинно бути записане число 12, а в регістр дозволу переривань (01h) - нуль. Якщо в регістри дільника записана одиниця, то вийде найвища швидкість - 115200 бод.

По зсуву 04h розташований регістр керування модемом. У загальному випадку він використовується для керування двома виходами інтерфейсу - RTS і DTR. Призначення бітів регістра наступні:

0 0 0 LOOP ОUT2 ОUT1 RTS DTR

біти 7-5 завжди нулі

LOOP 1 = зворотний зв'язок доступний

0 = зворотний зв'язок недоступний

ОUT2 1 = включено

0 = виключено, для внутрішнього використання

OUT1 1 = включено

0 = виключено, для внутрішнього використання

RTS 1 = включено

0 = виключено, є присутнім на роз’ємі RS232

DTR 1 = включено

0 = виключено, є присутнім на роз’ємі RS232

По зсуву 05h знаходиться регістр стану прийомопередавача, що містить інформацію про стан приймача і передавача UART. При використанні разом з регістром ідентифікації переривань (02h) можна установити джерело переривань. Призначення бітів регістра приведені нижче:

0 ТХЕ ТВЕ BREK FRME PARE OVFE RxRD

ТХЕ (передавач порожній) 1 = немає байту в регістрі передавача і регіcтрі зміщення

0 = у регістрі передавача та регістрі зміщення один байт

ТВЕ (буфер передавача порожній) 1 = немає байту в регістрі передавача 0 = у регістрі передавача один байт

BREK (зупинка) 1 = виявлена зупинка

0 = немає зупинки

FRME (помилка блоку) 1 = виявлена помилка

0 = немає помилки

PARE (помилка перевірки на парність) 1 = виявлена помилка

0 = немає помилки

OVFE (помилка переповнення) 1 = виявлена помилка

0 = немає помилки

RxRD (прийняті дані готові) 1 = прийняті дані знаходяться в регістрі приймача

0 = немає прийнятих даних

По зсуву 06h знаходиться регістр стану модему, що може використовуватися для визначення стану вхідних сигналів, зокрема DCD, DSR, CTS, RI, а також для зчитування чотирьох цифрових вхідних ліній. Призначення бітів регістру наступні:

DCD RI DSR CTS DDCD DRI DDSR DCST

DCD (виявлена несуча передачі даних) 1 = DCD активна

0 = DCD неактивна

RI (індикатор дзвоника) 1 = RI активна

0 = RI неактивна

DSR (набір даних готовий) 1 = DSR активна

0 = DSR неактивна

CTS (скидання для передачі) 1 = CTS активна

0 = CTS неактивна

DDCD (дельта DCD) 1 = DCD змінена з моменту останнього зчитування

0 = DCD без змін

DRI (дельта RI) 1 = RI змінена з моменту останнього зчитування

0 = RI без змін

DDSR (дельта DSR) 1 = DSR змінена з моменту останнього зчитування

0 = DSR без змін

DCTS (дельта CTS) 1 = CTS змінена з моменту останнього зчитування

0 = CTS без змін

Регістр зі зсувом 07h - це байт пам'яті. Запис даних у регістр не впливає на операції UART.

Перетворювачі напруг

Вихідні сигнали керування (RTS та DTR) і вхідні сигнали стану (CTS, DSR, DCD) послідовного порту інвертовані. Послідовні сигнали даних SIN і SOUT не інвертовані. UART працює тільки з рівнем напруг ТТЛ/КМОП. Перетворювачі напруг розташовані між UART і роз’ємом RS232. Перетворювачі передавачів конвертують рівень напруги ТТЛ у рівень RS232, а перетворювачі приймачів - навпаки.

При включенні чи перезавантаженні комп'ютера BIOS перевіряє адреси всіх установлених послідовних портів. Якщо вона знаходить такий порт, то заносить базову адресу (двобайтове слово) у певну комірку пам'яті. Для СОМ1 це комірки 0000:0400h і 0000:0401h.

скачать бесплатно КОМП’ЮТЕРНЕ МОДЕЛЮВАННЯ РОБОТИ

Содержание дипломной работы

З одного боку, RS-232 і RS-485 називають протоколами, а з іншого, MODBUS, ZModem і CAN - також протоколи
І хоча уже всі комп'ютери мають інтерфейс USB, інтерфейс RS-232 ще живий і активно застосовується
2 Будова і принцип роботи послідовного порта Послідовна передача даних Послідовний потік даних складається з бітів синхронізації і власне бітів даних
Якщо інтерфейс націлений на перевірку за парністю, такий біт буде виставлятися в одиницю при непарній кількості одиниць у бітах даних, і навпаки
Під час прийому відбувається зворотна операція: після того як дані успішно прийняті і за допомогою регістра зміщення перетворені в рівнобіжний формат, вони передаються в буферний регістр приймача
Перетворювачі передавачів конвертують рівень напруги ТТЛ у рівень RS232, а перетворювачі приймачів - навпаки
RS232(0) повертає кількість установлених СОМ-портів, RS232(1) - базову адресу СОМ1, RS232(2) - базову адресу COM2 і т
Третій, найбільш гнучкий метод конфігурує порт за допомогою запису даних у регістр формату даних UART (зсув 03h)
-*) Function read_modem_status(RS232_address, x:integer):integer; export; (*x=l - вибір біта DCD, x=2 - вибір біта DSR, x=3 - вибір біта CTS
; • привід гнучких дисків (дисковод)

заработать

Закачай файл и получай деньги