Стандарт 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 * 0 0 1 1 |
D4 * 0 1 0 1 |
D3 0 1 1 1 1 |
Способ контроля по паритету Отсутствие бита контроля Бит контроля по четности Бит контроля по нечетности Бит контроля равен 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 км) и не использующая национальные сети.
1977 г. уровневая модель вычислительной сети.
Функции уровней
Физический уровень определяет путь электрических сигналов. На этом уровне требования к сигналам определяются передающей среде и осуществляется физическая связь узлов сети.
Канальный уровень определяет правила совместного использования передающей среды узлами сети.
Семиуровневая модель OSI
Сетевой уровень решает задачи маршрутизации в сети и буферизации при коммуникации узлов сети. Сообщения передаются частями в соответствии с маршрутом.
Транспортный уровень служит для формирования пакетов из передаваемых сообщений, сформированные пакеты передаются сетевому уровню.
Сеансовый уровень обеспечивает сеанс связи между прикладными процессами. Сеанс организовывается по запросу пользователя.
Этапы:
Начало сеанса
Поддержка и ведение сеанса.
Завершение сеанса.
Объединяет поступающие пакеты в сообщения.
Представительный уровень обеспечивает преобразование данных из формы прикладного уровня в форму сеансового уровня.
Прикладной уровень – организация взаимодействия с прикладными процессами.
Представление данных в уровневой модели
Контейнер данных уровня:
Заголовок | Данные | Хвостик |
Для передачи данных используется метод установки данных. Переход от нижнего уровня к верхнему.
Hl | Dl | Kl |
Hl-1 | Dl-1 | Kl-1 |
Hl-2 | Dl-2 | Kl-2 |
Фрагментация реализуется транспортным путем. Фрагментация (деление на части).
Hj | Dj | Kj |
Hj-1 | Dj-1 | Dj-1 | Kj-1 |
При получении пакета наоборот: от верхнего к нижнему уровню.
Профиль и протокол вычислительной сети.
Профиль – набор протоколов, реализуемых в распределенной системе.
Виды профилей:
полный (семиуровневая система);
базовый (сетевой, канальный, физический);
комбинированный (в части сети используется полный, а в другой части – базовый).
Компоненты глобальных сетей
Абонентские системы (АС) – часть глобальных сетей.
АДС – административная система
АСС – ассоциативная система
КП – коммуникационная подсеть
ПП – прикладные процессы
ПВ – подсистема подсвязи.
АС – пользование или предоставление услуг.
АДС – управляют взаимодействием процессов в сети.
АСС – организовывают трактов взаимодействие АС.
КП – объединяют отдельные локальные и территориальные сети.
С помощью КП и АСС создаются объединения сетей.
Функции прикладных процесов АСС
Преобразование информации необходимой для передачи из одной сети в другую.
Коммутация информации путем связывания друг с другом физических средств передачи.
Маршрутизация информации – определение сетей, в которой необходимо передавать приходящие блоки данных.
Пример коммуникационной подсети
А, Б, С, Д, Е – локальные сети.
Состав КП
физические средства соединения (ФСС);
АСС.
ФСС:
каналы;
оконечные устройства;
специальне устройства.
КП:
с селекцией информации;
с маршрутизацией.
Подсети с селекцией информации
Узел следит за данными в физической сети и определяет: ему они предназначены или нет.
Типы:
монолокальные;
Циклические.
Монолокальная подсеть Циклическая подсеть
Сети с маршрутизацией.
Преимущества маршрутизации:
+ доставки с селекцией информации (возможность доставки сообщений всем узлам сети, простота расширения сетей, надежность и гибкость).
Монолокальные сети
Физическая среда – передающая (моноканал).
Топологии монолокальных сетей:
моноканал
«звезда»
древовидная
Способы передачи сигналов.
Физический моноканал – по передающей среде (ПС) передается один сигнал.
Частотный – по ПС передается несколько сигналов на разных частотах (каждый сигнал в отдельной полосе).
Передающие среды для физического моноканала:
коаксиальный кабель;
витая пара;
плоский кабель;
оптический кабель (оптоволокно).
Передающие среды для частотного моноканала:
широкополосный коаксиальный кабель;
оптоволоконный;
радиоканал.
Топологии циклических подсетей
Простое кольцо
БД – блок доступа
АС – абонентные системы
Q низкая надежность
Кольцо с центральным коммутатором.
ЦК – центральный коммутатор
ЦК
Q - чрезмерная сложность ЦК
Å - ЦК отключается в случае
повреждения (испорченной) дуги
Двойное кольцо
Передающие среды для циклических подсетей:
коаксиальный кабель;
витая пара;
плоский кабель;
оптокабель.
Узловые подсети
Типы магистральных каналов:
аналоговые;
дискретные (кодо-импульсная модуляция).