Последовательный интерфейс rs-232

Интерфейс RS 232: описание стандарта для стыковки оборудования

Строго говоря, интерфейс RS 232 — это название стандарта (RS — recommended standard — рекомендованный стандарт, 232 — его номер), описывающего интерфейс для соединения компьютера и устройства передачи данных.

Стандарт был разработан достаточно давно, в 60-х годах 20-го века. В настоящее время действует редакция стандарта, принятая в 1991 году ассоциациями электронной и телекоммуникационной промышленности, под названием EIA/TIA-232-E.

Тем не менее, большинство людей по-прежнему использует название RS-232, которое накрепко приросло к самому интерфейсу.

Устройства

Интерфейс RS-232 обеспечивает соединение двух устройств, одно из которых называется DTE (Data Terminal Equipment) — ООД (Оконечное Оборудование Данных), второе — DCE (Data Communications Equipment) — ОПД (Оборудование Передачи Данных).

Как правило, DTE (ООД) — это компьютер, а DCE (ОПД) — это модем, хотя RS-232 использовался и для подключения к компьютеру периферийных устройств (мышь, принтер), и для соединения с другим компьютером или контроллером.

Важно запомнить эти обозначения (DTE и DCE). Они используются в названиях сигналов интерфейса и помогают разобраться с описанием конкретной реализации.

Типы разъемов

Изначально стандарт описывал применение 25-контактного соединителя, типа DB25. DTE-устройство должно оснащаться вилкой (male — «папа»), DCE-устройство — розеткой (female — «мама»). Позднее, с появлением IBM PC, стали использовать усеченный вариант интерфейса и 9-контактные соединители DB9, наиболее распространенные в настоящее время.

Распайка RS-232

В приведенной ниже таблице показано назначение контактов 9-контактного соединителя DB9. Таблица показывает распайку вилки оборудования обработки данных (DTE), например, ПЭВМ. Розетка устройства передачи данных (DCE) распаяна так, что два разъема стыкуются напрямую, или через кабель, распаянный «контакт в контакт».

1 – Carrier Detect (CD) Наличие несущей частоты

2 – Received Data (RD) Принимаемые данные

3 – Transmitted Data (TD) Передаваемые данные

4 – Data Terminal Ready (DTR) Готовность ООД

5 – Signal Ground Общий

6 – Data Set Ready (DSR) Готовность ОПД

7 – Request To Send (RTS) Запрос на передачу

8 – Clear To Send (CTS) Готов передавать

9 – Ring Indicator (RI) Наличие сигнала вызова

Для передачи данных предназначены цепи RD и TD. Остальные цепи предназначены для индикации состояния устройств (DTR, DSR), управления передачей (RTS, CTS) и индикации состояния линии (CD, RI).

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

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

Схема кабеля RS-232

Как было сказано выше, для соединения строго соответствующих стандарту устройств DTE и DCE нужен кабель «контакт в контакт».

Для соединения двух DTE-устройств используют так называемые нуль-модемные кабели, в которых провода «перекрещиваются» в соответствии с назначением сигналов.

На практике перед распайкой кабеля всегда следует разобраться с документацией на оба соединяемых устройства.

Для соединения многих устройств достаточно минимального набора цепей интерфейса RS-232: RD, TD и Signal Ground. Вот, например, схема кабеля для соединения ПЭВМ и контроллера ВАРИКОНТ, на соединителях DB9

Остальные цепи интерфейса в данном подключении не используются.

Длина и провод

Стандарт определяет максимальную длину кабеля в 50 футов (примерно 15 метров) при скорости 9600 бит/с. На практике устойчивая работа может быть достигнута и при большей длине кабеля.

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

Тем не менее, мы не можем ручаться за это утверждение, из-за различного уровня внешних электромагнитных помех в каждом конкретном случае.

Рекомендуется использовать кабели на основе витой пары, где каждый из сигнальных проводов свит с общим проводом.

Например, для этой цели хорошо подходит кабель для прокладки локальной сети Ethernet на неэкранированных витых парах (Unshielded Twisted Pair — UTP), а лучше — на экранированных — STP.

Экран кабеля рекомендуется не объединять с сигнальным общим, а подключить к металлической оболочке разъема.

Уровни сигналов

Все сигналы в интерфейсе потенциальные, с номинальными уровнями +12В и -12В относительно общего провода (Signal Ground). Логической единице соответствует уровень -12В, логическому нулю соответствует +12В.

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

