1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/H712-T4

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
UserGuide.md 20 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 16:17 ffbc2d8

2.3 Камера

TITAN4 имеет 8 камер с протоколом FPD-LINK III и 16 камер с GMSL. Каждый видеосигнал, поступающий в TITAN4, после декодирования преобразуется в MIPI-CSI2 и затем поступает в систему. Поэтому необходимо подобрать соответствующую камеру. Напряжение на каждом порту составляет 12 В, а ток — более 100 мА. Имеется функция защиты от короткого замыкания.

Протокол Декодер Подключённый кодер Датчик изображения Параметры
FPD-LIN UB954 UB953 OV2775 Максимальное разрешение 1080p, 30 кадров в секунду
GMSL MAX9296A MAX9295A IMX390 Максимальное разрешение 1080p, 30 кадров в секунду

Подключение:

  • 8 портов FPD-Link, FAKRA8–1;
  • 16 портов GMSL, 4-контактный разъём MATE-AX4–1.

MATE-AX — это соединительный кабель, который используется для подключения.

16 портов камеры GMSL подключаются следующим образом:

MATE-AX4 MATE-AX3 MATE-AX2 MATE-AX1
Номер порта

При использовании 8 портов FPD или 16 портов GMSL каждая камера соответствует двум Xavier. То есть порты FPD Link 1–4 соответствуют Xavier-1, порты 5–8 соответствуют Xavier-2, порты GMSL 1–8 соответствуют Xavier-1 и порты 9–16 соответствуют Xavier-2. Каждая камера имеет соответствующий сервисный идентификатор.

Сервисный идентификатор 0 1 2 3 4 5 6 7
Xavier1 FPD, GMSL Порт 1 Порт 2 Порт 3 Порт 4 Порт 5
Xavier2 FPD, GMSL Порт 5, Порт 9 Порт 6, Порт 10 Порт 7, Порт 11 Порт 8, Порт 12 Порт 13

Чтобы открыть камеру на определённом порту, используйте команду ./open1camera.sh [Сервисный идентификатор] в каталоге ~/script. Например, чтобы открыть порт 9, введите ./open1camera.sh 0 в каталоге /home/titan/script Xavier2. Аналогично, команда ./open2camera.sh 0 1 откроет камеры с идентификаторами 0 и 1 одновременно, а команда ./open4camera.sh откроет 4 камеры с идентификаторами от 0 до 3 одновременно.

Если из-за ошибки операции или по другой причине возникает зелёный экран или изображение зависает, введите команду sudo ./kill_nvcamera.sh, а затем пароль (по умолчанию titan4) в каталоге ~/script, чтобы снова открыть камеру. Камеры GMSL нельзя подключать и отключать во время работы, необходимо отключить питание и перезагрузить устройство после подключения.

Значение эквалайзера можно изменить в /sys/module/ov2775/parameters, чтобы настроить длину линии. Значение по умолчанию равно 5. Рекомендуется установить значение примерно в 1,5 раза больше длины линии.

2.4 SPI

Контроллер SPI может использоваться для обмена данными между Xavier и FPGA. Подробные функции см. в определении регистра SPI. Пример метода чтения и записи:

  • Многобайтовое чтение SPI: spidev_test -v -D /dev/spidev1.0 -s 25000000 -p SPIR\\x05\\x00abcde. Можно запросить номер оборудования и номер версии программного обеспечения FPGA, ответ будет RX | RX | 00 00 00 00 00 00 00 E3 02 00 08. Среди них 00 00 00 00 00 00 — случайное число, 00 E3 — номер оборудования, 02 00 08 — номер версии программного обеспечения FPGA.
  • Многобайтное написание SPI: spidev_test -v -D /dev/spidev1.0 -s 25000000 -p SPIW\\x05\\x12abcde.
  • Однобайтное чтение SPI: spidev_test -v -D /dev/spidev1.0 -s 25000000 -p SPIR\\x01\\x12.
  • Однобайтное написание SPI: spidev_test -v -D /dev/spidev1.0 -s 25000000 -p SPIW\\x01\\x12a.

Среди них:

  • SPIR — чтение SPI;
  • SPIW — запись SPI;
  • \\x05 или \\x01 — длина чтения и записи в шестнадцатеричном формате, диапазон 1–24;
  • \\x00 или \\x12 — начальный адрес чтения и записи, 0–7 только для чтения, 8–31 для чтения и записи;
  • abcde или a — строка для записи или случайное число для чтения, соответствующее длине чтения и записи.

