Ремонт може шини в автомобілі. CAN-шина – як працює електроніка у сучасних автомобілях? CAN-шина: принцип роботи

Ремонт може шини в автомобілі. CAN-шина – як працює електроніка у сучасних автомобілях? CAN-шина: принцип роботи

Для того щоб упорядкувати роботу всіх контролерів, які полегшують керування та підвищують контроль керування автомобілем, використовується CAN-шина. Підключити пристрій до сигналізації машини можна своїми руками.

[ Приховати ]

Що таке CAN-шина та принцип її роботи

КАН-шина є мережею контролерів. Пристрій використовується для об'єднання всіх модулів автомобіля в одну робочу мережу із загальним проводом. Цей аксесуар складається з однієї пари кабелів, яка називається CAN. Інформація, що передається каналами з одного модуля на інший, надсилається в закодованому вигляді.

Схема підключення пристроїв до CAN-шини у Мерседесі

Які функції може виконувати CAN-шина:

  • підключення до автомобільної бортової мережі будь-яких девайсів та пристроїв;
  • спрощення алгоритму приєднання та функціонування допоміжних систем машини;
  • блок може одночасно отримувати та передавати цифрові дані з різних джерел;
  • використання шини знижує вплив зовнішніх електромагнітних полів на функціонування основних та допоміжних систем машини;
  • CAN-шина дозволяє прискорити процедуру передачі інформації до певних пристроїв та вузлів автомобіля.

Ця система працює у кількох режимах:

  1. Фон. Усі пристрої відключені, але на шину подається живлення. Величина напруги надто мала, тому розрядити акумуляторну батарею шина не зможе.
  2. Режим запуску. Коли автоаматор вставляє ключ у замок і провертає його або тисне кнопку Старта, відбувається активація пристрою. Включається опція стабілізації живлення, яке подається на контролери та датчики.
  3. Активний режим У цьому випадку між усіма контролерами та датчиками відбувається обмін даними. Працюючи в активному режимі параметр споживання енергії може бути збільшений до 85 мА.
  4. Режим засинання або вимкнення. При глушенні силового агрегату контролери КАН перестають працювати. При включенні режиму засипання всі вузли машини відключаються від бортової мережі.

Канал Віалон СУшка у своєму відео розповів про КАН-шину і що треба знати про її експлуатацію.

Плюси і мінуси

Які переваги має КАН-шина:

  1. Простота встановлення пристрою в автомобіль. Власнику машини не доведеться витрачати на монтаж, оскільки виконати це завдання можна самостійно.
  2. Швидкодія пристрою. Девайс дозволяє швидко обмінюватись інформацією між системами.
  3. Стійкість до дії перешкод.
  4. Всі шини мають багаторівневу систему контролю. Її використання дає можливість запобігти появі помилок при передачі та прийомі даних.
  5. У процесі функціонування шина автоматично розкидає швидкість різними каналами. Це дозволяє забезпечити оптимальну роботу всіх систем.
  6. Висока безпека пристрою, при необхідності система блокує несанкціонований доступ.
  7. Великий вибір пристроїв різних типів різних виробників. Можна вибрати варіант, призначений для конкретної моделі авто.

Які недоліки характерні для пристрою:

  1. У девайсах бувають обмеження за обсягом даних, що передаються. У сучасних автомобілях використовується безліч електронних девайсів. Їхня велика кількість призводить до високої завантаженості каналу передачі інформації. Це спричиняє збільшення часу відгуку.
  2. Більшість даних, що відправляються по шині, має конкретне призначення. На корисну інформацію приділяється невелика частина трафіку.
  3. У разі використання протоколу вищого рівня автовласник може зіткнутися з проблемою відсутності стандартизації.

Види та маркування

Найпопулярнішим типом шин є пристрої, розроблені Робертом Бошем. Девайс може функціонувати послідовно, тобто сигнал передається за сигналом. Такі пристрої називають Serial BUS. У продажу можна зустріти й паралельні шини Parallel BUS. Вони передача даних здійснюється за кількома каналами зв'язку.

Про різновиди, принцип дії, а також можливості КАН-шини можна дізнатися з відео, знятого каналом DIYorDIE.

З урахуванням різних типів ідентифікаторів можна виділити кілька видів пристроїв:

  1. КАН2, 0А Актив. Так маркуються пристрої, що підтримують 11-бітовий формат обміну даними. Ці вузли не позначають помилки імпульси 29-бітного вузла.
  2. КАН2, 0В Актив. Так маркуються аксесуари, що функціонують в 11-бітному форматі. Основна відмінність полягає в тому, що при виявленні ідентифікатора на 29 біт у системі вони будуть передавати на модуль управління повідомлення про помилку.

Треба врахувати, що у сучасних машинах такі типи пристроїв не застосовуються. Це пов'язано з тим, що робота системи має бути узгодженою та логічною. А в даному випадку вона може функціонувати за кількох швидкостей передачі імпульсів — на 125 або 250 кбіт/с. Нижча швидкість використовується для керування додаткових пристроїв, таких як освітлювальні прилади в салоні, електричні склопідйомники, склоочисники і т. д. Висока швидкість потрібна для забезпечення робочого стану трансмісії, силового агрегату, системи ABS тощо

Різновид функцій шин

Розглянемо, які існують функції у різних аксесуарів.

Девайс для автомобільного двигуна

При з'єднанні пристрою забезпечується швидкий канал передачі даних, яким інформація поширюється зі швидкістю 500 кбіт/с. Основне призначення шини полягає в синхронізації роботи модуля, що управляє, наприклад, коробки передач і мотора.

Пристрій типу Комфорт

Швидкість передачі даних цим каналом нижча і становить 100 кбіт/с. Функція такої шини полягає у з'єднанні всіх пристроїв, що належать до даного класу.

Інформаційно-командний девайс

Швидкість передачі даних така сама, як і у випадку з пристроями типу Комфорт. Головне завдання шини полягає в забезпеченні зв'язку між вузлами, що обслуговуються, наприклад, мобільним девайсом і системою навігації.

Шини різних виробників наведені на фото.

1. Пристрій для автомобільного ДВЗ 2. Інтерфейсний аналізатор

Чи можуть бути проблеми у роботі CAN-шин?

У сучасному авто цифрова шина використовується постійно. Вона працює одночасно з кількома системами, причому її каналами зв'язку постійно передається інформація. З часом у пристрої можуть виникнути проблеми. В результаті аналізатор даних функціонуватиме неправильно. При виявленні неполадок автовласник має знайти причину.

З яких причин виникають збої у роботі:

  • пошкодження чи обрив електроланцюгів пристрою;
  • відбулося замикання у системі на акумулятор чи масу;
  • могли замкнути системи КАН-Хай чи КАН-Лоу;
  • сталося пошкодження прогумованих перемичок;
  • розряд акумуляторної батареї або зниження напруги бортової мережі, викликане некоректною роботою генераторного пристрою;
  • сталася поломка котушки запалювання.