RS-232 называют последовательным интерфейсом, поскольку поток данных передается по одному проводу бит за битом. В отсутствие передачи данных линия находится в состоянии логической единицы (-12В).

Скорость передачи данных стандартом не нормируется, но обычно выбирают из ряда 110, 300, 600, 1200, 2400, 4800, 9600, 19200 бит в секунду. В основном используется асинхронный режим работы, при котором данные передаются фреймами.

Каждый фрейм состоит из стартового бита, битов данных, бита контроля четности (может отсутствовать), стопового бита. Биты байта данных передаются «хвостом вперёд», начиная с младшего бита.

Для правильной стыковки приемопередатчики на обоих устройствах должны быть запрограммированы одинаковым образом, т.е. должны совпадать скорость, количество битов данных (7 или 8), тип контроля по четности (см. ниже), длина стопового бита (1, 1.5 или 2).

При точных расчётах времени на передачу массива байтов наряду с битами данных следует учитывать все служебные биты.

Осциллограмма

Ниже приведена «осциллограмма» одного фрейма при следующих настройках: 8 битов данных, контроль по нечетности (parity odd), 1 стоповый бит:

Стартовый бит всегда идет уровнем логического нуля, стоповый — единицей. Состояние бита паритета определяется настройкой передатчика. Бит дополняет число единичных битов данных до нечетности (parity odd), четности (parity even), может не использоваться (parity none), быть всегда единицей (mark) или нулем (space).

Перспективы

На самом деле перспектив у RS-232 нет. В настоящее время появляется всё больше компьютеров, не оснащенных этим интерфейсом. Однако в эксплуатации находится большое число устройств с интерфейсом RS-232. Для стыковки ПЭВМ с такими устройствами используют переходники USB — RS-232.

После подключения такого переходника и установки драйверов в ПЭВМ появляется виртуальный COM-порт, через который можно общаться с устройством.

Источник: http://telesys.by/rs-232/

Последовательный интерфейс RS-232/V.24

Интерфейс RS-232С предназначен для синхронной и асинхронной передачи данных в дуплексном режиме работы. Введен в 1969 г. в США (RS-Recommended Standard). Первоначально скорость передачи до 20 Кбит/с. Цепи основных линий интерфейса приведены в табл.10.1.

Таблица 10.1 – Цепи последовательного интерфейса RS-232

Название цепи Названиецепи (англ) Обозначение RS-232 Номер контакта Обозначение V.24
Передаваемые данные Transmit Data TxD
Принимаемые данные Receive Data RxD
Запрос передачи Request to Send RTS
Готов к передаче Clear to Send CTS
Передатчик готов Data Set Ready DSR
Приемник готов Data Terminal Ready DTR
Детектор линейного сигнала Data Carrier Detect DCD
Индикатор вызова Ring Indicator RI
Сигнальная земля Signal Ground

Международный консультативный комитет по телефонии и телеграфии (МККТТ), разрабатывающий стандарты в области передачи данных, ввел свой вариант этого стандарта. Он получил название V.24. Нумерация цепей в этом стандарте цифровая и изменяется от 102 до 125.

Для передачи данных и управляющих воздействий в цепях RS-232C и V.24 используются разнополярные сигналы. В частности логическому значению “0” соответствует напряжение от +3 до +15 В, а для передачи “1” напряжение от −3 до −15 В. В 1991 г.

была введена модификация Е (RS-232E), позволяющая передавать данные с более высокой скоростью (до 345 Кбит/с).

Для реализации интерфейса вначале была создана БИС универсального синхронного-асинхронного приемопередатчика (УСАПП) типа 8250, затем были разработаны ее модификации 16450 и 16550 с наличием FIFO – буферизации. Схема последовательного адаптера ПЭВМ IBM PC изображена на рисунке 10.6. Он носит название СОМ-порт. С точки зрения программиста адаптер представляет собой восемь регистров, базовый адрес для СОМ1 3F8h.

Линия INTR подключается к линии IRQ компьютера через ключ, управляемый сигналомУСАПП.,-биты регистра управления модемом, их можно изменять программно.

Интерфейсную БИС можно запрограммировать на разрешение или запрещение прерываний. Возникновение одной из следующих ситуаций приводит к формированию сигнала INTR:

§ очередной или несчитанный символ находится в буферном регистре приемника;

§ регистр передачи пуст;

§ возникла ошибка на линии (ошибка четности, формата, переполнения);

§ УСАПП обнаруживает изменение состояния линий с модема (CTS, DSR, DCD, RI).

