Интерфейсы, применяемые в микропроцессорных системах и микроконтроллерах.


RS232

(Проектирование устройств сопряжения для персональных ЭВМ)

В 1969 г. Группой ведущих промышленных корпораций США был введен стандарт на соединение оборудования. Ассоциация электронной промышленности США (EIA) опубликовала вариант С своего рекомендуемого стандарта (Recommended Standart - RS) номер 232. Этот стандарт был озаглавлен "Интерфейс между оконечным оборудованием обработки данных и оконечным оборудованием линии с использованием последовательного обмена данными в двоичной форме" и известен просто как стандарт RS-232C. МККТТ (CCITT - англ. International Consultative Committee for Telegraphy and Telephony — подразделение Международного Телекоммуникационного Союза (ITU) ООН.) ввел свой собственный вариант этого стандарта в виде стандартов V.24 и V.28.

Министерство обороны США выпустило практически идентичный стандарт Mil-Std-188C. В СССР подобный стандарт описан в ГОСТ 18145-81.

Самой последней (июль 1991 г.) модификацией стандарта RS-232 является стандарт EIA/TIA-232E. В модификации Е нет никаких технических изменений, которые могли бы привести к проблемам совместимости с оборудованием, согласованным с предыдущими вариантами этого стандарта. В настоящее время последовательный интерфейс широко используется в персональных ЭВМ.

RS232C предназначен для подключения к компьютеру стандартных внешних устройств (принтер, сканер, модем, мышь и т.д.), а так же для связи компьютеров между собой. Данные по интерфейсу RS232C передаются в последовательном коде побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Данные могут предаваться как в одну, так и в другую сторону. Для связи по интерфейсу можно использовать 10-проводной кабель. Но наиболее часто используются трех и четырех проводные схемы.

Рассмотрим назначение сигналов интерфейса RS232.

 

 

Таблица___

Цепь Номер контакта Вход/выход Назначение
FG - - Защитное заземление
-TxD Выход Данные передаваемые микро ЭВМ внешнему устройству (знак «-» говорит, что вход инверсный)
-RxD Вход Данные принимаемые компьютером
RTS Выход Сигнал запроса передачи. Активен во время передачи
CTS Вход Сигнал сброса или очистки для передачи. Активен во время передачи. Говорит о готовности приемника
DSR Вход Готовность данных. Используется для задания режима модема
SG - Сигнальное заземление или нулевой провод
DCD Вход Обнаружение несущих данных (детектирование принимаемого сигнала)
DTR Выход Готовность выходных данных (несущая данных)
RI Вход Индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети

 

Рассмотрим формат передаваемых данных по интерфейсу RS232.

Рисунок 6.1 Формат передачи по интерфейсу RS-232 (1.отсутствие передачи;

 

2. стартовый бит; 3. передаваемые данные, может быть 5,6,7,8 бит; 4. контроль четности; 5. 1,1,5,2 стоповых бита)

 

Данные сопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определенные интервалы времени. Очень важно чтобы тактовые частоты приемника и передатчика были одинаковы (допустимое отклонение 10%). Скорость передачи по RS232 выбирается из ряда:

Бит/с.

Все сигналы RS232 передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи. Данные передаются в инверсном коде, т.е. высокий уровень соответствует логическому нулю, а низкий уровень соответствует логической единице. Эти уровни отличаются для передатчика и приемника.

Рисунок6.2 Логические уровни для передатчика(слева) и приемника (справа)

Наиболее часто для подключения произвольного внешнего устройства к компьютеру через RS232C используется трех или четырех-проводная линия связи (известная как нольмодем).

Рисунок __. Четырехпроводная линия связи

Обмен по RS232 осуществляется с помощью обращения по специально выделенным для этого портам:

COM1 по адресам 3F8-3FF использует прерывание №4

COM2 по адресам 2F8-2FF использует прерывание №3

COM3 по адресам 3E8-3EF использует прерывание №10

COM4 по адресам 3E8-3EF использует прерывание №

Обращение по этим адресам вызывает изменение работы контроллера RS232. Можно задавать частоту передачи, число передаваемых бит, контроль передачи на четность. Рассмотрим формат управляющих слов интерфейса.

 

Порт 3F8.

При нулевом значении управляющего бита этот порт служит для записи в него передаваемого байта данных и чтения из него принимаемого байта. При единичном значении управляющего бита этот порт используется для записи в него младшего байта кода делителя частоты тактового генератора, определяющего скорость передачи и приема. Связь этого кода и скорости передачи следующая:

Код Скорость бит/с
00С0
000С

 

Порт 3F9.

При значении управляющего бита, равном единице, этот порт используется для записи старшего байта кода делителя частоты. При нулевом значении управляющего бита этот порт используется для управления прерываниями. При этом он имеет следующий формат:

 

№ бита назначение
1- разрешается прерывания по окончании приема данных 0- запрещение прерывания
1- разрешение прерывания по окончании передачи данных 0- запрещение прерывания
1- разрешение прерывания при обнаружении сбоя на линии 0- запрещение прерывания
1- разрешение прерывания по изменению входных управляющих сигналов RS232C 0- запрещение прерывания
4,5,6,7 Не используются

 

 

Порт 3FА.

Этот регистр идентификации прерывания. Используется только для чтения. Его содержимое указывает на причину прерывания. Формат регистра следующий:

 

№ бита назначение
1- нет прерываний, требующих обслуживания 0- есть прерывания
1,2 00- переполнение приемника, ошибка четности или формата данных при приеме, сброс - по чтению из 3FD; 01- данные переданы, сброс – по записи в 3F8; 10- данные приняты и доступны для чтения, сброс – по чтению из 3F8; 11- изменение состояния входных управляющих сигналов RS232C, сброс – по чтению из 3FE
3…7 Не используется

 

Порт 3FВ.

Если управляющий регистр, доступный по чтению и записи. Его формат следующий:

 

№ бита назначение
0, 1 Количество бит передаваемых данных: 00-5 бит, 10- 6 бит, 01- 7 бит, 11- 8 бит
Количество стоповых битов: 0-1 бит, 1- 2 бита
3, 4 Контроль четности: 0Х- контроль четности не используется, 10- контроль на нечетность, 11- контроль на четность
Задание контрольного бита: 1- контрольный бит всегда равен 0(если выбран контроль на четность) или всегда равен 1( если выбран контроль на нечетность)
1- постоянная передача нуля 0- нормальная передача символов
Управляющий бит для выбора назначения портов 3F8 и 3F9

 

Порт 3FС.

Данный порт используется для управления модемом. Управляет состоянием управляющих линий интерфейса RS232С. Применяется довольно редко. Его формат следующий:

 

№ бита назначение
Состояние линии DTR
Состояние линии RTS
Состояние выходного сигнала УАПП OUT1
Состояние выходного сигнала УАПП OUT2
Режим работы УАПП: 0- рабочий, 1- диагностический
5, 6, 7 Не используется

Порт 3FD.

Этот регистр состояния линии. Его формат следующий:

 

№ бита назначение
1- данные получены и готовы для чтения, флаг сбрасывается при чтении данных
1- ошибка переполнения при приеме ( принят новый байт раньше, чем прочитан предыдущий, предыдущий байт теряется)
1- ошибка четности при приеме
1- ошибка синхронизации ( не принята стоповая посылка)
1- обнаружен запрос на прерывание передачи (постоянная передача нуля)
1- буферный регистр передачи пуст можно записывать следующий передаваемый байт
1- регистр сдвига передатчика пуст, передача закончена
1- тайм-аут

Порт 3FЕ.

Этот регистр состояния модема. Используется редко. Его формат следующий:

 

№ бита Назначение
Линия CTS изменила состояние после предыдущего чтения из регистра состояния модема
Линия DSR изменила состояние
Линия RI изменила состояние
Линия DCD изменила состояние
Состояние линии CTS
Состояние линии DSR
Состояние линии RI
Состояние линии DCD

 

Для передачи данных необходимо записать их по адресу 3F8 (предварительно надо убедиться, что буферный регистр передатчика пуст). Принятые данные читаются из адреса 3F8 (предварительно надо убедиться, что данные приняты). Для обеспечения обмена необходимо инициализировать COM-порт; для этого необходимо:

 

· записать по адресу 3F8 управляющий байт с единицей в 7 бите

· записать код делителя частоты по адресам 3F8 и 3F9

· записать по адресу 3FB управляющий байт с нулем в 7 бите и с требуемыми значениями остальных битов

· записать управляющий байт по адресу 3F9

· записать управляющий байт по адресу 3FC.

RS485, RS422

http://mayak-bit.narod.ru/rs485.html



Дата добавления: 2021-09-07; просмотров: 428;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.014 сек.