При пошуку причин враховуйте, що несправність може полягати у некоректній роботі допоміжних пристроїв, які встановлюються додатково. Наприклад, причина може полягати в неправильному функціонуванні протиугінної системи, контролерів та девайсів.

Про ремонт CAN-шини приладової панелі в автомобілі Ford Focus 2 можна дізнатися з ролика, знятого користувачем Brock - Video Corporation.

Процес пошуку несправності здійснюється так:

  1. Спочатку автовласник проводить діагностику стану системи. Доцільно здійснити комп'ютерну перевірку, щоб виявити всі проблеми.
  2. На наступному етапі проводиться діагностика рівня напруги та опору електричних кіл.
  3. Якщо все гаразд, то перевіряється параметр опору прогумованих перемичок.

Діагностика працездатності КАН-шини потребує певних навичок та досвіду, тому процедуру пошуку несправностей краще довірити фахівцям.

Як підключити сигналізацію по CAN-шині

Для підключення КАН-шини своїми руками до автосигналізації машини з автозапуском або без нього треба знати, де знаходиться блок керування протиугінною системою. Якщо установка сигналізації здійснювалася самостійно, процес пошуку не викличе складнощів у автовласника. Керуючий модуль зазвичай ставиться під панеллю приладів в районі рульового колеса або за контрольним щитком.

Як зробити процедуру підключення:

  1. Протиугінна система повинна бути встановлена ​​та підключена до всіх вузлів та елементів.
  2. Знайдіть товстий кабель оранжевого кольору, він підключається до цифрової шини.
  3. Адаптер протиугінної системи приєднується до контакту знайденої шини.
  4. Здійснюється монтаж пристрою в надійному та зручному місці, девайс фіксується. Потрібно заізолювати всі електричні ланцюги, щоб не допустити їх перетирання та витоку струму. Проводиться діагностика правильності виконаного завдання.
  5. На завершальному етапі налаштовуються всі канали забезпечення робочого стану системи. Також треба встановити функціональний ряд пристрою.

Кількість встановлених датчиків на сучасних моделях автомобілів часто дає змогу називати їх «комп'ютерами на колесах». Щоб упорядкувати управління численними електронними системами, була створена CAN-шина. Що це та які принципи її роботи, розглянемо у цій статті.

Історична довідка

Перші продукти автомобілебудівної галузі обходилися без електричних кіл. Для запуску двигуна автомобіля використовувався спеціальний магнітоелектричний пристрій, що виробляє електроенергію з кінетичної.

Однак поступово машини все більше обплутувалися проводами, і в 1970 році за ступенем напханості різними датчиками вони змагалися з літаками. І чим більше приладів розміщувалося в автомобілі, тим очевиднішою стала необхідність раціоналізації ланцюгів електропроводки.

Вирішення проблеми стало можливим з мікропроцесорною революцією і проходило в кілька етапів:

  • 1983 року німецький концерн «Bosch» розпочав розробку нового протоколу передачі даних для застосування в автомобілебудівній галузі;
  • Через три роки на конференції в Детройті цей протокол був офіційно представлений широкому загалу під назвою «Мережа простору датчиків» (Controller Area Network), або скорочено англійською CAN;
  • Практичною реалізацією німецького винаходу зайнялися компанії «Інтел» та «Філіпс». Перші прототипи датуються 1987;
  • У 1988 році автомобіль БМВ 8-ї серії став першою машиною, що зійшла з конвеєра, на якому всі датчики були організовані за технологією «КАН»;
  • Через три роки «Бош» оновила стандарт та додала нові характеристики;
  • У 1993 році стандарт «КАН» став міжнародним та отримав класифікатор ІСО;
  • 2001 року кожен чотириколісний засіб пересування в Європі в обов'язковому порядку став оснащуватися КАН-шиною;
  • У 2012 році вийшла нова версія шини: було підвищено швидкість передачі інформації, а також організовано сумісність із низкою нових пристроїв.

CAN-шина: принцип роботи

Шина включає лише пару проводів, приєднаних до єдиного мікрочіпа. По кожному кабелю передаються кілька сотень сигналів одночасно різні контролери автомобіля. Швидкість передачі даних можна порівняти з широкосмуговим інтернетом. Крім того, у разі потреби сигнал буде посилено до необхідного рівня.

Роботу технології можна розбити на кілька етапів:

  1. Фоновий режим- всі вузли системи вимкнені, але на КАН-мікрочіп продовжує надходити електроживлення. Рівень споживання енергії дуже малий і становить крихітні частки міліампер;
  2. Запуск- як тільки водій повертає ключ запалення (або натискає кнопку «Старт» для запуску двигуна - на деяких моделях автомобілів), система буквально «прокидається». Включається режим стабілізації живлення, що надходить на датчики;
  3. Активна робота- всі контролери обмінюються необхідною (як діагностичною, і поточної) інформацією. Рівень споживання електроенергії зростає на пікових навантаженнях до рекордних 85 міліампер;
  4. Засипання- як тільки вимикається двигун машини, датчики "КАН" миттєво перестають працювати. Кожен із вузлів системи самостійно відключається від електричної мережі та переходить у режим сну.

Що таке CAN-шина в автомобілі?

CAN стосовно автомобіля можна назвати «хребтом», до якого приєднуються всі електротехнічні пристрої. Сигнали мають цифровий формат, а провідники до кожного контролера підключені паралельно. Завдяки цьому досягається висока швидкодія мережі.

У сучасних автомобілях в єдину мережу об'єднані датчики з наступних пристроїв:

  • Двигун;
  • Коробка перемикання передач;
  • Еірбегі (подушки безпеки);
  • Антиблокувальна система;
  • Підсилювач рульового керування;
  • Запалювання;
  • Приладова панель;
  • Шини (контролери, що визначають рівень тиску);
  • «Двірники» на лобовому склі;
  • мультимедійна система;
  • Навігація (ГЛОНАСС, GPS);
  • Бортовий комп'ютер.

Застосування в інших галузях

Легкість і простота технології CAN розкривають можливості її застосування не тільки для залізних коней. Шина використовується також у таких областях:

  • Виробництво велосипедів. Японська марка «Сімано» анонсувала у 2009 році велосипед із багаторівневою системою управління механізму перемикання швидкостей на базі CAN. Ефективність цього кроку була настільки очевидною, що стопами «Сімано» вирішили піти й інші фірми - «Маранц» і «Байон-ікс». Останній виробник використовує шину системи прямого приводу;
  • Відома реалізація так званого "розумного будинку" за принципом CAN-шини. Безліч пристроїв, які можуть вирішувати певні завдання без участі людей (автоматичний полив трави на газоні, термостат, система відеоспостереження, керування освітленням, клімат-контроль тощо) об'єднані в єдину систему передачі даних. Щоправда, фахівці знаходять застосування суто автомобільної технології в людській оселі досить сумнівним. Серед слабких сторін такого кроку – відсутність єдиного міжнародного стандарту КАН для «розумних будинків».

