Рефераты. Архитектура промышленной сети BitBus

Того же эффекта можно добиться передачей символа FFh перед первым байтом посылки, так как кроме старт-бита, все его биты - "1". (Если старт-бит символа FFh попадет на стоп-бит ложного кадра, будет просто засчитана ошибка кадра).

- Защита от рассинхронизации посылок.

Применяется совместно с предыдущей защитой! Особо подлая помеха может замаскироваться под управляющий символ и сбить принимаемую затем посылку. Кроме того предыдущая посылка может быть прервана. Из-за этого крайне желательно в подпрограмме приема и сохранения данных предусмотреть меры по опознанию настоящего начала посылки и сбросу приемного буфера посылки (области памяти, куда сохраняются принимаемые байты). Для этого служит преамбула - предварительный признак начала посылки.

Стартовый символ.

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

Это позволит настоящему управляющему символу сбросить предыдущую "посылку", начатую ложным символом.

Пример. Последний управляющий символ ":" сбросит предыдущую ложную посылку:

____:) ____: 1 2 R S 4 8 5 /ПС/ ____

Стартовая пауза.

В двоичном протоколе, где не предусмотрен уникальный управляющий символ, и синхронизация посылок идет по заданной паузе между байтами, достаточно увеличить активную паузу, описанную в синхронизации кадров, до длительности паузы между байтами, по которой начинается прием новой посылки. То есть, между включением приемопередатчика на передачу и отправкой первых байтов посылки нужно сделать паузу длительностью в 1.5 - 3.5 кадра UART. При активном передатчике во время такой преамбулы помехе трудно будет прорваться к приемникам, они зафиксируют нужную паузу, сбросят буфер посылки и настроятся на прием новой посылки. Этот метод применяется, в частности, для протокола MODBUS RTU.

Стартовая последовательность.

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

Вариант 1. Посылка начинает заново приниматься после приема "go!" (вместо символов могут быть любые 8-битные данные):

____: - Ь ___ g o! 1 2 R S 4 8 5 ____

Вариант 2. Посылка начинает заново приниматься после приема не менее трех "E" подряд и стартового байта ":" (вместо символов могут быть любые 8-битные данные):

____ >: - E ___ E E E: 1 2 R S 4 8 5 ____

Даже если до стартовой последовательности было два таких символа подряд, посылка начнет сохраняться только за последовательностью из не менее чем трех подряд (лишние игнорируются) и стартового символа. Если вместо "Е" использовать байт FFh - можно совместить синхронизацию кадров и посылок. Для этого посылаются четыре FFh, а принимающее устройство ожидает не менее трех, с учетом того, что первый байт FFh может уйти на синхронизацию кадров.

2.8.2 Контроль достоверности

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

Контрольная сумма - в общем случае 1-2 байта кода, полученного некоторым преобразованием из данных посылки. Самое простое - "исключающее или" всем байтам данных. Контрольная сумма рассчитывается и включается в посылку перед отправкой. Принимающее устройство производит ту же операцию над принятыми данными и сверяет рассчитанную контрольную сумму с полученной. Если посылка была повреждена, то, скорее всего, они не совпадут. В случае применения ASCII протокола - код контрольной суммы также передается ASCII-символами.

Тайм-аут - максимальное время ожидания ответа от запрашиваемого устройства. Если посылка была повреждена или запрашиваемое устройство вышло из строя, то ведущее устройство не повиснет в ожидании ответа, а по истечении определенного времени признает наличие сбоя. После чего можно еще пару раз повторить запрос и, если сбой повторяется, перейти на отработку аварийной ситуации. Тайм-аут отсчитывается с момента завершения передачи запроса. Его длительность должна с небольшим запасом превышать максимальное время ответной передачи плюс время, необходимое на обработку запроса и формирование ответа. Ведомому устройству тоже не помешает отработка тайм-аутов. Особенно в ситуациях, когда отсутствие регулярного обновления данных или новых команд от ведущего устройства критично для работы устройств системы. Самая простая реализация для ведомого - сброс сторожевого таймера по приему посылки. Если по какой-либо причине данные перестали поступать - устройство сбросится по переполнению сторожевого таймера. После сброса устанавливается безопасный режим до приема первой команды.

