Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
16.04.2013
Размер:
3.66 Mб
Скачать

Но на практике часто применяется именно описанный выше вариант – дело в том что аппаратные затраты на его реализацию наименьшие по сравнению с другими вариантами, а это ведет к уменьшению места занимаемого схемой UART-а на кристалле и следовательно к его удельному удешевлению.

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

Теперь когда логика передачи данных приняла некоторую форму, предлагается рассмотреть специфику электрического формирования сигналов RS232-C, их преобразования по уровню и особенности приема. Для начала рассмотрим схему на рис7, преобразующую уровень сигнала от микросхемы к уровню сигнала RS232.

Рис7.

Высокий уровень микросхемы ПИА (при использовании стандартного UART-а) равен 5В, низкий уровень в зависимости от технологии производства микросхемы варьируется от 0.1В-1.2В (ТЛЛ,ТЛЛШ,МОП…). Таким образом точка 1.5 вольта может считаться переходной от высокого уровня к низкому и наоборот. Из анализа данной схемы видно, что если выход микросхемы ПИА ниже чем 1.5в, то на выходе компаратора (а следовательно и на выходе линии TD) установиться высокий уровень (логический ноль). Если же на выходе ПИА напряжение будет выше 1.5в, то на выходе установиться низкий уровень (логическая единица). Как видно в данном случае уровни сигналов будут инвертированы. Следует также отметить, что напряжение 1.5В способно дрейфовать по температуре (изменение номиналов задающих резисторов), по изменению задающего напряжения, т.е. если данные условия критичны для схемы их следует рассмотреть отдельно. Напряжения смещения операционного усилителя, его скорость и.т.д. видимого изменения характеристик схемы не дают, отсюда следует что для реализации данного преобразователя уровней применимы ОУ широкого применения. Информация выдаваемая с микросхемы, как правило, четко установлена по уровням и не имеет дребезга на фронтах сигнала, т.е. применение гистерезисного компаратора в данном случае не оправдано (в отличии от принимающей схемы).

Рассмотрим принимающий стабилизатор уровней “RS232-C”-контроллер (смотри рис8).

Рис8.

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

Как видно из анализа схемы, на инвертирующий вход операционного усилителя может пройти сигнал не менее +0.6В. При этом если напряжение сигнала менее 2.6В то на выходе компаратора будет логическая единица (высокий уровень). Тогда как при превышении уровня 2.6В на выходе установиться логический ноль (низкий уровень). Питание усилителя на данном рисунке 5В, резистор подсоединенный между +5В и входом микросхемы ПИА является “подтягивающим” резистором микросхемы и к функции преобразования уровня отношения не имеет. Резистор образующий положительную обратную связь операционника переводит схему в режим гистерезисного компаратора (триггер Шмидта). Этот факт очень существенен, так как входной сигнал из линии может быть порыт помехами и на уровне перехода от высокого логического уровня к низкому логическому уровню возможны многократные несанкционированные переключения, гистерезисная переходная функция компаратора успешно борется с этим. Резистор соединяющий катод диода с землей, подтягивает инверсный вход операционника до земли во время, когда диод закрыт.

Как можно заметить ни одна из приведенных схем не является согласованной, RS232 в принципе не рассчитывался для передачи данных по длинным линиям.

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

Теперь разберемся какой же может быть связь по данному интерфейсу, как она организуется для различных вариантов построения интерфейса. Прежде всего следует вспомнить, что связь RS232 может быть синхронной и асинхронной, в чем же различие? Выше был изложен классический для RS232 однобайтовый асинхронный способ передачи данных ограниченный стартовым и стоповым битами, когда посылки могут идти как друг за другом, так и через произвольные промежутки времени. Асинхронный способ передачи хорошо знаком и строго регламентирован, тогда как синхронный имеет полную “свободу для маневра”. Синхронный режим должен по линиям TT и RT осуществлять синхронизацию передачи, но вот способ синхронизации может быть различным.