Переваги і недоліки

"КАН-шина" цінується в машинобудуванні за такі позитивні якості:

  • Швидкодія: система пристосована до роботи за умов жорсткого цейтноту;
  • Відносна простота вбудовування у машину та невеликий рівень витрат на проведення монтажних робіт;
  • Підвищена толерантність до перешкод;
  • Багаторівнева система контролю, що дозволяє уникнути багатьох помилок у процесі виходу-входу даних;
  • Розкид швидкостей роботи дозволяє пристосуватися практично до будь-якої ситуації;
  • Підвищений рівень безпеки: блокування неавторизованого доступу ззовні;
  • Розмаїття стандартів, і навіть компаній-виробників. Палітра шин, що є на ринку, дозволяє знайти варіант навіть для найдешевшої машини.

Незважаючи на безліч переваг, технологія CAN не позбавлена ​​і низки слабких сторін:

  • Обсяг інформації, доступний для одночасної передачі в «пакеті даних», досить обмежений для сучасних вимог;
  • Значна частина даних, що передаються, має службове та технічне призначення. На власне корисні дані припадає мізерна частина трафіку у мережі;
  • Протокол вищого рівня не стандартизований.

Компанія «Бош» винайшла не лише свічку запалювання та паливний фільтр, а й своєрідний «інтернет» для датчиків автомобіля під назвою CAN-шина. Що це за стандарт у сфері зв'язування всіх контролерів в єдину нейромережу, стало відомо близько 30 років тому.

Відео: як працює can-шина в авто

У цьому ролику механік Артур Камалян розповість, для чого використовується can-шина в автомобілі та як до неї підключитися:

Шина CAN – Вступ

Протокол CAN є стандартом ISO (ISO 11898) у сфері послідовної передачі. Протокол було розроблено з прицілом використання у транспортних додатках. Сьогодні CAN набув широкого поширення та використовується в системах автоматизації промислового виробництва, а також на транспорті.

Стандарт CAN складається з фізичного рівня та рівня передачі даних, що визначає декілька різних типів повідомлень, правила вирішення конфліктів при доступі до шини та захист від збоїв.

Протокол CAN

Протокол CAN описаний у стандарті ISO 11898-1 і може бути коротко охарактеризований таким чином:

Фізичний рівень використовує диференціальну передачу даних по кручений парі;

Для керування доступом до шини використовується неруйнівний bit-wise дозвіл конфліктів;

Повідомлення мають малі розміри (здебільшого 8 байт даних) та захищені контрольною сумою;

У повідомленнях відсутні явні адреси, натомість кожне повідомлення містить числове значення, яке керує його черговістю на шині, а також може бути ідентифікатором вмісту повідомлення;

Продумана схема обробки помилок, що забезпечує повторну передачу повідомлень, якщо вони були отримані належним чином;
є ефективні засоби для ізоляції збоїв та видалення збійних вузлів із шини.

Протоколи вищих рівнів

Сам по собі протокол CAN визначає лише, як малі пакети даних можна безпечно перемістити з точки A до точки B за допомогою комунікаційного середовища. Він, як і слід очікувати, нічого не говорить про те, як керувати потоком; передавати велику кількість даних, ніж міститься в 8-байтне повідомлення; ні про адреси вузлів; встановлення з'єднання тощо. Ці пункти визначаються протоколом вищого рівня (Higher Layer Protocol, HLP). Термін HLP походить з моделі OSI та її семи рівнів.

Протоколи вищого рівня використовуються для:

Стандартизація процедури запуску, включаючи вибір швидкості передачі даних;

Розподіл адрес серед взаємодіючих вузлів або типів повідомлень;

Визначення розмітки повідомлень;
забезпечення порядку обробки помилок лише на рівні системи.

Користувальницькі групи тощо.

Одним з найбільш ефективних способів підвищення вашої компетентності в області CAN є участь у роботі, що здійснюється в рамках існуючих груп користувачів. Навіть якщо ви не плануєте брати активну участь у роботі, користувацькі групи можуть бути хорошим джерелом інформації. Відвідування конференцій є ще одним добрим способом отримання вичерпної та точної інформації.

Продукти CAN

На низькому рівні принципово розрізняють два типи продуктів CAN, доступних на ринку – мікросхеми CAN і інструменти розробки CAN. На вищому рівні – два інші продукти: модулі CAN та інструменти проектування CAN. Широкий спектр цих продуктів доступний на відкритому ринку.

Патенти в галузі CAN

Патенти, що стосуються додатків CAN, можуть бути різних типів: реалізація синхронізації та частот, передача великих наборів даних (у протоколі CAN використовуються кадри даних довжиною лише 8 байт) і т.п.

Системи розподіленого керування

Протокол CAN є гарною основою розробки систем розподіленого управління. Метод розв'язання конфліктів, що використовується CAN, забезпечує те, що кожен вузол CAN буде взаємодіяти з повідомленнями, що відносяться до даного вузла.

Систему розподіленого управління можна описати як систему, обчислювальна потужність якої розподілена між усіма вузлами системи. Протилежний варіант - система з центральним процесором та локальними точками введення-виведення.

Повідомлення CAN

Шина CAN відноситься до широкомовних шин. Це означає, що всі вузли можуть слухати всі передачі. Немає можливості надіслати повідомлення конкретному вузлу, всі без винятку вузли прийматимуть усі повідомлення. Обладнання CAN, однак, забезпечує можливість локальної фільтрації, так що кожен модуль може реагувати тільки на повідомлення, що його цікавить.

Адресація повідомлень CAN

CAN використовує відносно короткі повідомлення – максимальна довжина інформаційного поля становить 94 біти. У повідомленнях відсутня явна адреса, їх можна назвати контентно-адресованими: вміст повідомлення імпліцитно (неявно) визначає адресата.

Типи повідомлень

Існує 4 типи повідомлень (або кадрів), що передаються по шині CAN:

кадр даних (Data Frame);

Віддалений кадр (Remote Frame);

кадр помилки (Error Frame);

Кадр навантаження (Overload Frame).

Кадр даних

Коротко: "Усім привіт, є дані з маркуванням X, сподіваюся вам сподобаються!"
Кадр даних – найпоширеніший тип повідомлення. Він містить у собі такі основні частини (деякі деталі не розглядаються для стислості):

Поле арбітражу (Arbitration Field), яке визначає черговість повідомлення в тому випадку, коли за шину борються два або більше вузлів. Поле арбітражу містить:

