Чем отличается can от linux

Русские Блоги

Как протестировать и проверить интерфейс CAN под Linux

Предисловие

Как удобно протестировать и проверить интерфейс CAN во встроенном Linux — это проблема. Фактически, в системе Linux есть собственные программные инструменты для тестирования и проверки.

окружение

Оборудование: NXP IMX6Solox, Kvaser Can Card
Программное обеспечение: встроенный Linux, терминал управления последовательным портом, Kvaser CanKing
Используйте 2 провода для вывода CAN L и CAN H и подключения к карте CAN.

Метод работы

1. Найдите узел CAN

# ifconfig -a can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 NOARP MTU:16 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:30 can1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 NOARP MTU:16 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:31 eth0 Link encap:Ethernet HWaddr 72:5B:8C:6D:BF:77 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 

Если привод исправен, вы можете увидеть узел банки (can0 и can1 на рисунке выше).

Читайте также:  Linux посмотреть логи загрузки

2. Настройте узел банки.

Возьмем для примера узел can0

ifconfig can0 down ip link set can0 type can bitrate 500000 triple-sampling on ifconfig can0 up

3. Просмотрите состояние узла банки.

ip -details link show can0
# ip -details link show can0 2: can0: mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10 link/can promiscuity 0 can state STOPPED (berr-counter tx 0 rx 0) restart-ms 0 flexcan: tseg1 4..16 tseg2 2..8 sjw 1..4 brp 1..256 brp-inc 1 flexcan: dtseg1 1..39 dtseg2 1..8 dsjw 1..8 dbrp 1..1024 dbrp-inc 1 clock 30000000 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 

4. Отправлять и получать баночные сообщения.

Отправить сообщение: cansend;

# cansend can0 123#000102030405060708

Получать сообщения: candump

# candump can0 can0 001 [8] 01 02 03 04 05 06 07 08 can0 001 [8] 01 02 03 04 05 06 07 08 can0 001 [8] 01 02 03 04 05 06 07 08 can0 001 [8] 01 02 03 04 05 06 07 08 

В конце концов

Linux предоставляет полный набор инструментов программного обеспечения для жестяных банок, который значительно облегчает тестирование и проверку консервных банок.

Остающаяся проблема

1. Какой API используется для отправки и чтения CAN сообщений в Linux?

2. Почему система CAN под Linux устроена так?

Источник

Русские Блоги

Чтение этого блога — самое подробное из того, что я объяснил с тех пор, как я искал сообщения о банках, и программа, о которой я писал, очень хороша.

Конфигурация интерфейса CAN в системе Linux

В системе Linux устройство интерфейса шины CAN управляется системой как сетевое устройство. Под консолью для конфигурации CAN-шины и для конфигурации Ethernet используются одни и те же команды.

Введите команду на консоли:
ifconfig –a

может получить следующие результаты:

image_thumb.png

В приведенном выше результате устройство eth0 является интерфейсом Ethernet, а устройства can0 и can1 — двумя интерфейсами шины CAN. Затем используйте команду ip для настройки скорости передачи данных CAN-шины:

ip link set can0 type cantq 125 prop-seg 6phase-seg1 7 phase-seg2 2 sjw 1

Вы также можете использовать команду ip, чтобы напрямую установить битрейт:

ip link set can0 type can bitrate 125000

Когда настройка завершена, вы можете запросить настройки параметров устройства can0 с помощью следующей команды:

ip -details link show can0

После завершения настройки можно использовать следующую команду для включения устройства can0:

Читайте также:  What is performance monitoring in linux

Используйте следующую команду, чтобы отменить включение устройства can0:

Когда устройство работает, вы можете использовать следующую команду для запроса рабочего статуса:

ip -details -statistics link show can0

Разработка прикладной программы интерфейса CAN в системе Linux

Поскольку система управляет устройствами CAN как сетевыми устройствами, с точки зрения разработки приложений для шины CAN, Linux предоставляет интерфейс SocketCAN, который делает обмен данными по шине CAN аналогичным обмену данными с Ethernet. Разработка приложений Интерфейс стал более универсальным и гибким.

Кроме того, набор инструментов can-utils на основе SocketCAN, выпущенный через https://gitorious.org/linux-can/can-utils, также может реализовать простую связь по шине CAN.

