Subaru legacy outback, цифрова шина даних can, Субару Легасі
B - Датчик 1
CAN - Шина даних
М - Виконавчі елементи I - III (сервомеханізми)
N - Блоки управління (контролери) I - V
На автомобілі застосовані кілька мережевих шин обміну даними CAN (Controller Area Network) між блоками (модулями) управління різних систем і контролерами виконавчих пристроїв автомобіля.
Окремі блоки управління об'єднані між собою в загальну мережу і можуть обмінюватися даними.
Шина у двох напрямках, тобто будь-який підключений до неї пристрій може приймати і передавати повідомлення.
Сигнал з чутливого елемента (датчика) надходить в найближчий блок управління, який обробляє його і передає на шину даних CAN.
Будь-блок управління, підключений до шини даних CAN, може зчитувати цей сигнал, обчислювати на його основі значення керуючого впливу і керувати виконавчим сервомеханізмом.
При звичайному кабельному з'єднанні електричних та електронних пристроїв здійснюється пряме з'єднання кожного блоку управління з усіма датчиками і виконавчими елементами, від яких він отримує результати вимірювань або якими керує.
Ускладнення системи управління призводить до надмірної довжині або численності кабельних ліній.
У порівнянні зі стандартною кабельної розводкою шина даних забезпечує:
· Зменшення кількості кабелів. Провід від датчиків тягнуться тільки до найближчого блоку управління, який перетворює виміряні значення в пакет даних і передає його в шину CAN.
· Керувати виконавчим механізмом може будь-який блок управління, який по шині CAN отримує відповідний пакет даних, і на його основі розраховує значення керуючого впливу на сервомеханизм.
· Поліпшення електромагнітної сумісності.
· Зменшення кількості штекерних з'єднань і зменшення кількості контактних висновків на блоках управління.
· Зниження ваги.
· Зменшення кількості датчиків, тому що сигнали одного датчика (наприклад, з датчика температури охолоджуючої рідини) можуть бути використані різними системами.
· Поліпшення можливостей діагностування. Оскільки сигнали одного датчика (наприклад, сигнал швидкості) використовуються різними системами, то в разі, якщо повідомлення про несправності видають все використовують даний сигнал системи, несправним є, як правило, датчик або блок управління, що обробляє його сигнали. Якщо ж повідомлення про несправності надходить тільки від однієї системи, хоча даний сигнал використовується і іншими системами, то причина несправності, найчастіше, укладена в обробному блоці управління або сервомеханізм.
· Висока швидкість передачі даних - можлива до 1 Мбіт / с при максимальній довжині лінії 40 м. В даний час на а / м Mercedes-Benz швидкість передачі даних складає від 83 Кбіт / с до 500 Кбіт / с.
· Кілька повідомлень можуть по черзі передаватися по одній і тій же лінії.
Шина даних CAN складається з двожильного дроти, виконаного у вигляді витої пари. До цієї лінії підключені всі пристрої (блоки управління пристроями).
Передача даних здійснюється з дублюванням по обом проводам, причому логічні рівні шини даних мають дзеркальне відображення (тобто, якщо по одному дроту передається рівень логічного нуля (0), то по іншому проводу передається рівень логічної одиниці (1), і навпаки).
Двухпроводная схема передачі використовується з двох причин: для виявлення помилок і як основа надійності.
Якщо пік напруги виникає тільки на одному дроті (наприклад, внаслідок проблем з ЕМС (електромагнітна сумісність)), то блоки-приймачі можуть ідентифікувати це як помилку і проігнорувати цей пік напруги.
Якщо ж станеться коротке замикання або обрив одного з двох проводів шини даних CAN, то завдяки інтегрованій програмно-апаратної системі надійності відбудеться перемикання в режим роботи за однопровідною схемою. Пошкоджена передає лінія використовуватися не буде.
Обсяг даних в одному повідомленні по шині даних CAN становить 8 байт.
Блок-приймач обробляє тільки ті повідомлення (пакети даних), які збережені в його списку прийнятих по шині даних CAN повідомлень (контроль прийнятності).
Пакети даних можуть передаватися тільки в тому випадку, якщо шина даних CAN вільна (тобто якщо після останнього пакета даних пішов інтервал в 3 біта, і ніякий з блоків керування не починає передавати повідомлення).
При цьому логічний рівень шини даних повинен бути рецесивним (логічна «1»).
Якщо кілька блоків управління одночасно починають передавати повідомлення, то вступає в силу принцип пріоритетності, згідно з яким повідомлення по шині даних CAN з найвищим пріоритетом буде передаватися першим без втрати часу або бітів (арбітраж запитів доступу до загальної шини даних).
Кожен блок управління, втрачаючи право арбітражу, автоматично перемикається на прийом і повторює спробу відправити своє повідомлення, як тільки шина даних CAN знову звільниться.
Крім пакетів даних існує також пакет запиту певного повідомлення по шині даних CAN.
У цьому випадку блок керування, який може надати запитуваний пакет даних, реагує на даний запит.
Формат пакета даних
У звичайному режимі передачі пакети даних мають наступні конфігурації блоків (фрейми):
• Data Frame (фрейм повідомлення) для передачі повідомлень по шині даних CAN (напр. Температура охолоджуючої рідини).
• Remote Frame (фрейм запиту) для запиту повідомлень по шині даних CAN від іншого блоку управління.
• Error Frame (фрейм помилки) всі підключені блоки управління повідомляються про те, що виникла помилка і останні повідомлення по шині даних CAN є недійсним.
Протокол шини даних CAN підтримує два різних формату фреймів повідомлення по шині даних CAN, які розрізняються лише по довжині ідентифікатора:
- стандартний формат;
- розширений формат.
В даний час DaimlerChrysler використовує тільки стандартний формат.
Для обробки даних в режимі реального часу повинна бути забезпечена можливість їх швидкої передачі.
Це передбачає не тільки наявність лінії з високою фізичною швидкістю передачі даних, але і вимагає також оперативного надання доступу до загальної шини CAN, якщо кільком блокам управління необхідно одночасно передати повідомлення.
З метою розмежування переданих по шині даних CAN повідомлень за ступенем терміновості, для окремих повідомлень передбачені різні пріоритети.
Кут випередження запалювання, наприклад, має вищий пріоритет, значення пробуксовки - середній, а температура зовнішнього повітря - нижчий пріоритет.
Протокол шини даних CAN грунтується на двох логічних станах: Біти є або «рецесивними» (логічна «1»), або «домінантними» (логічний «0»). Якщо домінантний біт передається як мінімум одним модулем, то рецесивні біти, що передаються іншими модулями, перезаписувати.
Якщо кілька блоків управління одночасно починають передачу даних, то конфлікт доступу до загальної шини даних дозволяється за допомогою «побітового арбітражу запитів загального ресурсу» за допомогою відповідних ідентифікаторів.
При передачі поля ідентифікатора блок-передавач після кожного біта перевіряє, чи володіє він ще правом передачі, або вже інший блок управління передає по шині даних CAN повідомлення з більш високим пріоритетом.
Якщо передається першим блоком-передавачем рецесивний біт перезаписується домінантним бітом іншого блоку-передавача, то перший блок-передавач втрачає своє право передачі (арбітраж) і стає блоком-приймачем.
Перший блок управління (N I) втрачає арбітраж з 3-го біта.
Третій блок управління (N III) втрачає арбітраж з 7-го біта.
Другий блок управління (N II) зберігає право доступу до шини даних CAN і може передавати своє повідомлення.
Інші блоки управління спробують передати свої повідомлення по шині даних CAN тільки після того, як вона знову звільниться. При цьому право передачі знову буде надаватися відповідно до пріоритетністю повідомлення по шині даних CAN.
Перешкоди можуть призводити до помилок в передачі даних. Такі, що виникають при передачі, помилки слід розпізнавати і усувати.
Протокол шини даних CAN розрізняє два рівня розпізнавання помилок:
· Механізми на рівні Data Frame (фрейм повідомлення);
· Механізми на рівні бітів.
Механізми на рівні Data Frame
На основі переданого по шині даних CAN повідомлення блок-передавач розраховує контрольні біти, які передаються разом з пакетом даних в поле «CRC Field» (контрольні суми). Блок-приймач заново обчислює ці контрольні біти на основі прийнятого по шині даних CAN повідомлення і порівнює їх з контрольними бітами, отриманими разом з цим повідомленням.
Цей механізм перевіряє структуру переданого блоку (фрейма), тобто перевіряються бітові поля з заданим фіксованим форматом і довжина фрейму.
Розпізнані функцією Frame Check помилки маркуються як помилки формату.
Механізми на рівні бітів
Кожен модуль при передачі повідомлення відстежує логічний рівень шини даних CAN і визначає при цьому відмінності між переданим і прийнятим бітом. Завдяки цьому забезпечується надійне розпізнавання глобальних і виникають в блоці-передавачі локальних помилок по бітам.
У кожному пакеті даних між полем «Start of Frame» і кінцем поля «CRC Field» має бути не більше 5 наступних один за одним бітів з однаковою полярністю.
Після кожної послідовності з 5 однакових бітів блок-передавач додає в потік бітів один біт з протилежного полярністю.
Блоки-приймачі видаляють ці біти після прийому повідомлення по шині даних CAN.
Якщо який-небудь модуль шини даних CAN розпізнає помилку, то він перериває поточний процес передачі даних, відправляючи повідомлення про помилку. Повідомлення про помилку складається з 6 домінантних бітів.
Завдяки повідомленням про помилку все підключені до шини даних CAN блоки управління сповіщаються про виниклу локальної помилку і відповідно ігнорують передане до цього повідомлення.
Після короткої паузи всі блоки управління знову зможуть передавати повідомлення по шині даних CAN, причому першим знову буде відправлено повідомлення з найвищим пріоритетом.
Блок управління, чиє повідомлення по шині даних CAN зумовило виникнення помилки, також починає повторну передачу свого повідомлення (функція Automatic Repeat Request).
Для різних областей управління застосовуються різні шини CAN. Вони відрізняються один від одного швидкістю передачі даних.
Швидкість передачі по шині даних CAN області «двигун і ходова частина» (CAN-C) становить 125 Кбіт / с, а шина даних CAN «Салон» (CAN-B) внаслідок меншої кількості особливо термінових повідомлень розрахована на швидкість передачі даних тільки 83 Кбіт / с.
Обмін даними між двома шинними системами здійснюється через так звані «міжмережеві шлюзи», тобто блоки управління, підключені до обох шинам даних.
Оптоволоконная шина D2B (Digital Daten-Bus) даних застосована для області «Аудіо / комунікації / навігація». Оптоволоконний кабель може передавати істотно більший обсяг інформації, ніж шина з мідним кабелем.
CAN C - шина «Двигун і ходова частина»
У крайовому блоці управління з кожного боку встановлений так званий узгоджувальний резистор шини даних з опором 120 Ом, підключений між обома проводами шини даних.
Шина даних CAN рухового відсіку активована тільки при включеному запалюванні.
До шині CAN-С підключено 7 блоків управління.
CAN B - шина «Салон»
Деякі блоки управління, підключені до шини даних CAN салону, активуються незалежно від включення запалювання (наприклад: система єдиного замку).
Тому шина даних CAN салону повинна знаходитися в режимі функціональної готовності навіть при вимкненому запаленні, це означає, що можливість передачі пакетів даних повинна бути забезпечена навіть при вимкненому запаленні.
З метою максимально можливого зниження споживаного струму спокою, шина даних CAN, при відсутності необхідних до передачі пакетів даних, переходить в режим пасивного очікування, і активується знову тільки при наступному доступі до неї.
Якщо в режимі пасивного очікування шини даних CAN салону будь-якої блок управління (наприклад, блок управління єдиного замку) передає повідомлення по шині даних CAN, то його приймає тільки головний системний модуль (електронний замок запалювання, EZS). Блок EZS зберігає це повідомлення у пам'яті і посилає сигнал активації (Wake-up) на всі блоки управління, підключені до шини даних CAN салону.
При активації, EZS перевіряє наявність всіх користувачів шини даних CAN, після чого передає збережене до цього в пам'яті повідомлення.
До шині CAN-В підключено 20 блоків управління.
Елементи мережі обміну даними (CAN)