- •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. Программирование микроконтроллеров
- •Библиографический список
3.2.4. Реализации изохронного интерфейса
Они применяются, как правило, для обмена между микропроцессорными устройствами и персональными компьютерами. К таким интерфейсам, например, относятся шины USB и FireWire.
Вообще, шина — это набор проводов, обладающих некими общими свойствами. Шина предназначена для передачи информации между частями микропроцессорных устройств и передачи данных внутри устройства. Шина содержит линии передачи информации и, возможно, линии синхронизации. Характерной особенностью шины является то, что к ней можно параллельно подключить несколько устройств.
USB (Universal Serial Bus — универсальная последовательная шина) является промышленным стандартом расширения архитектуры PC, ориентированным на интеграцию с телефонией и устройствами бытовой электроники. Версия 1.0 была опубликована в январе 1996 года. Архитектура USB определяется следующими критериями:
— легко реализуемое расширение периферии PC,
— дешевое решение, поддерживающее скорость передачи до 12 Мбит/с. (400 Мбит/с. для спецификации 2.0),
— полная поддержка в реальном времени передачи аудио и (сжатых) видеоданных,
— гибкость протокола смешанной передачи изохронных данных и асинхронных сообщений,
— интеграция с выпускаемыми устройствами.
— обеспечение стандартного интерфейса, способного быстро завоевать рынок.
— возможность создания новых классов устройств.
C точки зрения конечного пользователя, привлекательны следующие черты USB:
— простота кабельной системы и подключений,
— скрытие подробностей электрического подключения от конечного пользователя,
— самоидентифицирующиеся периферийные устройства, автоматическая связь устройств с драйверами и конфигурирование,
— возможность динамического подключения и конфигурирования периферийного устройства.
В настоящее время выпускаются микроконтроллеры со встроенным интерфейсом USB, а также блоки USB для промышленных контроллеров. На рисунках 3.6 и 3.7 показано подключение устройств по шине USB.
Рисунок 3.6. Подключение полноскоростного устройства
Рисунок 3.7. Подключение низкоскоростного устройства
Шина FireWire ориентирована на интенсивный обмен между подключенными к ней устройствами. Она используется, как правило, при необходимости передавать видеоданные в реальном времени.
3.2.5. CAN-интерфейс
Контроллер локальной сети (CAN) был разработан автомобильной фирмой Robert Bosh в 1980 году. Этот интерфейс нашел широкое применение в автомобильной технике, системах автоматизации, медицинской технике и т.п. CAN соответствует семиуровневой эталонной модели иерархического представления сети открытых систем (OSI) и поддерживает ее два нижних уровня (рис. 3.8) [4].
Рисунок 3.8. Место интерфейса CAN в модели OSI
Физический уровень CAN дает возможность оптимизировать протокол связи для различных сред передачи данных (витая пара, однопроводная линия, оптический кабель, радиоканал, инфракрасное излучение). Международная Организация Стандартов (ISO) и Общество Автомобильных Инженеров (SAE) определили некоторые протоколы связи CAN интерфейса для двух нижних уровней эталонной модели иерархического представления сети:
ISO11898 – стандарт для высокоскоростных приложений;
ISO11519 – стандарт для низкоскоростных приложений;
J1939 (SAE) – использование CAN в автомобильных приложениях.
Все три протокола определяют пятивольтовую дифференциальную физическую линию связи. Верхние уровни сетевой модели должны быть поддержаны программным обеспечением. Схема подключения устройств к интерфейсу CAN показана на рис. 3.9 [3].
Рисунок 3.9. Схема подключения устройств к интерфейсу CAN
Каждый узел сети должен контролировать бездействие шины в течение некоторого времени, прежде чем послать сообщение. Как только обнаружено бездействие шины, все узлы сети имеют равную возможность передать данные. В CAN используется неразрушающий поразрядный арбитраж на шине, сохраняющий сообщение не поврежденным при потере инициативы. Арбитраж позволяет передавать сообщения с высоким приоритетом, без каких-либо задержек и искажений. Логические уровни на шине определяются как ‘dominant’ и ‘recessive’. Узел передачи должен контролировать логическое состояние шины для начала передачи данных. На шине CAN логический бит 0 определяется как ‘dominant’, а бит 1 как ‘recessive’. Бит ‘dominant’ всегда будет выигрывать арбитраж у ‘recessive’ бита, поскольку имеет низкий уровень сигнала и более высокий приоритет. Каждый узел, передающий данные на шины, должен контролировать наличие передаваемого бита на шине. Сообщение с более низким приоритетом будет формировать на шине бит ‘recessive’, а при проверке обнаружит бит ‘dominant’, в этом случае узел, формирующий сообщение более низкого приоритета, теряет арбитраж. Узел, потерявший арбитраж, должен дождаться отсутствия активности на шине и повторить попытку передать данные.
В CAN протоколе сообщения не являются адресными, т.е. сообщения не адресуются от одного узла к другому. Сообщение содержит идентификатор источника и собственно данные. Все узлы CAN сети могут принять каждое сообщение на шине и самостоятельно определить: данное сообщение должно быть отвергнуто или обработано. Например, в автомобиле датчик напряжения бортовой сети подключен только к центральному маршрутизатору. Маршрутизатор передает данные, полученные с датчика напряжения, другим узлам автомобиля. При использовании CAN интерфейса все “заинтересованные” узлы получили бы самую “свежую” информацию с датчика напряжения минуя маршрутизатор. Другой полезной особенностью CAN протокола является возможность удаленного запроса данных (RTR). В отличие от предыдущего случая, требуемые данные не ожидаются, когда появятся на шине, а запрашиваются у конкретного узла. Проектировщик может использовать эту особенность для снижения трафика шины при сохранении целостности сети. Добавление нового узла в систему не требует перенастройки остальных устройств сети. Новый узел начинает принимать сообщения из сети на основе их идентификаторов.
В CAN протоколе используется 4 типа сообщений. Первый тип (наиболее распространенный) – стандартное сообщение с 11-разрядным идентификатором (рис. 3.10), используется для передачи информации к любому или всем узлам сети. Второй тип сообщений имеет 29-разрядный идентификатор, также используется для удаленного запроса данных (RTR) – показан на рис. 3.11. Два других типа сообщений используются для обработки ошибок.
Рисунок 3.10. Базовый формат кадра данных
Рисунок 3.11. Расширенный формат кадра данных
С появлением новой версии CAN 2.0B, скорость связи увеличилась в 8 раз по сравнению с первым вариантом и составила 1Мбит/с. Поскольку CAN интерфейс первоначально разрабатывался для использования в автомобилях, в его протокол был заложен эффективный механизм обработки ошибок. Протокол позволяет обнаружить большинство ошибок, возникающих во время передачи данных, что сохраняет целостность сообщения с классификацией ошибок как кратковременные и постоянные. CAN узлы могут находиться в нескольких состояниях: активном – при нормальной работе узла, и пассивном – при обнаружении большого количества ошибок. Такой подход гарантирует некоторую пропускную способность шины для критической информации. Неисправный узел не сможет монополизировать всю шину. Протокол CAN оптимизирован для систем, в которых должны передаваться относительно небольшие порции информации (по сравнению с Ethernet или USB, разработанных специально для больших объемов данных), направляемые к любому или всем узлам сети. Множественный доступ с опросом состояния шины позволяет каждому узлу получить доступ к шине с учетом приоритетов. Неадресная структура сообщений позволяет организовать многоабонентскую доставку данных с сокращением трафика шины. Быстрая устойчивая передача информации с системой контроля ошибок позволяет отключать неисправные узлы от шины, что гарантирует доставку критичных по времени сообщений.
Серийно выпускаются микросхемы подключения микроконтроллеров к шине CAN, например, микросхема MCP2551 преобразователя последовательных сигналов ТТЛ-уровня в физические уровни сигналов шины CAN.
