Рубрики
*NIX информация

can / can-utils

Link:

https://github.com/WeActStudio/WeActStudio.USB2CANFDV1
https://github.com/zephyrproject-rtos/zephyr/blob/main/boards/weact/usb2canfdv1/doc/index.rst

Подключение:

Провода: 
CANH <>  CANH
CANL <>  CANL
GND  <>  GND
Линия: Используйте витую пару.
Терминация: Убедитесь, что на обоих концах линии стоят резисторы 120 Ом.

Установка can-utils в debian

can-utils: 
Набор консольных утилит для Linux (cansend, candump и др.). 
Чтобы использовать их, адаптер нужно подключить через драйвер slcan, 
который создаст сетевой интерфейс slcan0.

apt update
apt install can-utils

Еще про подключение can:

CanH <-> CanP
CanL <-> CanR
GND <-> GND

screen

screen /dev/ttyACM0 115200

Все команды должны заканчиваться символом [CR] (Carriage Return), который вы получите, нажав Enter.
O — Открыть CAN-канал
C — Закрыть CAN-канал
S3 — Установить скорость 100 кбит/с (по умолчанию стоит S4 для 125 кбит/с)
M0 — Установить обычный режим (по умолчанию)
M1 — Установить "тихий" режим (только прием)

Выход из screen: Ctrl+A, затем \, и подтвердите y.

Не обходимые модули ядра:

modprobe can
modprobe can_raw
modprobe slcan

can-utils


0. Создание интерфейса с помощью scland
slcand -o -s8 -t hw -S 3000000 /dev/ttyACM0
-o - Открыть CAN-канал автоматически
-s8 -Установить скорость CAN в 1 Мбит/с
-t hw - Использовать аппаратные метки времени
-S 3000000 - Установить скорость обмена с адаптером по USB (обычно 921600 или 3000000)
/dev/ttyACM0 - Путь к вашему устройству
Если вам нужна скорость 500 кбит/с, замените -s8 на -s6
По умолчанию многие CAN-устройства используют 500 кбит/с (код 6) или 125 кбит/с (код 4)

1. Активация интерфейса:
ip link set up slcan0


2. Проверка, прослушивание:
candump can0
candump can0,123:7FF
candump -l can0


3. Отправка сообщений:
Синтаксис: cansend <интерфейс> #<Данные>
cansend slcan0 123#DEADBEEF


4. Генерация трафика для тестов
cangen can0
cangen can0 -g 0 -p 1

5. Отслеживание изменений
cansniffer can0


6. Воспроизведение записанного трафика 
canplayer -I <файл_лога> slcan0


7. Загруженности вашей CAN-сети
canbusload
canbusload can0@1000000 -r -t -b -c
can0@1000000 – скорость в бит/с (1 000 000).
-r – обновление в реальном времени.
-t – показывать время.
-b – графическая шкала.
-c – цвет.

8. Для проверки задержек
canfdtest

can

ip link set can0 type can bitrate 500000
ip link set can0 up

Проверка текущего битрейта

ip -details link show can0