Для организации канала связи между «разбросанными» в лифтовой шахте контроллерами, в распределенных системах управления лифтами, используются последовательные интерфейсы, из которых самый популярный у разработчиков интерфейс RS-485.
На самом деле существует много разных последовательных интерфейсов, которые отличаются по скорости обмена, физическому типу канала (проводные – беспроводные), максимальной дальностью передачи данных.
Среди них самый продвинутый и широко используемый почти всеми иностранными разработчиками - интерфейс CAN. Интерфейс CAN обладает чрезвычайно высокой устойчивостью и надежностью, практически исключающей ошибки управления за счет изощренного логического протокола, разработанного фирмой Bosh.
(Протокол существует и среди людей – это правила поведения или этикет. По существу, протокол обмена – это соглашение о том, как устанавливать связь между соединенными в сеть контроллерами, как ею управлять и поддерживать, как ее разрывать. )
При этом логическая сложность совсем не беспокоит разработчика, т.к. протокол CAN реализован аппаратно, в виде специальных микросхем «на все случаи жизни».
По этим причинам затраты на программное обеспечение существенно ниже, но стоимость комплектующих соответственно выше. Этот интерфейс использован в станциях «СОЮЗ» (ЭССАН. Г.Новосибирск) и частично в РСУЛЖ (г.Могилев).
Большая часть отечественных разработчиков выбрала RS-485, который поддерживается почти всеми выпускаемыми в наше время микроконтроллеров, и при этом стоимость аппаратных средств для его реализации невелика.
Стандарт интерфейса RS-485, в отличие от интерфейса CAN определяет только электрические и физические характеристики интерфейса, не оговаривая протоколы взаимодействия устройств в сети.
Это значит, что разработчик должен самостоятельно разработать и отладить программное обеспечение и протокол обмена для своей системы - а это самое трудоемкое в обеспечении надежной работы распределенной системы на интерфейсе RS-485.
Именно в этом единственный недостаток применения интерфейса RS-485, т.к. надежность работы интерфейса, а в итоге и лифта зависят от качества разработки и отладки программного обеспечения. (от конкретного человека -программиста).
Сколько разработок – столько же различных и несовместимых протоколов для интерфейса RS-485. В целом затраты на интерфейс RS-485 невелики и поэтому он так востребован нашими разработчиками, стесненными в средствах.
Сеть, построенная по стандарту RS-485, представляет собой приёмопередатчики (драйвера), соединённые при помощи витой пары.
рис1 Схема последовательного канала с двумя приемопередатчиками
DI (driver input) - цифровой вход передатчика;
RO (receiver output) - цифровой выход приемника;
DE (driver enable) - разрешение работы передатчика;
RE (receiver enable) - разрешение работы приемника;
A - прямой ( неинверсный) дифференциальный вход/выход;
B - инверсный дифференциальный вход/выход;
Возьмем для наглядности этажный контроллер станции ШЛ-РН (см. фото). Здесь на печатной плате с разъемами, располагается микроконтроллер АТ89С2051 и драйвер ADM485. В микроконтроллер «зашита» программа сбора и обработки информации от кнопки вызова и контактов ДШ. Эта же программа определяет, как и когда микроконтроллер должен получать и передавать данные. Данные обычно представлены на внутренней шине микропроцессора в параллельной форме (байтами).
Для преобразования параллельного цифрового кода в последовательный и дальнейшую его передачу и прием, микропроцессор уже содержит встроенный асинхронный преобразователь (UART). Его порты: для приема (RXD), для передачи (TXD)
Драйвер RS-485 подключается к портам UART микроконтроллера и служит для согласования уровней сигналов процессора и последовательного канала.
Цифровой выход приемника (RO) подключается к порту RXD. Цифровой вход передатчика (DI) к порту TXD. Поскольку на дифференциальной стороне приемник и передатчик соединены (cм. рис1), то во время приема нужно отключать передатчик, а во время передачи - приемник. Для этого служат управляющие входы - разрешение приемника (RE) и разрешения передатчика (DE). Так как вход RE инверсный, а DE –прямой, то их можно объединить и переключать приемник и передатчик одним сигналом с любого порта контроллера. При уровне "0" - работа на прием, при "1" - на передачу.
Рис 1.2. Упрощенная схема подключения контроллера к каналу связи
Приемник, получая на дифференциальных входах (AB) разность потенциалов (UAB) переводит их в цифровой сигнал на выходе RO. Чувствительность приемника может быть разной, но гарантированный пороговый диапазон распознавания сигнала производители микросхем приемопередатчиков пишут в документации. Обычно эти пороги составляют ± 200 мВ.
То есть, когда UAB > +200 мВ - приемник определяет "1", когда UAB < -200 мВ - приемник определяет "0". Если разность потенциалов в линии настолько мала, что не выходит за пороговые значения - правильное распознавание сигнала не гарантируется. Кроме того, в линии могут быть помехи, которые исказят столь слабый сигнал.
Все устройства подключаются к одной витой паре одинаково: прямые выходы (A) к одному проводу, инверсные (B) - к другому.
Двунаправленная связь при этом является полудуплексной.
Это значит, что когда один контроллер передает данные, то другой только принимает - потоки принимаемых и передаваемых данных по одной паре проводов разделены по времени.
В сеть может включать много передатчиков, так как они обладают способностью отключаться в режиме приёма (переходить в 3-состояние).
В основе интерфейса RS-485 лежит принцип дифференциальной (балансной) передачи данных. Суть его заключается в передаче одного сигнала по двум проводам. Причём по одному проводу (линия A) идёт оригинальный сигнал, а по другому (линия B) - его инверсная копия. Другими словами, если на одном проводе "1", то на другом "0" и наоборот. Таким образом, между двумя проводами витой пары всегда есть разность потенциалов: при "1" она положительна, при "0" - отрицательна.
Использованием витой пары обеспечивается относительно высокая помехоустойчивость сетей RS-485. Благодаря симметрии кабеля, помехи, наводимые на каждый из его проводов, одинаковы и не изменяют дифференциальной составляющей напряжения. У любой линии связи есть такой параметр, как волновое сопротивление. Оно зависит от характеристик используемого кабеля, но не от длины. Спецификация RS-485 рекомендует, но явно не навязывает, чтобы это волновое сопротивление было равно 120 Ом.
Оказывается, что если на удаленном конце линии, между проводниками витой пары включить резистор с номиналом равным волновому сопротивлению линии, то электромагнитная волна, дошедшая до "тупика" поглощается на таком резисторе. Отсюда его названия - согласующий резистор или "терминатор".
Одним из основных параметров такой сети является то, какое максимальное количество устройств может быть в неё добавлено. В стандарте RS-485 самый дешевый приёмопередатчик (например драйвер ADM485) имеет входное сопротивление приёмника 12 Ком. В одну сеть могут быть включены до 32 таких драйверов. Чем чувствительнее драйвер, тем больше его входное сопротивление и тем больше таких устройств можно включить в канал.
Цена таких драйверов соответственно выше.
Скорость обмена через последовательный интерфейс измеряется в битах в секунду или в бодах и может изменяться от нескольких десятков до сотен тысяч бит/с. Чем больше скорость обмена, тем быстрее система реального времени реагирует на появление сигналов от периферии лифта. В наших лифтах скорость в пределах 200Кбит\с.
Логическая организация интерфейса
.
Информация по последовательному каналу передается блоками, которые называются пакетами, посылками, словами, сообщениями, кадрами и пр.
В определенном поле пакета указан адрес получателя. Каждый контроллер подключенный к каналу, имеет присвоенный ему номер (адрес), и он проверяет это поле. Если он обнаруживает в этом поле свой адрес, то приступает к обработке пакета информации, если в этом поле не его адрес, то он просто игнорирует пакет.
Каждый контроллер сети, получая по каналу поток байтов, должен понимать, где начало посылки, где конец, от кого она пришла и кому адресована. Для этого протоколом обмена предусматривается определенный формат пакета цифровых данных. Уточнения оставим программистам.
Достарыңызбен бөлісу: |