- •1. Структура управляющих устройств на базе микропроцессоров
- •2. Структура эвм в управляющих микропроцессорных устройствах
- •3. Интерфейсы микропроцессорных устройств
- •3.1. Параллельные интерфейсы
- •3.2. Последовательные интерфейсы
- •3.2.1. Способы последовательной передачи
- •3.2.2. Реализации асинхронного интерфейса
- •3.2.3. Реализации синхронного интерфейса
- •3.2.4. Реализации изохронного интерфейса
- •3.2.6. Протокол Манчестер-2
- •3.2.7. Протокол высокого уровня modbus
- •Формат каждого байта в ascii-режиме побитно:
- •1 Старт бит;
- •Формат каждого байта в rtu-режиме побитно:
- •1 Старт бит;
- •3.3. Особенности использования шин
- •4. Выбор управляющей эвм
- •4.1. Промышленные эвм
- •4.2. Промышленные контроллеры
- •4.3. Микроконтроллеры
- •5. Программирование управляющих микропроцессорных устройств
- •5.1. Программирование промышленных контроллеров
- •5.2. Программирование микроконтроллеров
- •Библиографический список
Формат каждого байта в rtu-режиме побитно:
1 Старт бит;
8 бит данных, младшим битом вперед;
1 бит паритета; нет бита паритета;
1 стоп-бит, если есть паритет; 2 бита, если нет паритета.
Контрольная сумма: Cyclical Redundancy Check (CRC).
Типичный фрейм сообщения:
Старт(4 такта тишины)–Адрес(8 бит)–Функция(8 бит)–Данные(nx8 бит)–CRC(16 бит)–Конец(4 такта тишины)
Для обнаружения возможной ошибки связи в конце сообщения вставляется 16 бит поля контрольной суммы CRC, которая является результатом вычисления “Cyclical Redundancy Check” над содержанием сообщения. При передаче CRC в сообщении сначала передается младший байт CRC, затем старший.
Содержание остальных полей аналогично режиму ASCII.
Посмотрим работу этого протокола на примере одной функции:
03 Read Holding Registers
Описание: чтение двоичного содержания регистров в подчиненном.
Запрос специфицирует начальный регистр и количество регистров для чтения. Регистры адресуются, начиная с 0.
Ниже приведен пример чтения регистров 108-110 с подчиненного устройства 17. Все числа в примере представлены в шестнадцатиричном формате.
Запрос:
Адрес подчиненного 11.
Функция 03.
Начальный адрес ст. байт 00.
Начальный адрес мл. байт 6С.
Кол-во регистров ст. байт 00.
Кол-во регистров мл. байт 03.
Контрольная сумма --.
Данные регистров в ответе передаются как два байта на регистр. Для каждого регистра первый байт содержит старшие биты, второй байт содержит младшие биты. За одно обращение может считываться 125 регистров для контроллеров 984-Х8Х (984-685 и т.д.), и 32 регистра для других контроллеров. Ответ дается, когда все данные укомплектованы.
Ответ:
Адрес подчиненного 11.
Функция 03.
Счетчик байт 06.
Данные (регистр 108) ст. 02.
Данные (регистр 108) мл. 2B.
Данные (регистр 109) ст. 00.
Данные (регистр 109) мл. 00.
Данные (регистр 110) ст. 00.
Данные (регистр 110) мл. 64.
Контрольная сумма --.
3.3. Особенности использования шин
В реальных системах на роль ведущего вправе одновременно претендовать сразу несколько из подключенных к шине устройств, однако управлять шиной в каждый момент времени может только одно из них. Чтобы исключить конфликты, шина должна предусматривать определенные механизмы арбитража запросов и правила предоставления шины одному из запросивших устройств. Решение обычно принимается на основе приоритетов претендентов [7].
Каждому потенциальному ведущему присваивается определенный уровень приоритета, который может оставаться неизменным (статический или фиксированный приоритет) либо изменяться по какому-либо алгоритму (динамический приоритет).
Основной недостаток статических приоритетов в том, что устройства, имеющие высокий приоритет, в состоянии полностью блокировать доступ к шине устройств с низким уровнем приоритета. Системы с динамическими приоритетами дают шанс каждому из запросивших устройств рано или поздно получить право на управление шиной, то есть в таких системах реализуется принцип равнодоступности.
Наибольшее распространение получили следующие алгоритмы динамического изменения приоритетов:
— Простая циклическая смена приоритетов. Здесь после каждого цикла арбитража все приоритеты понижаются на один уровень, при этом устройство, имевшее ранее низший уровень приоритета, получает наивысший приоритет.
— Циклическая смена приоритетов с учетом последнего запроса. Здесь все возможные запросы упорядочиваются в виде циклического списка. После обработки очередного запроса обслуженному ведущему назначается низший уровень приоритета. Следующее в списке устройство получает наивысший приоритет, а остальным устройствам приоритеты назначаются в убывающем порядке, согласно их следованию в циклическом списке.
— Смена приоритетов по случайному закону. В этом случае после очередного цикла арбитража с помощью генератора псевдослучайных чисел каждому ведущему присваивается случайное значение уровня приоритета.
— Схема равных приоритетов, где при поступлении к арбитру нескольких запросов каждый из них имеет равные шансы на обслуживание. Возможный конфликт разрешается арбитром. Такая схема принята в асинхронных системах.
— Алгоритм наиболее давнего использования, где после каждого цикла арбитража наивысший приоритет присваивается ведущему, который дольше, чем другие, не использовал шину.
Арбитраж запросов на управление шиной может быть организован по централизованной или децентрализованной схеме. Выбор конкретной схемы зависит от требований к производительности и стоимостных ограничений.
При централизованном арбитраже в системе имеется специальное устройство — центральный арбитр — ответственное за предоставление доступа к шине только одному из запросивших ведущих. Это устройство, называемое иногда центральным контроллером шины, может быть самостоятельным модулем или частью центрального процессора. Наличие на шине только одного арбитра означает, что в централизованной схеме имеется единственная точка отказа. В зависимости от того, каким образом ведущие устройства подключены к центральному арбитру, возможные схемы централизованного арбитража можно подразделить на параллельные и последовательные. В параллельном варианте центральный арбитр связан с каждым потенциальным ведущим индивидуальными двухпроводными трактами. Поскольку запросы к центральному арбитру могут поступать независимо и параллельно, данный вид арбитража называют централизованным параллельным арбитражем или централизованным арбитражем независимых запросов. Второй вид централизованного арбитража известен как централизованный последовательный арбитраж. В последовательных схемах для выделения запроса с наивысшим приоритетом используется один из сигналов, поочередно проходящий через цепочку ведущих, чем и объясняется другое название — цепочечный или гирляндный арбитраж.
При децентрализованном или распределенном арбитраже единый арбитр отсутствует. Вместо этого каждый ведущий содержит блок управления доступом к шине, и при совместном использовании шины такие блоки взаимодействуют друг с другом, разделяя между собой ответственность за доступ к шине. По сравнению с централизованной схемой децентрализованный арбитраж менее чувствителен к отказам претендующих на шину устройств.