Существует вариант когда меандр синхронизации имеет частоту равную частоте связи по линии, тогда передача любого бита может идти по одному (или двум) перепадам меандра синхронизации. При этом возможна организация разной скорости передачи и приема данных. Второй вариант организации взаимодействия это синхронизация по соответствующим линиям может синхронизовать передачу целого байта. При этом не существует запрета на изменение частоты синхронизации. Также в настоящее время распространяется вариант, в котором передача данных ведется не по одному, а по 14,16 байт в посылке, в данном режиме используются специфический способ получения данных. Блочный способ предназначен для работы с текстовыми терминалами, с целью уменьшения количества прерываний о завершенном приеме данных обслуживающего компьютера. Данная информация справедлива для операционной системы LINUX, терминалы: HP2622A, VT130, VT131, VT330, VT340 и Visual500.

Но в случае реализации подобных вариантов связи следует помнить, что они мало распространены, т.е. может пострадать совместимость. Также при реализации синхронного обмена следует помнить, что вывод XTT не должен быть задействован. Описанные выше асинхронный и варианты синхронного обмена приведены на Рис9.

Рис9.

  1. это сигнал синхронизации, предназначенный для работы в синхронном режиме.

  2. асинхронная посылка данных по линии передач, как видно из рисунка принимаемый сигнал никак не зависит от меандра синхронизации.

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

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

  5. сигнал отвечающий за скорость передаваемых данных (DRS) . Принято как соглашение, что если сигнал равен 0, то частота передачи делиться на 1; если же сигнал равен 1, то частота передачи делиться на 2.

  6. асинхронно (в соответствии с 5) передаваемая посылка, после установки сигнала 5 уже следующий бит будет передаваться с уменьшенной вдвое скоростью.

  7. это сигнал синхронизации, предназначенный для работы в синхронном режиме с изменяющейся частотой.

  8. передаваемая в соответствии с 7 синхронная посылка, как видно из рисунка передача идет в строгом соответствии с задающей частотой.

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

Теперь, когда мы увидели как происходит обмен данными в синхронном и асинхронном режиме работы интерфейса, сравним качество работы двух режимов. Синхронный режим позволяет передавать большие кадры данных, но имеет проигрыш в оперативности передачи данных, так как пока не придет такт рабочей частоты передачи на может произойти. Асинхронный режим способен вести передачу с наибольшей оперативностью, но неспособен при этом организовывать передачу большого количества данных в одной посылке и загромождает трафик служебной информацией (около 20-27% всей передаваемой информации).

Теперь рассмотрим следующие режимы передачи информации в интерфейсе RS232: симплексный, полудуплексный, дуплексный.

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

  1. обнаружить, что устройство на другом конце линии существует

  2. выставить (или принять) сигнал о готовности к приему (/передаче)

  3. осуществить прием (/передачу) контролируя сигналы готовности к обмену и сигналы наличия устройства на линии

Симплексный метод проиллюстрирован на рис10.

Рис10.

В данном примере реализованы временные диаграммы для симплексного приемника сопрягаемого с RS232. Подключаясь на линию наше устройство обнаруживает себя сигналом CD, понимает, благодаря активации RLSD, что на другом конце линии находиться аппонент. Сигналом DTR устройство передатчик информирует нас о готовности передать сформированный пакет данных. Выставляется сигнал CLS, которым устройство информирует аппонента о том, что оно готово к приему. Обнаруживая, что мы готовы к приему, устройство передатчик посылает по линии RD данные (смотри первое падение уровня). Через некоторое время приемник обнаруживает неготовность к приему данных и опускает сигнал CLS (временной интервал “not ready to receive”). Устройство передатчик должно понять, что данные передать не удалось и произвести попытку передать их позже (иначе они будут утеряны). Далее, выставляя сигнал CLS, приемник сообщает о готовности к приему, и передатчик производит повторную попытку передать данные. Но далее передатчик временно пропадает с линии (“transmitter is offline”) для приемника это служит сигналом о ошибочном приеме и разрыве связи. Если в данной ситуации разрыв произошел во время передачи, то данные будут безвозвратно утеряны.

