Wiren Board 4: Модуль расширения CAN: различия между версиями

Материал из Wiren Board
(Новая страница: «== Распиновка == Сигналы CAN выведены на клеммы модуля расширения O1-O3. Распиновка: * O1 - GND * O2…»)
 
 
(не показана 1 промежуточная версия этого же участника)
Строка 42: Строка 42:
CAN доступен в системе как сетевой интерфейс can0. Работа происходит через стандартную подсистему Linux SocketCAN.
CAN доступен в системе как сетевой интерфейс can0. Работа происходит через стандартную подсистему Linux SocketCAN.


Для удобной работы с CAN, нужно поставить пакет can-utils
Подробности смотрите в статье [[CAN]].
<pre>
can
</pre>
 
 
Конфигурирование интерфейса
 
<pre>
ip link set can0 up type can bitrate 125000
</pre>
 
 
отправка 4 байтов c адресом 123:
 
<pre>
cansend can0 123#DEADBEEF
</pre>
 
показывать входящие пакеты:
 
<pre>
candump can0
</pre>
 
показать статистику:
 
<pre>
cat /proc/net/can/stats
</pre>
 
 
Обратите внимание, что в случае проблем на шине (нет терминатора, нет принимающего устройства, короткое замыкание), контроллер может прекратить работу.
Для того, чтобы начать работу вновь, выполните
 
<pre>
ifconfig can0 down && ip link set can0 up type can bitrate 125000
</pre>
 
 
Больше информации смотрите в [http://www.armadeus.com/wiki/index.php?title=CAN_bus_Linux_driver статье].

Текущая версия на 23:46, 18 марта 2016

Распиновка

Сигналы 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.