Wiren Board 4: Модуль расширения CAN

Материал из Wiren Board
Версия от 20:54, 14 августа 2015; EvgenyBoger (обсуждение | вклад) (Новая страница: «== Распиновка == Сигналы CAN выведены на клеммы модуля расширения O1-O3. Распиновка: * O1 - GND * O2…»)

Распиновка

Сигналы CAN выведены на клеммы модуля расширения O1-O3.

Распиновка:

  • O1 - GND
  • O2 - CAN Low (CAN-)
  • O3 - CAN High (CAN+)

Терминатор

Терминатор 120 Ом включается замыканием джампера на модуле расширения.

Конфигурация

Для работы с CAN, ядро Wiren Board необходимо сконфигурировать соответствующим образом.

В файле

 /boot/uEnv.txt  

нужно заменить строчку

fdt_file=/boot/dtbs/imx23-wirenboard41.dtb

на

fdt_file=/boot/dtbs/imx23-wirenboard41-can.dtb

и перезагрузить контроллер командой

reboot


См. статьи Просмотр файлов контроллера с компьютера и SSH.

Работа

CAN доступен в системе как сетевой интерфейс can0. Работа происходит через стандартную подсистему Linux SocketCAN.

Для удобной работы с CAN, нужно поставить пакет can-utils

can


Конфигурирование интерфейса

ip link set can0 up type can bitrate 125000


отправка 4 байтов c адресом 123:

cansend can0 123#DEADBEEF

показывать входящие пакеты:

candump can0

показать статистику:

cat /proc/net/can/stats


Обратите внимание, что в случае проблем на шине (нет терминатора, нет принимающего устройства, короткое замыкание), контроллер может прекратить работу. Для того, чтобы начать работу вновь, выполните

ifconfig can0 down && ip link set can0 up type can bitrate 125000


Больше информации смотрите в статье.