CAN комуникация
B - Сензор 1; CAN - Шина за данни; M - Изпълнителни елементи I - III (серво механизми); N - Блокове за управление (контролери) I-V
Основна информация
Превозното средство използва няколко CAN шини (Controller Area Network) между блоковете (модули) управление на различни системи и контролери на изпълнителни устройства на автомобила.
Отделните управляващи блокове са свързани в мрежа помежду си и могат да обменят данни.
Автобусът е двупосочен, т.е. всяко свързано към него устройство може да получава и предава съобщения.
Сигнал на сензора (сензор) влиза в най-близкия блок за управление, който го обработва и прехвърля към CAN шината за данни.
Всеки управляващ блок, свързан към CAN шината за данни, може да прочете този сигнал, да изчисли стойността на управляващото действие въз основа на него и да управлява серво задвижващия механизъм.
Предимства
С обичайното кабелно свързване на електрически и електронни устройства, всеки управляващ блок е директно свързан към всички сензори и изпълнителни механизми, от които получава измервания или които управлява.
Усложняването на системата за управление води до прекомерна дължина или множество кабелни линии.
В сравнение със стандартното окабеляване, шината за данни осигурява:
- Намаляване на броя на кабелите. Проводниците от сензорите се изтеглят само до най-близкия контролен блок, който преобразува измерените стойности в пакет данни и ги прехвърля към CAN шината.
- Всеки управляващ блок може да управлява задвижващия механизъм, който получава съответния пакет данни през CAN шината и на негова база изчислява стойността на управляващото въздействие върху сервомеханизма.
- Подобрена електромагнитна съвместимост.
- Намаляване на броя на щепселните връзки и намаляване на броя на контактните изходи на блоковете за управление.
- Отслабване.
- Намаляване на броя на сензорите, т.к единични сензорни сигнали (например от сензора за температура на охлаждащата течност) може да се използва от различни системи.
- Подобряване на диагностичните възможности. защото единични сензорни сигнали (например сигнал за скорост) се използват от различни системи, тогава ако се издаде съобщение за повреда от всички системи, използващи този сигнал, сензорът или контролният блок, който обработва неговите сигнали, обикновено е повреден. Ако съобщението за грешка идва само от една система, въпреки че този сигнал се използва и от други системи, тогава причината за неизправността най-често е в блока за управление на обработката или сервомеханизма.
- Високи скорости на трансфер на данни - възможни са до 1 Mbit/s с максимална дължина на линията от 40 м. В момента превозните средства на Mercedes-Benz имат скорости на трансфер на данни между 83 Kbit/s и 500 Kbit/s.
- Няколко съобщения могат да се предават последователно на една и съща линия.
Шината за данни CAN се състои от двужилен проводник, направен под формата на усукана двойка. Всички устройства, свързани към тази линия (блокове за управление на устройството).
Преносът на данни се извършва с дублиране по двата проводника, а логическите нива на шината за данни са огледални (това е, ако ниво на логическа нула се предава по един проводник (0), тогава нивото на логическа единица се предава по друг проводник (1), и обратно).
Схемата за двупроводно предаване се използва по две причини: за откриване на грешки и като основа за надеждност.
Ако пикът на напрежението се появи само на един проводник (например поради проблеми с EMC (електромагнитна съвместимост)), приемниците могат да идентифицират това като грешка и да игнорират този пик на напрежението.
Ако има късо съединение или прекъсване на един от двата проводника на CAN шината за данни, тогава благодарение на интегрираната хардуерна и софтуерна система за надеждност ще има превключване в режим на работа с един проводник. Повреден електропровод няма да се използва.
Ред и формат, предавани и получавани от потребителите (абонати) съобщения е дефинирано в комуникационния протокол.
Съществена отличителна черта на CAN шината за данни в сравнение с други шинни системи, базирани на принципа на адресиране на абонати, е адресирането, свързано със съобщенията.
Това означава, че на всяко съобщение по CAN шината за данни се присвоява постоянен адрес (идентификатор), маркирайки съдържанието на това съобщение (например: температура на охлаждащата течност). Протоколът на CAN шина за данни позволява предаването на до 2048 различни съобщения, като адресите от 2033 до 2048 са постоянно фиксирани.
Количеството данни в едно съобщение по CAN шината за данни е 8 байта.
Блокът на приемника обработва само тези съобщения (пакети данни), които се съхраняват в неговия списък с CAN съобщения, получени по шината за данни (приемен контрол).
Пакетите данни могат да се предават само ако CAN шината за данни е свободна (т.е. ако след последния пакет данни последва интервал от 3 бита и нито едно управляващо устройство не започне да изпраща съобщение).
В този случай логическото ниво на шината за данни трябва да е рецесивно (логично «1»).
Ако няколко контролни блока започнат да предават съобщения едновременно, тогава влиза в сила принципът на приоритета, според който съобщението по CAN шината за данни с най-висок приоритет ще бъде предадено първо без загуба на време или битове (арбитраж на заявки за достъп до общата шина за данни).
Всяко управляващо устройство, което губи правото на арбитраж, автоматично ще превключи към получаване и ще се опита отново да изпрати съобщението си веднага щом CAN шината за данни се освободи отново.
В допълнение към пакетите данни има и пакет заявка за конкретно съобщение по CAN шината за данни.
В този случай контролният блок, който може да предостави заявения пакет данни, отговаря на това искане.
Формат на пакета данни
В нормален режим на предаване пакетите данни имат следните блокови конфигурации (рамки):
- Data Frame (рамка на съобщение) за предаване на съобщения по CAN шината за данни (например: температура на охлаждащата течност).
- Remote Frame (рамка за заявка) за да поискате съобщения по CAN шината за данни от друго управляващо устройство.
- Error Frame (рамка за грешка) всички свързани управляващи блокове се уведомяват, че е възникнала грешка и последното съобщение по CAN шината за данни е невалидно.
Протоколът на CAN шина за данни поддържа два различни формати на съобщения на CAN шина за данни, които се различават само по дължината на идентификатора:
- стандартен формат;
- разширен формат.
В момента DaimlerChrysler използва само стандартния формат.
Пакетът данни за предаване на съобщения по CAN шината за данни се състои от седем последователни полета:
- Start of Frame (начален бит): Маркира началото на съобщението и синхронизира всички модули.
- Arbitration Field (id и заявка): Това поле се състои от идентификатор (адреси) 11 бита и 1 бит за проверка (Remote Transmission Request-Bit). Този контролен бит маркира пакета като рамка с данни (рамка на съобщение) или като отдалечена рамка (рамка за заявка) няма байтове данни.
- Control Field (контролни битове): Контролно поле (6 бита) съдържа IDE бит (Identifier Extension Bit) за разпознаване на стандартния и разширения формат, резервен бит за последващи разширения и - в последните 4 бита - броя на байтовете данни, вградени в полето за данни (поле за данни).
- Data Field (данни): Полето за данни може да съдържа от 0 до 8 байта данни. Съобщение на CAN шината за данни с дължина 0 байта се използва за синхронизиране на разпределени процеси.
- CRC Field (контролно поле): CRC поле (Cyclic-Redundancy-Check Field) съдържа 16 бита и служи за контролно разпознаване на грешки при предаване.
- ACK Field (потвърждение за приемане): ACK поле (Acknowledgement Field) съдържа сигнал за потвърждение за всички приемни модули, които са получили съобщение през CAN шината без грешки.
- End of Frame (край на рамката): Маркира края на пакета с данни.
- Intermission (интервал): Интервал между два пакета данни. Интервалът трябва да бъде поне 3 бита. След това всяко управляващо устройство може да предаде следващия пакет данни.
- IDLE (режим на почивка): Ако нито едно управляващо устройство не изпраща съобщения, тогава CAN шината остава в неактивен режим до предаването на следващия пакет данни.
Приоритети
За да се обработват данни в реално време, трябва да е възможно бързото им прехвърляне.
Това не само изисква връзка с висока физическа скорост на предаване на данни, но също така изисква бързо осигуряване на обща CAN шина, ако няколко контролни блока трябва да изпращат съобщения едновременно.
За да се разграничат съобщенията, предавани по CAN шината за данни според степента на спешност, са предвидени различни приоритети за отделните съобщения.
Моментът на запалване, например, има най-висок приоритет, стойностите на приплъзване са средни, а външната температура е с най-нисък приоритет.
Приоритетът, с който се предава съобщение по CAN шината, се определя от идентификатора (адрес) съответното съобщение.
Идентификатор, съответстващ на по-малко двоично число, има по-висок приоритет и обратно.
Протоколът на CAN шината за данни се основава на две логически състояния: Битовете са или «рецесивен» (логично «1»), или «доминантен» (логично «0»). Ако доминиращ бит се предава от поне един модул, тогава рецесивните битове, предавани от други модули, се презаписват.
Пример
Ако няколко контролни блока започнат едновременно прехвърляне на данни, тогава конфликтът на достъп до общата шина за данни се разрешава от «побитов арбитраж на заявки за споделен ресурс» със съответните идентификатори.
При предаване на полето за идентификатор трансмитерът проверява след всеки бит дали все още има право да предава или друг контролен блок вече предава съобщение с по-висок приоритет по CAN шината за данни.
Ако рецесивният бит, предаден от първия предавател, бъде презаписан от доминиращия бит на друг предавател, тогава първият предавател губи правото си да предава (арбитраж) и става приемник.
Първи блок за управление (N I) губи арбитраж от 3-тия бит.
Трети блок за управление (N III) губи арбитраж от 7-ия бит.
Втори блок за управление (N II) запазва правото на достъп до CAN шината за данни и може да предава своето съобщение.
Други управляващи устройства ще се опитат да предадат своите съобщения по CAN шината за данни само когато тя отново е свободна. В този случай правото за предаване отново ще бъде предоставено в съответствие с приоритета на съобщението по CAN шината за данни.
Разпознаване на грешки
Смущенията могат да доведат до грешки при предаването на данни. Такива грешки при предаване трябва да се разпознават и коригират.
Протоколът на CAN шина за данни прави разлика между две нива на разпознаване на грешки:
- механизми на ниво Data Frame (рамка на съобщение);
- механизми на битово ниво.
Механизми на ниво Data Frame
Cyclic-Redundancy-Check
Въз основа на съобщението, предадено през CAN шината за данни, предавателят изчислява контролните битове, които се предават заедно с пакета данни в полето «CRC Field» (контролни суми). Приемното устройство преизчислява тези контролни битове на базата на съобщението, получено през CAN шината за данни, и ги сравнява с контролните битове, получени с това съобщение.
Frame Check
Този механизъм проверява структурата на предавания блок (кадър), тоест битови полета с даден фиксиран формат и дължина на рамката се проверяват отново.
Грешките, открити от Frame Check, се маркират като грешки във форматирането.
Механизми на битово ниво
Мониторинг
Всеки модул при предаване на съобщение следи логическото ниво на CAN шината за данни и определя разликите между предадените и получените битове. Това гарантира надеждно разпознаване на глобални и локални битови грешки, които възникват в предавателя.
Bit Stuffing
Във всеки пакет данни между полето «Start of Frame» и края на терена «CRC Field» не трябва да има повече от 5 последователни бита с еднаква полярност.
След всяка последователност от 5 идентични бита, блоковият предавател добавя един бит с обратна полярност към битовия поток.
Приемниците изчистват тези битове след получаване на съобщение по CAN шината за данни.
Отстраняване на неизправности
Ако който и да е модул на CAN шина за данни открие грешка, той ще прекъсне текущия процес на пренос на данни, като изпрати съобщение за грешка. Съобщението за грешка се състои от 6 доминиращи бита.
Благодарение на съобщението за грешка, всички управляващи устройства, свързани към CAN шината за данни, се уведомяват за възникнала локална грешка и съответно игнорират предварително предаденото съобщение.
След кратка пауза всички управляващи блокове отново ще могат да предават съобщения по CAN шината за данни, като първо се изпраща отново съобщението с най-висок приоритет.
Блокът за управление, чието съобщение по CAN шината за данни е причинило грешката, също започва да препредава своето съобщение (функция за автоматично повторение).
Типове CAN шини
За различни зони на управление се използват различни CAN шини. Те се различават един от друг по скоростта на пренос на данни.
CAN зона за скорост на предаване «двигател и ходова част» (CAN-C) е 125 Kbps, а CAN шината за данни «Салон» (CAN-B) поради по-малкия брой особено спешни съобщения, той е проектиран за скорост на трансфер на данни от само 83 Kbps.
Обменът на данни между двете шинни системи се осъществява чрез т.нар «шлюзове», т.е. контролни блокове, свързани към двете шини за данни.
Оптично влакно D2B (Digital Daten-Bus) данни, приложени към област «Аудио/Комуникация/Навигация». Кабелът с оптични влакна може да предава значително по-голямо количество информация от шина с меден кабел.
CAN C автобус «Двигател и шаси»
От всяка страна на терминалния контролен блок е монтиран така нареченият терминиращ резистор на шината за данни със съпротивление 120 Ω, свързан между двата проводника на шината за данни.
CAN шината за данни на двигателното отделение е активна само при включено запалване.
Към CAN-C шината са свързани 7 блока за управление.
CAN B - автобус «Салон»
Някои контролни блокове, свързани към CAN шината за данни на купето, се активират независимо от включеното запалване (например система с единично заключване).
Следователно CAN шината за данни на купето трябва да работи дори при изключено запалване, което означава, че трябва да се осигури възможност за предаване на пакети данни дори при изключено запалване.
За да се намали максимално потреблението на ток на покой, CAN шината за данни, при липса на пакети данни, необходими за предаване, превключва в пасивен режим на готовност и се активира отново само при следващия достъп до нея.
Ако е в пасивен режим на готовност на CAN шината за данни на купето, който и да е блок за управление (например блок за управление на едно заключване) предава съобщение по CAN шината за данни, то се получава само от основния системен модул (електронен ключ за запалване, EZS). Блокът EZS съхранява това съобщение в паметта и изпраща сигнал за активиране (Wake-up) към всички контролни блокове, свързани към CAN шината за данни на купето.
Когато е активиран, EZS проверява за всички потребители на CAN шина данни и след това предава предварително съхраненото съобщение.
Към CAN-B шината са свързани 20 контролни блока.
Елементи на мрежата за данни (CAN)
CAN B (Салон) | |
К1 | Преден блок за регистрация и управление с бушон и релейна кутия (SAM/SRB-V) |
К2 | Заден регистрационен и контролен блок с кутия за предпазители и релета (SAM/SRB-H) |
К3 | Блок за управление на лявата седалка (SSG) |
К4 | Блок за управление на дясна седалка (SSG) |
К5 | Блок за управление на предна лява врата (TSG) |
К6 | Блок за управление на предна дясна врата (TSG) |
К7 | Блок за управление на задната лява врата (TSG) |
К8 | Блок за управление на задната дясна врата (TSG) |
К9 | блок за управление на покрива (DBE) |
К10 | Горно контролно поле (OBF) |
К11 | Долно контролно поле (UBF) |
К12 | Електронен ключ за стартиране на запалването (EZS) |
К13 | Табло (KI) |
К14 | Система COMMAND/Аудио 10/Аудио 30/Аудио 30 APS |
К15 | Парктроник система (PTS) |
К16 | Инструмент за теглич на ремарке (AAG) |
К17 | Многофункционален блок за управление за специални модели (MSS) |
К18 | Паркинг отопление |
К19 | нагревател (KKLA/BKLA – SA) |
К20 | Разпределител CAN-B RBA десен |
К21 | Разпределител CAN-B RBA вляво |
К22 | Дистрибутор CAN-B Cockpit |
К23 | Въздушни възглавници с вградена система за повикване ARMINCA |
МОЖЕ ли C (Задвижване и ходова част) | |
К12 | Ключ за запалване на (EZS) |
К13 | Табло (KI) |
К24 | Електронно управление на трансмисията (EGS или KGS) |
К25 | Блок за управление на двигателя (MSG) |
К26 | Електроника на селектора на скоростите (EMW) |
К27 | Дистрибутор CAN Class-C RBA отляво |
К28 | Електронна система против приплъзване (ESP) |
Немрежови SG | |
К29 | Автоматичен контрол на обхвата (ALWR) |
К30 | ТВ тунер |
Елементи, свързани към оптична D2B шина
D2B (Аудио/Комуникация/Навигация) | |
Оптичен кабел | |
К14 | КОМАНДА/Аудио 10/Аудио 30/Аудио 30 APS |
K31 | телефонна система (MINNA спешно обаждане) |
K32 | Устройство за гласово управление Linguatronic (SBS) |
K33 | Контролер за мобилен телефон (интерфейс) |
K34 | Усилвател |
K35 | CD чейнджър |
Не всички са показани | |
A2 | Радиоприемник или магнетофон |
A2/6 | CD чейнджър |
A40/3 | Дисплей и контролен блок за функционирането на системата COMAND |
A2/13 | Усилвател |
A35/11 | Контролен блок за гласово управление |
A59/1 | D2B интерфейс за мобилен/вграден телефон |
A35 | Трансивър за мобилен телефон (CTEL) / Системи за спешни повиквания TELE AID |
A35/8 | Блок за управление TELE AID |
A, B, C | Връзки |
M1 | Оптичен кабел 1 |
M2 | Оптичен кабел 2 |
M3 | Оптичен кабел 3 |
M4 | Оптичен кабел 4 |
M5 | Оптичен кабел 5 |
M6 | Оптичен кабел 6 |
M7 | Оптичен кабел 7 |
ws | Бяла вложка |
rt | червена вложка |