Смекни!
smekni.com

Средства машинной коммуникации персонального компьютера (стр. 1 из 2)

Средства машинной коммуникации ПК

Стандарт RS-232. Универсальный асинхронный приемо-передатчик (UART), микросхема 8250.


Структура UART

CU – ControlUnit (устройство управления)

BF – Buffer (буфер)

T – Transmit

R – Receive

M – Modem

D – Data (данные)

Состав UART

D – буфер данных – служит для обмена данными между микросхемами и процессором

DUCU – блок управления чтением и записью

MCU – блок управления модемом

TCU – блок управления передатчиком

TBF – буфер

RBF – буфер приемника

RCU – блок управления приемником

Таблица контактов разъема DB9

№контакта Назначение Обозначение Тип
1 Детектор принимаемого сигнала DCD Вход
2 Принимаемые данные RD Вход
3 Передаваемые данные TD Выход
4 Готовность данных DTR Выход
5 Сигнальное заземление SG
6 Готовность данных DSR Вход
7 Запрос для передачи RTS Выход
8 Сброс для передачи CTC Вход
9 Индикатор вызова RI Вход

Программно-доступные регистры UART

UART имеет десять программно-доступных регистров. Доступ к ним осуществляется по 8 адресам.

Регистры

THR – буфер передатчика

RBR – буфер приемника

ICR – управления прерыванием

IIR – идентификация прерывания

MCR – управление модемом

LSR – состояние линии

MSR – состояние модема

BAUD0 – делитель частоты (младший байт)

BAUD1 – делитель частоты (старший байт)

LCR – управление линией

Функции регистров

Регистр данных (DLAB)

Зависит от 7 бита регистра управления линией (управляет адресацией регистра данных). Должен находится в состоянии 0.

Адресация регистров

А0 А1 А2 Доступные регистры
0 0 0 DLAB=0Передача: регистр данных передатчика. Запись в порт. Прием: Регистр данных приемника. Чтение из порта. DLAB=1Делитель частоты (младший байт)
0 0 1 DLAB=0Регистр управления прерыванием. DLAB=1Делитель частоты (старший байт)
0 1 0 Регистр идентификации прерывания
1 0 0 Регистр управления модемом
1 0 1 Регистр состояния линии
1 1 0 Регистр состояния модема

А1, А2, А3 – младшие разряды адреса порта

Регистры данных

Адресуется адресом 000. Прием/передача DLAB=0.

Запись в порт регистр данных передатчика сдвиговый регистр

Младший бит Sout.

Чтение порта последний принятый байт данных.

Регистр делителя частоты (DLAB=1). Адреса 000, 001.

Частота передачи данных (в бодах).

CLK – частота кварца 1,8432 МГц (8250), N – делитель частоты.

Бод – количество бит в секунду.

Частота передачи Делитель
115 200 бит/с 1
57 600 бит/с 2
38 400 бит/с 3

Регистр управления линией.

Служит для задания формата слова данных.

Биты регистра Длина слова
D1 D0 00 – 5 бит01 – 6 бит10 – 7 бит11 – 8 бит
D2 – число стоповых битов 0 – 1 стоп-бит1 – 2 стоп-бита
D5*0011 D4*0101 D301111 Способ контроля по паритетуОтсутствие бита контроляБит контроля по четностиБит контроля по нечетностиБит контроля равен 1Бит контроля равен 0
D6 – выбор режима работы 0 – обычный режим1 – установить низкий уровень на линии SOUT (обрыв линии)
D7 – бит определения адреса (DLAB)

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

Определяет уровень сигнала на четырех линиях: DTR, OUT1, OUT2, RTS.

D7, D6, D5 – не используются

D0 – дополнение сигнала DTR

D1 - дополнение сигнала RTS

D2 - дополнение сигнала OUT1

D3 - дополнение сигнала OUT2

D4 – выбор обратной связи для тестирования UART.

Тестирование:

SOUT – сигнал высокого уровня

Вход SIN отсоединяется

Регистр передачи –> регистр приема

соединение:

DTR –> DSR

RTS –> CTS

OUT1 –> RI

OUT2 –> RLS0

Регистр состояния линии

