Привет, сетевой друг!
Продолжим про CAN-шину. Сегодня глянем на настройку по шагам и чуть затронем инструменты.
🟣Настройка микроконтроллера:
1️⃣GPIO - CAN: Переведите нужные пины в альтернативную функцию (CAN_TX / CAN_RX).
2️⃣Тактирование: Включите клоки/тактирование для CAN-модуля внутри MCU.
3️⃣Прерывания: Задайте IRQ для обработки событий (приём, ошибки, передача).
4️⃣Буферы и фильтры: Настройте message buffers и фильтры по ID, чтобы MCU принимал только «свои» пакеты.
5️⃣Битовая скорость: Самый важный параметр: рассчитайте тайминги (sync, prop, seg1, seg2) исходя из длины шины и скорости. Ошибки тут = проблемы с арбитражем.
6️⃣Callback’и: Определите обработчики для входящих сообщений и ошибок.
7️⃣Сохранение конфигурации: Запишите настройки (битрейт, фильтры) в NVRAM — при перезагрузке это сэкономит время.
🟣Что по инструментам: USB-CAN адаптеры (MCP2515-специфичные модули, TCAN4550, SYS TEC, Peak/PCAN) — основной стартовый инструмент: подключил к ПК и смотришь весь трафик. Для low-level анализа полезны логические анализаторы и осциллографы — они позволяют увидеть фронты, уровни CAN_H/CAN_L и проверить терминировку.
Серверная Админа | #CAN #CANшина
