Rs-232
Содержание:
Протокол RS232
Этот стандарт соединения оборудования был разработан в 1969 г. рядом крупных промышленных корпораций и опубликован Ассоциацией электронной промышленности США (Electronic Industries Association – EIA). Стандарт RS–232 в общем случае описывает четыре интерфейсные функции:
- определение управляющих сигналов через интерфейс;
- определение формата данных пользователя, передаваемых через интерфейс;
- передачу тактовых сигналов для синхронизации потока данных;
- формирование электрических характеристик интерфейса.
Интерфейс RS–232 является последовательным асинхронным интерфейсом. Последовательным он называется потому, что передача осуществляется по единственной линии. Стандартом для интерфейса RS232 определены 25 линий, для передачи используют линию TxD, для приема RxD, а SG сигнальная земля. Остальные линии в предназначены для тестирования, управления потоком, синхронизации, выбора частоты, обнаружения несущей и тд. Проектировщики электронных устройств на микроконтроллерах чаще используют лишь 3 линии (TxD, RxD, SG), иногда добавляют линию для обозначения занятости канала или другую по усмотрению.
Для синхронизации битам данных предшествует специальный стартовый бит, после битов данных следует бит паритета и один или два стоповых бита. Такая группа битов совместно со стартовым и стоповым битом, а также битом паритета носит название старт–стопного символа.
Рис 1 – временная диаграмма работы RS232.
Моделирование работы протокола RS232(в поле ввода необходимо ввести символ и нажать кнопку Draw).
Таким образом, полный асинхронно передаваемый символ данных состоит из 10–11 бит при том, что собственно пользовательские данные состоят из 7–8 бит. Используемые в интерфейсе RS–232 уровни сигналов отличаются от уровней сигналов ТТЛ. Логический 0 (SPACE) представляется положительным напряжением в диапазоне от +3 до +25В, а логическая 1 (MARK) – отрицательным напряжением в диапазоне от -3 до -25В. На рис. показан асинхронный сигнал для буквы А в том виде, в каком он присутствует на линиях TxD или RxD интерфейса RS–232. Большинство современных микроконтроллеров поддерживает данных интерфейс, но для его функционирования необходимо преобразовывать уровни сигналов ТТЛ в сигналы которые присутствуют на линии RS–232. Для этих целей используют специальные микросхемы, например фирмы MAXIM – Max232 или ее аналоги. Вследствие воздействия помех, активного и реактивного сопротивления соединительного кабеля между устройствами передатчиком и приемником существуют ограничения на его длину. Официальное ограничение по длине для соединительного кабеля по стандарту RS–232 составляет порядка 15м при скорости передачи около 20 Кбит/с. Однако на практике это расстояние может быть значительно больше и зависит от скорости передачи данных. В табл. 3.3 приведены значения длины соединительного кабеля, определенные McNamara (Technical Aspects of Data Communications, Digital Press, 1982).
Таблица 1 – длина соединительного кабеля между приемником и передатчиком для протокола RS232
| Скорость передачи, бит/с | Максимальная длина для экранированного кабеля, м | Максимальная длина для неэкранированного кабеля, м |
| 110 | 1525 | 915 |
| 300 | 1525 | 915 |
| 1200 | 915 | 915 |
| 2400 | 305 | 152 |
| 4800 | 305 | 76 |
| 9600 | 76 | 76 |
При использовании интерфейсов RS–232 необходимо учитывать, что например в ПК сопротивление между сигнальной и реальной землей очень маленькое, тогда в случае если устройства питаются от разных источников через землю возможно протекание тока что, может привести к повреждению устройств. Решение данной проблемы является гальваническая изоляция (развязка), при этом используется либо частичная развязка, либо полная.
Рис 2 – «земляной» провод в RS232.
Также вследствие того, что интерфейс несбалансированный, у него слабая помехозащищенность. К тому же, как видно из таблицы, интерфейс обеспечивает малую скорость передачи на средние и большие расстояния из–за длительного перезаряда емкости линии связи. То есть для дальней и быстрой передачи необходимо использовать дорогостоящий кабель, либо оптико–волоконную связь. Все вышеперечисленные проблемы приводят к тому, что интерфейс мало пригоден для промышленного применения.
Последовательные порты COM
COM-порты компьютера, это связь компьютерного комплекса «дальнего действия». В отличие от параллельных портов и кабелей, ведших на «тяжёлые» устройства — принтеры, сканеры, Com-порты присоединяли к компьютеру «лёгкие» юниты — мышка, модем. Первые межкомьютерные интерфейсы (через «нуль-модем»). В дальнейшем, когда распространились локальные сети, а мыши стали подключаться по такому же разъёму, как и клавиатура — port ps/2 (пэ-эс-пополам) — com port как-то был подзабыт.
Возрождение пришло с появлением последовательного интерфейса USB. Вот и получилось движение по кругу. Теперь на USB можно встретить, кроме флешек, и мыши USB-шные, и USB-шные «клавы». Принтеры, сканеры модемы — вся периферия теперь на USB, забыла уже о толстых и солидных параллельных LTP — кабелях, которые необходимо было в обязательном порядке прикручивать с каждой стороны на 2 болта. А проводочков-то в этих USB — два сигнальных (собственно, канал один, один прямой сигнал, другой тот же — инверсный) и два — питание и корпус.
Прежних последовательных портов COM было несколько. Самый маленький — и самый востребованный 9-контактный порт (D9), к которому подключали большую чать устройств: мыши, модемы, нуль-модемные кабели. Контакты располагались в два ряда, 5 и 4 в ряд, получалась трапеция. Поэтому и название D9. На «маме» нумерация шла слева направо и сверху вниз:
1 2 3 4 5
6 7 8 9
На «папе» справа налево:
5 4 3 2 1
9 8 7 6
Далее в табличке указаны официальные параметры работы COM порта. Написано, максимальная длина кабеля — 15 м., хотя умудрялись протянуть и на 100 м.
| Скорость передачи | 115 Кбит/с (максимум) |
| Расстояние передачи | 15 м (максимум) |
| Характер сигнала | несимметричный по напряжению |
| Количество драйверов | 1 |
| Количество приемников | 1 |
| Схема соединения | Полный дуплекс, от точки к точке |
Распайка COM-порта, port RS232, 9 контактов.
| № | Обозначение | Тип | Описание |
|---|---|---|---|
| 1 | DCD | Вход | Высокий уровень от модема, когда он принимает несущую модема-партнёра |
| 2 | RxD | Вход | Входящие импульсы данных |
| 3 | TxD | Выход | Исходящие импульсы данных |
| 4 | DTR | Выход | Высокий уровень (+12В) показывает готовность компьютера к приёму данных. Подключённая мышь использовала этот контакт как источник питания |
| 5 | GND | Общий | Земля |
| 6 | DSR | Вход | Готовность к передаче данных устройством |
| 7 | RTS | Выход | Ответная готовность устройства — партнёра |
| 8 | CTS | Вход | Готовность к приёму данных от партнёра |
| 9 | RI | Вход | Сигнал информирования компьютера о входящем звонке, поступившим на модем из линии связи |
Энциклопедия RS232-протокола
Теоретические предпосылки разработки последовательного асинхронного протокола основаны на здравом смысле. Посудите сами, куда как проще организовать передачу данных, если их содержимое последовательно слать бит за битом. А подтверждения и разрешения получать только в тех случаях, когда оборудование готово к обмену.
Так появился Рекомендованный Стандарт №232, более известный как RS232-протокол. Основные вехи его жизни вкратце изложены на нашем сайте (см. «История развития интерфейса RS232»).
Аппаратной реализацией RS232 стала логика, встроенная в интегральную схему . Сейчас, конечно, такая микросхема называется просто: чип. Такой чип относится к классу UART, что означает «Универсальный асинхронный приемопередатчик». С его-то помощью и строятся последовательные коммуникации персонального компьютера. Но для полноценной работы по RS232-протоколу одного UART’а мало будет. Требуется еще преобразователь уровней, который внутреннюю логику компьютера передаст без искажений на большое расстояние. Для этого пятивольтовые уровни преобразуются в сигнал с 24-х вольтовой амплитудой: от -12 до +12 вольт. Узел из асинхронного приемопередатчика и преобразователя уровней составляют коммуникационный порт (COM-порт) персонального компьютера.
Подключение кабельного хозяйства к последовательному порту выполняется через специальный разъем, каждый вывод которого соответствует определенным сигналам, а вся совокупность соединения (разъем вместе с кабелями) составляют интерфейс взаимодействия компьютера и периферийного устройства (детальное описание см. в статье «Сигналы интерфейса RS232»).
COM-порты в персональном компьютере
Для того чтобы обеспечить доступ к COM-порту, его по старту компьютера настраивает BIOS. После этого операционная система получает доступ ко всем ресурсам асинхронного последовательного интерфейса (см. «Управление мнемоническими именами»).
Жизнь распорядилась таким образом, что в ситуации, когда несколько UART’ов объединены на одной плате расширения и вместе составляют последовательный мультиплексор, главная роль по распределению обязанностей и управлению процессами принадлежит операционной системе
Здесь, как никогда, важное место занимает драйверная поддержка — прослойка между аппаратурой и программным обеспечением. Некоторые аспекты этой проблемы изложены в статье «Об особенностях построения мультипортовых плат»
Иногда технический прогресс поворачивается к пользователю новой гранью: вместо переизбытка последовательных портов в некоторых системах ощущается их острая нехватка. Что делать, когда в ноутбуке нет COM-порта? Ответ простой: «Оснащаем ноутбук COM-портом» На помощь в таких случаях приходят преобразователи интерфейсов, самый известный из них USB-to-COM.
Специфика применения USB-to-COM такова, что без надежной драйверной поддержки сложно обеспечить связь персонального компьютера и современного периферийного оборудования. Вопросам жизнеобеспечения преобразователей интерфейсов посвящены на нашем сайте разделы «Файлы» и «Диагностика».
Что известно Андроиду о последовательных портах?
Ошибаются те, кто считает, что область распространения последовательных портов ограничена PC-шными платформами. Современные коммуникационные и вычислительные устройства с успехом обслуживают периферию, способную общаться по RS232-протоколу
Сейчас уже не особо важно, на какой именно шине расположен UART, доступный Android-устройствам: вполне возможно, что это будет не только USB, но и один из беспроводных контроллеров!
Фактически, COM-порт был и остается доступным для смартфонов и планшетов независимо от того, скомпилирована ли драйверная поддержка в поставляемое ядро операционной системы или же эту манипуляцию пользователю придется выполнить самому. В первом случае в качестве примера хороши UART’ы от Prolific, во втором на ум приходят разработки от Silicon Labs.
Может ли iPhone обеспечить доступ к COM-порту?
Кажущаяся отстраненность гаджетов компании Apple от реалий остального компьютерного мира исчезает как мираж, когда за дело берутся профессионалы. Для них нет препятствий ни в доработке аппаратных решений, ни в адаптации к особенностям «яблочных» устройства сторонних программных продуктов. Не верите? Читайте статью «Как подключить COM-порт к iPhone».
/>
01.09.2020
Управление потоком
Управление потоком представляет управлять передаваемыми данными. Иногда устройство не может обработать принимаемые данные от компьютера или другого устройства. Устройство использует управление потоком для прекращения передачи данных. Могут использоваться аппаратное или программное управление потоком.
Аппаратное управление потоком
Аппаратный протокол управления потоком RTS/CTS. Он использует дополнительно два провода в кабеле, а не передачу специальных символов по линиям данных. Поэтому аппаратное управление потоком не замедляет обмен в отличие от протокола Xon-Xoff. При необходимости послать данные компьютер устанавливает сигнал на линии RTS. Если приемник (модем) готов к приему данных, то он отвечает установкой сигнала на линии CTS, и компьютер начинает посылку данных. При неготовности устройства к приему сигнал CTS не устанавливается.
Программное управление потоком
Программный протокол управления потоком Xon/Xoff использует два символа: Xon и Xoff. Код ASCII символа Xon — 17, а ASCII код Xoff — 19. Модем имеет маленький буфер, поэтому при его заполнении модем посылает символ Xoff компьютеру для прекращения посылки данных. При появлении возможности приема данных посылается символ Xon и компьютер продолжит пересылку данных. Этот тип управления имеет преимущество в том, что не требует дополнительных линий, т.к. символы передаются по линиям TD/RD. Но на медленных соединениях это может привести к значительному замедлению соединения, т.к. каждый символ требует 10 битов.
Сигналы могут иметь другое значение
Только 3 контакта из 9 имеют строго определенное значение: передача, прием и земля. Это аппаратные линии и вы не можете повлиять изменить из предназначение. Но все другие сигнальные линии управляются программно и могут быть (или подразумевается что могут) в большинстве своем другого назначения. Однако они могут прнимать только два состояния: высокое (установленное) (+12 вольт)
и низкое (сброшенное) (-12 вольт). Установленное состояние это «включено» и сброшенное состояние это «выключено».
Для примера, Advanced Serial Port Monitor
(или точнее пользователь программы) может управлять сигналом DTR, в аппаратная часть в свою очередь подает на него напряжение 12 вольт с той или иной полярностью. Модем (или другое устройство) которое принимает сигнал DTR может интерпретировать его по-разному. В одном случае модем (в зависимости от модели и прошивки) может может занять телефонную линию если сигнал DTR сброшен. В другом случае модем проигнорировать сигнал DTR в сброшенном состоянии.
Это применимо ко всем 6-ти сигнальным линиям. Аппаратная часть только посылает и принимает эти сигналы, но действие зависит (если оно вообще есть) от программы (например, Advanced
Serial Port Monitor) и конфигурации того оборудоввания, которое вы подключаете к последовательному порту.