Из этого примера нетрудно понять как работают симплексный передатчик и приемник. Но порою требуется реализовывать двусторонний обмен информацией между устройствами. Самым экономичным является полудуплексный метод. К задачам симплексного метода здесь прибавляется задача арбитража магистрали обмена, с целью решения поставленного вопроса в список выводов интерфейса вводятся RTS и DTR. Рассмотрим принцип полудуплексной связи RS232 на базе рис11.

Рис11.

В данном примере предполагается, что оба устройства имеют бесконечный набор данных требующих передачи. Арбитраж организован по следующему принципу: сначала первое устройство имеет приоритет, но после передачи пакета данных приоритет переходит к второму устройству до передачи им пакета данных. Таким образом оба устройства имеют интегрально равные приоритеты выхода на линию. Рассмотрим пример со стороны первого устройства. Сначала устройство подключается на линию и обнаруживает аппонента, готового к передаче (высокий DTR, терминал сформировал пакет для передачи) и не готового к приему (низкий RTS). Наше устройство находиться в том же положении: поднят DSR (сформирован пакет для передачи устройству №2), и опущен CLS (готовность к приему данных). В данной ситуации мы имеем приоритет как первое устройство (смотри договоренность). Поэтому анализируя сложившуюся ситуацию, принимая во внимание наш приоритет, устройство №2 поднимает сигнал RST(готовность к приему), и мы передаем данные (окончание нашей передачи нескольки позднее первой линии разрыва). Далее ситуация повторяется, но на этот раз у нас нет приоритета и мы вынуждены уступить.

Естественно, что более разумным способом решения проблемы было бы не введение арбитража, а внесение дополнительной линии передачи данных. Это сделано в дуплексном режиме работы интерфейса, но для некоторых устройств с специфической структурой полудуплексное решение подойдет больше.

Теперь рассмотрим организацию дуплексного режима связи, хотя он реализуем всего двумя сигналами (TD и RD, прием и передача), но для правильной и корректной работы линии связи необходимы все сигналы полудуплексного варианта, плюс дополнительная линия. Рассмотрим рисунок 12, на котором показаны временные диаграммы сигналов при дуплексной связи RS232.

Рис12.

Для данного примера считаем, что каждое устройство имеет бесконечное количество данных, готовых к передаче. Попадая на линию, устройство сообщает о себе сигналом CD, обнаруживает сигнал RLSD (опознаватель другого устройства). Выставление сигнала CLS говорит о готовности к приему данных. Выставление DSR говорит о готовности к пересылки данных. DTR и RTS (находясь в высоком уровне ) информируют о готовности терминала к отправке и приему данных соответственно. После первого разрыва линий инициируется вторая фаза приема/передачи данных (смотри второе падение TD и RD). Но наше устройство временно не может производить прием информации и опускает CLS. Далее информация посылаемая нам от другого устройства будет игнорироваться, тогда как устройству на другом конце линии следует буферизировать не отправленную информацию с целью посылки ее в следующий раз. Далее после второго разделения линий CLS выставляется, сигнализируя о готовности к приему. Прием данных инициирован (третье падение RD). Переда данных же сорвалась, так как после инициации передачи (третье падение TD), сигнал RTS (терминал готов к приему) был сброшен.

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

Теперь перейдем к вопросу ограничений и рекомендаций прилагаемых к данному интерфейсу. Во первых поднимем вопрос о синхронизации RS232. Это даст возможность понять, почему де посылки данных столь коротки. Все дело в том, что задающие генераторы приемника и передачи информации, имея одинаковые номинальные значения частот, все же различаются в пределах удвоенной погрешности. Таким образом частоты генераторов могут отличаться в среднем на 2%. Т.е. воспринимая за начало передачи фронт падение стартового бита два различных генератора отсчитают разные времена до конца бита, таким образом на каждом бите данных мы будем накапливать ошибку. В итоге интегральная ошибка может стать критичной, и мы прочитаем вместо “N”-го бита “N+1”-й (или “N-1”-й). Чтобы этого не происходило при асинхронной передаче, мы вынуждены ограничить длину посылки.

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