У випадку CAN 2.0A, 11-бітний ідентифікатор і один біт, біт RTR який є визначальним для кадрів даних.

У випадку CAN 2.0B, 29-бітний ідентифікатор (який також містить два рецесивні біти: SRR та IDE) та біт RTR.

Поле даних (Data Field), що містить від 0 до 8 байт даних.

Поле CRC (CRC Field), що містить 15-бітну контрольну суму, пораховану більшості частин повідомлення. Ця контрольна сума використовується виявлення помилок.

Слот розпізнавання (Acknowledgement Slot). Кожен контролер CAN, здатний коректно отримати повідомлення, посилає біт розпізнавання (Acknowledgement bit) наприкінці кожного повідомлення. Приймач перевіряє наявність біта розпізнавання і, якщо такої не виявляється, надсилає повідомлення повторно.

Примітка 1: Присутність на шині розпізнавання біта не означає нічого, крім того, що кожен запланований адресат отримав повідомлення. Єдине, що стає відомо, це факт коректного отримання повідомлення одним або декількома вузлами шини.

Примітка 2: Ідентифікатор у полі арбітражу, незважаючи на назву, необов'язково ідентифікує вміст повідомлення.

Кадр даних CAN 2.0B (стандартний CAN).

Кадр даних CAN 2.0B ("розширений CAN").

Віддалений кадр

Коротко: «Усім привіт, хтось може зробити дані з маркуванням X?»
Віддалений кадр дуже схожий на кадр даних, але з двома важливими відмінностями:

Він явно позначений як віддалений кадр (біт RTR у полі арбітражу є рецесивним), і

Відсутнє поле даних.

Основним завданням віддаленого кадру є запит на надсилання належного кадру даних. Якщо, скажімо, вузол A пересилає віддалений кадр з параметром поля арбітражу рівним 234, то вузол B, якщо він належним чином ініціалізований, повинен надіслати у відповідь кадр даних з параметром поля арбітражу також рівним 234.

Віддалені кадри можна використовувати для реалізації керування трафіком шини типу «запит-відповідь». Насправді, проте, віддалений кадр використовується мало. Це не так важливо, оскільки стандарт CAN не наказує діяти саме так, як тут зазначено. Більшість контролерів CAN можна запрограмувати так, що вони будуть автоматично відповідати на віддалений кадр, або замість цього сповіщати локальний процесор.

Є один прийом, пов'язаний з віддаленим кадром: код довжини даних (Data Length Code) повинен бути встановлений довжині очікуваного повідомлення у відповідь. Інакше вирішення конфліктів не працюватиме.

Іноді потрібно щоб вузол, що відповідає на віддалений кадр, починав свою передачу як тільки розпізнавав ідентифікатор, таким чином заповнюючи порожній віддалений кадр. Це інший випадок.

Кадр помилки (Error Frame)

Коротко (всі разом, голосно): «О, ДОРОГОЮ, ДАВАЙ СПРОБУЄМО ЩЕ РОЗОК»
Кадр помилки (Error Frame) – це спеціальне повідомлення, яке порушує правила формування кадрів повідомлення CAN. Він посилається, коли вузол виявляє збій і допомагає іншим вузлам виявити збій – і вони теж надсилатимуть кадри помилок. Передавач автоматично спробує надіслати повідомлення повторно. Існує продумана схема лічильників помилок, що гарантує, що вузол не зможе порушити передачу даних по шині шляхом відсилання кадрів помилки, що повторюється.

Кадр помилки містить прапор помилки (Error Flag), що складається з 6 біт однакового значення (в такий спосіб порушуючи правило вставки бітів) і розмежувача помилки (Error Delimiter), що з 8 рецесивних біт. Розпушувач помилки надає деякий простір, в якому інші вузли шини можуть відправляти свої прапори помилки після того, як самі виявлять перший прапор помилки.

Кадр навантаження (Overload Frame)

Коротко: Я дуже зайнятий 82526 маленький, не могли б ви почекати хвилиночку?
Кадр навантаження згадується тут лише повноти картини. За форматом він дуже схожий на кадр помилки та передається зайнятим вузлом. Кадр навантаження використовується нечасто, т.к. сучасні контролери CAN досить продуктивні, щоб не використовувати. Фактично, єдиний контролер, який генеруватиме кадри навантаження – це застарілий 82526.

Стандартний та розширений CAN

Спочатку стандарт CAN встановив довжину ідентифікатора в полі арбітражу, що дорівнює 11 бітам. Пізніше, на вимогу покупців, стандарт було розширено. Новий формат часто називають розширеним CAN (Extended CAN), він дозволяє використовувати щонайменше 29 біт в ідентифікаторі. Для розрізнення двох типів кадрів використовується зарезервований біт полі управління Control Field.

Формально стандарти називаються так –

2.0A – лише з 11-бітними ідентифікаторами;
2.0B – розширена версія з 29-бітними або 11-бітовими ідентифікаторами (їх можна змішувати). Вузол 2.0B може бути

2.0B active (активним), тобто. здатним передавати та отримувати розширені кадри, або

2.0B passive (пасивним), тобто. він мовчки скидатиме отримані розширені кадри (але, дивіться нижче).

1.x - відноситься до оргінальної специфікації та її ревізій.

В даний час нові контролери CAN зазвичай належать до типу 2.0B. Контролер типу 1.x або 2.0A збентежиться, отримавши повідомлення з 29 бітами арбітражу. Контролер 2.0B пасивного типу прийме їх, упізнає, якщо вони вірні і потім скине; a контролер 2.0B активного типу зможе і передавати, і отримувати повідомлення.

Контролери 2.0B і 2.0A (як і 1.x) сумісні. Можна використовувати їх на одній шині до тих пір, поки контролери 2.0B утримуватимуться від розсилки розширених кадрів.

Іноді люди заявляють, що стандартний CAN "краще" розширеного CAN, тому що в повідомленнях розширеного CAN більше службових даних. Це необов'язково так. Якщо ви використовуєте поле арбітражу передачі даних, то кадр розширеного CAN може містити менше службових даних, ніж кадр стандартного CAN.

Основний CAN (Basic CAN) та повний CAN (Full CAN)

Терміни Basic CAN і Full CAN беруть початок у дитинстві CAN. Колись існував CAN-контролер Intel 82526, що надавав програмісту інтерфейс у стилі DPRAM. Потім з'явився Philips з моделлю 82C200, в якому застосовувалася FIFO-орієнтована модель програмування та обмежені можливості фільтрації. Для позначення різницю між двома моделями програмування, люди почали називати спосіб Intel – Full CAN, а спосіб Philips – Basic CAN. Сьогодні більшість контролерів CAN підтримують обидві моделі програмування, тому немає сенсу у використанні термінів Full CAN і Basic CAN – фактично, ці терміни можуть викликати плутанину і варто утриматися від їх вживання.