D0=1 При загрузке данных в буферный регистр приемника
D1=1 Обнаружена ошибка переполнения
D2=1 Обнаружена ошибка четности
D3=1 Обнаружена ошибка кадра
D4=1 На линии SIN разрыв
D5=1 THR –> сдвиговый регистр передачи
D6=1 Сдвиговый регистр передатчика пуст
D7=0 Всегда

Бит D0 сбрасывается в 0, когда процессор прочитает содержимое буфера приема. D5 – процессор пишет в буфер передачи очередной байт. D1 – D4 – читает содержимое регистра статуса линии. D6 – устанавливается в 1, когда регистр передачи пуст.

Регистр состояния модема

D0 Изменение состояния на линии CTS
D1 Изменение состояния на линии DSR
D2 Изменение состояния на линии RI
D3 Изменение состояния на линии DCD
D4 Сигнал на линии CTS
D5 Сигнал на линии DSR
D6 Сигнал на линии RI
D7 Сигнал на линии DCD

4 старших бита показывают уровень напряжения на линии, а 4 младших – наличие изменения уровня. Любое чтение регистра обнуляет младшие биты этого регистра.

Регистры прерывания

регистры управления прерыванием (001)

регистры идентификации (010)

Существует 10 условий возникновения запроса на прерывание (INTRPT) на линии UART.

Высокий приоритет:

Ошибка: переполнения, четности, кадра, разрыв линии.

Доступны принятые данные

Буфер передатчика пуст

Изменение на входах управления модемом.

Назначение млдаших битов регистра управления прерыванием

00 – готовы принятые данные

01 – буфер передатчика пуст

02 – разрыв линии или наличие ошибки

03 – изменение уровня сигналов RIS0, RI, DSR, CTS.

Нуль – модем

Соединение передатчика и приемника через кабель. RS – 232 стандартизирует обмен между двумя устройствами.


Нуль – модем (9 pin)


Нуль – модем (25 pin)

С помощью такого можно реализовать более сложные протоколы.

Программирование последовательного порта

СОМ1: 0040: 00003F8H – базовый адрес

СОМ2: 0040: 00022F8H – базовый адрес

СОМ3: 3E8H

СОМ4: 2E8H

Адреса регистров:

Смещение от базы Регистр
0, OUT DLAB=0, регистр хранения передатчика
0, IN DLAB=0, регистр данных приемника
0, OUT DLAB=1, делитель скорости обмена, младший байт
1, OUT DLAB=1, делитель скорости обмена, старший байт
1, OUT DLAB=0, регистр разрешения прерывания
3, OUT DLAB=0, регитср управления линией
4, OUT Регистр управления модемом
5, IN Регистр статуса линии
6, IN Регистр статуса модема

Скорость обмена

Делитель Делитель HEX Скорость бод
1040 600 110
768 300 150
384 180 300
192 С0 600
96 60 1200
48 30 2400
24 18 4800
12 С 9600

Пример простейшей коммуникационной программы (см. рисунок ниже)

Алгоритм работы программы:

Инициализация портов связи

Ввести символ с клавиатуры, отобразить на экране, передать в порт.

Ввести символ с порта, отобразить в окне «прием».

Инициализация порта

Установка вормата передаваемых данных.

Установка скорости передачи.

Инициализация регистра прерывания.

Задание формата.

Считывается текущее состояние регистра управления линией.

Изменяется нужные биты регистра.

Записывается новое значение.

Задание скорости:

Старший бит регистра управления линией устанавливается в 1 (DLAB=1).

Младший байт делителя частоты записывается в регистр данных.

Старший байт делителя записывается в регистр разрешения прерывания.



Инициализация:

Старший бит регистра управления линией устанавливается в 0 (DLAB=0).

Записать в регистр разрешения прерываний соответствующее значение (0 – запрещено).

Передача данных:

Перед записью байта в регистр передатчика проверяется пятый бит регистра статуса линии.

Прием данных:

Необходимо убедиться, что байт принят из линии и находится в регистре приемника (нулевой бит установлен в 1).

Глобальные компьютерные сети

Глобальная сеть ЭВМ – это сеть вычислительных машин, распределенных на обширной территории, включая в себя определенные ЭВМ и локальные сети ЭВМ, использующие национальные сети передачи данных.

Локальные сети ЭВМ – включает отдельные машины или сети вычислительных машин, распределенных на ограниченной территории (до 50 км) и не использующая национальные сети.