Протокол передачі даних
Передача даних у шині CAN виконується за протоколом у вигляді обміну повідомленнями між блоками управління через дуже короткі проміжки часу.
Протокол передачі даних складається з послідовності біт інформації, що передаються один за одним. Число біт у протоколі передачі залежить від розміру поля даних.
На наступному малюнку схематично зображено структуру протоколу передачі даних. Структура обох проводів шини даних аналогічна. Для полегшення засвоєння матеріалу на малюнках зображено лише один провід.
Структура протоколу передачі завжди відповідає стандартним фреймам (кадрам). Фрейм складається із семи послідовно розташованих полів даних.
Біт – мінімальна одиниця передачі.
В електроніці біту може бути надано одне з двох можливих значень: «0» або «1» («так» або «ні»).
Поля даних
Початок фрейму означає початок протоколу передачі.
Арбітражне поле використовується для визначення пріоритету протоколу передачі даних. Наприклад, якщо двом блокам керування потрібно надіслати повідомлення одночасно, першим надсилає повідомлення блок керування з вищим пріоритетом. Крім того, воно використовується для визначення змісту повідомлення (наприклад, обертів двигуна).
У контрольному полі у вигляді коду записується кількість елементів інформації у полі даних. Цим забезпечується можливість для кожного приймача перевірити, чи отримано всі необхідні дані.
У полі даних передаються елементи даних, які є важливими для інших блоків керування. У цьому полі міститься найбільше інформації: від 0 до 64 біт (від 0 до 8 байт).
Поле безпеки використовується для виявлення помилок у процесі передачі даних.
Поле підтвердження містить сигнал приймача передавачу про те, що протокол даних успішно виконано. У разі виявлення помилки інформація про це негайно передається передавачу, після чого надсилання повідомлення повторюється.
Кінець фрейму призначений для перевірки передавачем протоколу даних та відправки приймачеві підтвердження про його безпомилкове виконання. У разі виявлення помилки, передача даних негайно припиняється, а потім виконується повторно. Після цього протокол передачі вважається виконаним.