Следует заметить, что последовательный адаптер не реализует полный интерфейс RS-232, так как в конкретных применениях (например, при подключении модема к последовательному порту ПЭВМ) полный набор может не понадобиться, и обычно реализуется только часть этих возможностей.

  Рисунок 10.6 – Структурная схема последовательного адаптера ПЭВМ  

В настоящее время в компьютерах более распространенным является синхронный последовательный интерфейс типа SSI (Synchronous Serial Interface), в основе которого лежит интерфейс RS-422, улучшенный вариант интерфейса RS-232. Передача данных осуществляется по четырехпроводной симметричной линии. Скорость передачи зависит от длины линии связи и достигает 1,5 Мбит/с. Еще одна пара проволов используется для передачи тактовых импульсов.

Параллельный интерфейс Centronics. Отечественное название ИРПР-М (интерфейс радиальный параллельный модифицированный).

Понятие Centronics относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему, устанавливаемому на принтерах.

Интерфейс обеспечивает радиальное подключение устройств с параллельно – последовательной организацией данных (в основном принтеров). Цепи интерфейса представлены в таблице 10.2. Сигналы интерфейса могут быть разделены на три группы:

§ Заземление (питание);

§ Управление;

§ Информационные линии.

Таблица 10.2 – Цепи параллельного интерфейса Centronics

Название цепи Название цепи (англ) Контакт Примечание
Данные D0 – D7 Data (2 … 9) Передаваемые данные
Строб Strobe# Импульс записи в принтер
Занят Busy Не может принимать данные, ошибка, занят буфер
Подтверждение АСК# Принтер принял данные
Конец бумаги РaperЕnd
Выбран   Select/ On line Выбор принтера
Автоматический перевод строки AutoLF# Переводит строку сам
Сброс Init/Reset#
Ошибка Error# Отсутствует бумага, остановлен двигатель
Выбор Select In# Выбор для выдачи данных на принтер

Интерфейс работает со стандартными ТТЛ – уровнями. Временная диаграмма сигналов на линиях интерфейса изображена на рисунке 10.7. Не менее чем через 1 мкс после выдачи данных, на линию «Строб» выдается импульс низкого уровня длительностью не менее 0,5 мкс, который сообщает принтеру, что данные на шине действительны.

  Рисунок 10.7 – Временные диаграммы сигналов на линиях параллельного интерфейса  

Сигнал подтверждения вырабатывается принтером. В состоянии покоя напряжение на этой цепи имеет высокий уровень. После принятия данных принтером на этой линии вырабатывается сигнал нулевого уровня длительностью не менее 0,5 мкс.

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

Компьютер может передавать данные только при наличии низкого уровня на линии «Занят».

Параллельный интерфейс носит название LPT-порт (Line PrinTer). Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в пространстве ввода/вывода с адресами 3BCh, 378h и 278h. Порт может использовать линию запроса прерывания компьютера IRQ7 или IRQ5. BIOS поддерживает от 3 до 4 LPT-портов.

Порт имеет три регистра:

§ Регистр данных (базовый регистр), используется для вывода или чтения данных;

§ Регистр состояния – располагает сведениями о состоянии принтера (Busy, PE, Select, ACK);

§ Регистр управления (разрешение прерывания по спаду сигнала АСК, разрешение работать принтеру по интерфейсу – сигнал Select In).

В некоторых современных компьютерах появились расширения параллельного порта за счет введения портов, применявшихся в компьютерах PS/2. Протокол обмена в них формируется программно. Введен также порт с прямым доступом к памяти, предназначенный для разгрузки процессора при выводе данных на принтер.

Источник: https://megalektsii.ru/s10739t2.html

Последовательный интерфейс RS-232/V.24

Интерфейс RS-232С предназначен для синхронной и асинхронной передачи данных в дуплексном режиме работы. Введен в 1969 г. в США (RS-Recommended Standard). Первоначально скорость передачи до 20 Кбит/с. Цепи основных линий интерфейса приведены в табл.10.1.

Таблица 10.1 – Цепи последовательного интерфейса RS-232

Название цепи Названиецепи (англ) Обозначение RS-232 Номер контакта Обозначение V.24
Передаваемые данные Transmit Data TxD
Принимаемые данные Receive Data RxD
Запрос передачи Request to Send RTS
Готов к передаче Clear to Send CTS
Передатчик готов Data Set Ready DSR
Приемник готов Data Terminal Ready DTR
Детектор линейного сигнала Data Carrier Detect DCD
Индикатор вызова Ring Indicator RI
Сигнальная земля Signal Ground