Квитирование - подтверждение доставки (квитанция). Когда важно, чтобы ведомый обязательно получил данные или команду, возникает необходимость проконтролировать получение им посылки. Ведущее устройство, отправив ведомому данные, ждет ответа с подтверждением. Ведомое устройство, получив данные, в случае их корректности посылает ответ, подтверждающий доставку. Если по истечении тайм-аута ведущее устройство не получает подтверждение, делается вывод о сбое в связи или в ведомом устройстве. Дальше обычные меры - повтор посылки. Но тут есть нюанс: повреждена и не получена может быть сама квитанция. Ведущее устройство, не получив квитанцию, повторяет посылку, и ведомое отрабатывает ее повторно. Не всегда это существенно, но если перепосылалась команда типа "увеличить параметр на 1" это может привести к незапланированному двойному увеличению параметра. В таком случае надо предусмотреть что-нибудь типа циклической нумерации посылок, чтобы ведомое устройство отличало повторные посылки от новых и не отрабатывало их.

2.9 Защита устройств от перенапряжений в линии связи

Разность потенциалов между проводниками линии и между линией и "землей" приемопередатчика, как правило, не должна выходить за пределы -7...+12 В. Следовательно, может потребоваться защита от разности потенциалов между "землями" и от перенапряжений из-за замыкания на высоковольтные цепи.

- Разность потенциалов между "землями".

При организации сети на основе интерфейса RS-485 следует учитывать неявное присутствие третьего проводника - "земли". Ведь все приемопередатчики имеют питание и "землю". Если устройства расположены недалеко от начального источника питания, то разность потенциалов между "землями" устройств в сети невелика. Но если устройства находятся далеко друг от друга и получают местное питание, то между их "землями" может оказаться существенная разность потенциалов. Возможные последствия - выход из строя приемопередатчика, а то и всего устройства. В таких случаях следует применять гальваническую развязку или дренажный провод.

Гальваническая развязка линии и устройств осуществляется либо опторазвязкой цифровых сигналов (RO, DI, RE, DE) с организацией изолированного питания микросхем приемопередатчиков, либо применением приемопередатчиков со встроенной гальванической развязкой сигналов и питания (например, MAX1480). Тогда вместе с дифференциальными проводниками прокладываются провод изолированной "земли" (сигнальной "земли") и, возможно, провод изолированного питания линии, рисунок 2.11.

Дренажный провод - провод, прокладываемый вместе с витой парой и соединяющий "земли" удаленных устройств. Через этот провод уравниваются потенциалы "земель". При включении устройства в линию дренажный провод следует подсоединять первым, а при отключении - отсоединять последним. Для ограничения тока через дренажный провод его заземляют в каждом устройстве через резистор в 100 Ом (0.5 Вт).

Рис. 2.11. Гальваническая развязка линии.

- Замыкание на высоковольтные цепи.

Если существует опасность попадания на линию или одну из местных "земель" высокого напряжения, следует применять опторазвязку или шунтирующие ограничители напряжения. А лучше и то и другое.

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

Для защиты от дифференциальных перенапряжений все проводники линии, включая изолированный общий, шунтируются на локальные "земли" при помощи ограничителей напряжения. Это могут быть варисторы, полупроводниковые ограничители напряжения и газоразрядные трубки. Физический принцип их действия разный, но суть одна - при напряжении выше порогового их сопротивление резко падает, и они шунтируют линию. Газоразрядные трубки могут шунтировать очень большие токи, но имеют высокий порог пробоя и низкое быстродействие, поэтому их лучше применять по трехступенчатой схеме вместе с полупроводниковыми ограничителями. Когда заземление линии невозможно, проводники линии шунтируют ограничителями между собой. Но это защитит только от дифференциальных перенапряжений - защиту от общего должна взять на себя опторазвязка, рисунок 2.12.

Рис. 2.12. Защита от перенапряжений.

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

2.10 Дополнительные меры защиты от помех

- Диагностика.

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

- Прокладка кабеля.

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

- Экранирование и заземление.

В промышленных условиях, тяжелых в плане электромагнитного шума, рекомендуется применять экранированный кабель с витой парой. Экран, охватывающий проводники линии, защищает их от паразитных емкостных связей и внешних магнитных полей. Экран следует заземлять только в одной из крайних точек линии. Заземление в нескольких точках недопустимо: из-за разности потенциалов местных "земель" по экрану могут протекать существенные токи, которые будут создавать наводки на сигнальные проводники. Некоторые разработчики рекомендуют для защиты от радиопомех дополнительно включать в нескольких местах между экраном и заземлением специальные высокочастотные конденсаторы емкостью 1...10 нФ.

- Индуктивные фильтры.

Если в линию все же попадают высокочастотные помехи, их можно отсеять индуктивными фильтрами, рисунок 2.13. Существуют специальные индуктивные фильтры, предназначенные для подавления высокочастотных помех в линиях связи. Они последовательно включаются в линию непосредственно у приемников. Например, B82790-S**** фирмы Epcos, выполненный в виде четырехполюсника, через который витая пара подсоединяется к приемнику.

Рис. 2.13. Индуктивный фильтр.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.