Функції апаратних засобів інтерфейса RS232C

Основні функції, що виконує обладнання інтерфейса RS232C:

1) забезпечення перетворення паралельного коду в послідовний при передачі даних та обернене перетворення при їх прийманні;

 

 


2) формування стартового, контрольного та стопового розрядів при передачі даних;

3) контроль правильності прийому стартового, контрольного та стопового

розрядів при прийомі;

4) прийом і передача блока даних на фіксованих швидкостях;

5) формування та контроль стану сигналів в інтерфейсі RS232C;

6) організація діагностичної перевірки без використання обладнання, що підключається до інтерфейса RS232C.

Обладнання, що виконує перелічені функції, реалізується у вигляді ВІС, що отримали назву “Універсальний асинхронний приймач-передавач” (УАПП) (UART). УАПП реалізовані у вигляді цілого ряду ВІС різних конструкцій та компонувань, але структура УАПП (призначення, адресація, логічні зв’язки регістрів, що входять до їх складу) уніфікована і не залежить від конкретної

реалізації ВІС.

 

 

Таблиця 1 – Адресація регістрів УАПП

 

Код адреси регістра   Назва регістра Вміст розряду 7 регістра керування лінією Сигнал
    COM 1     COM 2     Читання     Запис
3F8h 2F8h Буфер прийому   +
3F8h 2F8h Буфер передачі   +
    Дільник 1, молодший байт   + +
3F9h 2F9h Дільник 2, старший байт   + +
    Регістр дозволу переривань   + +
3FAh 2FAh Ідентифікатор переривання   +
3FBh 2FBh Керування лінією   + +
3FCh 2FCh Керування модемом   + +
3FDh 2FDh Стан лінії   + +
3FEh 2FEh Стан модема   + +

 

До складу УАПП входить 10 адресованих регістрів, а також регістр зсуву передачі, регістр зсуву прийому та дільник на 16. Для адресації регістрів УАПП передбачено тільки три адресні розряди, тому адресація деяких регістрів забезпечується додатковими умовами.

Для забезпечення передачі даних достатньо записати за адресою 3F8h у буфер передачі даних байт даних. Після передачі даного байта на системну шину

буде видано переривання. Прийом забезпечується читанням буфера прийому за

адресою 3F8h.

Формати портів УАПП

Буферний регістр передачі даних 3F8h забезпечує проміжкове зберігання

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

 

 


системну шину PC.

Дільники частоти вибору швидкості 3F8h та 3F9h служать для зберігання 16-

розрядної константи, яка змінює коефіцієнт ділення тактової частоти на вході

УАПП, забезпечуючи тим самим необхдну швидкість обміну даними.

 

 

Таблиця 2 – Залежність швидкості передачі даних від значення дільника частоти

Дільник Швидкість, біт/с Адреса 3F9h Адреса 3F8h
    04h 10h
    03h 00h
    01h 80h
    00h C0h
    00h 60h
    00h 30h
    00h 18h
    00h 0Ch
    00h 06h
    00h 03h
    00h 02h
    00h 01h

Порт 3F9h використовується як регістр керування перериваннями від асинх- ронного адаптера, якщо старший біт керуючого регістра за адресою 3FBh встановлений на 0. Якщ регістр керування перериваннями порт 3F9h є 8-розряд- ним, використовується 4 розряди.

 

 

Таблиця 3 – Формат регістра керування перериваннями 3F9h – COM1 (2F9h –

COM2)

 

Біт Значення
D0 1 – дозвіл на переривання при готовності даних, що приймаються
  D1 1 – дозвіл на переривання після передачі байта (коли вихідний буфер пустий)
D2 1 – дозвіл на переривання при виявленні помилки
  D3 1 – дозвіл на переривання по зміні стану вхідних ліній на роз’ємі RS232C
D4 – D7  

Регістр ідентифікатора переривань порт 3FAh є 8-розрядним, використову-

ються 3 розряди, зберігає код умови переривання та ознаку запиту переривання. За його вмістом програма може визначити причину переривання.

 

 

Таблиця 4 – Формат регістра ідентифікатора переривань 3FAh – COM1 (2FAh

– COM2)

 

Біт Значення
  D0 1 – умова переривання є 0 – умови переривання немає

 


Продовження таблиці 4

 

    D2, D1 11 – переривання з пріоритетом 1: помилка парності, не прийняте стопове посилання, переривання по стику С2 або переповнення даних. Умова скидання: читання регістра стану. 10 – переривання з пріоритетом 2: дійсний символ прийнятий в бферний регістр прийому. Умова скидання: читання буферного регістра прийому. 01 – переривання з пріоритетом 3: буферний регістр передачі пустий. Умова скидання: запис в буферний регістр передачі. 00 – переривання з пріоритетом 4: переривання від регістра стану модема. Зміна стану ланцюгів С2 стику. Умова скидання: читання регістра стану стику С2.
D3 – D7  

 

Регістр дозволу переривань порт 3F9h є 8-розрядним, використовуються 4 розряди, керує формуванням сигналу запиту переривання згідно зі станом регістра.

 

 

Таблиця 5 – Формат регістра дозволу переривань 3F9h – COM1 (2F9h –

COM2)

 

