Драйвер CAN для контроллеров Rockchip RK3568/RK3588
dev-can-rockchip chip=name [can] [опции] [can [опции]]...
Где can это can0, can1 или can2
rk3568, rk3588.отключен.125000, 87.5. 1-64) 0-15) 0-7) 0-3) 300. 50 100 300 0x0, 0x0, 0x0, 0x0, 0x0, 0x0. ID, который определяет, какие сообщения устройство будет принимать отключен.0x0, 0x0, 0x0, 0x0, 0x0, 0x0. 0, игнорируется (замаскирован). 1, проверяется на соответствие cid. 1000.1.одиночная.0x0.отключены.ЗОСРВ «Нейтрино»
aarch64
| Для запуска этого драйвера необходимо войти в систему под учетной записью root. |
Драйвер шины CAN для контроллеров RK3568/RK3588.
После запуска драйвер dev-can-rockchip создает устройства.
По умолчанию – /dev/can0/rx0 и /dev/can0/tx1.
| Для достижения требуемой скорости передачи сообщений необходимо обеспечить нулевую погрешность скорости путем корректировки параметра sample_point. |
| При возникновении аппаратных ошибок (получении прерываний overload_int) кадры не передаются. Контроллер сбрасывается. При восстановлении цепи, будут переданы только вновь отправленные сообщения. |
| Аппаратный фильтр контроллера включен на прием всех входящих сообщений. Дополнительные аппаратные фильтры не задействуются. Драйвер работает с программными фильтрами по правилу: <received_can_id> & mask == can_id & mask. |
| Физический CAN-кадр использует либо 11-битный (стандартный), либо 29-битный (расширенный) идентификатор. Для указания типа ID в 32-битной переменной применяются управляющие флаги: Установите бит 31 (0x80000000), чтобы использовать расширенный ID (29 бит). Установите бит 30 (0x40000000), чтобы отправить RTR-кадр (без данных). Остальные младшие биты (0–28) содержат непосредственно значение ID. |
| Bitrate (bps) | BRP | TSEG1 | TSEG2 | SJW |
|---|---|---|---|---|
| 125000 | 59 | 14 | 3 | 1 |
| 250000 | 59 | 6 | 1 | 1 |
| 500000 | 29 | 6 | 1 | 1 |
| 500000 | 14 | 14 | 3 | 1 |
| 1000000 | 14 | 5 | 2 | 2 |
Основные функции
| Функция | Поддержка |
|---|---|
| Режим Autobus | + |
| Режим Loopback | + |
| Ручная настройка параметров битрейта (TSEG1, TSEG2, SJW, BRP) | + |
| Аппаратная фильтрация по ID с маской для каждого приёмного ящика | + |
Расширенная операция записи через CAN_DEVCTL_WRITE_CANMSG_EXT | + |
Расширенная операция чтения через CAN_DEVCTL_READ_CANMSG_EXT | + |
| Дублирование принятых сообщений между приёмными почтовыми ящиками при пересечении фильтров | + |
Установка идентификатора передаваемого кадра для конкретного mailbox’а через CAN_DEVCTL_SET_MID | + |
Чтение текущего идентификатора mailbox’а через CAN_DEVCTL_GET_MID | + |
Расширенные функции
| Функция | Поддержка |
|---|---|
| CAN FD | - |
| Аппаратный RX/TX FIFO | - |
| Режим Listen-Only | - |
| Передача/приём через DMA | - |
| Режим тройной выборки битрейта | + |
| Автоматический расчёт параметров битрейта по заданной скорости | + |
| Несколько независимых аппаратных mailbox’ов для передачи | - |
| Несколько независимых аппаратных mailbox’ов для приёма | + |
Сброс CAN-контроллера через CAN_DEVCTL_RESET | + |
Чтение регистров ошибок через CAN_DEVCTL_ERROR | - |
Установка маски фильтра для конкретного приёмного mailbox’а через CAN_DEVCTL_SET_MFILTER | + |
Чтение маски фильтра конкретного приёмного mailbox’а через CAN_DEVCTL_GET_MFILTER | + |
Настройка локального приоритета отправки кадров через CAN_DEVCTL_SET_PRIO | - |
Чтение локального приоритета отправки кадров через CAN_DEVCTL_GET_PRIO | - |
Сброс счётчика временных меток через CAN_DEVCTL_SET_TIMESTAMP | - |
Чтение текущего значения счётчика временных меток через CAN_DEVCTL_GET_TIMESTAMP | + |
Вывод отладочной информации через CAN_DEVCTL_DEBUG_INFO на стандартный поток вывода или в лог | + |
Запуск драйвера для двух контроллеров на Rockhip 3568.
Для нулевого контроллера включен режим autobus. Параметры, определяющие битрейт
будут расчитаны автоматически.
Также включена запись отладочной информации в системный журнал.
Для первого контроллера ручной ввод параметров, определяющих итоговую скорость передачи данных.
dev-can-rockchip chip=rk3568 can0 -A -b 250000,87 -v can1 -c 29,6,1,1
BSP для систем на базе процессоров Rockchip RK3568, RK3588, драйверы
Предыдущий раздел: перейти