Ниже конкретно представлен интерфейс разработки приложений, используемый при использовании SocketCAN для реализации связи.

Большинство структур данных и функций в SocketCAN определены в файле заголовка linux / can.h. Для создания разъема CAN-шины используется стандартная операция сетевого разъема. Сетевой сокет определен в заголовочном файле sys / socket.h. Метод инициализации сокета следующий:

Источник

Чем отличается CAN от LIN?

У нас есть 24 ответов на вопрос Чем отличается CAN от LIN? Скорее всего, этого будет достаточно, чтобы вы получили ответ на ваш вопрос.

  • Что значит 2 CAN 4 LIN?
  • Что такое Кан и Лин?
  • Что такое LIN шина в автомобиле?
  • Для чего нужен кан модуль?
  • Что такое 2 CAN?
  • Что значит LIN?
  • Что такое LIN в сигнализации?
  • Как работает Лин шина?
  • Как проверить Кан шину тестером?
  • Чем отличается CAN от LIN? Ответы пользователей
  • Чем отличается CAN от LIN? Видео-ответы

Уловите разницу – в шине CAN все узлы передают и ID кадра и данные. В шине LIN – заголовок пакета это задача Мастер-узла. Поле синхронизации – это просто байт = 0x55. При его передаче приемники подстраивают свою скорость.

Что значит 2 CAN 4 LIN?

2CAN+4LIN интерфейс позволяет реализовать больше настроек по штатным цифровым шинам автомобиля: например, обход штатного иммобилайзера, автоматический довод стекол, управление предпусковым подогревом двигателя и т. д.

Что такое Кан и Лин?

CAN шина (от англ. Controller Area Network) и LIN шина (от англ. Local Interconnect Network) — это цифровые шины, которые присутствуют на большинстве современных автомобилей. Служат они для минимизации проводов и как следствие удешевления себестоимости авто, ибо медь нынче дорога, а полупроводники дешевы.

Читайте также:  Sig чем открыть linux

Что такое LIN шина в автомобиле?

LIN -шина, это однопроводная цифровая шина для управления по одному проводу группой разнообразных исполнительных устройств, широко применяемая в современных автомобилях. Например двигателями заслонок климата, корректорами фар, замками и стеклоподъемниками дверей и т. п.

Для чего нужен кан модуль?

CAN модуль это цифровой адаптер CAN шины, он служит для контроля и чтения цифровых сигналов информационной CAN шины автомобиля и преобразования сигналов автосигнализации в цифровые сигналы автомобиля. При установке CAN модуля, вмешательство в штатную электропроводку Вашего автомобиля минимально!

Что такое 2 CAN?

Эквайринг и онлайн-касса от 2can – сервис платёжных и кассовых решений для малого и среднего бизнеса Ведите торговлю 24/7 в соответствии с 54-ФЗ везде, где вам это нужно. 2can разрабатывает решения для торговли на торговой точке, на выезде, в интернете, в соцсетях и на популярных маркетплейсах.

Что значит LIN?

ISO 17987 — стандарт промышленной сети, ориентированный на управление автомобильными системами низкой ответственности. Первоначально известен как LIN (англ. Local Interconnect Network).

Что такое LIN в сигнализации?

Что такое CAN и LIN Controller Area Network — сеть контроллеров) — стандарт промышленной сети, ориентированный, прежде всего, на объединение в единую сеть различных исполнительных устройств и датчиков. Режим передачи — последовательный, широковещательный, пакетный.

Как работает Лин шина?

Особенностью шины LIN является то, что в сети присутствует два вида узлов: Master и Slave, Master – ведущий, Slave – подчиненный. Frame – Response – данные которые отправляет Slave в ответ на запрос Master -а. Уловите разницу – в шине CAN все узлы передают и ID кадра и данные.

Как проверить Кан шину тестером?

Для проверки CAN-шины необходимо провести компьютерную диагностику автомобиля. Если она выявит неисправность именно в шине, нужно будет измерить напряжение на L и H с помощью мультиметра. В норме показания напряжения должны быть 4 Вольт. После этого осциллографом изучается сигнал на шине при включенном зажигании.

Источник

Оцените статью
Adblock
detector