Международный консультативный комитет по телефонии и телеграфии (МККТТ), разрабатывающий стандарты в области передачи данных, ввел свой вариант этого стандарта. Он получил название V.24. Нумерация цепей в этом стандарте цифровая и изменяется от 102 до 125.

Для передачи данных и управляющих воздействий в цепях RS-232C и V.24 используются разнополярные сигналы. В частности логическому значению “0” соответствует напряжение от +3 до +15 В, а для передачи “1” напряжение от −3 до −15 В. В 1991 г.

была введена модификация Е (RS-232E), позволяющая передавать данные с более высокой скоростью (до 345 Кбит/с).

Для реализации интерфейса вначале была создана БИС универсального синхронного-асинхронного приемопередатчика (УСАПП) типа 8250, затем были разработаны ее модификации 16450 и 16550 с наличием FIFO – буферизации. Схема последовательного адаптера ПЭВМ IBM PC изображена на рисунке 10.6. Он носит название СОМ-порт. С точки зрения программиста адаптер представляет собой восемь регистров, базовый адрес для СОМ1 3F8h.

Линия INTR подключается к линии IRQ компьютера через ключ, управляемый сигналомУСАПП.,-биты регистра управления модемом, их можно изменять программно.

Интерфейсную БИС можно запрограммировать на разрешение или запрещение прерываний. Возникновение одной из следующих ситуаций приводит к формированию сигнала INTR:

§ очередной или несчитанный символ находится в буферном регистре приемника;

§ регистр передачи пуст;

§ возникла ошибка на линии (ошибка четности, формата, переполнения);

§ УСАПП обнаруживает изменение состояния линий с модема (CTS, DSR, DCD, RI).

Следует заметить, что последовательный адаптер не реализует полный интерфейс RS-232, так как в конкретных применениях (например, при подключении модема к последовательному порту ПЭВМ) полный набор может не понадобиться, и обычно реализуется только часть этих возможностей.

  Рисунок 10.6 – Структурная схема последовательного адаптера ПЭВМ  

В настоящее время в компьютерах более распространенным является синхронный последовательный интерфейс типа SSI (Synchronous Serial Interface), в основе которого лежит интерфейс RS-422, улучшенный вариант интерфейса RS-232. Передача данных осуществляется по четырехпроводной симметричной линии. Скорость передачи зависит от длины линии связи и достигает 1,5 Мбит/с. Еще одна пара проволов используется для передачи тактовых импульсов.

Параллельный интерфейс Centronics. Отечественное название ИРПР-М (интерфейс радиальный параллельный модифицированный).

Понятие Centronics относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему, устанавливаемому на принтерах.

Интерфейс обеспечивает радиальное подключение устройств с параллельно – последовательной организацией данных (в основном принтеров). Цепи интерфейса представлены в таблице 10.2. Сигналы интерфейса могут быть разделены на три группы:

§ Заземление (питание);

§ Управление;

§ Информационные линии.

Таблица 10.2 – Цепи параллельного интерфейса Centronics

Название цепи Название цепи (англ) Контакт Примечание
Данные D0 – D7 Data (2 … 9) Передаваемые данные
Строб Strobe# Импульс записи в принтер
Занят Busy Не может принимать данные, ошибка, занят буфер
Подтверждение АСК# Принтер принял данные
Конец бумаги РaperЕnd
Выбран   Select/ On line Выбор принтера
Автоматический перевод строки AutoLF# Переводит строку сам
Сброс Init/Reset#
Ошибка Error# Отсутствует бумага, остановлен двигатель
Выбор Select In# Выбор для выдачи данных на принтер

Интерфейс работает со стандартными ТТЛ – уровнями. Временная диаграмма сигналов на линиях интерфейса изображена на рисунке 10.7. Не менее чем через 1 мкс после выдачи данных, на линию «Строб» выдается импульс низкого уровня длительностью не менее 0,5 мкс, который сообщает принтеру, что данные на шине действительны.

  Рисунок 10.7 – Временные диаграммы сигналов на линиях параллельного интерфейса  

Сигнал подтверждения вырабатывается принтером. В состоянии покоя напряжение на этой цепи имеет высокий уровень. После принятия данных принтером на этой линии вырабатывается сигнал нулевого уровня длительностью не менее 0,5 мкс.

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

