Rs232 в видеорегистраторе что это
Разъем RS-232 можно встретить в основном на относительно старой технике. Это может быть как компьютерные комплектующие, так и другая аппаратура. Например, такой разъем можно часто увидеть на спутниковых ресиверах, материнских платах, источниках бесперебойного питания, профессиональном и узкоспециализированном оборудовании.
Визуально такой порт напоминает видеоразъем VGA, но штырьковых контактов у него меньше. Все это потому что оба стандарта используют так называемый D-Sub в качестве собственно разъема. Иначе говоря, физический разъем называется именно D-Sub, а RS-232 — это стандарт интерфейса.
D-Sub имеет несколько размеров, отличающихся количеством штырьковых контактов. Так, для RS-232 используется формат DE9, где, как несложно догадаться, всего 9 контактов. Для VGA используется стандарт DE-15, но часто в описании видеокарт указывают просто D-Sub.
Также RS-232 часто называют последовательным портом или COM-портом. Очевидно, что на компьютерах он используется в первую очередь для подключения другого оборудования, используемого для разных целей. Это зависит от самого устройства. Раньше через последовательный порт подключали компьютерную мышь, модем или игровой контроллер. Позднее порт чаще использовали для перепрошивки спутниковых ресиверов, а также подключения источников бесперебойного питания для контроля его работы.
Сейчас все эти функции берет на себя универсальный формат USB. Современные спутниковые ресиверы и источники бесперебойного питания имеют USB-порт для обновления прошивки или подключения к ПК. Однако иногда все же случаются ситуации, что нужно подключить оборудование, у которого есть только RS-232. Хорошо, если на вашем компьютере такой порт все еще есть, но как быть в обратной ситуации. В таком случае можно воспользоваться специальным переходником. Выглядит он как кабель с обоими типами коннекторов. Впрочем, это не может быть полноценной заменой RS-232, так как не все оборудование получится заставить работать через переходник. Кроме того, соединение может работать нестабильно.
Как вариант, в комплекте с вашей материнской платой могла поставляться отдельная внутренняя планка с дополнительными портами. Она подключается к COM-порту на материнской плате и выводится на заднюю панель корпуса. Такой распаянный порт должен быть даже на современных моделях. То есть физически он присутствует, но не выведен на заднюю панель.
В крайнем случае можно купить дополнительную плату с портами для подключения к внутреннему слоту PCI или PCI Express.
В этом выпуске мы начнем проектировать контроллер легендарного интерфейса передачи данных RS232. И прежде чем мы напишем первую строчку кода на языке описания аппаратуры, необходимо как следует погрузиться в предметную область.
Сравнение с другими последовательными интерфейсами
Для передачи данных с клавиатуры в вычислительное устройство применяются две информационных ( С , D ) и две вспомогательных линии ( G , V ). Линия общей земли G необходима для выравнивания потенциалов подключаемого устройства и вычислителя.
Именно относительно общей земли можно судить об уровне напряжения на информационных линиях. Линия питания V позволяет подать напряжение, необходимое для работы подключаемого устройства.
Теперь об информационных линиях. Каждый передаваемый бит информации (линия D ) сопровождается тактовым импульсом (линия C ). Обработка такого сигнала не представляет никакой сложности. Вычислитель совершает считывание информации с линии передачи данных ровно по фронтам импульсов на линии С . Это довольно неплохое инженерное решение, контроллеру внутри подключаемого устройства совсем не обязательно точно соблюдать все временные интервалы. Фронт сигнала пойдет в линию тактов только тогда когда на линии данных точно будет необходимое содержание.
Однако, линия тактового сигнала это роскошь для абсолютного большинства коммуникационных интерфейсов. Ярким примером довольно распространенной среды передачи сигналов является, так называемый, коаксиальный кабель.
Дешевый в производстве, надежный и обладающий высокой пропускной способностью. Эта среда передачи сигналов, как и многие другие, имеет проводник для передачи информации, но не имеют дополнительного проводника для передачи тактовых импульсов. Информацию несет напряжение между центральным проводником и оплеткой. Тактовые сигналы на считывание уровня напряжения вырабатываются на приемнике этого сигнала на основании стартовых и стоповых комбинаций бит в информационном потоке и заведомо известных технических параметров системы передачи информации.
Интерфейс RS232
А теперь ближе к делу. Для задач низкоскоростной передачи информации еще в середине прошлого века разработан ставший легендарным интерфейс RS232.
Свое имя он получил после выхода в свет документа, зафиксировавшего в качестве стандарта то как нужно изготавливать и использовать этот интерфейс. Имя это сокращение от Рекомендованный стандарт № 232 . Он получил очень широкую популярность во всех областях техники и не знать о нем даже в 21 веке грамотному инженеру нельзя. Его отличает узнаваемая внешность разъема в виде трапеции с девятью контактами в два ряда.
Версия с 25-ю контактами не получила широкого распространения. Все проводники даже в 9-контактной версии в абсолютном большинстве случаев оказываются не задействованы. Главное применение этого интерфейса это управление внешними устройствами. Внешними по отношению к вычислителю. Также он применяется для сбора данных, низкоскоростной передачи информации между двумя устройствами.
Контакты разъема
Рассмотрим контакты поближе. Для выравнивания потенциалов устройств необходима линия общей земли GND .
Именно относительно линии общей земли определяются уровни напряжения в остальных линиях. В самой минимальной комплектации для двунаправленной передачи данных нужны еще два проводника. Это для сигналов в одну и в другую сторону между двумя устройствами. Называются они RxD и ТxD . Остальные проводники служат для передачи вспомогательных сигналов о готовности к передаче и приему данных и других сигналов. Досконально разбираться с этим сейчас не будем.
Уровни напряжения в линиях
Для поддержания высокой надежности передачи информации этот стандарт предусматривает довольно высокие уровни напряжения в линиях. В середине прошлого столетия, по всей видимости, повышенное напряжение было хорошим способом борьбы с помехами. Компьютеры были большими и тяжелыми, никаких проблем выставить на линию напряжение в диапазоне от 3 до 15 вольт при передаче логического нуля и от -3 до -15 вольт для передачи логической единицы.
Характеристики кабеля позволяли передавать информацию на расстояние 1 километр со скоростью до 2400 бит в секунду. При смене состояния на несогласованной линии возникают затухающие гармонические колебания. Мы называли это явление дребезгом . При длине кабеля 1000 метров масштабы этого явления довольно значительные. Для затухания колебания нужна довольно продолжительная длительность одного бита информации. Это ограничивает скорость передачи данных на большие расстояния.
В случае уменьшения длины кабеля длительность дребезга уменьшается и соответственно можно увеличить скорость передачи данных. В пределах одной комнаты можно обеспечить довольно существенное повышение битовой скорости между двумя устройствами.
Скорость передачи бит в канале связи может быть выбрана пользователем но только из строго ограниченного списка. Это сделано для удобства установления связи между двумя удаленными точками. Значение скорости устанавливается в результате предварительной договоренности . Скорость передачи бит в секунду определяет и длительность передачи одного бита.
В структуре логических уровней напряжения не существует никаких разграничителей, пунктирные линии на рисунке выше нарисованы для нашего удобства. Они отделяют биты один от другого. Логическая единица это отрицательное напряжение, логический ноль — положительное. При отсутствии передачи информации на линии логическая 1 .
Фрейм или кадр передачи двоичного слова начинается со стартового бита уровня логического 0 . Это служебный бит и не является полезной информацией. Далее следуют полезные биты информации. Двоичное слово поступает в канал начиная с младшего бита. Оканчивает фрейм стоп бит уровня логической единицы, это тоже служебный бит.
Напряжения в линиях не являются пригодными для использования в вычислителях. Прежде чем можно будет обрабатывать такой сигнал он проходит через специальную микросхему, переводящую входные уровни напряжения в уровни широко используемого стандарта.
При этом уровень единицы и нуля становятся на свои естественные места. Структура фрейма сохраняется: старт бит, двоичное слово, бит четности если он передавался, потом стоп бит. Стоп бит может быть не один подряд. Вероятно, остается лишь только один вопрос. Почему двоичное слово на рисунке всего лишь из пяти бит и может ли такое быть?
Размер фрейма
Стандарт предусматривает размер слова от 5 до 9 бит. Также может быть один бит четности, но он не обязательный. Не во все времена удобным считалось группировать биты по 8 штук.
В смежной области техники, где занимались передачей и приемом телеграмм и прочей текстовой информации один символ алфавита мог быть закодирован комбинацией из пяти бит. Все символы заглавные и это совсем не мешает чтению, зато очень экономит время в низкоскоростных каналах передачи информации. Таким образом, для удобства совершенно разных пользователей размер поля данных можно регулировать.
Настраиваются параметры интерфейса передачи данных довольно просто при помощи специальной программы в комплекте с операционной системой или другим способом.
Переходник USB-RS232
Трудностью будет найти этот разъем на современных компьютерах. Скорее всего вы вряд ли его найдете. Он остался лишь в промышленных компьютерах, где все еще актуальны вопросы управления различным оборудованием. В домашних компьютерах век этого интерфейса закончился. На смену нескольким различным старым разъемам, куда раньше вставлялась клавиатура, мышь, принтер — пришел универсальный последовательный интерфейс передачи данных. Мы все его хорошо знаем под именем USB .
С конца 90-х по 2000-е годы этот интерфейс прочно занял свое место, отправив на свалку истории весь зоопарк остальных низкоскоростных интерфейсов передачи данных.
На случай работы с устройством, обладающим старым простым проверенным интерфейсом, предусмотрены переходники. Для нашего случая необходим переходник с USB на RS232. По счастью, для пользователя все остается довольно прозрачно и не доставляет неудобств. Микросхема, находящаяся в разъеме преобразует пакеты интерфейса USB в уровни напряжения устаревшего интерфейса RS232. Драйвер переходника сообщает операционной системе, что у нее появился устаревший интерфейс. Работа с ним происходит точно так же как десятилетия до этого.
Как принять фрейм RS232 ?
Сейчас разберем основную сложность, связанную с разработкой контроллера интерфейса RS232 на базе программируемой логической интегральной схемы (ПЛИС). Как мы уже ранее выяснили, при приеме фрейма тактовый сигнал на чтение логических уровней нужно добыть в честном поединке. В чистом виде он не представлен. В помощь нам информация о технических параметрах интерфейса. Прежде всего это скорость передачи бит в секунду. Она позволит выяснить длительность одного бита.
После перепада уровня напряжения с логической единицы на ноль мы считаем что начался стартовый бит. Проверить состояние стартового бита желательно в самой его середине. Тем самым мы защищаемся от дребезга, связанного с несогласованностью линии передачи данных. Если это на самом деле стартовый бит ноль, то можно перейти к приему информационных бит. Соблюдать время считывания логического уровня нам поможет счетчик высокоскоростных импульсов кварцевого генератора. Количество бит данных во фрейме мы знаем предварительно, впрочем как и наличие или отсутствие бита четности. Учитывая все вышесказанное, мы вполне сможем написать контроллер легендарного интерфейса.
Видео-обзор с канала YouTube
Продолжение следует.
Поддержите статью лайком если понравилось и подпишитесь чтобы ничего не пропускать.
RS-232 соединения
Прямой кабель используется для соединения DTE (например, компьютера) с DCE (например, модемом), причем все сигналы на одной стороне соединяются с соответствующими сигналами на другой стороне один на один (напрямую). Пересекающийся (нуль-модемный) кабель используется для непосредственного соединения двух DTE без промежуточного модема. Они пересекают передачу и прием сигналов данных между двумя сторонами, и есть много вариантов того, как другие сигналы управления подключены, ниже одни из них:
Прямое соединение (DB-9) | Нуль-модемное, кроссовое соединение (DB-9) | ||||||||
---|---|---|---|---|---|---|---|---|---|
(DTE) | (DCE) | (DTE) | (DTE) | ||||||
1 | DCD | ------- | DCD | 1 | 1 | DCD | DCD | 1 | |
2 | RxD | ------- | TxD | 2 | 2 | RxD | ------- | TxD | 3 |
3 | TxD | ------- | RxD | 3 | 3 | TxD | ------- | RxD | 2 |
4 | DTR | ------- | DSR | 4 | 4 | DTR | ------- | DSR | 6 |
5 | GND | ------- | GND | 5 | 5 | GND | ------- | GND | 5 |
6 | DSR | ------- | DTR | 6 | 6 | DSR | ------- | DTR | 4 |
7 | RTS | ------- | CTS | 7 | 7 | RTS | ------- | CTS | 8 |
8 | CTS | ------- | RTS | 8 | 8 | CTS | ------- | RTS | 7 |
9 | RI | ------- | RI | 9 | 9 | RI | RI | 9 |
Сигналы RS-232
Логическая форма сигнала RS-232 (8N1)
На рисунке выше показан типичный логический сигнал RS-232 (формат данных: 1 стартовый бит, 8 битов данных, без контроля четности, 1 стоповый бит). Передача данных начинается с начального бита, за которым следуют биты данных (LSB отправляется первым, а MSB отправляется последним) и заканчивается битом «Стоп».
Напряжение логической «1» (метка) находится в диапазоне от -3 В до -15 В постоянного тока, в то время как логическое «0» (пробел) находится в диапазоне от + 3 В до + 15 В постоянного тока.
RS-232 соединяет заземление двух разных устройств вместе, что является так называемым «несбалансированным» соединением. Несбалансированное соединение более восприимчиво к шуму и имеет ограничение расстояния 15 метров.
Шаг 2: Узнайте о протоколе
Протокол - это один или несколько наборов аппаратных и программных правил, согласованных всеми сторонами связи для правильного и эффективного обмена данными.
Синхронная и асинхронная передача данных
Синхронная связь требует, чтобы отправитель и получатель использовали одни и те же часы. Отправитель передает синхронизирующий сигнал получателю, чтобы получатель знал, когда «читать» данные. Синхронная связь, как правило, имеет более высокие скорости передачи данных и большую возможность проверки ошибок. Принтер - это форма синхронного общения. Асинхронная связь не имеет тактового сигнала или тактового сигнала. Вместо этого он вставляет стартовые / стоповые биты в каждый байт данных, чтобы «синхронизировать» связь. Поскольку для связи используется меньше проводов (без тактовых сигналов), асинхронная связь проще и экономичнее. RS-232 / RS-485 / RS-422 / TTL являются формами асинхронной связи.
Развертывание: биты и байты
Внутренняя компьютерная связь состоит из цифровой электроники, представленной только двумя условиями: ВКЛ или ВЫКЛ. Мы представляем их двумя числами: 0 и 1, которые в двоичной системе называются битами. Байт состоит из 8 битов, которые представляют десятичное число от 0 до 255 или шестнадцатеричное число от 0 до FF. Как описано выше, байт является основной единицей асинхронной связи.
Скорость передачи, биты данных, четность и стоповый бит
Скорость передачи - это скорость передачи данных, которая измеряет количество битовых передач в секунду. Например, 19200 бод - это 19200 бит в секунду.
Биты данных являются измерением фактических битов данных в пакете связи. Например, вышеприведенный рисунок показывает восемь (8) битов данных в пакете связи. Пакет связи относится к передаче одного байта, включая биты пуска / останова, биты данных и четность. Если вы передаете стандартный код ASCII (от 0 до 127), достаточно 7 бит данных. Если это расширенный код ASCII (от 128 до 255), то требуется 8 бит данных.
Четность - это простой способ проверки ошибок. Есть четные, нечетные, отметки и пробелы. Вы также можете использовать без паритета. Для четного и нечетного контроля четности последовательный порт устанавливает бит четности (последний бит после бита данных) в значение, чтобы гарантировать, что пакет данных имеет четное или нечетное число старших логических битов. Например, если данные равны 10010010, для четности четности последовательный порт устанавливает бит четности равным 1, чтобы сохранить количество старших логических битов четности. Для нечетной четности бит четности равен 0, поэтому число старших логических битов нечетно. Метка четности просто устанавливает бит четности на высокий логический уровень, а пробел устанавливает бит четности на низкий логический уровень, чтобы принимающая сторона могла определить, повреждены ли данные.
Стоповые биты используются для сигнализации об окончании пакета связи. Это также помогает синхронизировать различные часы на последовательных устройствах.
Рукопожатие (управление потоком)
Рукопожатие также называется «Управление потоком». Основное назначение Handshaking - предотвратить перегрузку приемника. Используя сигналы квитирования, получатели смогут сообщить отправляющему устройству приостановить передачу данных, если приемник перегружен. Существует три типа квитирования: программное квитирование, аппаратное квитирование и оба.
Программное обеспечение рукопожатия использует два управляющих символа: XON и XOFF. Приемник отправляет эти управляющие символы, чтобы приостановить передатчик во время связи. XON - это десятичное 17, а XOFF - десятичное 19 на графике ASCII. Недостаток программного рукопожатия заключается в том, что эти два управляющих символа нельзя использовать в данных. Это очень важно при передаче двоичных данных, так как вам может понадобиться использовать эти два кода в ваших данных.
Аппаратное подтверждение связи использует фактические аппаратные линии, такие как RTS / CTS, DTR / DSR и DCD / RI (для модема).
В связи DTE / DCE RTS (Запрос на отправку) является выходом на DTE и входом на DCE. CTS (Clear to Send) - ответный сигнал от DCE. Перед отправкой данных DTE запрашивает разрешение, устанавливая высокий уровень выходного сигнала RTS. Данные не будут отправлены, пока DCE не предоставит разрешение по линии CTS. DTE использует сигнал DTR (Data Terminal Ready), чтобы указать, что он готов принять информацию, тогда как DCE использует сигнал DSR для той же цели. DTR / DSR обычно включены или выключены для всего сеанса соединения (например, снята трубка), тогда как RTS / CTS включены или выключены для каждой передачи данных. DCD (Data Carrier Ready) используется модемом, когда установлено соединение с удаленным оборудованием, а RI (индикатор вызова) используется модемом для индикации сигнала вызова с телефонной линии.
Форматы данных (двоичные, шестнадцатеричные, декабрьские, октябрьские и ASCII)
Последовательные устройства используют Binary для связи, который состоит из двух уникальных чисел: 0 и 1.
Двоичный код - это система нумерации Base-2. Один байт данных состоит из 8 двоичных цифр от 0000 0000 до 1111 1111. Шестнадцатеричная система - это система base-16, которая состоит из 16 чисел: от 0 до 9 и букв от A до F (десятичное число 15).
Шестнадцатеричная система нумерации полезна, потому что она может представлять каждый байт в виде двух последовательных шестнадцатеричных цифр, и людям легче читать шестнадцатеричные числа, чем двоичные числа. Большинство производителей используют шестнадцатеричное в своей документации протокола. Преобразовать значение из шестнадцатеричного в двоичное просто. Просто переведите каждую шестнадцатеричную цифру в ее 4-битный двоичный эквивалент. Например. Шестнадцатеричное число F3 равно двоичному числу 1111 0011.
Десятичное число относится к числам в базе 10, которая является системой нумерации, которую мы используем чаще всего в повседневной жизни. Это не так просто, как шестнадцатеричное и восьмеричное в десятичное число, чтобы преобразовать десятичное число, но нам легче понять десятичное число.
Восьмеричное относится к системе нумерации base-8, которая использует только восемь уникальных символов (от 0 до 7). Программисты часто используют формат Octal, потому что люди относительно легко читают и могут быть легко переведены в двоичный формат: каждая цифра Octal представляет 3 двоичные цифры. Например. Восьмеричное число 73 соответствует двоичному числу 111 011.
ASCII (американский стандартный код для обмена информацией) - это кодировка символов, основанная на английском алфавите. Коды ASCII (как читаемые, так и нечитаемые) широко используются в коммуникациях, таких как модемная связь. Буквы от A до Z и цифры от 0 до 9 являются читаемыми кодами ASCII. Некоторые коды ASCII не читаются, такие как управляющие коды: XON и XOFF, которые используются в управлении потоком программного обеспечения.
В компания KS-is возможно купить адаптеры RS232 различных моделей и ценовых сегментов.
Примеры протокольных команд
Команда протокола представляет собой строку данных, отправленную с одного последовательного устройства (например, компьютера) на другое (то есть модем). Вот некоторые примеры:
Пример команды ASCII: ATI1 для запроса информации производителя модема. (Примечание: контрольные коды возврата каретки и перевода строки).
Преобразуйте приведенную выше командную строку в шестнадцатеричное, и она становится: 41 54 49 31 0D 0A
Преобразуйте приведенную выше командную строку в десятичную, и она становится: 065 084 073 049 013 010
Преобразуйте приведенную выше строку команды в восьмеричное, и оно становится: 101 124 111 061 015 012
Преобразуйте приведенную выше командную строку в двоичную, и она становится: 01000001 01010100 01001001 00110001 00001101 00001010
Шаг 3: Управляйте своими устройствами RS232 с помощью 232Analyzer
232Analyzer - это расширенный анализатор протокола последовательного порта, который позволяет вам контролировать / отлаживать, отслеживать / прослушивать последовательные устройства (RS-232 / RS-485 / RS-422 / TTL) прямо с вашего ПК. 232Analyzer является условно-бесплатной версией, БЕСПЛАТНАЯ версия имеет некоторые ограничения, но ее более чем достаточно для тестирования и управления вашими последовательными устройствами. Нажмите здесь, чтобы скачать бесплатную копию.
Расчет контрольной суммы
232Analyzer поставляется с калькулятором контрольной суммы, который позволяет вам вычислять сложный байт контрольной суммы в секундах, вот пример:
Предположим, что вы управляете проектором, и протокол проектора использует xOR для получения дополнительного байта контрольной суммы, строка команды для включения проектора: «1A 2B 3C» плюс байт контрольной суммы. Используйте следующие процедуры для вычисления байта контрольной суммы:
Выберите Hex в качестве формата операндов
Выберите xOr в качестве оператора
Введите строку команды и добавьте запятую (,) после каждого байта кода команды: например, 1A, 2B, 3C,
Нажмите на кнопку «Рассчитать», и вы получите результат 0D (0 опущен)
Выберите COM-порт и настройте форматы связи
В приведенном выше примере панели инструментов COM-порт, подключенный к проектору, был настроен следующим образом: COM-порт: 5, скорость передачи данных: 19 200 бит / с, бит данных: 8, четность: четный, стоп-бит: 1. Примечание. После того, как вы установили правильные форматы связи (они должны совпадать с настройками COM-порта проектора), нажмите кнопку «Подключить» слева, чтобы активировать COM-порт.
Настройки управления потоком
Управление потоком можно установить из окна выше. Можно выбрать «Программное обеспечение» (XON / XOFF), «Оборудование» (RTS / CTS), «Оба» («Программное обеспечение + оборудование») или «Нет».
Управляйте своими устройствами RS232 Контроль / мониторинг состояния линии
232Analyzer позволяет вам контролировать / контролировать состояние линий ваших COM-портов. Состояния линии RTS и DTR будут переключаться при нажатии на соответствующий светодиод, вы можете использовать измеритель напряжения для проверки изменений, вы должны получить от + 6 В до + 15 В, когда состояние линии включено, и от -6 В до -15 В, когда состояние линии ВЫКЛ. Другие состояния линии могут контролироваться через виртуальные D, такие как RX, TX, DSR, CTS, DCD и RI.
Команды отправки / получения
Примечания:
В бесплатной версии режим Hex недоступен. Вы можете использовать десятичный формат для отправки командной строки: «26,43,60,13»
Вы можете использовать любое устройство RS-232 для тестирования, если Вы знаете команды протокола.
В молодости мы легко расстаемся со старыми, привычными вещами в угоду новым, модным и дорогим. Став постарше, мы с удивлением обнаруживаем, что старое, по сути дела, не хуже нового, только проще и дешевле. Примером такого «старого» является интерфейс RS-232, спецификация которого была принята более 30 лет назад, для хайтека – целая эпоха, да, пожалуй, и не одна. Тем не менее, архаичный интерфейс и по сей день является хорошим и надежным инструментом инсталлятора, когда ему требуется передавать данные в условиях с высоким уровнем шумов и помех.
История
В 1969 году ассоциация электронной промышленности США (EIA) опубликовала вариант «С» своего рекомендуемого стандарта (Recommended Standart – RS) за номером 232 «Интерфейс между оконечным оборудованием обработки данных и оконечным оборудованием линии с использованием последовательного обмена данными в двоичной форме».
Сейчас этот стандарт известен просто как стандарт RS-232C. Международный консультативный комитет по телефонии и телеграфии ввел свой собственный вариант этого стандарта в виде стандартов V.24 и V.28, а министерство обороны США выпустило практически идентичный стандарт Mil-Std-188C.
Система передачи данных (передатчик, приемник, соединительные кабели), реализованная в соответствии с техническими условиями стандарта RS-232C, обеспечивает передачу сигнала со скоростями, не превышающими 20 Кбит/с (реально используют на скоростях до 115200 бит/с).
В настоящее время действует редакция стандарта, принятая в 1991 году ассоциациями электронной и телекоммуникационной промышленности, под названием EIA/TIA-232-E. В ней нет никаких технических изменений, которые могли бы привести к несовместимости с оборудованием, поддерживающим интерфейс RS-232 более ранних версий.
Как это работает
До появления интерфейсов IEEE-1394 и USB‑2 асинхронный последовательный интерфейс был основным устройством, с помощью которого осуществлялось взаимодействие компьютеров. Слово «асинхронный» означает, что при передаче данных специальный синхронизирующий сигнал не используется, и отдельные символы могут передаваться с произвольными временными интервалами.
Каждый символ должен быть «взят в скобки» т.е. ему должен предшествовать стандартный стартовый сигнал, а заканчиваться его передача должна стоповым сигналом. Стартовый сигнал – это нулевой бит (с уровнем логического 0), который называется стартовым битом. Его предназначение – сообщить принимающему устройству о том, что следующие восемь бит представляют из себя байт данных. После символа передаются один или два стоповых бита, сигнализирующие об окончании его передачи. В принимающем устройстве символы распознаются по появлению стартовых и стоповых сигналов, а не по моменту их передачи. Асинхронный интерфейс ориентирован на передачу символов (байтов), а в передаваемой информации примерно 20% оказывается «лишней», предназначенной только для идентификации начала и конца каждого символа.
Термин последовательный означает, что связь осуществляется по одиночному проводу, а биты передаются последовательно, один за другим.
Интерфейс RS-232 обеспечивает соединение двух устройств, одно из которых называется DTE (Data Terminal Equipment) – ООД (Оконечное Оборудование Данных), второе – DCE (Data Communications Equipment) – ОПД (Оборудование Передачи Данных).
Важно запомнить эти обозначения (DTE и DCE). Они используются в названиях сигналов интерфейса и помогают разобраться с описанием конкретной реализации.
За и против
К несомненному достоинству RS-232 следует отнести его популярность: все компьютеры РС (но не Mac) оборудованы по крайней мере одним портом RS-232, поэтому приобретение готовых кабелей для него не составляет никакой проблемы. Процессом передачи можно управлять на аппаратном уровне, хотя эту возможность используют нечасто.
Недостатки RS-232 состоят, прежде всего, в том, что он реализует связь типа «точка-точка» с низкой, по современным меркам, скоростью (обычно 9600 бит в секунду), и работает только на небольших расстояниях (до 10-15 м).
Состав линий связи между устройствами DTE и DCE точно не определён. Стандарт описывает функции до 25 соединительных линий, но не указывает, должна или не должна использоваться та или иная линия. Лучше (технологически) обстоят дела в стандарте RS‑422. По этому стандарту связь осуществляется по двум парам проводов, а передаваемый сигнал может приниматься более чем одним устройством. Согласно стандарту RS-485 (улучшенный RS-422) используется одна пара проводов, которая предназначена для передачи или приёма многими устройствами. RS-422/RS-485 может использоваться для многоточечных соединений, из-за высокой помехоустойчивости за счёт использования дифференциальных (балансных) линий, связь возможна на расстояниях до 1,2 км.
В настоящее время RS-422/RS-485 является стандартном де-факто для значительной части вещательной видеоиндустрии.
Типы разъемов
Рис. 1. 25-контактный соединитель типа DB25
Изначально стандарт RS-232 описывал применение 25-контактного соединителя типа DB25 (Рис.1). DTE-устройство должно оснащаться вилкой, DCE-устройство – розеткой. Позднее, с появлением IBM PC, стали использовать усеченный вариант интерфейса и 9-контактные соединители DB9 (рис. 2), наиболее распространенные в настоящее время.
Распайка RS-232
Рис. 2. 9-контактный соединитель DB9
В таблице 1 показано назначение контактов 9-контактного соединителя DB9. Таблица показывает распайку вилки оборудования обработки данных (DTE). Розетка устройства передачи данных (DCE) распаяна так, что два разъема стыкуются напрямую, или через кабель, распаянный «контакт в контакт».
Таблица 1. Назначение контактов соединителя DB9
Рис. 3. Распайка кабеля RS-232
Для передачи данных предназначены цепи RxD (RD) и TxD (TD). Остальные цепи предназначены для индикации состояния устройств (DTR, DSR), управления передачей (RTS, CTS) и индикации состояния линии (CD, RI). Набор используемых цепей зависит от аппаратной и программной реализации стыка в контроллере. Для соединения двух DTE-устройств используют так называемые нуль-модемные кабели, в которых провода «перекрещиваются» в соответствии с назначением сигналов. На практике перед распайкой кабеля всегда следует разобраться с документацией на оба соединяемых устройства. Для соединения многих устройств достаточно минимального набора цепей интерфейса RS-232: RD, TD и Signal Ground (рис. 3).
Рекомендуется использовать кабели на основе витой экранированной пары, где каждый из сигнальных проводов свит с общим проводом. Экран кабеля рекомендуется не объединять с сигнальным общим, а подключить к металлической оболочке разъема.
Таблица 2. Назначение контактов соединителя DB25
Таблица 3. Соответствие выводов между 9 и 25-контактным разъемами
Все сигналы в интерфейсе потенциальные, с номинальными уровнями +12В и –12В относительно общего провода (Signal Ground). Логической единице соответствует уровень –12В, логическому нулю соответствует +12В.
Как уже говорилось, RS-232 называют последовательным интерфейсом, поскольку поток данных передается по одному проводу бит за битом. В отсутствие передачи данных линия находится в состоянии логической единицы (–12В). Скорость передачи данных стандартом не нормируется, но обычно выбирают из ряда 110, 300, 600, 1200, 2400, 4800, 9600, 19200 бит в секунду. В основном используется асинхронный режим работы, при котором данные передаются фреймами. Каждый фрейм состоит из стартового бита, битов данных, бита контроля четности (может отсутствовать), стопового бита. Биты байта данных передаются, начиная с младшего бита.
Для правильной стыковки приемопередатчики на обоих устройствах должны быть запрограммированы одинаковым образом, т.е. должны совпадать скорость, количество битов данных (7 или 8), тип контроля по четности, длина стопового бита (1, 1.5 или 2).
При точных расчётах времени на передачу массива байтов наряду с битами данных следует учитывать все служебные биты.
На рис. 4 показан вид одного фрейма RS-232 при следующих настройках: 8 битов данных, контроль по нечетности (parity odd), 1 стоповый бит. Стартовый бит всегда идет с уровнем логического нуля, стоповый – единицы. Состояние бита четности определяется настройкой передатчика. Бит дополняет число единичных битов данных до нечетности (parity odd), четности (parity even), может не использоваться (parity none), быть всегда единицей (mark) или нулем (space).
Рис. 4. Вид фрейма RS-232
Как преодолеть ограничения стандарта RS-232
Наиболее существенными недостатками стандарта RS-232 являются небольшое расстояние, на которое можно передавать сигнал и возможность соединения только двух устройств по типу «точка-точка».
Для их преодоления используют специальные устройства – удлинители линии и расширители портов.
Удлинитель линии связи Range Extender
Предназначен для преодоления ограничений по расстоянию для приборов, имеющих управление через RS-232.
Осуществляет преобразование в интерфейс RS-422, а затем назад, в RS‑232, что позволяет использовать в качестве физического носителя две пары проводов. Удлинитель линии может быть использован для увеличения расстояния связи для любого нуль-модемного соединения RS-232, для управления оборудованием через интерфейс RS-422, либо в качестве преобразователя общего назначения из RS-232 в RS-422 и обратно.
Работает во всех режимах связи (число битов, скорость, чётность и т.д.) и не требует настройки этих параметров.
Расширитель портов Port Extender
Предназначен для преодоления ограничения интерфейса RS-232, который может осуществлять только соединения типа «точка-точка». Позволяет осуществлять связь между несколькими устройствами с интерфейсами RS-232.
Данные, которые поступают на любой из портов устройства, пересылаются на остальные 3 порта. Расширитель портов может быть использован для управления коммутатором от 3 устройств DTE (например, компьютеров).
Прибор поддерживает все режимы связи RS-232 (число битов, скорость, чётность и т.д.) и не требует настройки этих параметров.
Устранение неполадок при связи через RS-232
Ниже приведены меры, которые могут помочь разрешить проблемы, возникающие при связи с устройствами Kramer через интерфейс RS-232.
Убедитесь, что между устройством (коммутатором, маршрутизатором) и управляющим компьютером (РС) установлено нуль-модемное соединение. Также убедитесь, что на разъёмах нет замятых контактов.
Проще всего (при использовании 25-контактного порта на РС) использовать нуль-модемный адаптер, прилагаемый к устройству. Подключите такой переходник 25-контактным разъёмом к последовательному порту РС, после чего прямым кабелем – т.е. с распайкой один к одному – соедините 9-контактный разъём адаптера с последовательным портом на устройстве. (Если адаптер используется с неполным кабелем, то необходимо, как минимум, соединить на 9-контактных разъёмах с обоих концов: контакт 2 с контактом 2, 3 – с 3 и 5 – с 5.)
При непосредственном подключении 25-контактного порта на РС к 9-контактному разъёму на устройстве (т.е. без нуль-модемного адаптера) соедините:
- Контакт 2 на 25-контактном разъёме – с контактом 2 на 9-контактном;
- Контакт 3 на 25-контактном разъёме – с контактом 3 на 9-контактном;
- Контакт 7 на 25-контактном разъёме – с контактом 5 на 9-контактном;
- Закоротите вместе контакты 6 и 20 на 25-контактном разъёме;
- Закоротите вместе контакты 4, 5 и 8 на 25-контактном разъёме.
При непосредственном подключении 9-контактного порта на РС к 9-контактному разъёму на устройстве соедините:
- Контакт 2 на разъёме РС – с контактом 3 на разъёме устройства;
- Контакт 3 на разъёме РС – с контактом 2 на разъёме устройства;
- Контакт 5 на разъёме РС – с контактом 5 на разъёме устройства;
- Соедините вместе контакты 4 и 6 на разъёме РС;
- Соедините вместе контакты 1, 7 и 8 на разъёме РС;
ПРИМЕЧАНИЕ: Для некоторых изделий допускается управление несколькими такими устройствами при их последовательном соединении прямыми кабелями – что кажется неправильным в свете вышесказанного. На самом деле устройства настраиваются в режимы «ведущий/ведомый» (master/slave), при этом с компьютером через RS-232 связано только одно, ведущее устройство. При таком включении ведущее устройство передаёт информацию на и от РС к ведомым устройствам, а интерфейсом RS-232 порты оказываются связанными попарно).
В молодости мы легко расстаемся со старыми, привычными вещами в угоду новым, модным и дорогим. Став постарше, мы с удивлением обнаруживаем, что старое, по сути дела, не хуже нового, только проще и дешевле. Примером такого «старого» является интерфейс RS-232, спецификация которого была принята более 30 лет назад, для хайтека – целая эпоха, да, пожалуй, и не одна. Тем не менее, архаичный интерфейс и по сей день является хорошим и надежным инструментом инсталлятора, когда ему требуется передавать данные в условиях с высоким уровнем шумов и помех.
История
В 1969 году ассоциация электронной промышленности США (EIA) опубликовала вариант «С» своего рекомендуемого стандарта (Recommended Standart – RS) за номером 232 «Интерфейс между оконечным оборудованием обработки данных и оконечным оборудованием линии с использованием последовательного обмена данными в двоичной форме».
Сейчас этот стандарт известен просто как стандарт RS-232C. Международный консультативный комитет по телефонии и телеграфии ввел свой собственный вариант этого стандарта в виде стандартов V.24 и V.28, а министерство обороны США выпустило практически идентичный стандарт Mil-Std-188C.
Система передачи данных (передатчик, приемник, соединительные кабели), реализованная в соответствии с техническими условиями стандарта RS-232C, обеспечивает передачу сигнала со скоростями, не превышающими 20 Кбит/с (реально используют на скоростях до 115200 бит/с).
В настоящее время действует редакция стандарта, принятая в 1991 году ассоциациями электронной и телекоммуникационной промышленности, под названием EIA/TIA-232-E. В ней нет никаких технических изменений, которые могли бы привести к несовместимости с оборудованием, поддерживающим интерфейс RS-232 более ранних версий.
Как это работает
До появления интерфейсов IEEE-1394 и USB‑2 асинхронный последовательный интерфейс был основным устройством, с помощью которого осуществлялось взаимодействие компьютеров. Слово «асинхронный» означает, что при передаче данных специальный синхронизирующий сигнал не используется, и отдельные символы могут передаваться с произвольными временными интервалами.
Каждый символ должен быть «взят в скобки» т.е. ему должен предшествовать стандартный стартовый сигнал, а заканчиваться его передача должна стоповым сигналом. Стартовый сигнал – это нулевой бит (с уровнем логического 0), который называется стартовым битом. Его предназначение – сообщить принимающему устройству о том, что следующие восемь бит представляют из себя байт данных. После символа передаются один или два стоповых бита, сигнализирующие об окончании его передачи. В принимающем устройстве символы распознаются по появлению стартовых и стоповых сигналов, а не по моменту их передачи. Асинхронный интерфейс ориентирован на передачу символов (байтов), а в передаваемой информации примерно 20% оказывается «лишней», предназначенной только для идентификации начала и конца каждого символа.
Термин последовательный означает, что связь осуществляется по одиночному проводу, а биты передаются последовательно, один за другим.
Интерфейс RS-232 обеспечивает соединение двух устройств, одно из которых называется DTE (Data Terminal Equipment) – ООД (Оконечное Оборудование Данных), второе – DCE (Data Communications Equipment) – ОПД (Оборудование Передачи Данных).
Важно запомнить эти обозначения (DTE и DCE). Они используются в названиях сигналов интерфейса и помогают разобраться с описанием конкретной реализации.
За и против
К несомненному достоинству RS-232 следует отнести его популярность: все компьютеры РС (но не Mac) оборудованы по крайней мере одним портом RS-232, поэтому приобретение готовых кабелей для него не составляет никакой проблемы. Процессом передачи можно управлять на аппаратном уровне, хотя эту возможность используют нечасто.
Недостатки RS-232 состоят, прежде всего, в том, что он реализует связь типа «точка-точка» с низкой, по современным меркам, скоростью (обычно 9600 бит в секунду), и работает только на небольших расстояниях (до 10-15 м).
Состав линий связи между устройствами DTE и DCE точно не определён. Стандарт описывает функции до 25 соединительных линий, но не указывает, должна или не должна использоваться та или иная линия. Лучше (технологически) обстоят дела в стандарте RS‑422. По этому стандарту связь осуществляется по двум парам проводов, а передаваемый сигнал может приниматься более чем одним устройством. Согласно стандарту RS-485 (улучшенный RS-422) используется одна пара проводов, которая предназначена для передачи или приёма многими устройствами. RS-422/RS-485 может использоваться для многоточечных соединений, из-за высокой помехоустойчивости за счёт использования дифференциальных (балансных) линий, связь возможна на расстояниях до 1,2 км.
В настоящее время RS-422/RS-485 является стандартном де-факто для значительной части вещательной видеоиндустрии.
Типы разъемов
Рис. 1. 25-контактный соединитель типа DB25
Изначально стандарт RS-232 описывал применение 25-контактного соединителя типа DB25 (Рис.1). DTE-устройство должно оснащаться вилкой, DCE-устройство – розеткой. Позднее, с появлением IBM PC, стали использовать усеченный вариант интерфейса и 9-контактные соединители DB9 (рис. 2), наиболее распространенные в настоящее время.
Распайка RS-232
Рис. 2. 9-контактный соединитель DB9
В таблице 1 показано назначение контактов 9-контактного соединителя DB9. Таблица показывает распайку вилки оборудования обработки данных (DTE). Розетка устройства передачи данных (DCE) распаяна так, что два разъема стыкуются напрямую, или через кабель, распаянный «контакт в контакт».
Таблица 1. Назначение контактов соединителя DB9
Рис. 3. Распайка кабеля RS-232
Для передачи данных предназначены цепи RxD (RD) и TxD (TD). Остальные цепи предназначены для индикации состояния устройств (DTR, DSR), управления передачей (RTS, CTS) и индикации состояния линии (CD, RI). Набор используемых цепей зависит от аппаратной и программной реализации стыка в контроллере. Для соединения двух DTE-устройств используют так называемые нуль-модемные кабели, в которых провода «перекрещиваются» в соответствии с назначением сигналов. На практике перед распайкой кабеля всегда следует разобраться с документацией на оба соединяемых устройства. Для соединения многих устройств достаточно минимального набора цепей интерфейса RS-232: RD, TD и Signal Ground (рис. 3).
Рекомендуется использовать кабели на основе витой экранированной пары, где каждый из сигнальных проводов свит с общим проводом. Экран кабеля рекомендуется не объединять с сигнальным общим, а подключить к металлической оболочке разъема.
Таблица 2. Назначение контактов соединителя DB25
Таблица 3. Соответствие выводов между 9 и 25-контактным разъемами
Все сигналы в интерфейсе потенциальные, с номинальными уровнями +12В и –12В относительно общего провода (Signal Ground). Логической единице соответствует уровень –12В, логическому нулю соответствует +12В.
Как уже говорилось, RS-232 называют последовательным интерфейсом, поскольку поток данных передается по одному проводу бит за битом. В отсутствие передачи данных линия находится в состоянии логической единицы (–12В). Скорость передачи данных стандартом не нормируется, но обычно выбирают из ряда 110, 300, 600, 1200, 2400, 4800, 9600, 19200 бит в секунду. В основном используется асинхронный режим работы, при котором данные передаются фреймами. Каждый фрейм состоит из стартового бита, битов данных, бита контроля четности (может отсутствовать), стопового бита. Биты байта данных передаются, начиная с младшего бита.
Для правильной стыковки приемопередатчики на обоих устройствах должны быть запрограммированы одинаковым образом, т.е. должны совпадать скорость, количество битов данных (7 или 8), тип контроля по четности, длина стопового бита (1, 1.5 или 2).
При точных расчётах времени на передачу массива байтов наряду с битами данных следует учитывать все служебные биты.
На рис. 4 показан вид одного фрейма RS-232 при следующих настройках: 8 битов данных, контроль по нечетности (parity odd), 1 стоповый бит. Стартовый бит всегда идет с уровнем логического нуля, стоповый – единицы. Состояние бита четности определяется настройкой передатчика. Бит дополняет число единичных битов данных до нечетности (parity odd), четности (parity even), может не использоваться (parity none), быть всегда единицей (mark) или нулем (space).
Рис. 4. Вид фрейма RS-232
Как преодолеть ограничения стандарта RS-232
Наиболее существенными недостатками стандарта RS-232 являются небольшое расстояние, на которое можно передавать сигнал и возможность соединения только двух устройств по типу «точка-точка».
Для их преодоления используют специальные устройства – удлинители линии и расширители портов.
Удлинитель линии связи Range Extender
Предназначен для преодоления ограничений по расстоянию для приборов, имеющих управление через RS-232.
Осуществляет преобразование в интерфейс RS-422, а затем назад, в RS‑232, что позволяет использовать в качестве физического носителя две пары проводов. Удлинитель линии может быть использован для увеличения расстояния связи для любого нуль-модемного соединения RS-232, для управления оборудованием через интерфейс RS-422, либо в качестве преобразователя общего назначения из RS-232 в RS-422 и обратно.
Работает во всех режимах связи (число битов, скорость, чётность и т.д.) и не требует настройки этих параметров.
Расширитель портов Port Extender
Предназначен для преодоления ограничения интерфейса RS-232, который может осуществлять только соединения типа «точка-точка». Позволяет осуществлять связь между несколькими устройствами с интерфейсами RS-232.
Данные, которые поступают на любой из портов устройства, пересылаются на остальные 3 порта. Расширитель портов может быть использован для управления коммутатором от 3 устройств DTE (например, компьютеров).
Прибор поддерживает все режимы связи RS-232 (число битов, скорость, чётность и т.д.) и не требует настройки этих параметров.
Устранение неполадок при связи через RS-232
Ниже приведены меры, которые могут помочь разрешить проблемы, возникающие при связи с устройствами Kramer через интерфейс RS-232.
Убедитесь, что между устройством (коммутатором, маршрутизатором) и управляющим компьютером (РС) установлено нуль-модемное соединение. Также убедитесь, что на разъёмах нет замятых контактов.
Проще всего (при использовании 25-контактного порта на РС) использовать нуль-модемный адаптер, прилагаемый к устройству. Подключите такой переходник 25-контактным разъёмом к последовательному порту РС, после чего прямым кабелем – т.е. с распайкой один к одному – соедините 9-контактный разъём адаптера с последовательным портом на устройстве. (Если адаптер используется с неполным кабелем, то необходимо, как минимум, соединить на 9-контактных разъёмах с обоих концов: контакт 2 с контактом 2, 3 – с 3 и 5 – с 5.)
При непосредственном подключении 25-контактного порта на РС к 9-контактному разъёму на устройстве (т.е. без нуль-модемного адаптера) соедините:
- Контакт 2 на 25-контактном разъёме – с контактом 2 на 9-контактном;
- Контакт 3 на 25-контактном разъёме – с контактом 3 на 9-контактном;
- Контакт 7 на 25-контактном разъёме – с контактом 5 на 9-контактном;
- Закоротите вместе контакты 6 и 20 на 25-контактном разъёме;
- Закоротите вместе контакты 4, 5 и 8 на 25-контактном разъёме.
При непосредственном подключении 9-контактного порта на РС к 9-контактному разъёму на устройстве соедините:
- Контакт 2 на разъёме РС – с контактом 3 на разъёме устройства;
- Контакт 3 на разъёме РС – с контактом 2 на разъёме устройства;
- Контакт 5 на разъёме РС – с контактом 5 на разъёме устройства;
- Соедините вместе контакты 4 и 6 на разъёме РС;
- Соедините вместе контакты 1, 7 и 8 на разъёме РС;
ПРИМЕЧАНИЕ: Для некоторых изделий допускается управление несколькими такими устройствами при их последовательном соединении прямыми кабелями – что кажется неправильным в свете вышесказанного. На самом деле устройства настраиваются в режимы «ведущий/ведомый» (master/slave), при этом с компьютером через RS-232 связано только одно, ведущее устройство. При таком включении ведущее устройство передаёт информацию на и от РС к ведомым устройствам, а интерфейсом RS-232 порты оказываются связанными попарно).
Читайте также: