Инструменты пользователя

Инструменты сайта


boards:nms-uq7-komdiv-mk:peripherial:start

Это старая версия документа!


Использование периферии Q7_KOMDIV_MK

CAN

Пример CAN loopback:

Подключение

Соединить CAN интерфейсы следующим образом:

CAN0_H --- CAN1_H
CAN0_L --- CAN1_L
GND    --- GND

Настройка

Перед изменением скорости интерфейсы необходимо выключить:

ip link set can0 down
ip link set can0 type can bitrate 1000000 restart-ms 100
ip link set can0 up

ip link set can1 down
ip link set can1 type can bitrate 1000000 restart-ms 100
ip link set can1 up 

Скорость на обоих интерфейсах должна совпадать.

Приём

Приём всех кадров:

candump can0

Приём только кадров с идентификатором 123:

candump 'can0,123:7FF'

Отправка

Отправка кадра через can1:

cansend can1 123#1122334455667788

Где 123 — CAN ID, после # идут данные.

Остановка

ip link set can0 down
ip link set can1 down

Проверка состояния

 ip -details -statistics link show can0 

Нормальное состояние интерфейса:

 state ERROR-ACTIVE bitrate 1000000 

В статистике отображаются:

количество принятых пакетов — RX packets;

количество отправленных пакетов — TX packets;

ошибки приёма — RX errors;

ошибки передачи — TX errors.

UART

Подключение

Для loopback соедините:

 TX --- RX 

Настройка

 stty -F /dev/ttyS1 115200 raw -echo 

Приём

 cat /dev/ttyS1 

Отправка

В другом окне терминала:

 printf 'UART test' > /dev/ttyS1 

При loopback отправленная строка должна появиться в окне приёма.

I2C

Пример работы с VL53L0X:

Просмотр шин

i2cdetect -l
ls /dev/i2c-*

Поиск устройств

Для шины i2c-2:

i2cdetect -y 2

VL53L0X обычно доступен по адресу 0x29.

Чтение регистра

i2cget -y 2 0x29 0xC0

Где:

  • 2 — номер I²C-шины;
  • 0x29 — адрес устройства;
  • 0xC0 — адрес регистра.

Запись регистра

i2cset -y 2 0x29 0x00 0x01

Чтение нескольких байтов

i2ctransfer -y 2 w1@0x29 0x14 r12

Команда указывает датчику начать чтение с регистра 0x14, после чего получает 12 последовательных байт данных.

Чтение VL53L0X

chmod +x i2c-test.sh
./i2c-test.sh 2 20

Где:

  • 2 — номер I²C-шины;
  • 20 — количество измерений.

Пример результата:

Distance 1: 245 mm
Distance 2: 247 mm
Distance 3: 246 mm

SATA

boards/nms-uq7-komdiv-mk/peripherial/start.1785247324.txt.gz · Последнее изменение: Илья Ковальчук