Интерфейсы.
Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
8. Интерфейсы.
Интерфейс — это совокупность технических, программных и методических (протоколов, правил, соглашений) средств сопряжения пользователей с устройствами и программами в вычислительной системе, а также устройств с другими устройствами и программами.
Различают:
• интерфейс пользователя — набор методов взаимодействия компьютерной программы и пользователя этой программы;
• программный интерфейс — набор методов для взаимодействия между программами;
• физический интерфейс — способ взаимодействия физических устройств.
Под физическим интерфейсом понимается совокупность используемых аппаратных средств: типы разъемов, среда передачи данных, способ кодирования информации и т. п.
Логический интерфейс (шина связи) определяет также протокол передачи данных.
Стандартизация определяет следующие составные части интерфейсов:
• устройства приемников (П);
• устройства источников (И);
• устройства контроллеров;
• линии связи;
• протоколы взаимодействия источников и приемников.
Различные шины — с разными протоколами связи — могут использовать один и тот же «физический» интерфейс, т. е. иметь, например, одинаковые разъемы и среду передачи данных.
8.1. Аналоговая токовая петля
Токовая петля — способ передачи информации с помощью измеряемых значений силы электрического тока. В настоящее время такой способ более распространён в инженерной практике, чем использование для этой цели напряжения. Для задания измеряемых значений тока используется, как правило, управляемый источник тока.
Чаще всего применяется смещенный диапазон 4 — 20 мА, то есть наименьшее значение сигнала (например, 0) соответствует току 4 мА, а наибольшее — 20 мА. Таким образом весь диапазон допустимых значений занимает 16 мА. Нулевое значение тока в цепи означает обрыв линии и позволяет легко диагностировать такую ситуацию.
Интерфейс аналоговой токовой петли позволяет использовать разнообразные датчики с единым электрическим интерфейсом. Также данный интерфейс может использоваться для управления исполнительными устройствами.
На выходе датчика формируется напряжение, пропорциональное измеряемому параметру. Передатчик (усилитель тока, управляемый напряжением) преобразует напряжение от датчика в соответствующий ток 4 — 20 мА. На другом конце линии приемник (усилитель напряжения, управляемый током) преобразует ток 4 — 20 мА обратно в напряжение. Аналого-цифровой преобразователь оцифровывает выходное напряжение приемника для последующей обработки процессором или микроконтроллером.
В петле постоянно поддерживается ток 4 мА, поэтому при более низкой величине тока обнаруживается обрыв линии и позволяет легко диагностировать такую ситуацию.
Рис. 8.1. Типовая схема токовой петли.
Как правило, в системах промышленной автоматики датчики удалены на большие расстояния от центрального управляющего узла, поэтому токовая петля до сих пор не утратила свою актуальность, поскольку является наиболее помехоустойчивым аналоговым интерфейсом, особенно — по сравнению с методами передачи данных напряжением.
В передатчике "токовой петли" используется не источник напряжения, как в интерфейсе RS-485, а источник тока. По определению, ток, вытекающий из источника тока, не зависит от параметров нагрузки. Поэтому в "токовой петле" протекает ток, не зависящий от сопротивления кабеля Rкабеля, сопротивления нагрузки Rн и напряжения питания источника тока Eп. Ток в петле может измениться только вследствие утечек кабеля, которые очень малы.
Рис. 8.2. Аналоговая токовая петля.
Принцип действия схемы состоит в том, что при бесконечно большом коэффициенте усиления операционного усилителя (ОУ) напряжение между его входами равно нулю и поэтому ток через резистор Rо равен Vвх/Rо, а поскольку у идеального ОУ ток входов равен нулю, то ток через резистор строго равен току в петле I = Vвх/Rо, и, как следует из этой формулы, не зависит от сопротивления нагрузки. Поэтому напряжение на выходе приемника определяется как
IRн =(Rн/Rо) Vвх.
Преимущества интерфейса токовой петли:
• точность не зависит от длины и сопротивления линии передачи, поскольку управляемый источник тока будет автоматически поддерживать требуемый ток в линии;
• большая дальность (до нескольких километров);
• возможность запитывать датчик непосредственно от линии передачи;
• высокая помехоустойчивость (обычно используется экранированная витая пара);
• простота реализации, отсутствие необходимости в согласовании линии;
• возможность объединения нескольких датчиков в одном интерфейсе.
В качестве линии передачи обычно используется экранированная витая пара.
8.2. Интерфейс RS-485
Интерфейс RS-485 (Recommended Standard 485) — стандарт физического уровня для асинхронного интерфейса.
RS-485 является протоколом физического уровня для интерфейсов
ModBus, Profibus и др.
Он широко используется при создании АСУ ТП, и многие датчики имеют выходной сигнал, соответствующий этому протоколу.
Сеть, построенная на интерфейсе RS-485, представляет собой универсальные асинхронные приемопередатчиками (Universal Asynchronous Receiver-Transmitter, UART), соединенные при помощи витой пары - двух скрученных проводов.
RS-485 обеспечивает обмен данными между несколькими устройствами
в следующих режимах:
• полудуплексном по двухпроводной линии (рис. 8.3), когда информация может передаваться в обоих направлениях, но в разное время;
• дуплексном по четырехпроводной линии (рис. 8.4), когда информация может передаваться одновременно в обоих направлениях, но по разным парам проводов.
Недостатком четырехпроводной схемы является необходимость жесткого указания ведущего и ведомых устройств на стадии проектирования системы, в то время как в двухпроводной схеме любое устройство может быть как в роли ведущего, так и ведомого. Достоинством четырехпроводной схемы является возможность одновременной передачи и приема данных, что бывает необходимо при реализации некоторых сложных протоколов обмена.
Рис. 8.3. Соединение трех устройств с интерфейсом RS-485 по двухпроводной схеме: D — Driver (передатчик), R — reciever (приемник).
Рис. 8.4. Соединение трех устройств с интерфейсом RS-485 по двухпроводной схеме:
UART представляет собой логическую схему, с одной стороны подключённую к шине вычислительного устройства, а с другой имеющую два или более выводов для внешнего соединения.
UART может представлять собой отдельную микросхему или являться частью большой интегральной схемы (например, микроконтроллера). Используется для передачи данных через последовательный порт компьютера, часто встраивается в микроконтроллеры.
В основе интерфейса RS-485 лежит принцип дифференциальной (балансной) передачи данных. Суть его заключается в передаче одного сигнала по двум проводам. Причем по одному проводу (условно A) идет оригинальный сигнал, а по другому (условно B) - его инверсная копия. Другими словами, если на одном проводе "1", то на другом "0" и наоборот. Таким образом, между двумя проводами витой пары всегда есть разность потенциалов: при "1" она положительна, при "0" — отрицательна (рис. 8.5).
Именно этой разностью потенциалов и передается сигнал. Такой способ передачи обеспечивает высокую устойчивость к синфазной помехе — т.е. помехе, действующей на оба провода линии одинаково:если два провода пролегают близко друг к другу, то наводка на оба провода будет одинаковой, потенциал в обоих проводах изменяется одинаково, при этом информативная разность потенциалов остается без изменений.
Рис. 8.5. Диференциальный способ передачи данных.
Когда напряжение UAB > +200 мВ - приемник определяет "1", когда UAB < -200 мВ - приемник определяет "0". Если разность потенциалов в линии настолько мала, что не выходит за пороговые значения, то правильное распознавание сигнала не гарантируется.
Кроме того, в линии могут быть и не синфазные помехи, которые исказят столь слабый сигнал.
Скорость и дальность. RS-485 обеспечивает передачу данных со скоростью до 10 Мбит/с. Максимальная дальность зависит от скорости:
• при скорости 10 Мбит/с максимальная длина линии — 120 м;
• при скорости 100 кбит/с максимальная длина линии — 1200 м.
Количество подсоединяемых устройств. Количество устройств, подключаемых к одной линии интерфейса, зависит от типа используемых приемопередатчиков. Один передатчик рассчитан на управление 32 стандартными приемниками.
Топология сетей на основе интерфейса RS-485 определяется необходимостью устранения отражений в линии передачи. Поскольку отражения происходят от любой неоднородности, в том числе ответвлений от линии, то единственно правильной топологией сети будет такая, которая выглядит как единая линия без отводов, к которой не более чем в 32 точках подключены устройства с интерфейсом RS-485. Любые варианты, в которых линия имеет длинные отводы или соединение нескольких кабелей в одной точке, приводят к отражениям и снижению качества передачи.
Если существует необходимость разветвления линии, то это можно сделать с помощью повторителей интерфейса, или концентратора (хаба). Повторители позволяют разделить линию на сегменты, в каждом из которых выполняются условия согласования с помощью двух терминальных резисторов и не возникают эффекты, связанные с отражениями от концов линии.
Стандарт RS-485 не оговаривает:
• параметры качества сигнала (допустимый уровень искажений, отражения в длинных линиях);
• типы соединителей и кабелей;
• гальваническую развязку линии связи;
• протокол обмена.
Общие рекомендации построения сети на RS-485:
• лучшей средой передачи сигнала является кабель на основе специальной витой пары (хотя широко используется и витая пара категории 5 для прокладки Ethernet);
• концы кабеля должны быть заглушены терминальными резисторами (обычно 120 Ом);
• сеть должна быть проложена по топологии шины;
• устройства следует подключать к кабелю проводами минимальной длины.
Витая пара является оптимальным решением для прокладки сети на основе интерфейса RS-485, поскольку обладает наименьшим паразитным излучением сигнала и хорошо защищена от наводок. В условиях повышенных внешних помех применяют кабели с экранированной витой парой, при этом экран кабеля соединяют с защитной «землёй» устройства.
Протоколы. Устройства интерфейса RS-485 не могут передавать информацию одновременно - возникает конфликт передатчиков. Следовательно, требуется распределить между устройствами право на передачу.
Обмен данными в сети может производиться в одном из двух режимов:
• централизованном (одномастерном)
• децентрализованном (многомастерном).
В централизованной сети одно устройство всегда ведущее (мастер). Оно генерирует запросы и команды остальным (ведомым) устройствам. Ведомые устройства могут передавать только по команде ведущего. Как правило, обмен между ведомыми идет только через ведущего, хотя для ускорения обмена можно организовать передачу данных от одного ведомого к другому по команде ведущего.
В децентрализованной сети роль ведущего может передаваться от устройству к устройству либо по некоторому алгоритму очередности, либо по команде текущего ведущего к следующему (передача маркера ведущего). При этом ведомое устройство может в своем ответе ведущему передать запрос на переход в режим ведущего и ожидать разрешения или запрета.
На основе физического интерфейса RS-485 построены промышленные сети:
• ModBus;
• ProfiBus DP;
• LanDrive.
8.3. Интерфейс Modbus
Modbus - открытый коммуникационный протокол, основанный на архитектуре «клиент-сервер». Широко применяется в промышленности для организации связи между электронными устройствами.
Стандарт Modbus предусматривает применение физических интерфейсов
• последовательных линий связи RS-485;
• сетей Ethernet (Modbus TCP).
Контроллеры на шине Modbus взаимодействуют, используя клиент-серверную модель, основан-ную на транзакциях, состоящих из запроса и ответа. Обычно в сети есть только один клиент, так называемое, «главное» (master) устройство, и до 247 серверов - «подчиненных» (slaves) устройств. Главное устройство инициирует транзакции (передаёт запросы). Главный может адресоваться индивидуально к подчиненному или инициировать передачу широковещательного сообщения для всех подчиненных устройств. Подчиненное устройство отвечает на запрос, адресованный именно ему. При получении широковещательного запроса ответ не формируется.
Ведомые устройства никогда не начинают передачу данных, пока не получат запрос от ведущего. Ведомые устройства также не могут обмениваться данными друг с другом. Поэтому в любой момент времени в сети Modbus может происходить только один акт обмена.
Спецификация Modbus описывает структуру запросов и ответов. Их основа — элемент данных протокола, так называемый PDU (Protocol Data Unit). Структура PDU не зависит от типа линии связи и включает в себя код функции и поле данных (рис.8.6).
Рис. 8.6. Структура элемента данных протокола.
Стандартом Modbus предусмотрены три категории кодов функций:
• установленные стандартом (в диапазоне от 1 до 64 и от 111 до 127);
• задаваемые пользователем (в диапазоне от 65 до 72 и от 100 до 110);
• зарезервированные для пересылки кодов ошибок в ответном сообщении (в диапазоне от 128 до 255).
Код «0» не используется. Коды ошибок используются ведомым устройством, чтобы определить, какое действие предпринять для их обработки. Значения кодов и их смысл описаны в стандарте на Modbus RTU.
Поле данных в сообщении, посланном от ведущего устройства ведомому, содержит дополнительную информацию, которую ведомое использует, чтобы выполнить функцию, указанную в поле «код функции». Поле данных может содержать значения состояний дискретных входов/выходов, адреса регистров, из которых надо считывать (записывать) данные, количество байт данных, ссылки на переменные, количество переменных, код подфункций и т. п.
Если ведомый нормально выполнил принятую от ведущего функцию, то в ответе поле «код функции» содержит ту же информацию, что и в запросе. В противном случае ведомый выдает код ошибки. В случае ошибки код функции в ответе равен коду функции в запросе, увеличенному на 128.
Для передачи пакета по физическим линиям связи PDU помещается в другой пакет, содержащий дополнительные поля. Этот пакет носит название элемент данных приложения (ADU, Application Data Unit). Формат ADU зависит от типа линии связи. Существуют три варианта ADU, два для передачи данных через асинхронный интерфейс и один — через TCP/IP сети:
• Modbus ASCII (American standard code for information interchange) — для передачи данных через асинхронный интерфейс с использованием только ASCII символы.
• Modbus RTU (Remote Terminal Unit — удаленное терминальное устройство) — для передачи данных через асинхронный интерфейс с использованием двоичных данных.
• Modbus TCP (Transmission Control Protocol — протокол управления передачей) — для передачи данных через TCP/IP соединение.
Передача данных при помощи ASCII — символов не получила распространения в России. Формат кадров протокола Modbus RTU и Modbus TCP приведены на рисунках 8.7 и 8.8.
Рис. 8.7. Формат кадра протокола Modbus RTU; PDU - "Protocol Data Unit" — "элемент данных протокола"; ADU - "Application Data Unit" — "элемент данных приложения".
Рис. 8.8. Формат кадра протокола Modbus TCP.
Сообщения Modbus RTU передаются в виде кадров, для каждого из которых известно начало и конец. Признаком начала кадра является пауза (тишина) продолжительностью не менее 3,5 шестнадцатеричных символов (14 бит). Кадр должен передаваться непрерывно. Если при передаче кадра обнаруживается пауза продолжительностью более 1,5 шестнадцатеричных символа (6 бит), то считается, что кадр содержит ошибку и должен быть отклонен принимающим модулем. Эти величины пауз должны строго соблюдаться при скоростях ниже 19200 бит/с, однако при более высоких скоростях рекомендуется использовать фиксированные значения паузы, 1,75 мс и 750 мкс соответственно.
Преимущества протокола Modbus:
• отсутствие необходимости в специальных интерфейсных контроллерах;
• простота программной реализации;
• совместимость с большим количеством оборудования;
• высокая достоверность передачи данных (надежный метод контроля ошибок).
Основным недостатком Modbus является сетевой обмен по типу "ведущий/ведомый", что не позволяет ведомым устройствам передавать данные по мере их появления и поэтому требует интенсивного опроса ведомых устройств ведущим.