Controller Area Network (CAN) Локальная Сеть Контроллеров
Total Page:16
File Type:pdf, Size:1020Kb
Controller Area Network (CAN) локальная сеть контроллеров С.А.Третьяков НПКФ «Дэйтамикро» www.datamicro.ru КНШР.980926.doc01 Статья была опубликована в журнале «Электроника», №9 и №10/98, Минск, Беларусь КНШР.980926.doc01 CAN локальная сеть контроллеров Содержание Почему выбирают CAN? . 3 Что такое CAN? . 4 Особенности CAN . 5 Обнаружение и обработка ошибки . 6 Физический уровень CAN . 7 Почему выбирают CAN? . 7 Внедрение CAN. 8 Движущийся транспорт . 8 Промышленная автоматика . 8 Объекты с контурным управлением . 8 Военные системы . 8 Примеры внедрения CAN . 9 Кто координирует работы по CAN? . 22 Что мы сейчас проектируем на CAN? . 23 Где и Что можно почитать о CAN? . 24 Заключение . 25 www.datamicro.ru (8634) 310990 2 КНШР.980926.doc01 CAN локальная сеть контроллеров “We can CAN” это девиз одной немецкой фирмы. Теперь и мы мо жем сказать: “We can CAN too”. A connected Ci Научнопроизводственнокоммерческая фирма “ДЭЙТАМИКРО”, образованная в 1991 году, предлагает Вам свои услуги в разработке, внедрении и распространении изделий, программ, библиотек, стан дартов и книг, так или иначе касающиеся CANтехнологии. Почему выбирают CAN? 8051, 68H05 и др. Приведем перечень произ ○○○○○○○○○○○○○○○○○○○○○○○○○○○○○ водителей IC, которые имеют CAN в своей про В середине 80 х Robert Bosch GmbH и Intel изводственной линейке: начали совместные работы над спецификаци Fujitsu ей и проектированием микросхем для блока, Motorola который бы обеспечивал последовательный Philips Segnetics протокол связи и поддерживал прикладные Intel задачи с распределенным управлением в ре Hitachi альном масштабе времени. Основная цель это NEC го проекта разработка высокоскоростной Mitsubishi Electric сети с простым подключением узлов и бло National Semiconductor ков к шине для автомобилей. Первоначально Infineon Technologies AG CAN (Controller Area Network локальная сеть Temic Telefunken контроллеров) предназначался для управле ST Microelectronics ния трансмиссией в реальном масштабе вре Toshiba мени, системы анти заноса и замены всей ра Micronas Intermetall диальной проводки автомобиля. LSI Logic/Inicore Впоследствии CAN, подобно урагану, вор Texas Instr ument вался во все сферы промышленного управ Alcatel Mietec ления. Протокол CAN обладает великой скры Microchip той мощью, которая не очевидна до тех пор, AMP Inc пока Вы не проникли в проблемы вокруг про Sican ектирования встроенных распределенных OKi Electric Industry систем управления, где различные модули, AB Automative Electronics блоки, узлы и датчики должны быть объеди FH BS/WF нены в единую систему. Таким образом, CAN это международная В настоящее время используется специфи стандартизированная последовательная кации CAN версий 2.0А и 2.0В от Robert Bosch шина системы (ISO 11898), обеспечивающая GmbH, которые открыты и доступны через функциональные возможности уровня кана Internet. Шина CAN получила международ ла данных и физического канала согласно ное признание, выразившееся в опубликова модели соединения открытых систем (ISO/OSI нии стандарта ISO 11898 (1993). CAN поддер 7498). В настоящее время CAN очень интен живается практически всеми ведущими про сивно (буквально лавинообразно) внедряет изводителями интегральных микросхем, при ся за рубежом во всех сферах промышленной чем доступны как автономные CAN контрол автоматики, движущемся транспорте, воен леры (Stand alone CAN controller), так и CAN ной технике, космосе. контроллеры, интегрированные с микрокон И я попробую убедить Вас в том, что это не троллерами (Microcontroller with CAN) типа случайно. www.datamicro.ru (8634) 310990 3 КНШР.980926.doc01 CAN локальная сеть контроллеров Что такое CAN? ○○○○○○○○○○○○○○○○○○○○○○○○○○○○○ CAN это протокол связи (краткие техни последовательностях типа …000000… или ческие характеристики CAN смотрите в таб …111111… используется механизм битстаф лице) с высоконадежной передачей данных финга). по последовательному каналу (шине) в ши CAN использует короткие сообщения мак роковещательном режиме . Это означает, что симальная сервисная нагрузка 94 бита. В CAN все CAN узлы могут «слышать» все сообще сообщении нет явного адреса. Такой тип рас ния (кадры), находящиеся на шине. Мы не сылки сообщений называется «схема адреса сможем послать сообщение только одному ции, ориентированной на содержимое». Дру CAN узлу; неизменно все CAN узлы на шине гими словами, содержимое данных в CAN со примут сообщение. Однако, CAN контролле общении как бы неявно определяет адрес ис ры обеспечивают локальную фильтрацию так, точника этого сообщения и адреса приемни чтобы каждый узел мог реагировать только ков, кому эта информация необходима (напри на нужные ему сообщения. мер, один CAN узел выдает на шину «Темпе При передаче данных CAN протокол аппа ратура масла двигателя 800С»; все другие ратно обеспечивает формирование сообще CAN узлы принимают это сообщение, но ис ния, выполняет передачу данных, осуществ пользуют эту информацию только те узлы, ляет побитную синхронизацию, выполняет кому она необходима). идентификацию сообщения, проводит бит На CAN шине могут передаваться только стаффинг, подтверждает правильность при четыре типа кадров: ема всеми, обнаруживает и исправляет ошиб DATA Frame кадр данных; используется ки. для передачи данных; Сообщение, используемое CAN узлом, име REMOTE Frame кадр, используемый для ет поле арбитража (Arbitration Field) и инфор дистанционного запроса данных от удален мационное поле (Data Field), которое может ного CAN узла; содержать до 8 байтов данных. Кроме того, ERROR Frame кадр ошибки; передается, кадр содержит поле начало кадра (Start of когда обнаруживаются ошибки на шине; Frame) и конца кадра (End of Frame), управ OVERLOAD Frame кадр переполнения; ляющее поле (Control Field), поля конт передается для задержки передачи пакетов рольной суммы (CRC Field) и поля подтверж DATA Frame и REMOTE Frame. дения (ACK Field). Все CAN узлы на шине син Каждый тип кадра используется для опре хронизируются первым битом поля Start of деленных целей. Кадры ERROR Frame и Frame и далее восстанавливают синхрониза OVERLOAD Frame, когда это необходимо, пе цию перепадами битов в кадре (при длинных редаются CAN узлом автоматически. Напол S R I r O Identifier T D DLC Data CRC ACK End of Frame 0 Inter-Mission F R E 1 11 1 1 1 4 0...8 * 8 16 2 7 >=3 бит бит бит бит бит бита бит бит бита бит бит (а) S S I R I r r O Identifier R D Identifier T DLC Data CRC ACK End of Frame F 1 0 F R E R S 1 11 1 1 18 1 1 1 4 0...8 * 8 16 2 7 >=3 бит бит бит бит бит бит бит бит бита бит бит бита бит бит (b) Форматы кадров данных: (a) стандартный формат кадра, (b) расширенный формат кадра www.datamicro.ru (8634) 310990 4 КНШР.980926.doc01 CAN локальная сеть контроллеров нение информацией кадров Таблица 1. Краткие технические DATA Frame и REMOTE Frame характеристики CAN находится во власти проек тировщика системы. Топология Шина (моноканал) c терминаторами на концах CAN спецификации опре Длина шины Типовое – 40 метров при скорости передачи 1 Мбит/сек., деляет 2 типа формата кадра. до 10000 метров при уменьшении скорости передачи до 5 Кбит/сек. Стандартный формат (часть А CAN спецификации) опреде Тип шины Витая пара, силовая сеть, радиоканал, оптоволокно, ИК-канал ляет Arbitration Field как 11 Скорость передачи Стандартизованная – максимум 1 Мбит/сек. на длине 40 битное. Расширенный фор метров; возможно – 1,6 Мбит/сек. на длине 10 метров мат (часть В CAN специфика Режим передачи Последовательная асинхронная передача данных, ции) определяет это поле как возможность multiMaster, групповая передача (multiсast), NRZ кодирование с битстаффингом 29 битное. Какой из типов Доступ к шине CSMA/CA (Carrier Sense Multiple Access/Collision Arbitration), форматов передается по сети захват шины через приоритет кадра, встроенный арбитраж задается определенными на битовом уровне, неразрушающий алгоритм битами в поле Control Field. Тип выхода перед. В соответствии с ISO/IS 11898 Число возможных Неограниченно (теоретически), до 127 на сегменте узлов (практически), просто подключаются и отключаются (plug & Особенности CAN play) ○○○○○○○○○○○○○○○○○○○ Возможность Зависит от максимально допустимой задержки для Великолепные возможно Real-Time сообщения с высоким приоритетом, реально < 120 µсек для 1 Мбит/с. сти CAN определяются мощ ным набором свойств, кото Высокая Обеспечивается через: обнаружение ошибки, обработку надежность ошибки, локализацию ошибки. Расстояние Хемминга = 6. рые управляют связью на Одна не обнаруживаемая ошибка за 1000 лет. шине. CAN автоматически Высокий иммунитет к электромагнитным помехам. управляет всеми функциями Обнаружение Каждый CAN контроллер выполняет мониторинг своего ошибки передатчика и всех приемников, 15 битовая CRC, все передачи данных через: участвуют в проверке выполнения битстаффинга и автоматический доступ к целостности фрейма шине; Обработка Все непосредственно участвуют в подтверждении приоритетное разреше ошибки правильности приема фрейма и маркировке неправильного ние конфликтной ситуации фрейма при обращении к шине; Локализация Различает ситуации между фиксированными ошибками и ошибки временной ошибкой (помеха). Фиксированная ошибка передачу данных; автоматически отключает CAN-узел. Возможно обнаружение ошибок; автоматическое подключение. автоматическую ретран Протокол 7 уровня: CAL, CANopen, DeviceNet, SDS, CAN Kingdom, SeleCAN, сляцию пакетов, ранее пере SAE J1939 данных с ошибкой; Протокол 2-1 ISO 11898, ISO 11519-2, SAE J2284, SAE J2411 подтверждение доставки уровня: пакетов; Область Транспорт, промышленная автоматика, робототехника, применения медицина, авиация, морской транспорт, военная техника, автоматическое отключе космические