Насправді контролер Full CAN може взаємодіяти з контролером Basic CAN і навпаки. Проблеми із сумісністю відсутні.

Вирішення конфліктів на шині та пріоритет повідомлення

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

Будь-який контролер CAN може розпочати передачу, коли виявить, що шина простоює. Це може призвести до того, що два або більше контролерів почнуть передачу повідомлення (майже) одночасно. Конфлікт вирішується в такий спосіб. Передавальні вузли здійснюють моніторинг шини в процесі надсилання повідомлення. Якщо вузол виявляє домінантний рівень у той час, як він відправляє рецесивний рівень, він негайно усунеться від процесу вирішення конфлікту і стане приймачем. Вирішення конфліктів здійснюється по всьому полю арбітражу, і після того, як це поле відсилається, на шині залишається лише один передавач. Цей вузол продовжить передачу, якщо нічого не станеться. Інші потенційні передавачі спробують передати свої повідомлення пізніше, коли шина звільниться. У процесі вирішення конфлікту час не втрачається.

Важливою умовою для благополучного вирішення конфлікту є неможливість ситуації, коли два вузла можуть передати однакове поле арбітражу. З цього правила є один виняток: якщо повідомлення не містить даних, будь-який вузол може передавати це повідомлення.

Оскільки CAN-шина є шиною з приєднанням пристроїв на кшталт «монтажне І» (wired-AND) і домінантний біт (Dominant bit) є логічним 0, отже повідомлення з найнижчим у чисельному вираженні полем арбітражу виграє у вирішенні конфлікту.

Питання: Що станеться у випадку, якщо єдиний вузол шини спробує надіслати повідомлення?

Відповідь: Вузол, зрозуміло, виграє у вирішенні конфлікту та успішно проведе передачу повідомлення. Але коли настане час розпізнавання ... жоден вузол не відправить домінантний біт області розпізнавання, тому передавач визначить помилку розпізнавання, надішле прапор помилки, підвищить значення свого лічильника помилок передачі на 8 і почне повторну передачу. Цей цикл повториться 16 разів, потім передавач перейде у статус пасивної помилки. Відповідно до спеціального правила в алгоритмі обмеження помилок, значення лічильника помилок передачі більше не підвищуватиметься, якщо вузол має статус пасивної помилки і помилка є помилкою розпізнавання. Тому вузол здійснюватиме передачу вічно, до тих пір, поки хтось не розпізнає повідомлення.

Адресація та ідентифікація повідомлення

Повторимося, немає нічого страшного в тому, що в CAN повідомленнях немає точних адрес. Кожен контролер CAN отримуватиме весь трафік шини, і за допомогою комбінації апаратних фільтрів та ПЗ, визначатиме – «цікавить» його це повідомлення, чи ні.

Фактично, у протоколі CAN немає поняття адреси повідомлення. Натомість вміст повідомлення визначається ідентифікатором, який знаходиться десь у повідомленні. Повідомлення CAN можна назвати «контентно-адресованими».

Певна адреса працює так: Це повідомлення для вузла X. Контентно-адресоване повідомлення можна описати так: "Це повідомлення містить дані з маркуванням X". Різниця між цими двома концепціями мала, але суттєва.

Вміст арбітражного поля використовується, відповідно до стандарту, для визначення черговості повідомлення на шині. Всі контролери CAN будуть також використовувати все (деякі – тільки частина) поле арбітражу як ключ у процесі апаратної фільтрації.

Стандарт не каже, що поле арбітражу неодмінно має використовуватися як ідентифікатор повідомлення. Проте це дуже поширений варіант використання.

Примітка про значення ідентифікатора

Ми говорили, що ідентифікатор доступні 11 (CAN 2.0A) або 29 (CAN 2.0B) біт. Це не зовсім правильно. Для сумісності з певним старим контролером CAN (вгадайте яким?), ідентифікатори не повинні мати 7 старших біт встановлених в логічну одиницю, тому 11-бітним ідентифікаторам доступні значення 0..2031, а користувачі 29-бітних ідентифікаторів можуть використовувати 632.

Зауважте, що решта контролерів CAN приймають «неправильні» ідентифікатори, тому в сучасних системах CAN ідентифікатори 2032..2047 можуть використовуватися без обмежень.

Фізичні рівні CAN

Шина CAN

Шина CAN використовує код без повернення до нуля (NRZ) із вставкою бітів. Існують два різні стани сигналу: домінантний (логічний 0) і рецесивний (логічний 1). Вони відповідають певним електричним рівням, що залежать від фізичного рівня (їх кілька). Модулі підключені до шини за схемою «монтажне І» (wired-AND): якщо хоча б один вузол переводить шину в домінантний стан, то вся шина знаходиться в цьому стані, незалежно від того, скільки вузлів передають рецесивний стан.

Різні фізичні рівні

Фізичний рівеньвизначає електричні рівні та схему передачі сигналів по шині, повний опір кабелю тощо.

Існує кілька різних версій фізичних рівнів: Найбільш поширеним є варіант, визначений стандартом CAN, частина ISO 11898-2, і є двопровідною збалансованою сигнальною схемою. Він також іноді називається high-speed CAN.

Інша частина того ж стандарту ISO 11898-3 описує іншу двопровідну збалансовану сигнальну схему для менш швидкісної шини. Вона стійка до збоїв, тому передача сигналів може продовжуватись навіть у тому випадку, коли один із проводів буде перерізаний, замкнутий на «землю» або в стані Vbat. Іноді така схема називається low-speed CAN.

SAE J2411 визначає однопровідний (плюс «земля», очевидно) фізичний рівень. Він використовується в основному в автомобілях, наприклад GM-LAN.

Існує кілька пропрієтарних фізичних рівнів.

У минулі часи, коли драйверів CAN не існувало, використовувалися модифікації RS485.

Різні фізичні рівні зазвичай не можуть взаємодіяти між собою. Деякі комбінації можуть працювати (або здаватиметься, що вони працюють) у добрих умовах. Наприклад, приймачі high-speed і low-speed можуть працювати на одній шині лише іноді.

Абсолютна більшість мікросхем приймачів CAN вироблено компанією Philips; до інших виробників входять Bosch, Infineon, Siliconix і Unitrode.

Найбільш поширений приймач 82C250, в якому реалізований фізичний рівень, що описується стандартом ISO 11898. Удосконалена версія - 82C251.

Поширений приймач для «low-speed CAN» - Philips TJA1054.

Максимальна швидкість передачі даних по шині

Максимальна швидкість передачі даних по шині CAN, відповідно до стандарту, дорівнює 1 Мбіт/с. Однак, деякі контролери CAN підтримують швидкості вище 1 Мбіт/с і можуть бути використані в спеціалізованих додатках.