Табл2.

Максимальная длина кабеля интерфейса RS232

Скорость передачи, бод

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

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

110

1524

914

300

1524

914

1200

914

914

2400

304

152

4800

304

76

9600

76

76

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

  • RS232 наиболее простой и просто реализуемый интерфейс

  • RS232 широко распространен и может качественно решать задачу связи двух устройств

  • RS232 легко контролируем

  • RS232 не является быстродействующим интерфейсом

  • RS232 сильно ограничен по длине сегмента связи

  • RS232 не имеет разветвленного механизма арбитража

ВЫВОД: RS232 простой, дешевый и надежный интерфейс для периферийных устройств с средним (и ниже среднего) быстродействием.

Но не стоит думать, что RS232 не совершенствовался со временем… на настоящий момент многие проблемы, связанные с ограничением на длину передающего сегмента и скорость передачи успешно решаются. Выпускающийся ныне 150-омный (специально для RS232), низкоемкостной интерфейсный кабель прямой связи позволяет вести устойчивую работу на скорости 9600 бод для сегмента 150м, что вдвое увеличивает длину сегмента связи по сравнению с описанным в таблице 2. Отражения в кабеле также не являются неразрешимой проблемой и RS232 удачно согласует линии передачи. Еще более увеличить длину кабеля и снизить помехи помогло использование витой пары для данного интерфейса. В настоящее время Electronics Industries Association выработала следующие рекомендации по использованию кабелей для организации связи по RS232 интерфейсу: использование экранированной витой пары, с заземление экрана на обоих концах. Далее приводятся типы кабелей и достижимая с их использованием скорость работы на данном интерфейсе.

Табл3. Типы медных кабелей

Cable Type

Impedance

Type 1 and 1A

150 ohm

Type 2 and 2A

150 ohm

Type 8

150 ohm

Type 9

150 ohm

Type 3

100 ohm

Category 3

100 and 120 ohm

Category 4

100 and 120 ohm

Category 5

100 and 120 ohm

Табл4. Длинна сегмента для 150-омного экранированного кабеля 1 ,1А ,2 ,2А,8,9 типов.

Ring Speed

Types 1 and 1a, Types 2 and 2a

Type 8

Type 9

4 Mbps

2460 feet (750 m)

1234 feet (376 m)

1640 feet (500 m)

16 Mbps

952 feet (290 m)

480 feet (146 m)

656 feet (200 m)

Табл5. Длинна 100-омного экранированного и неэкранированного кабеля 3-й категории и 3-го типа.

Ring Speed

100-Ohm Type 3

100-Ohm Category 3

4 Mbps

328 feet (100 m)

820 feet (250 m)

16 Mbps

Not supported

328 feet (100 m)

Табл6. Длинна 100 и 120-омного неэкранированного кабеля 4-й и 5-й категорий.

Ring Speed

100- or 120-Ohm Category 4

100- or 120-Ohm Category 5

4 Mbps

1148 feet (350 m)

1148 feet (350 m)

16 Mbps

656 feet (200 m)

656 feet (200 m)


Табл7. Сводная таблица.

Ring Speed

100-Ohm Type 3

100-Ohm Category 3

100- or 120-Ohm Category 4

100- or 120-Ohm Category 5

4 Mbps

328 feet (100 m)

820 feet (250 m)

1148 feet (350 m)

1148 feet (350 m)

16 Mbps

Not supported

328 feet (100 m)

656 feet (200 m)

656 feet (200 m)

Как видно из рекомендаций предоставленных разработчиками данного стандарта EIA, существует возможность значительно исправить недостатки стандарта и широкое поле для его развития. В конце замечу, что RS232 является родоначальником целого семейства распространенных широко используемых интерфейсов: таких как RS485, USB…..

Соседние файлы в папке rs232