Начальный адрес и длина чтения и записи должны быть заключены в кавычки ("\\").

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

FPGA можно обновить через SPI. Подробности см. в разделе «Обновление FPGA».

2.5 UART

В устройстве каждый последовательный порт связан с интерфейсом ECU. Соответствующую информацию о устройстве, состоянии переключателя и переключении, состоянии соединения последовательного порта и переключении, управлении светодиодами, UTC-часами и т. д. можно найти в определении регистров SPI. Адреса 32–41 (0x20–0x29) соответствуют UART[79:0]. Изменение содержимого этих адресов изменит связь. 以 XV1_Uart1 和 RS232_1 为例:硬件连接 RX1↔TX1,同一个串口自发自收

  • В терминале 1 введите команду cat /dev/ttyTHS0 и нажмите Enter. Терминал 1 переходит в режим ожидания последовательного приёма данных.

  • В терминале 2 введите команду echo 123567 > /dev/ttyTHS0 и нажмите Enter для отправки данных.

  • Если данные на экране терминала 1 обновились, это означает, что состояние последовательного порта нормальное.

  • ttyTHS0 соответствует Uart1, а ttyTHS4 — Uart5.

Terminal (терминал) — ввод команды spidev_test -v -D /dev/spidev1.0 -s 25000000 -p SPIW\x01\x21\x3f для установки значения 3 для Uart[31:28]

Это означает соединение XV2_Uart5 с RS232_4.

Команда используется для настройки соединения между UART и SPI на плате Xavier. Она устанавливает параметры связи между этими интерфейсами, такие как скорость передачи данных, адрес устройства SPI и другие.

Значение 3, установленное для Uart[31:28], указывает на конкретное направление соединения UART-SPI. Это может быть использовано для различных целей, таких как передача данных между устройствами или настройка параметров платы.

Настройка отладочного последовательного порта

После включения питания подождите 7 секунд, затем нажмите скрытую кнопку сбоку и отпустите её. Последовательный порт RS232_4 переключится на отладочный последовательный порт Xavier.

Этот метод подходит для ситуаций без дисплея HDMI, при наличии проблем с дисплеем HDMI или в других сценариях отладки. Отладочный последовательный порт можно использовать для диагностики и управления системой через интерфейс ECU (ECU interface).

По умолчанию отладочный последовательный порт не выводит данные. Через RS232_4 он передаёт информацию о запуске скрипта и функции управления командной строкой.

Для перехода в режим отладки можно нажать левую кнопку Button1 для Xavier1 или правую кнопку Button2 для Xavier2. Для возврата в обычный режим нужно снова нажать соответствующую кнопку.

Чтобы открыть последовательный помощник USB (USB serial assistant), можно ввести команду sudo picocom -b 115200 /dev/ttyUSB4 или использовать Cutecom для доступа к графическому интерфейсу последовательного порта Xavier.

Возможные ошибки: если система не запускается, попробуйте подключиться к отладочному последовательному порту и выполнить команду df -h для проверки состояния хранилища системы. Если хранилище заполнено на 100%, можно попробовать очистить системные журналы с помощью команды sudo rm -rf /var/log/syslog* и перезагрузить систему.

В тексте запроса есть информация о тестировании различных функций и компонентов системы, но она не содержит технических деталей или кода, которые требуют перевода. ### 2.10 GPS_sync

Titan4 по умолчанию выводит пять импульсов PPS и пять данных GPRMC, включая время GPS. Лазерный радар выводит данные об облаке точек (включая временную метку), которые используются для обработки слияния.

  • По умолчанию GPS напрямую подключен (через входы PPS_IN_12V и PPS_RS232_RX) и выводится на PPS_OUT1–5 и PPS_RS232_TX1–5.
  • SPI-регистр x0a[0] (SW[16]) соответствует источнику ввода PPS, который может быть либо GPS, либо локальным. По умолчанию 1 = внешний GPS-вход, 0 = локальный анализ и пересылка.
  • Регистры SPI x12 и x13 соответствуют частоте последовательного порта для внешнего GPS-входа и локального выхода.
  • Соединение с лазерным радаром: лазерный радар можно просматривать через программное обеспечение RSView от Robosense, чтобы увидеть облако точек и данные, выполнить диагностику и настройку синхронизации, а также установить режим времени через меню «Инструменты/Информация».
    • Радар по умолчанию имеет IP-адрес 192.168.1.200. Установите IP-адрес компьютера на 192.168.1.102 и проверьте соединение с помощью команды ping. При одновременном подключении нескольких радаров необходимо изменить IP-адреса радаров и номера портов клиента.
    • RSView поддерживает только архитектуру x86 и не поддерживает архитектуру ARM на Xavier.
  • Вывод времени лазерного радара: аналогично приложению RSView, время UTC можно проанализировать, просмотрев пакет данных, и выполнить команду python3 rs_Bpearl_time.py. Содержимое файла rs_Bpearl_time.py следующее:
import socket
bufSize = 1248
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.bind(('', 6699 ))
while True:
data, addr = client.recvfrom(bufSize)
print(data[20],data[21],data[22],data[23],data[24],data[25],data[26]*256+data[27],data[28]*256+data[29])
# Эта команда предназначена только для RS-Bpearl, пакеты данных других моделей радаров имеют разные определения, которые необходимо соответствующим образом настроить.
  • Сравнение системного местного времени и времени анализа пакета данных лазерного радара показывает разницу в 1 мс. После оптимизации скрипта разница может стать меньше.

2.11 CAM_sync

В Titan4 можно синхронизировать настройки различных камер:

  • Прочтите номер версии устройства с помощью cat_version.sh, чтобы узнать, что функция синхронизации камеры доступна в версии ядра «Jan 8» и версии FPGA v2.1.30 или более поздней.
  • Включите камеру.
  • Настройте регистры SPI: SPIx0a[4] должен быть установлен в 1 для запуска вывода синхронизирующих импульсов (по умолчанию 0 = без вывода), SPIx0b должен быть настроен на частоту импульсов (по умолчанию x1E = 30 кадров в секунду), а SPIx40–x57 должны быть настроены для задержки каждого импульса.
    • Установите SPIx0a[4]=1 с помощью команды spidev_test -v -D /dev/spidev1.0 -s 25000000 -p SPIW\x01\x0a\x11, как показано на рисунке выше.
    • Осциллограф может измерять задержку фазы импульса синхронизации в диапазоне от 10 нс до 167,8 мс.
    • Некоторые радары (производитель? модель?) могут использовать PPS для калибровки нулевого угла с погрешностью менее 1 мс. Titan4 имеет 8 триггерных сигналов, соответствующих 8 углам, и 16 камер. Время срабатывания определяется настройкой смещения PPS. Время экспозиции зависит от параметров камеры. Драйвер вычисляет время экспозиции на основе «время срабатывания + задержка». В формате v4l2 метка времени обозначается как timestamp. GPIO24 синхронизируется с PPS и уведомляет Xavier о необходимости обработки. Тестирование: ???
    • Для некоторых радаров (производитель? модель?), у которых есть данные облака точек с нулевым углом, можно инициировать синхронизацию камеры, установив радар на нулевой угол, чтобы активировать синхронизацию камеры. Каждый импульс камеры точно соответствует углу поворота радара. Тестирование: скрипт sudo camera_FSYNC_control запускает синхронизацию (GPIO24 поднимается по фронту, чтобы вызвать срабатывание), включает камеру, выравнивает её с ориентиром (например, while true; do date +%T.%N; done печатает местное системное время), делает снимок или фотографирует и сравнивает время, записанное двумя камерами, чтобы увидеть разницу во времени между двумя камерами.
    • Этот метод тестирования теоретически осуществим, но ориентир представляет собой дисплей с частотой 30 или 60 Гц, разрешение которого недостаточно для точного отображения задержки фазы камеры, поэтому погрешность велика. Возможно, механический секундомер может показать эффект в миллисекундах, связанный со светосилой и временем экспозиции (несколько миллисекунд), которое необходимо проверить.
    • Из-за ограничений оптической глубины резкости при близком расстоянии съёмки с длиннофокусным объективом снимки могут быть размытыми. Можно попробовать использовать широкоугольный объектив для тестирования.
  • Можно изменить регистры 0x40–0x57 с помощью команд SPI, чтобы изменить задержку фазы синхронизации для каждого канала. Например, команда spidev_test -v -D /dev/spidev1.0 -s 25000000 -p SPIW\x18\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 очищает 0x40–0x57, устанавливая задержку синхронизации всех камер равной нулю.

2.12 Прошивка и отладка

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/H712-T4.git
git@api.gitlife.ru:oschina-mirror/H712-T4.git
oschina-mirror
H712-T4
H712-T4
master