Low-speed CAN (ISO 11898-3, див. вище) працює на швидкостях до 125 кбіт/с.

Однопровідна шина CAN у стандартному режимі може передавати дані зі швидкістю близько 50 кбіт/с, а у спеціальному високошвидкісному режимі, наприклад для програмування ЕБУ (ECU), близько 100 кбіт/с.

Мінімальна швидкість передачі даних по шині

Майте на увазі, що деякі приймачі не дозволять вам вибрати швидкість нижче певного значення. Наприклад, при використанні 82C250 або 82C251 ви можете без проблем встановити швидкість 10 кбіт/с, але якщо ви використовуєте TJA1050, то не зможете встановити швидкість нижче 50 кбіт/с. Звіряйтесь зі специфікацією.

Максимальна довжина кабелю

При швидкості передачі даних 1 Мбіт/с, максимальна довжина кабелю, що використовується, може становити близько 40 метрів. Це пов'язано з вимогою схеми вирішення конфліктів, згідно з яким фронт хвилі сигналу повинен мати можливість дійти до найдальшого вузла і повернутися назад перш ніж біт буде рахований. Іншими словами, довжина кабелю обмежена швидкістю світла. Пропозиції щодо збільшення швидкості світла розглядалися, але були відкинуті через міжгалактичні проблеми.

Інші максимальні довжини кабелю (приблизні значення):

100 метрів за 500 кбіт/с;

200 метрів за 250 кбіт/с;

500 метрів за 125 кбіт/с;
6 кілометрів за 10 кбіт/с.

Якщо для забезпечення гальванічної ізоляції використовуються оптопари, то максимальна довжина шини відповідно скорочується. Порада: використовуйте швидкі оптопари та дивіться на затримку сигналу у пристрої, а не на максимальну швидкість передачі даних у специфікації.

Кінцеве переривання шини

Шина CAN стандарту ISO 11898 має закінчуватися термінатором. Це досягається шляхом встановлення резистора опором 120 Ом кожному кінці шини. Термінування служить двом цілям:

1. Забрати відображення сигналу на кінці шини.

2. Переконайтеся, що ви отримуєте коректні рівні постійного струму (DC).

Шина CAN стандарту ISO 11898 обов'язково має термінуватися незалежно від її швидкості. Я повторю: шина CAN стандарту ISO 11898 обов'язково має термінуватись незалежно від її швидкості. Для лабораторної роботи може вистачити одного термінатора. Якщо ваша шина CAN працює навіть за відсутності термінаторів – ви просто щасливчик.

Зауважте, що інші фізичні рівні, такі як low-speed CAN, однопровідна шина CAN та інші можуть вимагати, а можуть і не вимагати наявності кінцевого термінатора шини. Але ваша високошвидкісна шина CAN стандарту ISO 11898 завжди вимагатиме наявності хоча б одного термінатора.

Кабель

Стандарт ISO 11898 наказує, що хвильовий опір кабелю номінально повинен дорівнювати 120 Ом, проте допускається інтервал значень опору Ом.

Мало хто з присутніх сьогодні на ринку, кабелі задовольняють цим вимогам. Існує велика ймовірність, що інтервал значень опору буде розширено в майбутньому.

ISO 11898 описує кручену пару, екрановану або неекрановану. Триває робота над стандартом однопровідного кабелю SAE J2411.

Адміністратор

18702

Для того, щоб зрозуміти принципи роботи CAN-шини, ми вирішили написати/перекласти ряд статей, присвячених цій тематиці, як завжди, ґрунтуючись на матеріалах зарубіжних джерел.

