Технологии

Шины для бортовых автомобильных систем

Читатели нашего еженедельника в большинстве своем хорошо знакомы с локальными сетями (ЛС, ЛВС). Однако внедрение микропроцессоров и микропроцессорных контроллеров в самое различное оборудование потребовало наличия сетей, объединяющих многообразные электронные управляющие устройства (ECU).

Рассмотрим в качестве примера такой сети шину (и соответствующий ей протокол) CAN (Controller Area Network). Она была предложена Робертом Бошем (Robert Bosch) в 80-х годах для автомобильной промышленности, затем стандартизована ISO (ISO 11898) и SAE (Society of Automotive Engineers). (Описание стандартов и большой объем документации по CAN можно найти на сайте http://www.can-cia.de/). Сегодня большинство европейских автомобильных гигантов (например, Audi, BMW, Renault, Saab, Volvo, Volkswagen) используют CAN в системах управления двигателем, безопасности и обеспечения комфорта. В Европе в ближайшие годы будет введен единый интерфейс для систем компьютерной диагностики автомобиля. Это решение также разрабатывается на базе CAN, так что со временем в каждом автомобиле будет по крайней мере один узел этой сети.

Однако сети CAN используются и в таких сложных установках, как современные оптические телескопы с большим диаметром зеркала. Так как такие зеркала невозможно сделать монолитными, их сейчас делают составными, а управление отдельными зеркальцами (их может быть больше сотни) осуществляется сетью микроконтроллеров. Другие сферы применения – корабельные бортовые сети, управление системами кондиционирования воздуха, лифтами, медицинскими и промышленными установками. В мире уже установлено более 100 млн. узлов сетей CAN, ежегодный прирост составляет более 50%.

Топология шины CAN

Топология шины CAN

CAN представляет собой асинхронную последовательную шину, использующую в качестве среды передачи витую пару проводов (см. рисунок). При скорости передачи 1 Мбит/с длина шины может достигать 30 м. При меньших скоростях ее можно увеличить до километра. Если требуется большая длина, то ставятся мосты или повторители. Теоретически число подсоединяемых к шине устройств не ограничено, практически – до 64-х. Шина мультимастерная, т. е. сразу несколько устройств могут управлять ею.

Если базироваться на семиуровневой модели OSI, то CAN описывает передачу данных между узлами на двух нижних уровнях – физическом и канальном. Физический уровень разбит на три подуровня: физических сигналов (PLS), соединения с физической средой (PMA) и физического соединения (MDI). Битовый поток кодируется по методу NRZ (без возвращения к нулю), что позволяет работать на меньших частотах, чем, например, при других видах кодирования. Над CAN надстроена реализация протоколов более высоких уровней. Здесь нет жесткой стандартизации и имеется много протоколов или решений компаний. Примером одного из них является разработанный компанией Allen Bradley протокол DeviceNet.

На рынке CAN присутствует в двух версиях: версия А задает 11-битную идентификацию сообщений (т. е. в системе может быть 2048 сообщений), версия B – 29-битную (536 млн. сообщений). Отметим, что версия В, часто именуемая FullCAN, все больше вытесняет версию А, которую называют также BasicCAN.

Сеть CAN состоит из узлов с собственными тактовыми генераторами. Любой узел сети CAN посылает сообщение всем системам, подсоединенным к шине, таким, как приборная доска или подсистема определения температуры бензина в автомобиле, а уж получатели решают, относится ли данное сообщение к ним. Для этого в CAN имеется аппаратная реализация фильтрации сообщений.

В мире производится множество типов контроллеров CAN. Их объединяет общая структура – каждый контроллер имеет обработчик протокола (CAN protocol handler), память для сообщений, интерфейс с ЦП. Во многих популярных однокристальных микропроцессорах есть встроенный контроллер шины CAN.

Поддержкой технологии CAN занимается некоммерческая международная группа CiA (CAN in Automation, http://www.can-cia.de/), образованная в 1992 г. и объединяющая пользователей и производителей технологии CAN. Группа предоставляет техническую, маркетинговую и продуктовую информацию. Осенью 1999 г. в CiA было около 340 членов. Она также занимается разработкой и поддержкой различных базирующихся на CAN протоколов высокого уровня, таких, как CAL (CAN Application Layer), CAN Kingdom, CANopen и DeviceNet. Кроме того, члены группы дают рекомендации, касающиеся дополнительных свойств физического уровня, например скорости передачи и назначения штырьков в разъемах.

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

Протокол TTP

В системах реального времени существует два основных способа управления – по событиям (например, по прерываниям) и по временным меткам. Если первый подход широко распространен, то для второго требуются специальные средства. Одно из них – TTP, Time Triggered Protocol, коммуникационный протокол для высоконадежных приложений. Первоначально он разрабатывался в рамках исследовательской программы, финансируемой Евросоюзом. В этой 15-летней программе принимало участие множество фирм, таких, как DaimlerChrysler, British Aerospace, Alcatel, Temic, Fiat, Ford, Marelli, Bosh, Volvo, и Венский технический университет. Разработкой занято около 100 человек, в нее вложено примерно 25 млн. долл. Созданная в ходе выполнения программы архитектура TTA (Time-Triggered Architecture) признана эффективной для критичных по безопасности систем (автомобильных, железнодорожных, авиационных). TTP является центральной частью проектов SETTA (System Engineering for TTA) и FIT (Fault Injection for TTA), разрабатываемых ЕС в рамках программы ESPRIT.

В настоящее время поддержка протокола TTP осуществляется специально созданной для этого компанией TTTech (http://www.ttttech.com/), которая выпускает интегрированные средства разработки (пакет TTPtools) и занимается обучением пользователей протокола. Сотрудничество этой фирмы с Венским техническим университетом привело к появлению протокола TTP/C. Буква C в его названии говорит о том, что протокол удовлетворяет требованиям класса C Ассоциации инженеров автомобилестроения (SAE) на отказоустойчивые протоколы передачи данных для жесткого реального времени.

В современном автомобиле используется больше сотни микропроцессоров

В отличие от большинства стандартов на мультиплексированные шины для встраиваемых систем, TTP с самого начала разрабатывалась для высоконадежных приложений. В системах управления автомобиля очень важны устойчивость к ошибкам и временные характеристики, связанные, например, с заменой обычных гидравлических тормозов на электромеханические (brake-by-wire), управляемые по сети. Поэтому сети CAN при большом потоке сообщений будут заменяться на TTP/C. Замена гидравлических и механических компонентов в автомобиле обозначается общим термином by-wire applications. При этом образуется жесткая связь между электроникой и исполнительными механизмами, когда требуются надежность, простота сборки и обслуживания.

Другой член семейства протоколов TTP – протокол TTP/A – дешевый протокол для сети датчиков и приводов. Он бесшовно интегрируется с TTP/C. Получающаяся в результате архитектура TTA гарантирует, что каждое чтение с датчика и команда на привод будут полностью предсказуемы в соответствии с их временными свойствами.

Система управления на базе протокола TTP/C состоит по крайней мере из одного вычислительного кластера, содержащего набор узлов. Узлы общаются по широковещательной шине. Общее время устанавливается с помощью синхронизации таймеров каждого из узлов. На уровне кластера ошибки узла или коммуникаций могут быть замаскированы за счет дублирования узлов и объединения их в группы, устойчивые к сбоям. Такие группы называются FPU (Fault Tolerant Units).

Доступ к среде передачи осуществляется по схеме статического TDMA, определенной перед запуском системы. Каждому узлу разрешается посылать до 16 байт данных с 4-байтовым заголовком и 16-битовым контрольным кодом (CRC). Эта посылка осуществляется в предопределенный интервал времени, называемый TDMA-слотом.

Технология TTP/C уже начала воплощаться в микросхемах: несколько европейских производителей либо выпустили первые кристаллы (AMS), либо объявили о намерении это сделать (ARM, Motorola, Philips). Motorola собирается предлагать не только аппаратные решения, но и программные – их реализацией уже заняты ее подразделения в Шотландии. Законченные решения появятся к концу года (http://www.mot-sps.com/automotive/TTPC.html).

Дважды в год проводятся форумы (см. http://www.ttpforum.org/), посвященные TTP. Четвертый TTPforum прошел 8 марта в Детройте в рамках выставки и конференции по автомобильной электронике SAE 2000. В нем приняло участие около 200 человек. Если самая крупная из известных мне компьютерных конференций (Oracle) собирала 30 тыс. участников, то в SAE приняли участие 50 тыс. человек и 1200 экспонентов.

Характеристики шины Controller Area Network (CAN)

  • Топология: последовательная шина, с обоих концов линии стоят заглушки (120 Ом)
  • Обнаружение ошибок: 15-битовый CRC-код
  • Локализация ошибок: различают ситуации с постоянной ошибкой и временной; устройства с постоянной ошибкой отключаются
  • Текущая версия: CAN 2.0B
  • Скорость передачи: 1 Мбит/с
  • Длина шины: до 30 м
  • Количество устройств на шине: ~ 64 (теоретически не ограничено)

Статья опубликована в PC Week/RE №15 от 10.05.2000 г., стр. 27.