RS-протоколы | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Естественно, это позволяет производителям городить кто во что горазд (например, питание по 9-му пину в RS-232 вовсе не оговорено стандартом, однако широко используется) и называется это стандартом. Далее, все RS-протоколы можно приблизительно разделить на полудуплексные (half-duplex) и дуплексные (full-duplex). Правда, деление такое не совсем точно, т.к. тот же RS-485 может быть и полудуплексным (два провода) и дуплексным (четыре провода), они так и называются - 2-wire (2-проводный) RS-485 и 4-wire (4-проводный) RS-485. Есть еще такой вид протоколов как симплексные (simplex), но в виду ряда причин, указанных ниже, в компьютерной технике не применяются. Чем эти виды протоколов различаются:
Конкретно про разные протоколыНаиболее используемыми в компьютерной индустрии являются два протокола - RS-232 и RS-485 (ну и RS-422, который очень похож на RS-485). Важное отличие: протокол RS-232 использует небалансный (unbalanced) сигнал, в то время как RS-422/RS-485 используют балансный (balanced) сигнал. Небалансный сигнал передается по несбалансированной линии, представляющей собой сигнальную землю и одиночный сигнальный провод, уровень напряжения на котором используется, чтобы передать или получить двоичные 1 или 0. Напротив, балансный сигнал передается по сбалансированной линии, которая представлена сигнальной землей и парой проводов, разница напряжений между которыми используется для передачи/приема бинарной информации (все вместе составляет экранированную витую пару). Не углубляясь в подробности, можно сказать, что сбалансированный сигнал передается быстрее и дальше, чем несбалансированный. Вот сравнительная таблица для рекомендованных протоколов (надо сказать, что нынешние интерпретации протоколов, особенно RS-232, весьма далеки от рекомендованных):
Позволю себе заметить, что контроллеры RS-232, применяемые в персональных компьютерах, имеют выходной ток равный 10мА максимум. Подробнее про RS-232Все оборудование, соединяемое по RS-232 протоколу, разделяют на DCE (Data Communication Equipment, оборудование Передачи Данных) и DTE (Data Terminal Equipment, Терминальное Оборудование), нельзя соединить два DTE или два DCE. Различие заключается в разъемах и разводке разъемов: DCE устройства имеют разъем DB25F (мама), а DTE - DB25M (папа). Так же на DTE устройствах (например, на компьютерах, компьютеры являются DTE устройствами) иногда используется урезанная версия DB25M - DB9M. С помощью NULL-modem (Нуль-модем) можно превратить DTE в DCE и наоборот. Наглядно посмотреть чем отличаются разъемы DTE от DCE:
Конкретнее про RS-485/RS-422RS-485/RS-422 используют экранированную витую пару, экран в качестве сигнальной земли. Хотя сигнальная земля обязательна, она не используется для определения логического состояния линии. Устройство, управляющее сбалансированной линией (balanced line driver), может (для RS-485 - обязательно, для RS-422 - нет) так же иметь входной сигнал "Enable" (Разрешен), который используется для управления выходными терминалами устройства. Если сигнал "Enable" выключен, то это значит, что устройство отключено от линии, причем отключенное состояние устройства обычно называется "tristate" (т.е. третье состояние, вдобавок к двоичным 1 и 0). Стандарт на RS-485 предусматривает только 32 пары передатчик/приемник, но производители расширили возможности RS-485 протокола, так что теперь он поддерживает от 128 до 255 устройств на одной линии, а используя репитеры можно продлевать RS-485/RS-422 практически до бесконечности. При использовании RS-485 можно, и в случае длинного провода и/или большого количества устройств необходимо, использовать терминаторы, которые впрочем, обычно встроены в устройства с RS-485 протоколом, хотя при коротком проводе, может наблюдаться даже ухудшение связи при использовании терминаторов. Так же стандарт на RS-485 предусматривает использование двухжильной экранированной витой пары, так называемый 2-wire RS-485, но возможно использование и четырехпроводной витой пары (4-wire RS-485), тогда получается полный дуплекс. В таком случае, необходимо чтобы одно из устройств было сконфигурировано как ведущее (Master), а остальные как ведомые (Slave). Тогда все ведомые устройства общаются только с ведущим устройством, и никогда не передают ничего напрямую друг другу. В таких случаях обычно RS-422 драйвер используется как ведущее устройство, т.к. RS-422 допускает подключения только как master/slave, а RS-485 устройства как ведомые, для общего удешевления системы. Стандарт на RS-422 изначально предусматривает использование четырехжильной экранированной витой пары, но допускает соединения только от одного устройства к другим (до пяти драйверов и до десяти ресиверов на каждый драйвер). В принципе, RS-422 был придуман для замены RS-232 в тех случаях, когда RS-232 не удовлетворяет по скорости и дальности передачи. RS-422 использует строго разделенные две (или больше) пары проводов: одну пару для приема, одну для передачи (и еще по одной на каждый сигнал контроля/подтверждения (control/handshake)). RS-485, благодаря наличию третьего состояния ("tristate") позволяет обойтись одной парой проводов, что снижает общую стоимость системы при обеспечении связи на большие расстояния. Надо сказать, что сейчас доступно большое количество разнообразных устройств для сопряжения RS-422/RS-485 с RS-232, причем RS-232 часто используется для соединения с компьютером (впрочем, есть и интерфейсные карты RS-422/RS-485 в компьютер), который используется для управления системой. Так же доступны разнообразные устройства (хабы, репитеры, переключатели и пр.) для создания сложных конфигураций RS-422/RS-485 сетей, так что RS-422/RS-485 таят в себе очень большие возможности. Автор: Илья Ольховский. |