Одним із подібних джерел, яке, як нам здалося, цілком слушно ілюструє принципи роботи CAN-шини, став відеоролик-презентація навчального продукту CANBASIC компанії Igendi Engineering (http://canbasic.com).

Ласкаво просимо до презентації нового продукту CANBASIC, навчальної системи (плати), присвяченої питанню функціонування шини КАН (CAN).

Ми розпочнемо з основ побудови мережі CAN-шини. На схемі наведено автомобіль із його системою освітлення.



Показано звичайне проведення, в якому кожна лампа безпосередньо підключена з будь-яким перемикачем або контактом педалі гальма.



Тепер аналогічна функціональність показана із застосуванням технології CAN-шини. Передні та задні світлові прилади підключені до контролюючих модулів. Контролюючі модулі з'єднані паралельно з такими ж проводами шини.



Цей невеликий приклад показує, що обсяг електропроводки знижується. До того ж модулі управління можуть виявляти лампи, що перегоріли, і інформувати про це водія.

Автомобіль на вказаному вигляді містить чотири модулі керування та чітко відображає побудову навчальної системи (плати) CANBASIC



У вищеописаному зазначено чотири вузли шини (CAN-вузла).

Передній модуль контролює передні світлові прилади.

Вузол сигналізації забезпечує контроль внутрішньої частини автомобіля.

Основний контрольний модуль з'єднує всі транспортні засоби для діагностики.

Задній вузол контролює задні світлові прилади.

На тренувальній дошці CANBASIC можна побачити маршрутизацію (розташування) трьох сигналів: «Харчування», «CAN-Hi» та «землі», що з'єднуються в контрольному модулі.



У більшості транспортних засобів для підключення головного модуля керування до ПК за допомогою діагностичного програмного забезпечення вам потрібний конвертер OBD-USB.



Плата CANBASIC вже містить OBD-USB конвертер і може бути безпосередньо підключена до ПК.

Живиться плата від USB, тому додаткові кабелі не потрібні.



Проводи шини використовуються передачі безлічі даних. Як це працює?

Як працює CAN-шина

Ці дані передаються послідовно. Ось приклад.

Людина з лампою передавач хоче надіслати якусь інформацію людині з телескопом, одержувачу (приймачу). Він хоче передати дані.



Для того, щоб зробити це, вони домовилися, що одержувач дивиться за станом лампи кожні 10 секунд.



Це виглядає так:







Через 80 секунд:



Тепер 8 біт даних були передані зі швидкістю 0,1 біт за секунду (тобто 1 біт за 10 секунд). Це називається послідовною передачею даних.



Для використання цього підходу в автомобільній програмі інтервал часу скорочується з 10 секунд до 0,000006 секунд. Для передачі за допомогою зміни рівня напруги на шині даних.



Для вимірювання електричних сигналів шини КАН використовують осцилограф. Два вимірювальні майданчики на платі CANBASIC дозволяють виміряти цей сигнал.



Щоб показати повне CAN-повідомлення, дозвіл осцилографа зменшується.



В результаті поодинокі CAN-біти більше не можуть бути розпізнані. Для вирішення цієї проблеми CANBASIC-модуль оснащений цифровим осцилографом, що запам'ятовує.

Ми вставляємо модуль CANBASIC у вільний роз'єм USB, після чого його буде автоматично виявлено. Програмне забезпечення CANBASIC можна запустити зараз.



Ви можете бачити вигляд програмного осцилографа із прикріпленими значеннями бітів. Червоним показано дані, передані у попередньому прикладі.

Щоб пояснити інші частини CAN-повідомлення, ми розфарбовуємо CAN-кадр і прикріплюємо на нього підписи з описом.



Кожна розфарбована частина CAN-повідомлення відповідає полю того ж кольору. Область, позначена червоним, містить інформацію про дані користувача, яка може бути задана у форматі бітів, напівбайтів або шістнадцятковому форматі.

Жовта область визначає кількість даних користувача. У зеленій зоні може бути встановлений унікальний ідентифікатор.

Синя область дозволяє встановити CAN-повідомлення для віддаленого запиту. Це означає, що очікується відповідь від іншого CAN-вузла. (Розробники системи самі рекомендують не користуватися віддаленими запитами з низки причин, що призводять до глюків системи, але про це буде інша стаття.)

Багато систем з шиною CAN захищені від перешкод другим каналом CAN-LO для передачі даних, що є інвертованим щодо сигналу CAN-HI (тобто йде той самий сигнал, тільки зі зворотним знаком).



Шість послідовних біт з однаковим рівнем визначають кінець CAN-кадра.



Так співпало, що інші частини CAN-кадра можуть містити більш як п'ять послідовних бітів з однаковим рівнем.



Щоб уникнути цієї бітової мітки, якщо з'являється п'ять послідовних бітів з однаковим рівнем, наприкінці CAN-кадра вставляється протилежний біт. Ці біти називають стафф-бітами (сміттєвими бітами). CAN-приймачі (отримувачі сигналу) ігнорують ці біти.



За допомогою полів введення можуть бути задані всі дані КАН-кадра і тому кожне повідомлення КАН може бути відправлено.

Вставлені дані негайно оновлюються в CAN-кадрі, в даному прикладі довжина даних буде змінена з одного байта на 8 байтів і зсунута назад на один байт.



Текст опису показує, що сигнал повороту керуватиметься за допомогою ідентифікатора «2С1» та біт даних 0 та 1. Усі біти даних скидаються на 0.



Ідентифікатор встановлений у значення "2С1". Для активації сигналу поворотів біт даних необхідно встановити з 0 на 1.



У режимі "в салоні" ви можете керувати всім модулем за допомогою простих клацань миші. Дані CAN встановлюються автоматично відповідно до бажаної дії.

Лампи поворотників можуть бути встановлені на ближнє світло для роботи як ДХО. Яскравістю керуватиме широтно-імпульсна модуляція (ШІМ), відповідно до можливостей сучасної діодної техніки.

Тепер ми можемо активувати фари ближнього світла, протитуманні фари, стоп-сигнали та далекого.



З відключенням ближнього світла протитуманні фари також вимикаються. Логіка керування світловою системою CANBASIC відповідає автомобілям марки Volkswagen. Особливості запалення та «повернення додому» також включені.

З сигнальним вузлом можна зчитувати сигнал датчика після ініціюючого віддаленого запиту.

У режимі віддаленого запиту другий CAN-кадр буде прийнятий і показаний нижче надісланого CAN-кадра.



Байт даних CAN тепер містить результат вимірювання датчика. З наближенням до датчика пальця можна змінити виміряне значення.



Клавіша паузи заморожує поточний CAN-кадр та дозволяє провести точний аналіз.

Як було показано, різні частини CAN-кадра можуть бути приховані.



Крім того, підтримується приховування кожного біта в КАН-кадрі.

Це дуже корисно, якщо ви хочете використовувати представлення CAN-кадра у ваших власних документах, наприклад, у аркуші вправ.

У цій статті не будемо повністю розписувати протокол CAN, а звернемо увагу лише на речі, які потрібно обов'язково знати і розуміти для використання або розробки електронних пристроїв з підтримкою CAN.

Протокол CAN був розроблений для автомобільної промисловості та згодом став стандартом у галузі створення бортових мереж автомобілів, залізничного транспорту тощо. CAN дозволяє створювати мережі з розвиненими засобами контролю помилок, швидкістю передачі до 1Мбіт/с і пакетами, що містять не більше восьми байтів даних.

Канальний та фізичний рівніCAN

У протоколі CAN немає строгого визначення фізичного рівня, тому передачі повідомлень може використовуватися, наприклад, кручена пара або оптоволокно. Насправді CAN реалізує канальний рівень, тобто. здійснює формування пакетів повідомлень, обмеження поширення помилок, підтвердження прийому та арбітражу. Є звичайно і поширені стандарти прикладного рівня, наприклад CANopen, але якщо немає необхідності забезпечувати взаємодію між обладнанням різних виробників, то краще використовувати внутрішній протокол.

Структура вузла мережіCAN

Вузол мережі CAN, що розглядається нами, складається з мікроконтролера, CAN контролера і приймача (рисунок 1). Найчастіше ми використовуємо мікроконтролери з вбудованим контролером CAN для спрощення схеми, але іноді використовується автономний контролер CAN з інтерфейсом SPI (MCP2510). Далі приймач підключається до кручений пари, на кінцях якої розміщені узгоджувальні резистори (термінатор) з опором 120 Ом.

Рисунок 1 – Вузол мережі CAN

Для формування логічної одиниці в кручений парі, або вільної шині, на обидва дроти подається напруга, що дорівнює половині різниці напруги між 0 або Vcc. Логічному нулю відповідає подача на дроти лінії диференціальної напруги (рисунок 2).




Рисунок 2 – Логічні рівні на CAN-шині

Шина CAN дозволяє передавати дані зі швидкістю 1 Мбіт/c при довжині кабелю не більше 40 м. У навчальній літературі написано, що при зниженні швидкості передачі до 10кбіт/с можна досягти довжини мережі 1.5км.

Пакет повідомленняCAN

Формат повідомлення CAN показаний малюнку 3.




Малюнок 3 – Пакет повідомлення CAN

За фактом пакет повідомлення формується CAN контролером, а прикладне програмне забезпечення лише встановлює ідентифікатор повідомлення, довжину повідомлення і надає байти даних, тому повністю розглядати пакет не будемо, а подивимося на дані, які ми змінюємо при роботі з CAN шиною.

Ідентифікатор повідомлення використовується для ідентифікації даних, надісланих у цьому пакеті. Кожне надіслане повідомлення приймається всіма вузлами мережі і в цьому випадку ідентифікатор дозволяє зрозуміти конкретному пристрою, чи потрібно обробляти повідомлення. Максимальна довжина повідомлення 8 байт, але можна зменшити значення для збереження пропускної здатності шини CAN. Наприклад нижче за текстом є кілька скріншотів CAN повідомлень з автомобільної мережі.

Арбітраж на шиніCAN

Якщо без подробиць, то першим шиною CAN завжди передається повідомлення з найменшим ідентифікатором.

Налаштування швидкості передачі даних по шиніCAN

Швидкість передачі даних CAN шині налаштовується за рахунок формування квантів часу, а не як у багатьох інших протоколах послідовної передачі даних за рахунок дільника швидкості. У більшості випадків використовуються швидкості 10Кбіт/c, 20Кбіт/c, 50Кбіт/c, 100Кбіт/c, 125Кбіт/c, 500Кбіт/c, 800Кбіт/c, 1MBaud та налаштування для цих швидкостей вже пораховані. На малюнку 4 зображено вікно вибору швидкості у програмі PcanView.



Рисунок 4 – Вибір швидкості передачі даних у програмі PcanView

Як ми бачимо при установці стандартної швидкості налаштування проставляються автоматично, але трапляються випадки, коли необхідно використовувати іншу швидкість передачі даних. Наприклад, бортовий CAN автомобіля може працювати зі швидкістю 83Кбіт/c. У цьому випадку доведеться здійснити розрахунок налаштувань самостійно або пошукати спеціалізований калькулятор швидкості в інтернеті. Для самостійного розрахунку швидкості необхідно розуміти, що передачі одного біта повідомлення використовується кілька квантів, а інтервал передачі складається з трьох сегментів (рисунок 5).




Рисунок 5 – Час передачі одного біта

Перший сегмент завжди фіксований і дорівнює одному кванту. Далі йде два сегменти Tseg1 і Tseg2 і кількість квантів у кожному сегменті визначається користувачем і може бути від 8 до 25. Точка вибірки знаходиться між Tseg1 і Tseg2, тобто. наприкінці першого та на початку другого сегмента. Також користувач може визначити ширину стрибка синхронізації (Synchronization Jump Width - SJW) для підстроювання бітової швидкості приймаючого пристрою, який може бути в діапазоні 1 - 4 квантів часу.

Тепер наведемо формулу розрахунку швидкості (Приклад розрахунку швидкості для CAN контролера SJA1000):

BTR = Pclk/(BRP * (1 + Tseg1 + Tseg2))

BTR – швидкість передачі,

Pclk – частота роботи CAN контролера,

BRP – значення розподільника частоти генератора швидкості передачі

Tseg1 – перший сегмент

Tseg2 – Другий сегмент

Для перевірки візьмемо вже пораховану швидкість 125Кбіт/c та спробуємо отримати налаштування вручну. Pclk візьмемо 16 МГц.

BRP = 16МГц / (125K * (1 + Tseg1 + Tseg2))

Потім підбираємо інтервал передачі біта, що знаходиться в діапазоні від 8 до 25 квантів часу, так що вийшло б ціле значення BRP. У разі якщо взяти (1 + Tseg1 + Tseg2) = 16, то BRP дорівнюватиме 30.

SP = ((1 + Tseg1 + Tseg2) * 70)/100

Підставляємо значення і отримуємо 16*0.7 = 11.2, що відповідає співвідношенню Tseg1 = 10, Tseg2 = 5, тобто. 1 + 10 + 5 = 16. Далі дивимося якщо Tseg2> = 5, то SJW = 4, якщо Tseg2< 5, то SJW = (Tseg2 – 1). В нашем случае SJW = 4.

Для отримання швидкості 125Кбіт/c необхідно в параметрах вказати, BRP = 30, Tseg1 = 10, Tseg2 = 5, SJW = 4.

P.S. Конфігурація baud rate значно відрізняється між старими модулями USB-CANmodul (GW-001 та GW-002) з контролером SJA1000 та новими модулями sysWORXX з контролером AT91SAM7A3. У статті описує роботу з бортовим CAN автомобіля на швидкості 83кбіт/c наведено розрахунок швидкості для контролера AT91SAM7A3.


Приклад отримання та передачі даних поCAN-інтерфейсу

У прикладі будемо використовувати CAN-адаптер із програмою PcanView від SYSTEC і підключимося до салонного CAN автомобіля, що працює зі швидкістю 125Кбіт/с. Розглянутий нами автомобіль оснащений кріслами з електроприводом і тому досліджуємо дані крісел, що відповідають за положення, і постараємося змінити положення спинки підмінивши пакет за допомогою комп'ютера.

Для початку на схемі автомобіля знаходимо найзручніше розташований роз'єм з лініями CANH і CANL і підключаємо до нього наш адаптер. Якщо роз'єм і дроти знайти не вийшло, то можна підлізти до блоку керування крісла, знайти там два скручені між собою дроти і акуратно надрізавши дроти підключити адаптер. Якщо після підключення та налаштування адаптера повідомлення не надходять, то в першу чергу спробуйте поміняти між собою CANH CANL і перевірити чи увімкнено запалювання.
Далі запускаємо програму PcanView, у вікні налаштувань встановлюємо Baudrate = 125Кбіт/c і натискаємо ОК (рисунок 4). У наступному вікні встановлюємо Message filter = Standard, діапазон адрес від 000 до 7FF та натискаємо ОК (рисунок 6).



Рисунок 6 – Налаштування CAN фільтра

Якщо все зроблено правильно, ми побачимо повідомлення від крісел (рисунок 7), а при натисканні кнопки нахилу спинки на пульті управління ми побачимо ще одне повідомлення з адресою 1F4 йде від пульта до крісла (рисунок 8).



Малюнок 7 – CAN повідомлення від крісла з електроприводом


Рисунок 8 – CAN повідомлення від крісла з електроприводом та повідомлення від пульта керування до крісла

Тепер ми знаємо які повинні бути адреса, довжина та дані в CAN пакеті для імітації натискання кнопки зміни положення спинки. У вкладці Transmit натискаємо NEW і у вікні створюємо копію пакета 1F4, тобто. ID = 1F4, Length = 3, Data = 40 80 00. Period можна залишити 0 ms, тоді повідомлення будуть надсилатись за фактом натискання кнопки пробіл (рисунок 9).



Малюнок 9 – Створення CAN повідомлення

На малюнку 10 відображено поле Transmit головного вікна, що містить всі повідомлення, що відправляються в CAN і інформацію про них. При виділенні повідомлення та натисканні кнопки пробіл відбудеться відправка пакета в CAN мережу і крісло трохи зрушить у потрібному напрямку.



Зрозуміло, що домогтися повноцінного управління кріслом у разі не вийде, т.к. ми не можемо виключити з мережі пакети заводського пульта управління, але ця проблема цілком вирішувана.

Підсумок

Ми побачили як за певних зусиль та навичок можна створювати власні електронні системи з використанням високотехнологічного протоколу CAN та як можна підключатися, досліджувати та керувати пристроями підключеними до автомобільної CAN шини.

© 2023 globusks.ru - Ремонт та обслуговування автомобілів для новачків