Стандарт RS-232. Универсальный асинхронный приемо-передатчик (UART), микросхема 8250.
Структура UART
CU – Control Unit (устройство управления)
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)
С помощью такого можно реализовать более сложные протоколы.
Программирование последовательного порта
СОМ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 км) и не использующая национальные сети.
... запускать мощные приложения в удобной и легкой в освоении графической многозадачной среде. В Windows 95 возможности этих систем усовершенствованы и расширены, обеспечен новый упрощенный подход к работе на персональном компьютере. Кроме того в Windows 95 заложен целый ряд новейших технических решений, которые позволят максимально использовать мощь современных персональных компьютеров. ...
... имеются миниатюрные специальные разъемы-вилки. Подобные же разъемы служат как контакты для перемычек при задании аппаратной конфигурации системы. У большинства персональных компьютеров системные платы содержат лишь основные функциональные узлы, а остальные элементы расположены на отдельных печатных платах (платах расширения), которые устанавливаются в разъемы расширения. Например, устройство ...
... развитие каждого ребёнка. 3. Звуковые средства в семейном воспитании Звуковые средства обучения наряду с телевидением и компьютером можно считать наиболее часто используемыми техническими средствами обучения в практике семейного воспитания. В настоящее время в продаже имеется большое количество обучающих аудиокассет и CD дисков для использования в воспитательном процессе. Например, CD ...
... три нажатия клавиши Empowering легко контролировать доступ к данным, настраивать параметры безопасности и быстродействия. Реальные требования к оснащению современных рабочих мест ставят перед информационно-технологическими подразделениями новые задачи по централизации потоков данных и обеспечению высочайшей безопасности и защиты ключевой информации. Компактный и тихий ПК, обладающий значительной ...
0 комментариев