Біт Значення
    D0 Переривання з кодом 10 (прийом символу) 1 – дозволено 0 – заборонено
    D1 Переривання з кодом 01 (передача символу) 1 – дозволено 0 – заборонено
    D2 Переривання з кодом 11 (перебій на лінії) 1 – дозволено 0 – заборонено
    D3 Переривання з кодом 00 (від модема) 1 – дозволено 0 – заборонено
D4 – D7  

 

Регістр керування модемом порт 3FCh забезпечує формування вихідних сигналів інтерфейса RS232C.

 

 

Таблиця 6 – Формат регістра керування модемом 3FCh – COM1 (2FCh –

COM2)

 

Біт Значення
    D0 Стан C108 1 – ввімкнено 0 – вимкнено

 

 


Продовження таблиці 6

 

    D1 Стан C105 1 – ввімкнено 0 – вимкнено
    D2 Стан виходу OUT 1 1 – ввімкнено 0 – вимкнено
    D3 Стан виходу OUT 2 1 – ввімкнено 0 – вимкнено
    D4 Режим роботи УАПП 1 – діагностичний 0 – робочий
D5 – D7  

 

Регістр стану лінії порт 3FDh забезпечує зберігання інформації про стан процесу прийому або передачі даних.

 

 

Таблиця 7 – Формат регістра стану лінії 3FDh – COM1 (2FDh – COM2)

 

Біт Значення
    D0 Буферний регістр прийому 1 – завантажений 0 – пустий
    D1 Переповнення при прийомі 1 – є 0 – немає
    D2 Помилка паритету 1 – є 0 – немає
    D3 Не прийняте стопове посилання 1 – є 0 – немає
    D4 Переривання від’єднання лінії 1 – є 0 – немає
    D5 Буферний регістр передачі 0 – завантажений 1 – пустий
    D6 Регістр зсуву передачі 0 – завантажений 1 – пустий
D7  

 

Регістр ерування лінією порт 3FBh забезпечує вибір формату одного кадру

 


даних: кількість інформаційних розрядів, кількість стопових розрядів, метод контролю та вибір адресованих регістрів УАПП.

 

 

Таблиця 8 – Формат регістра керування лінією 3FBh – COM1 (2FBh – COM2)

 

Біт Значення
  D1, D0 Кількість розрядів в символі, що передається: 00 – 5 01 – 6 10 – 7 11 – 8
    D2 Кількість розрядів у знаці / тривалість стопового посилання: 0 – 5 – 8 – 1 біт 1 – 5 – 1,5 біта 1 – 6 – 8 – 2 біта
    D5 – D3 Метод контролю: ´´0 – без контролю 001 – додаток до непарності 011 – додаток до парності 101 – розряд контролю 1 111 – розряд контролю 0
    D6 Стан C103 0 – постійна передача 0 1 – нормальна передача символів
    D7 Адресований регістр УАПП 0 – порти: 3F8h – приймач-передавач, 3F9h – перістр дозволу переривань 1 – порти 3F8h і 3F9h використовуються як дільники частоти

 

Регістр стану модема порт 3FEh забезпечує зберігання інформації про фхідні сигнали інтерфейса RS232C та імітацію цих сигналів у діагностичному режимі.

 

 

Таблиця 9 – Формат регістра стану модема 3FEh – COM1 (2FEh – COM2)

 

  Біт Значення
Зміна стану сигналів RS232C після читання регістра стану модема:
    D0 C106 0 – немає 1 – є
    D1 C107 0 – немає 1 – є
    D2 C125 0 – немає 1 – є

 


Продовження таблиці 9

 

    D3 C109 0 – немає 1 – є
    D4 Стан приймальних ланцюгів RS232C:
C106 3FC [D1] 0 – вимикнений 1 – ввімкнений
    D5 C106 3FC [D0] 0 – вимикнений 1 – ввімкнений
    D6 C106 3FC [D3] 0 – вимикнений 1 – ввімкнений
    D7 C106 3FC [D2] 0 – вимикнений 1 – ввімкнений

 

Ініціалізація УАПП

Для ініціалізації УАПП необхідно виконати такі дії:

1) запис у регістр 3FBh керуючого байта з одиницею у сьомому розряді для перемикання порту 3F8h на регістр дільника частоти;

2) запис константи ділення у регістри 3F8h та 3F9h;

3) запис керуючого байта в порт 3F8h з нулем у сьомому розряді (призна-

чення інших розрядів вказано у таблиці 8).

4) запис керуючого байта в регістр керування лінією 3F9h;

5) запис керуючого байта в регістр керування модемом 3FCh.

Перше, що повинна зробити програма, яка працює з асинхронним адаптером

– встановити протокол обміну та швидкість передачі даних. Після завантаження ОС для асинхронних адаптерів встановлюється швидкість 2400 бодів, не виконується перевірка на парність, використовується один стоповий біт та

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

Якщо користувачу треба задати нове значення швидкості обміну даними, перед записом байта режиму необхідно встановити старший біт цього байта на 1. Далі послідовно двома командами виводу завантажити дільник частоти тактового генератора. Молодший байт записується в порт 3F8h, старший – у порт 3F9h.

Перед початком роботи необхідно також ініціалізувати регістр керування перериваннями (порт 3F9h), навіть якщо в програмі користувача не використо- вується переривання від асинхронного адаптера. Якщо переривання в програмі користувача не потрібні, необхідно записати в цей порт значення нуля.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: