Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ССПСУ.doc
Скачиваний:
9
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

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.