Компьютер может передавать данные только при наличии низкого уровня на линии «Занят».

Параллельный интерфейс носит название LPT-порт (Line PrinTer). Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в пространстве ввода/вывода с адресами 3BCh, 378h и 278h. Порт может использовать линию запроса прерывания компьютера IRQ7 или IRQ5. BIOS поддерживает от 3 до 4 LPT-портов.

Порт имеет три регистра:

§ Регистр данных (базовый регистр), используется для вывода или чтения данных;

§ Регистр состояния – располагает сведениями о состоянии принтера (Busy, PE, Select, ACK);

§ Регистр управления (разрешение прерывания по спаду сигнала АСК, разрешение работать принтеру по интерфейсу – сигнал Select In).

В некоторых современных компьютерах появились расширения параллельного порта за счет введения портов, применявшихся в компьютерах PS/2. Протокол обмена в них формируется программно. Введен также порт с прямым доступом к памяти, предназначенный для разгрузки процессора при выводе данных на принтер.

Универсальный интерфейс USB

Интерфейс USB (Universal Serial Bus)— это новый интерфейс, который является универсальным последовательным интерфейсом. Используется в компьютерах с 1999 года. Предназначен для подключения к ПК любой периферии со скоростью обмена 12 Мбит/с (полная скорость), либо с низкой скоростью 1,5 Мбит/с.

Помимо универсальности этот интерфейс позволит избавиться от шины ISA. До тех пор пока в ПК существует COM– и LPT–порты и интерфейс для подключения флоппи – дисков в материнской плате должен существовать интерфейс ISA, со всеми присущими ему недостатками: конфликты прерываний и адресов портов, дополнительные дорожки на плате для разводки этих портов.

Архитектурой USB предусматривается топология “звезда”. Система должна состоять из одного ведущего (корневого) концентратора(Hub)с контроллером, управляемым операционной системой, требуемого количества концентраторов и узлов (периферийных устройств).

Концентратор (хаб) – ключевой элемент системы Plug-and-Play в архитектуре USB. Хаб является кабельным концентратором, а точки подключения к нему называются портами хаба. Концентраторы могут каскадироваться, образуя древовидную структуру с поддеревьями (рисунок 10.8).

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

Всего узлов может быть до 127, концентратор также считается устройством. На практике такое количество узлов вряд ли будет использоваться, а топология будет линейной.

В устройства, подключаемые к шине USB, часто встраивается концентратор с единственным выходным портом, что позволяет объединять устройства в цепочку.

При построении цепочки следует иметь в виду, что наиболее скоростные устройства (монитор) следует подключать ближе к корневому концентратору, а наименее скоростные (клавиатура) – в конец цепочки.

Это обеспечит приоритетное обслуживание высокоскоростных устройств.

Для соединения устройств и концентраторов USB используется 4-х жильный кабель: по двум его проводам подается электропитание (+ 5V) на устройства, не имеющие своего источника, а два других используется для передачи информации.

Одним из преимуществ USB является возможность “горячего” подключения без перезагрузки системы. При обнаружении на шине нового устройства концентратор оповещает об этом корневой концентратор. Затем система опрашивает вновь подключенное устройство о его возможностях и потребностях и конфигурирует его. Вдобавок при этом загружаются необходимые драйверы.

USB поддерживает ряд режимов передачи, как однонаправленных, так и двунаправленных. Передача осуществляется между ПО компьютера (хоста) и конкретной конечной точкой устройства. Устройство может иметь несколько конечных точек, связь с каждой из них (канал) устанавливается независимо от других.

Архитектура USB допускает четыре базовых типа передачи данных:

§ Управляющие посылки, используемые для конфигурирования во время подключения и в процессе работы для управления устройствами. Длина поля данных управляющей посылки не превышает 64 байт на полной скорости и 8 байт на низкой.

§ Сплошная передача небольших пакетов без жестких требований ко времени доставки (например, от сканера или к принтеру). Длина пакетов от 8 до 64 байт.

§ Прерывания – для передачи типа вводимых символов или координат.

§ Изохронная передача – непрерывная передача в реальном времени, имеющая заданную задержку доставки сообщения. В случае обнаружения ошибки изохронные данные передаются без повтора – недействительные пакеты игнорируются. Типичным примером изохронной передачи является цифровая передача речевых сообщений.

Общая схема обмена управляющими сообщениями и данными по USB интерфейсу изображена на рисунке 10.9.

  Рисунок 10.9 – Общая схема процесса обмена данными по протоколу USB  

