Шина CAN (Controller Area Network) — це широко використовуваний протокол послідовного зв’язку, який особливо підходить для автомобільної та промислової автоматизації. Типи повідомлень на шині CAN можна розділити на наступні категорії, причому кожен тип має своє призначення та формат.
I. Кадр даних
Кадр даних є основним типом повідомлення на шині CAN і використовується для передачі даних між вузлами. Кадр даних складається з кількох сегментів, включаючи початок кадру, поле арбітражу, поле керування, поле даних, поле CRC, поле ACK і кінець кадру.
1. Початок кадру (SOF)
- Визначення: сегмент, що вказує на початок кадру даних, що складається з одного активного біта (логічний 0).
- Функція: коли шина неактивна, передавальний вузол надсилає початок кадру; інші приймальні вузли синхронізуються з цим бітом початку кадру.
2. Арбітражне поле
- Визначення: сегмент, що вказує на пріоритет кадру. Залежно від довжини ідентифікаційного коду арбітражного поля кадри класифікуються як стандартні (CAN 2.0A) і розширені (CAN 2.0B).
- Зміст: Арбітражне поле кадру стандартного-формату складається з 11-бітового ідентифікатора (ID) і біта запиту на віддалену передачу (RTR); арбітражне поле кадру розширеного формату складається з 29-бітового ідентифікатора та біта RTR.
- Функція: використовується для визначення типу кадру, що передається (кадр даних або кадр дистанційного керування) і формату кадру (стандартний кадр або розширений кадр), а також для встановлення пріоритету кадру.
3. Поле керування
- Визначення: поле, яке визначає кількість байтів у даних і зарезервованих бітів.
- Зміст: містить код довжини даних (DLC) і два зарезервованих біта (r0, r1). DLC вказує кількість байтів у полі даних, яке може варіюватися від 0 до 8 байт.
- Функція: інформує приймальний вузол про довжину поля даних, щоб дані могли бути отримані правильно.
4. Поле даних
- Визначення: зміст даних; Можна передати від 0 до 8 байт даних.
- Призначення: передача фактичної інформації даних.
5. Поле CRC (поле циклічної перевірки надмірності)
- Визначення: поле, що використовується для перевірки помилок передачі в кадрі, що складається з послідовності CRC і розділювача CRC.
- Функція: забезпечує цілісність і точність даних за допомогою перевірки CRC.
6. Поле ACK (Поле підтвердження)
- Визначення: сегмент, що вказує на підтвердження успішного прийому, що складається з слота ACK і розділювача ACK.
- Функція: коли приймач правильно отримує дійсне повідомлення, він надсилає позитивний біт передавача під час слота ACK для підтвердження отримання.
7. Кінець кадру (EOF)
- Визначення: сегмент, що вказує кінець кадру даних, що складається з 7 негативних бітів.
- Функція: сигналізує про кінець кадру даних.
II. Дистанційна рамка
Віддалений кадр використовується для запиту передачі кадру даних з таким самим ідентифікатором. Коли приймаючому вузлу потрібні певні дані, але він їх не має, він надсилає віддалений кадр із запитом, щоб передаючий вузол надіслав відповідний кадр даних. Структура віддаленого кадру подібна до структури кадру даних, але сегмент даних порожній, а біт RTR встановлено в 1.
III. Рамка помилки
Кадр помилки складається з двох полів: прапора помилки та роздільника помилки. Коли приймальний вузол виявляє помилку в повідомленні на шині, він автоматично передає «прапор активної помилки»; інші вузли, виявивши активний прапор помилки, надсилають «прапор підтвердження помилки». Передача кадру помилки перериває поточний зв'язок шини, доки помилку не буде усунено.
IV. Кадр перевантаження
Кадр перевантаження складається з позначки перевантаження та роздільника перевантаження. Кадр перевантаження передається, коли вузлу-одержувачу потрібен надмірний час для обробки поточних даних перед отриманням наступного кадру, або коли в полі міжкадрового простору виявлено домінуючий рівень. Передача кадру перевантаження затримує передачу наступних кадрів, щоб переконатися, що зв'язок на шині не переривається через перевантаження.
V. Інші типи повідомлень
На додаток до чотирьох основних типів повідомлень, згаданих вище, протокол шини CAN визначає кілька інших спеціальних типів повідомлень, таких як міжкадровий простір і типи повідомлень N_PCI (наприклад, один кадр, початковий кадр, безперервний кадр, кадр керування потоком тощо). Ці типи повідомлень використовуються в конкретних сценаріях зв’язку для задоволення різних вимог до зв’язку.
Резюме
Типи повідомлень на шині CAN включають базові типи, такі як кадри даних, кадри дистанційного керування, кадри помилок і кадри перевантаження, а також спеціальні типи, такі як Interframe Space і типи повідомлень N_PCI. Кожен тип повідомлення має свою особливу структуру та призначення, разом утворюючи основу зв’язку по шині CAN. У практичних застосуваннях вибір відповідного типу повідомлення для передачі даних на основі конкретних вимог зв’язку забезпечує надійний і ефективний зв’язок.




