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

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


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: 87 mm
Distance 2: 65 mm
Distance 3: 71 mm
Distance 4: 68 mm
Distance 5: 74 mm
Distance 6: 65 mm
Distance 7: 74 mm
Distance 8: 104 mm
Distance 9: 122 mm
Distance 10: 169 mm
Distance 11: 281 mm
Distance 12: 364 mm
Distance 13: 298 mm
Distance 14: 185 mm
Distance 15: 112 mm
Distance 16: 89 mm
Distance 17: 76 mm
Distance 18: 69 mm
Distance 19: 65 mm
Distance 20: 70 mm

SATA

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