Хост-контроллер формирует кадры из наиболее приоритетных данных. Каждый кадр начинается стартовой посылкой SOF (Start of Frame) и завершается посылкой EOF (End of Frame). Любая передача состоит из одной или нескольких транзакций. Все транзакции по USB интерфейсу состоят из трех пакетов.

Каждая транзакция начинается по инициативе контроллера, который посылает пакет-маркер, описывающий тип и направление передачи, адрес устройства USB и номер конечной точки. В каждой транзакции возможен обмен только между адресуемым устройством (его конечной точкой) и ЭВМ.

Адресуемое маркером устройство USB распознает свой адрес и подготавливается к обмену. Источник данных (определенный маркером) передает пакет данных или уведомление об отсутствии данных, предназначенных для передачи.

После успешного приема пакета получатель данных посылает пакет подтверждения (Handshake Packet).

Для защиты передаваемой информации от ошибок используется помехозащищенное кодирование циклическим кодом. В случае обнаружения ошибок контроллер автоматически производит повторную передачу (до трех раз). Если повторы безуспешны, сообщение об ошибке передается клиентскому ПО для программной обработки.

Для передачи данных по двухпроводной линии применяются двухполярные линейные сигналы без возврата к нулю типа NRZI (Non-Return to Zero Inverted). В этих сигналах (рисунок 10.

10) каждый логический ноль данных приводит к изменению полярности сигнала, а при передаче логической “1” полярность сигнала остается прежней.

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

  Рисунок 10.10 – Линейные сигналы интерфейса USB  

На рисунке 10.11 показаны последовательности пакетов управления и данных при записи и чтении информации.

  Рисунок 10.11 ― Управляющие последовательности при записи и чтении данных  

На рисунке 10.12 показаны последовательности трехпакетной транзакции при записи и чтении данных..

Рисунок 10.12 – Последовательности передачи пакетов  

В 2002 году был введен улучшенный стандарт USB 2.0 (IEEE 1394) который превосходит по быстродействию стандартный интерфейс USB в 40 раз (480 Мбит/с, 12Мбит/с или 1,5Мбит/с). Скорость обмена определяется автоматически в диалоговом режиме. Быстродействие этого интерфейса позволило использовать его для подключения внешних жестких дисков, видеокамер, DVD-драйвов и пр.

В конце 2008 году утвержден новый стандарт SuperSpeed USB (USB 3.0), обеспечивающий скорость передачи данных 5 Гбит/сек, что в 10 раз превосходит быстродействие USB 2.0. SuperSpeed USB использует технологию Sync-N-Go, которая минимизирует время ожидания пользователя. Данный интерфейс полностью совместим с оборудованием USB 2.0.

Основной целью интерфейса USB 3.0 является повышение доступной пропускной способности, однако новый стандарт эффективно оптимизирует энергопотребление. Интерфейс USB 2.0 постоянно опрашивает доступность устройств, на что расходуется энергия. Напротив, у USB 3.

0 есть четыре состояния подключения, названные U0-U3. Состояние подключения U0 соответствует активной передаче данных, а U3 погружает устройство в «сон». Если подключение бездействует, то в состоянии U1 будут отключены возможности приёма и передачи данных.

Состояние U2 идёт ещё на шаг дальше, отключая внутренние тактовые импульсы.

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

Источник: https://cyberpedia.su/6x7b3e.html

Принципы передачи информации по интерфейсу RS-232

Существует несколько стандартов RS-232, различающихся буквой в суффиксе: RS-232C. RS-232D. RS-232E и пр. Вдаваться в различия между ними нет никакого смысла— они являются лишь последовательным усовершенствованием и детализацией технических особенностей одного и того же устройства. Все современные порты поддерживают спецификации RS-232D или RS- 232Е.

В состав любого порта с интерфейсом RS-232 (в том числе СОМ-порта PC) входит универсальный асинхронный приемопередатчик (Universal Asynchronous Receiver-Transmitter. UART), который потому и носит название “универсального”, что одинаков для всех подобных интерфейсов (кроме RS-232, это RS-485 и RS-4221).

Также в RS-232 входит схема преобразования логических уровней UART (это обычные логические уровни 0^5 илн 0+3,3 В) в уровни RS-232, где биты передаются разпополярными уровнями напряжения, притом инвертированными относительно IJART.

В UART действует положительная логика, где логическая 1 есть высокий уровень (+3 или +5 В), а у RS-232 наоборот, логическая I есть отрицательный уровень от -3 до -12 В, а логический 0 — положительный уровень от +3 до +12 В.

