- Русские Блоги
- Как протестировать и проверить интерфейс CAN под Linux
- Предисловие
- окружение
- Метод работы
- 1. Найдите узел CAN
- 2. Настройте узел банки.
- 3. Просмотрите состояние узла банки.
- 4. Отправлять и получать баночные сообщения.
- В конце концов
- Остающаяся проблема
- Русские Блоги
- Чем отличается CAN от LIN?
- Что значит 2 CAN 4 LIN?
- Что такое Кан и Лин?
- Что такое LIN шина в автомобиле?
- Для чего нужен кан модуль?
- Что такое 2 CAN?
- Что значит LIN?
- Что такое LIN в сигнализации?
- Как работает Лин шина?
- Как проверить Кан шину тестером?
Русские Блоги
Как протестировать и проверить интерфейс 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 на рисунке выше).
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
может получить следующие результаты:
В приведенном выше результате устройство 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:
Используйте следующую команду, чтобы отменить включение устройства 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) — это цифровые шины, которые присутствуют на большинстве современных автомобилей. Служат они для минимизации проводов и как следствие удешевления себестоимости авто, ибо медь нынче дорога, а полупроводники дешевы.
Что такое 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 Вольт. После этого осциллографом изучается сигнал на шине при включенном зажигании.