CAN (англ. Controller Area Network — сеть контроллеров) — стандарт промышленной сети, ориентированный, прежде всего, на объединение в единую сеть различных исполнительных устройств и датчиков. Режим передачи — последовательный, широковещательный, пакетный.
CAN разработан компанией Robert Bosch GmbH в середине 1980-х и в настоящее время широко распространён в промышленной автоматизации, технологиях домашней автоматизации («умного дома»), автомобильной промышленности и многих других областях. Стандарт для автомобильной автоматики.
Описание стандарта
Непосредственно стандарт CAN компании Bosch определяет передачу в отрыве от физического уровня — он может быть каким угодно, например, радиоканалом или оптоволокном. Но на практике под CAN-сетью обычно подразумевается сеть топологии «шина» с (физическим уровнем) в виде дифференциальной пары, определённым в стандарте ISO 11898. Передача ведётся кадрами, которые принимаются всеми узлами сети. Для доступа к шине выпускаются специализированные микросхемы — драйверы CAN-шины.
Общие сведения
CAN является синхронной шиной с типом доступа Collision Resolving (CR, разрешение коллизии), который, в отличие от Collision Detect (CD, обнаружение коллизии) сетей (Ethernet), детерминировано (приоритетно) обеспечивает доступ на передачу сообщения, что особо ценно для промышленных сетей управления (fieldbus). Передача ведётся . Полезная информация в кадре состоит из идентификатора длиной 11 бит (стандартный формат) или 29 бит (расширенный формат, надмножество предыдущего) и поля данных длиной от 0 до 8 байт. Идентификатор говорит о содержимом пакета и служит для определения приоритета при попытке одновременной передачи несколькими сетевыми узлами.
Рецессивные и доминантные биты
Для абстрагирования от среды передачи спецификация CAN избегает описывать биты данных как «0» и «1». Вместо этого применяются термины «рецессивный» бит и «доминантный» бит, при этом подразумевается, что при передаче одним узлом сети рецессивного бита, а другим доминантного принят будет доминантный бит. Например, при реализации физического уровня на радиоканале отсутствие сигнала означает рецессивный бит, а наличие — доминантный; тогда как в типичной реализации проводной сети рецессив бывает при наличии сигнала, а доминант, соответственно, при отсутствии. Стандарт сети требует от «физического уровня», фактически, единственного условия: чтобы доминантный бит мог подавить рецессивный, но не наоборот. Например, в оптическом волокне доминантному биту должен соответствовать «свет», а рецессивному — «темнота». В электрическом проводе может быть так: рецессивное состояние — высокое напряжение на линии (от источника с большим внутренним сопротивлением), доминантное — низкое напряжение (доминантный узел сети «подтягивает» линию на землю). Если линия находится в рецессивном состоянии, перевести её в доминантное может любой узел сети (включив свет в оптоволокне или закоротив высокое напряжение). Наоборот — нельзя (включить темноту нельзя).
Виды кадров
- Кадр данных (data frame) — передаёт данные;
- Кадр удаленного запроса (remote frame) — служит для запроса на передачу кадра данных с тем же идентификатором;
- Кадр перегрузки (overload frame) — обеспечивает промежуток между кадрами данных или запроса;
- Кадр ошибки (error frame) — передаётся узлом, обнаружившим в сети ошибку.
Кадры данных и запроса отделяются от предыдущих кадров межкадровым промежутком.
Формат кадра
Базовый формат кадра данных
Поле | Длина (в битах) | Описание |
---|---|---|
Начало кадра (SOF) | 1 | Сигнализирует начало передачи кадра |
Идентификатор | 11 | Уникальный идентификатор |
Запрос на передачу (RTR) | 1 | Должен быть доминантным |
Бит расширения идентификатора (IDE) | 1 | Должен быть доминантным (определяет длину идентификатора) |
Зарезервированный бит (r0) | 1 | Резерв |
Длина данных (DLC) | 4 | Длина поля данных в байтах (0-8) |
Поле данных | 0-8 байт | Передаваемые данные (длина в поле DLC) |
Контрольная сумма (CRC) | 15 | Контрольная сумма всего кадра |
Разграничитель контрольной суммы | 1 | Должен быть рецессивным |
Промежуток подтверждения (ACK) | 1 | Передатчик шлёт рецессивный, приёмник вставляет доминанту |
Разграничитель подтверждения | 1 | Должен быть рецессивным |
Конец кадра (EOF) | 7 | Должен быть рецессивным |
Первые 7 бит идентификатора не должны быть все рецессивными.
Расширенный формат кадра данных
Поле | Длина (в битах) | Описание |
---|---|---|
Начало кадра (SOF) | 1 | Сигнализирует начало передачи кадра |
Идентификатор A | 11 | Первая часть идентификатора |
Подмена запроса на передачу (SRR) | 1 | Должен быть рецессивным |
Бит расширения идентификатора (IDE) | 1 | Должен быть рецессивным (определяет длину идентификатора) |
Идентификатор B | 18 | Вторая часть идентификатора |
Запрос на передачу (RTR) | 1 | Должен быть доминантным |
Зарезервированные биты (r1 и r0) | 2 | Резерв |
Длина данных (DLC) | 4 | Длина поля данных в байтах (0-8) |
Поле данных | 0-8 байт | Передаваемые данные (длина в поле DLC) |
Контрольная сумма (CRC) | 15 | Контрольная сумма всего кадра |
Разграничитель контрольной суммы | 1 | Должен быть рецессивным |
Промежуток подтверждения (ACK) | 1 | Передатчик шлёт рецессивный, приёмник вставляет доминанту |
Разграничитель подтверждения | 1 | Должен быть рецессивным |
Конец кадра (EOF) | 7 | Должен быть рецессивным |
Идентификатор получается объединением частей A и B.
Формат кадра удаленного запроса
Совпадает с кадрами данных стандартного или расширенного формата, за двумя исключениями:
- В поле RTR рецессив вместо доминанты.
- Отсутствует поле данных.
Арбитраж доступа
При свободной шине любой узел может начинать передачу в любой момент. В случае одновременной передачи кадров двумя и более узлами проходит арбитраж доступа: передавая идентификатор, узел одновременно проверяет состояние шины. Если при передаче рецессивного бита принимается доминантный — считается, что другой узел передаёт сообщение с большим приоритетом, и передача откладывается до освобождения шины. Таким образом, в отличие, например, от Ethernet, в CAN не происходит непроизводительной потери пропускной способности канала при коллизиях. Цена этого решения — возможность того, что сообщения с низким приоритетом никогда не будут переданы.
Контроль ошибок
CAN имеет несколько механизмов контроля и предотвращения ошибок:
- Контроль передачи: при передаче битовые уровни в сети сравниваются с передаваемыми битами.
- Дополняющие биты (bit stuffing): после передачи пяти одинаковых битов подряд автоматически передаётся бит противоположного значения. Таким образом кодируются все поля кадров данных или запроса, кроме разграничителя контрольной суммы, промежутка подтверждения и EOF.
- Контрольная сумма: передатчик вычисляет её и добавляет в передаваемый кадр, приёмник считает контрольную сумму принимаемого кадра в реальном времени (одновременно с передатчиком), сравнивает с суммой в самом кадре и в случае совпадения передаёт доминантный бит в промежутке подтверждения.
- Контроль значений полей при приёме.
Разработчики оценивают вероятность невыявления ошибки передачи как 4,7×10−11.
Скорость передачи и длина сети
Диапазон скоростей
Все узлы в сети должны работать с одной скоростью. Стандарт CAN не определяет скоростей работы, но большинство как отдельных, так и встроенных в микроконтроллеры адаптеров позволяет плавно менять скорость в диапазоне, по крайней мере, от 20 килобит в секунду до 1 мегабита в секунду. Существуют решения, выходящие далеко за рамки данного диапазона.
Предельная длина сети
Приведённые выше методы контроля ошибок требуют, чтобы изменение бита при передаче успело распространиться по всей сети к моменту замера значения. Это ставит максимальную длину сети в обратную зависимость от скорости передачи: чем больше скорость, тем меньше длина. Например, для сети стандарта ISO 11898 предельные длины составляют приблизительно:
1 Мбит/с | 40 м |
500 кбит/с | 100 м |
125 кбит/с | 500 м |
10 кбит/с | 5000 м |
Использование оптопар для защиты устройств от высоковольтных помех в сети ещё больше сокращает предельную длину, тем больше, чем больше задержка сигнала в оптопаре. Сильно разветвлённые сети (паутина) также снижают скорость из-за множества отражений сигнала и большей электрической ёмкости шины.
Протоколы верхнего уровня
Базовой спецификации CAN не достаёт многих возможностей, требуемых в реальных системах: передачи данных длиннее 8 байт, автоматического распределения идентификаторов между узлами, единообразного управления устройствами различных типов и производителей. Поэтому вскоре после появления CAN на рынке начали разрабатываться протоколы высокого уровня для него. В число распространённых на данный момент протоколов входят:
- CANopen
- DeviceNet
- J1939
- NMEA-2000 (морской транспорт)
- ARINC-825 (авиация) (нем.)
- (робототехника и летательные аппараты)
Применение CAN в автомобилестроении
Во всех высокотехнологичных системах современного автомобиля применяется CAN-протокол для связи ЭБУ с дополнительными устройствами и контроллерами исполнительных механизмов и различных систем безопасности. В некоторых автомобилях CAN связывает IMMO, приборные панели, SRS блоки и т. д.
Также протокол CAN ISO 15765-4 вошел в состав стандарта (OBD-II).
Преимущества и недостатки
Преимущества
- Возможность работы в режиме жёсткого реального времени.
- Простота реализации и минимальные затраты на использование.
- Высокая устойчивость к помехам.
- Арбитраж доступа к сети без потерь пропускной способности.
- Надёжный контроль ошибок передачи и приёма.
- Широкий диапазон скоростей работы.
- Большое распространение технологии, наличие широкого ассортимента продуктов от различных поставщиков.
Недостатки
- Небольшое количество данных, которое можно передать в одном пакете (до 8 байт).
- Большой размер служебных данных в пакете (по отношению к полезным данным).
- Отсутствие единого общепринятого стандарта на протокол высокого уровня, однако это - и достоинство. Стандарт сети предоставляет широкие возможности для практически безошибочной передачи данных между узлами, оставляя разработчику возможность вложить в этот стандарт всё, что туда сможет поместиться. В этом отношении CAN подобен простому электрическому проводу. Туда можно «затолкать» любой поток информации, который сможет выдержать пропускная способность шины. Известны примеры передачи звука и изображения по шине CAN (Россия). Известен случай создания системы аварийной связи вдоль автодороги длиной несколько десятков километров (Германия) (в первом случае нужна была большая скорость передачи и небольшая длина линии, во втором случае — наоборот). Изготовители, как правило, не афишируют, как именно они используют полезные байты в пакете.
См. также
Ссылки
- CANopen Special Interest Group
- Международная организация CAN In Automation
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер
U etogo termina sushestvuyut i drugie znacheniya sm Can CAN angl Controller Area Network set kontrollerov standart promyshlennoj seti orientirovannyj prezhde vsego na obedinenie v edinuyu set razlichnyh ispolnitelnyh ustrojstv i datchikov Rezhim peredachi posledovatelnyj shirokoveshatelnyj paketnyj CAN razrabotan kompaniej Robert Bosch GmbH v seredine 1980 h i v nastoyashee vremya shiroko rasprostranyon v promyshlennoj avtomatizacii tehnologiyah domashnej avtomatizacii umnogo doma avtomobilnoj promyshlennosti i mnogih drugih oblastyah Standart dlya avtomobilnoj avtomatiki Opisanie standartaNeposredstvenno standart CAN kompanii Bosch opredelyaet peredachu v otryve ot fizicheskogo urovnya on mozhet byt kakim ugodno naprimer radiokanalom ili optovoloknom No na praktike pod CAN setyu obychno podrazumevaetsya set topologii shina s fizicheskim urovnem v vide differencialnoj pary opredelyonnym v standarte ISO 11898 Peredacha vedyotsya kadrami kotorye prinimayutsya vsemi uzlami seti Dlya dostupa k shine vypuskayutsya specializirovannye mikroshemy drajvery CAN shiny Obshie svedeniya CAN yavlyaetsya sinhronnoj shinoj s tipom dostupa Collision Resolving CR razreshenie kollizii kotoryj v otlichie ot Collision Detect CD obnaruzhenie kollizii setej Ethernet determinirovano prioritetno obespechivaet dostup na peredachu soobsheniya chto osobo cenno dlya promyshlennyh setej upravleniya fieldbus Peredacha vedyotsya Poleznaya informaciya v kadre sostoit iz identifikatora dlinoj 11 bit standartnyj format ili 29 bit rasshirennyj format nadmnozhestvo predydushego i polya dannyh dlinoj ot 0 do 8 bajt Identifikator govorit o soderzhimom paketa i sluzhit dlya opredeleniya prioriteta pri popytke odnovremennoj peredachi neskolkimi setevymi uzlami Recessivnye i dominantnye bity Dlya abstragirovaniya ot sredy peredachi specifikaciya CAN izbegaet opisyvat bity dannyh kak 0 i 1 Vmesto etogo primenyayutsya terminy recessivnyj bit i dominantnyj bit pri etom podrazumevaetsya chto pri peredache odnim uzlom seti recessivnogo bita a drugim dominantnogo prinyat budet dominantnyj bit Naprimer pri realizacii fizicheskogo urovnya na radiokanale otsutstvie signala oznachaet recessivnyj bit a nalichie dominantnyj togda kak v tipichnoj realizacii provodnoj seti recessiv byvaet pri nalichii signala a dominant sootvetstvenno pri otsutstvii Standart seti trebuet ot fizicheskogo urovnya fakticheski edinstvennogo usloviya chtoby dominantnyj bit mog podavit recessivnyj no ne naoborot Naprimer v opticheskom volokne dominantnomu bitu dolzhen sootvetstvovat svet a recessivnomu temnota V elektricheskom provode mozhet byt tak recessivnoe sostoyanie vysokoe napryazhenie na linii ot istochnika s bolshim vnutrennim soprotivleniem dominantnoe nizkoe napryazhenie dominantnyj uzel seti podtyagivaet liniyu na zemlyu Esli liniya nahoditsya v recessivnom sostoyanii perevesti eyo v dominantnoe mozhet lyuboj uzel seti vklyuchiv svet v optovolokne ili zakorotiv vysokoe napryazhenie Naoborot nelzya vklyuchit temnotu nelzya Vidy kadrov Kadr dannyh data frame peredayot dannye Kadr udalennogo zaprosa remote frame sluzhit dlya zaprosa na peredachu kadra dannyh s tem zhe identifikatorom Kadr peregruzki overload frame obespechivaet promezhutok mezhdu kadrami dannyh ili zaprosa Kadr oshibki error frame peredayotsya uzlom obnaruzhivshim v seti oshibku Kadry dannyh i zaprosa otdelyayutsya ot predydushih kadrov mezhkadrovym promezhutkom Format kadra Bazovyj format kadra dannyh Pole Dlina v bitah Opisanie Nachalo kadra SOF 1 Signaliziruet nachalo peredachi kadra Identifikator 11 Unikalnyj identifikator Zapros na peredachu RTR 1 Dolzhen byt dominantnym Bit rasshireniya identifikatora IDE 1 Dolzhen byt dominantnym opredelyaet dlinu identifikatora Zarezervirovannyj bit r0 1 Rezerv Dlina dannyh DLC 4 Dlina polya dannyh v bajtah 0 8 Pole dannyh 0 8 bajt Peredavaemye dannye dlina v pole DLC Kontrolnaya summa CRC 15 Kontrolnaya summa vsego kadra Razgranichitel kontrolnoj summy 1 Dolzhen byt recessivnym Promezhutok podtverzhdeniya ACK 1 Peredatchik shlyot recessivnyj priyomnik vstavlyaet dominantu Razgranichitel podtverzhdeniya 1 Dolzhen byt recessivnym Konec kadra EOF 7 Dolzhen byt recessivnym Pervye 7 bit identifikatora ne dolzhny byt vse recessivnymi Rasshirennyj format kadra dannyh Pole Dlina v bitah Opisanie Nachalo kadra SOF 1 Signaliziruet nachalo peredachi kadra Identifikator A 11 Pervaya chast identifikatora Podmena zaprosa na peredachu SRR 1 Dolzhen byt recessivnym Bit rasshireniya identifikatora IDE 1 Dolzhen byt recessivnym opredelyaet dlinu identifikatora Identifikator B 18 Vtoraya chast identifikatora Zapros na peredachu RTR 1 Dolzhen byt dominantnym Zarezervirovannye bity r1 i r0 2 Rezerv Dlina dannyh DLC 4 Dlina polya dannyh v bajtah 0 8 Pole dannyh 0 8 bajt Peredavaemye dannye dlina v pole DLC Kontrolnaya summa CRC 15 Kontrolnaya summa vsego kadra Razgranichitel kontrolnoj summy 1 Dolzhen byt recessivnym Promezhutok podtverzhdeniya ACK 1 Peredatchik shlyot recessivnyj priyomnik vstavlyaet dominantu Razgranichitel podtverzhdeniya 1 Dolzhen byt recessivnym Konec kadra EOF 7 Dolzhen byt recessivnym Identifikator poluchaetsya obedineniem chastej A i B Format kadra udalennogo zaprosa Sovpadaet s kadrami dannyh standartnogo ili rasshirennogo formata za dvumya isklyucheniyami V pole RTR recessiv vmesto dominanty Otsutstvuet pole dannyh Arbitrazh dostupa Pri svobodnoj shine lyuboj uzel mozhet nachinat peredachu v lyuboj moment V sluchae odnovremennoj peredachi kadrov dvumya i bolee uzlami prohodit arbitrazh dostupa peredavaya identifikator uzel odnovremenno proveryaet sostoyanie shiny Esli pri peredache recessivnogo bita prinimaetsya dominantnyj schitaetsya chto drugoj uzel peredayot soobshenie s bolshim prioritetom i peredacha otkladyvaetsya do osvobozhdeniya shiny Takim obrazom v otlichie naprimer ot Ethernet v CAN ne proishodit neproizvoditelnoj poteri propusknoj sposobnosti kanala pri kolliziyah Cena etogo resheniya vozmozhnost togo chto soobsheniya s nizkim prioritetom nikogda ne budut peredany Kontrol oshibok CAN imeet neskolko mehanizmov kontrolya i predotvrasheniya oshibok Kontrol peredachi pri peredache bitovye urovni v seti sravnivayutsya s peredavaemymi bitami Dopolnyayushie bity bit stuffing posle peredachi pyati odinakovyh bitov podryad avtomaticheski peredayotsya bit protivopolozhnogo znacheniya Takim obrazom kodiruyutsya vse polya kadrov dannyh ili zaprosa krome razgranichitelya kontrolnoj summy promezhutka podtverzhdeniya i EOF Kontrolnaya summa peredatchik vychislyaet eyo i dobavlyaet v peredavaemyj kadr priyomnik schitaet kontrolnuyu summu prinimaemogo kadra v realnom vremeni odnovremenno s peredatchikom sravnivaet s summoj v samom kadre i v sluchae sovpadeniya peredayot dominantnyj bit v promezhutke podtverzhdeniya Kontrol znachenij polej pri priyome Razrabotchiki ocenivayut veroyatnost nevyyavleniya oshibki peredachi kak 4 7 10 11 Skorost peredachi i dlina seti Diapazon skorostej Vse uzly v seti dolzhny rabotat s odnoj skorostyu Standart CAN ne opredelyaet skorostej raboty no bolshinstvo kak otdelnyh tak i vstroennyh v mikrokontrollery adapterov pozvolyaet plavno menyat skorost v diapazone po krajnej mere ot 20 kilobit v sekundu do 1 megabita v sekundu Sushestvuyut resheniya vyhodyashie daleko za ramki dannogo diapazona Predelnaya dlina seti Privedyonnye vyshe metody kontrolya oshibok trebuyut chtoby izmenenie bita pri peredache uspelo rasprostranitsya po vsej seti k momentu zamera znacheniya Eto stavit maksimalnuyu dlinu seti v obratnuyu zavisimost ot skorosti peredachi chem bolshe skorost tem menshe dlina Naprimer dlya seti standarta ISO 11898 predelnye dliny sostavlyayut priblizitelno 1 Mbit s 40 m 500 kbit s 100 m 125 kbit s 500 m 10 kbit s 5000 m Ispolzovanie optopar dlya zashity ustrojstv ot vysokovoltnyh pomeh v seti eshyo bolshe sokrashaet predelnuyu dlinu tem bolshe chem bolshe zaderzhka signala v optopare Silno razvetvlyonnye seti pautina takzhe snizhayut skorost iz za mnozhestva otrazhenij signala i bolshej elektricheskoj yomkosti shiny Protokoly verhnego urovnyaBazovoj specifikacii CAN ne dostayot mnogih vozmozhnostej trebuemyh v realnyh sistemah peredachi dannyh dlinnee 8 bajt avtomaticheskogo raspredeleniya identifikatorov mezhdu uzlami edinoobraznogo upravleniya ustrojstvami razlichnyh tipov i proizvoditelej Poetomu vskore posle poyavleniya CAN na rynke nachali razrabatyvatsya protokoly vysokogo urovnya dlya nego V chislo rasprostranyonnyh na dannyj moment protokolov vhodyat CANopen DeviceNet J1939 NMEA 2000 morskoj transport ARINC 825 aviaciya nem robototehnika i letatelnye apparaty Primenenie CAN v avtomobilestroeniiCAN kontakty v standarte zaryadki elektromobilej S Signalling CAN Low S CAN High Vo vseh vysokotehnologichnyh sistemah sovremennogo avtomobilya primenyaetsya CAN protokol dlya svyazi EBU s dopolnitelnymi ustrojstvami i kontrollerami ispolnitelnyh mehanizmov i razlichnyh sistem bezopasnosti V nekotoryh avtomobilyah CAN svyazyvaet IMMO pribornye paneli SRS bloki i t d Takzhe protokol CAN ISO 15765 4 voshel v sostav standarta OBD II Preimushestva i nedostatkiPreimushestva Vozmozhnost raboty v rezhime zhyostkogo realnogo vremeni Prostota realizacii i minimalnye zatraty na ispolzovanie Vysokaya ustojchivost k pomeham Arbitrazh dostupa k seti bez poter propusknoj sposobnosti Nadyozhnyj kontrol oshibok peredachi i priyoma Shirokij diapazon skorostej raboty Bolshoe rasprostranenie tehnologii nalichie shirokogo assortimenta produktov ot razlichnyh postavshikov Nedostatki Nebolshoe kolichestvo dannyh kotoroe mozhno peredat v odnom pakete do 8 bajt Bolshoj razmer sluzhebnyh dannyh v pakete po otnosheniyu k poleznym dannym Otsutstvie edinogo obsheprinyatogo standarta na protokol vysokogo urovnya odnako eto i dostoinstvo Standart seti predostavlyaet shirokie vozmozhnosti dlya prakticheski bezoshibochnoj peredachi dannyh mezhdu uzlami ostavlyaya razrabotchiku vozmozhnost vlozhit v etot standart vsyo chto tuda smozhet pomestitsya V etom otnoshenii CAN podoben prostomu elektricheskomu provodu Tuda mozhno zatolkat lyuboj potok informacii kotoryj smozhet vyderzhat propusknaya sposobnost shiny Izvestny primery peredachi zvuka i izobrazheniya po shine CAN Rossiya Izvesten sluchaj sozdaniya sistemy avarijnoj svyazi vdol avtodorogi dlinoj neskolko desyatkov kilometrov Germaniya v pervom sluchae nuzhna byla bolshaya skorost peredachi i nebolshaya dlina linii vo vtorom sluchae naoborot Izgotoviteli kak pravilo ne afishiruyut kak imenno oni ispolzuyut poleznye bajty v pakete Sm takzheFMSSsylkiCANopen Special Interest Group Mezhdunarodnaya organizaciya CAN In Automation