Сама идея передачи по этому интерфейсу заключается в передачи целого байта по одному проводу в аиде последовательных импульсов, каждый ич которых может быть 0 или 1. Если в определенные моменты времени считывать состояние линии, то можно восстановить то. что было послано. Однако эта простая идея натыкается на определенные трудности.

Для приемника и передатчика, связанных между собой тремя проводами (“земля” и два сиг нальных провода “туда” и “обратно”), приходится задавать скорость передачи и приема, которая должна быть одинакова для устройств на обоих концах линии. Эти скорости стандартизированы, и выбираются из ряда 1200, 2400. 4800, 9600. 14 400, 19 200.

28 800, 38 400, 56 000, 57 600, 115 200, 128 000, 256 000 (более медленные скорости я опустил)2. Число это обозначает количество передаваемых/принимаемых бит в секунду (бод).

Проблема состоит в том, что приемник и передатчик — это физически совершенно разные системы, и скорости эти для них не могут быть строго одинаковыми в принципе (из-за разброса параметров тактовых генераторов), и даже если их каким-то фантастическим образом синхронизировать в начале, то они в любом случае быстро “разъедутся”.

Поэтому такая передача всегда сопровождается начальным (стартовым) битом, который служит для синхронизации. После нею идут восемь (или девять — если используется проверка на четность) информационных битов, а затем стоповые биты, которых может быт ь один, два и более, но это уже не имеет принципиального значения — почему, мы сейчас увидим.

Общая диаграмма передачи таких последовательностей показана на рис. ГИЛ. Хитрость заключается в том, что состояния линии передачи, называемые стартовый и столовый биты, имеют разные уровни. В данном случае стартовый бит передается положительным уровнем напряжения (логическим нулем), а столовый— отрицательным уровнем (логической единицей)3, по-

Обычный формат данных, по которому работает львиная доля всех устройств, обозначается 8nl, что читается так: 8 информационных бит, no parity,

тому фронт стартового бита всегда однозначно распознается. В этот-то момент и происходит синхронизация. Приемник отсчитывает время от фронта стартового бита, равное ЪА периода заданной частоты обмена (чтобы попасть примерно в середину следующего бита), и затем восемь (или девять, если это задано заранее) раз подряд с заданным периодом регистрирует состояние линии.

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

е. один стоповый бит). Если по истечении этого времени стартовый бит не придет, приемник может регистрировать так называемый Timeout, т. е. перерыв, по-русски, и заняться своими делами.

Если же линия “зависнет” в состоянии логического 0 (высокого уровня напряжения), то это может восприниматься устройством, как состояние “обрыва” линии— не очень удобный механизм, и в микроконтроллерах он через UART не поддерживается.

Это не мешает нам, естественно, для установки или определения такого состояния просто отключать UART и устанавливать состояние логического нуля на выводе TxD (что и есть имитация физического “обрыва”), или определять уровень логического 0 на выводе RxD, но серьезных причин для использования этой возможности, я, честно говоря, не вижу (см. на эту тему также замечание в главе 20).

Рис. П4.1. Диаграмма передачи данных по последовательному интерфейсу RS-232

в формате 8N2

1 столовый бит. “No parity” означает, что проверка на четность не производится. Это самая распространенная схема работы такого порта, причем, т. к.

никакими тайм-аугами (Timeout) мы также себе голову заморачивать не будем, то нам в принципе все равно, сколько стоповых битов будет, но во избежание излишних сложностей следует их устанавливать всегда одинаково — у передатчика и у приемника. На диаграмме рис. П4.

1 показана передача некоего кода, а также, для наглядности, передача байта, состоящего из всеч единиц и из всех нулей в формате, опять же для наглядности, 8п2.

Из описанного алгоритма работы понятно, что погрешность несовпадения скоростей обмена может быть такой, чтобы фронты не “разъезжались” за время передачи/приема всех десяти-двенадцати битов более, чем на полпериода, т. е. в принципе фактическая разница скоростей может достигать 4—5%, но на практике их стараются все же сделать как можно ближе к стандартным величинам.

