Пакеты поддержки модулей для ЗОСРВ «Нейтрино» > ARMv7 > BSP для Xilinx Zynq 7000 > Описание компонентов > Список компонентов, входящих в состав ППМ > dev-can-xzynq



dev-can-xzynq

Драйвер CAN для контроллеров Xilinx Zynq 7000

Синтаксис:

dev-can-xzynq [can] [опции] [can [опции]]...

Где can - это can0 или can1.

Опции:

-b список
Автонастройка параметров работы контроллера.
Для опции -b переменная список определяет последовательность чисел, разделенных запятой.
По умолчанию - 125000,87.5.
Вводимые параметры:
bitrate
целевой битрейт (в бит/c)
[sample_point]
целевая точка выборки (в процентах, возможно десятичное значение)
-c список
Ручная настройка параметров работы контроллера.
Для опции -c переменная список определяет последовательность чисел, разделенных запятой.
Вводимые параметры:
brp
предделитель частоты тактирования CAN-контроллера (1-255)
tseg1
первый временной сегмент битового периода (0-15)
tseg2
второй временной сегмент битового периода (0-7)
sjw
максимальная ширина коррекции синхронизации (0-3)
-f число
Настройка частоты тактирования устройства.
По умолчанию - 24M.
Вводимые параметры:
clk
частота тактирования CAN-контроллера. Доступные значения (в МГц):
  • 12M
  • 24M
  • 48M
-D
Включить инициализацию мини-драйвера, если он присутствует и запущен (по умолчанию выключено).
-i список
Установить идентификатор сообщения для приема и передачи. Для опции -i переменная список определяет список целых чисел, разделенных запятой. Вводимые параметры:
midrx
Идентификатор принимаемого сообщения. Инкрементируется для каждого последующего почтового ящика
[midtx]
Идентификатор отправляемого сообщения
-L
Включить loopback режим.
По умолчанию - отключен.
-M
Включить сохранение полной информации о полученном сообщении (например, идентификатор сообщения, временная метка и т.д.).
-n число
Размер буфера сообщений почтового ящика каждого устройства (по умолчанию – 64).
-o
Установить передачу/приём данных с младшего бита (по умолчанию - со старшего бита).
-r
Задать количество приёмных (RX) почтовых ящиков (по умолчанию - 4).
-S
Включить сортировку сообщений mdriver на основе MID (по умолчанию все сохраняется на первом устройстве).
-T
Включить режим только прослушивания (по умолчанию отключен).
-u число
Добавить номер число к префиксу имени устройства (/dev/can). Значение по умолчанию – 1; дополнительным устройствам присваиваются номера в порядке возрастания.
-x
Включить расширенный 29-разрядный идентификатор сообщения CAN (по умолчанию используется стандартный 11-разрядный MID).

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

armv7

Описание:


Caution: Для запуска этого драйвера необходимо войти в систему под учетной записью root.


Caution: До запуска драйвера необходимо убедиться, что запущен менеджер ресурсов platform-control.

Драйвер шины CAN для контроллеров Xilinx Zynq 7000.

После запуска драйвер dev-can-xzynq создает устройства.
По умолчанию – /dev/can0/rx0 - /dev/can0/rx3 и /dev/can0/tx4.


Caution: Для достижения требуемой скорости передачи сообщений необходимо обеспечить нулевую погрешность скорости путем корректировки параметра sample_point.

Таблица проверенных корректных значений параметров для частоты 24 МГц

Bitrate (bps)
BRP
TSEG1
TSEG2
SJW
Sample point
125000
11
12
1
0
87.5
250000
5
12
1
0
87.5
500000
2
12
1
0
87.5
1000000
1
7
2
0
75

Функции драйвера:

Основные функции

Функция Поддержка
Режим Autobus
-
Режим Loopback
+
Ручная настройка параметров битрейта (TSEG1, TSEG2, SJW, BRP)
+
Расширенная операция записи через 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 на стандартный поток вывода или в лог
+

Примеры:

Запуск драйвера для двух контроллеров.
Для нулевого контроллера параметры, определяющие битрейт будут рассчитаны автоматически.
Для первого контроллера ручной ввод параметров, определяющих итоговую скорость передачи данных.

dev-can-xzynq can0 -b 250000 can1 -c 29,6,1,1

Классификация:

BSP для систем на базе процессора Xilinx Zynq 7000, драйверы




Предыдущий раздел: перейти