Приемник RS-232 часто дополнительно снабжают схемой, которая фиксирует уровень не единожды за период действия бита, а трижды, при этом за окончательный результат принимается уровень двух одинаковых из трех полученных состояний линии, таким образом удается избежать случайных помех. Длина линии связи по стандарту не должна превышать 15 м. но на практике это могут быть много большие величины. Если скорость передачи не выбирать слишком высокой, то такая линия может надежно работать на десятки метров (автору этих строк удавалось без дополнительных ухищрений наладить обмен с компьютером на скорости 4800 по кабелю, правда, довольно толстому, длиной около полукилометра). В табл. П4.1 приведены ориентировочные эмпирические данные по длине неэкранированной линии связи для различных скоростей передвчи.

Таблица П4.1. Длина кабеля RS-232 для разных скоростей передачи данных

Скорость, бод

Длина кабеля (неэкранированного), м

9600

75

2400

150

110

900

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

В случае экранированного кабеля4 эти величины можно увеличить примерно в полтора-два раза.

Во всех случаях использования “несанкционированной” длины кабеля связи следует применять меры по дополнительной проверке целостности данных— контроль четности, и/или программные способы (вычисление контрольных сумм и т. п.), описанные в главе 20.

Для работы в обе стороны нужно две линии, которые у каждого приемопередатчика обозначаются RxD (приемная) и TxD (передающая). В каждый момент времени может работать только одна из линий, т. е.

приемопередатчик либо передает, либо принимает данные, но не одновременно (так называемый “полудуплексный режим” — это сделано потому, что у UART-микросхем чаще всего один регистр и на прием и на передачу). Кроме линий RxD и TxD, в разъемах RS-232 присутствуют также и другие линии.

Полный список всех контактов для обоих стандартных разъемов типа DB (9- и 25-контактного) приведен в табл. П4.2. Нумерация контактов DB-разъема обычно написана прямо на нем, она также есть на рис. 10.8 в главе 10 (на примере гнезда разъема для игрового порта DB-15F).

Таблица П4.2. Контакты для ОВ-разьемов

СОМ 9(25)

Обозначение

Направление

Сигнал

1 (8)

DCD

Вход

Детектор принимаемого сигнала с линии (Data Carrier Detect)

2(3)

RxD

Вход

Принимаемые данные (Receive Data)

3(2)

TxD

Выход

Передаваемые данные (Transmit Data)

4(20)

DTR

Выход

Готовность выходных данных (Data Terminal Ready)

5(7)

GND

Общий (Ground)

6(6)

DSR

Вход

Готовность данных (Data Set Ready)

7(4)

RTS

Выход

Запрос для передачи данных (Request То Send)

Таблица П4.2 (окончание)

СОМ 9(25)

Обозначение

Направление

Сигнал

8(5)

CTS

Вход

Разрешение для передачи данных (Clear То Send)

9(22)

RI

Вход

Индикатор вызова (Ring Indicator)

Смысл дополнительных линий в том, что они могут применяться для организации различных синхронных протоколов обмена (протоколов с handshakes — “рукопожатием”).

В “чистый” UART они не входят, в контроллере их организуют выводами обычных портов (но они входят в отдельные микросхемы UART для реализации полного протокола RS-232). Большинство устройств их не использует5.

Однако любое устройство, применяющее “рукопожатия”, можно подключить к устройству, их не использующему (потеряв, конечно, возможности синхронизации), если соединить на каждой стороне между собой выводы RTS-CTS, а также выводы DSR, DCD и DTR.

Для нормальной совместной работы приемника и передатчика выводы RxD н TxD, естественно, нужно соединять накрест — TxD одного устройства с RxD второго и наоборот (то же относится и к RTS-CTS и т. д.).

Кабели RS-232, которые устроены именно таким образом, называются еще нуль-модемными (в отличие от простых удлинительных). Их стандартная конфигурация показана на рис. П4.2.

В варианте “с” (справа на рисунке) дополнительные выводы соединены именно так, как описано ранее.

Рис. П4.2. Схемы нуль-модемных кабелей RS-232: a.b — различные полные варианты,

с — минимальный вариант

Выходные линии RTS и DTR иногда могут использовать и для “незаконных” целей — питания устройств, подсоединенных к СОМ-порту. Именно так устроены, например, компьютерные мыши, работающие через СОМ. Позже мы покажем пример устройства (преобразователя уровней), которое будет использовать питание от вывода RTS. А как при необходимости можно установить эти линии в нужное состояние?

Источник: Ревнч Ю. В.  Нестандартные приемы программирования на Delphi. — СПб.: БХВ-Петербург, 2005. — 560 е.: ил.

Источник: http://src-code.net/principy-peredachi-informacii-po-interfejsu-rs-232/

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}