стань автором. присоединяйся к сообществу!
Лого Сделано у нас

Салют-ЭЛ24Д1: отладочная плата на российском процессоре 1892ВМ14Я для жестких условий эксплуатации

В нашей инженерной лаборатории появилась новая российская плата для экспериментов — отладочный модуль Салют-ЭЛ24Д1 на многоядерной системе на кристалле 1892ВМ14Я для Арктики и космоса. Посмотрим, на что она способна.

Модуль Салют-ЭЛ24Д1, как и все отладочные платы, рассчитан на изучение возможностей процессора, разработку и отладку программного обеспечения. Его разработчик — НПЦ «ЭЛВИС» — начал поставки «Салюта» в конце 2015 года.Одна из главных областей применения процессора 1892ВМ14Я — системы машинного зрения, обработка видео- и аудиопотока с расчетом на жесткие условия, производственные или космические. Так что процессор ориентирован скорее на industrial, чем на гражданское применение — диапазон рабочих температур составляет от -60°C до +85°C.Чип 1892ВМ14Я разработан по технологии «система на кристалле» (SoC) и включает в себя два ядра ARM Cortex-A9, блок GPU Mali-300, два ядра DSP Elcore-03M, блок аппаратной видеообработки VELcore-01 и различные порты ввода-вывода.

Комплект поставки В коробке, помимо самой отладочной платы Салют-ЭЛ24Д1, имеются блок питания на 12 В, CSI-камера со шлейфом, карта памяти micro-SD на 32 Гб, адаптер USB → UART, батарейка для RTC, антенна WiFi-модуля и радиатор для процессора, без которого неслабо греется.Отладочная плата поставляется с предустановленным дистрибутивом Arch Linux. Доступны исходники buildroot, из которых можно самостоятельно собрать необходимые пакеты или всю систему.Самое вкусное в Arch Linux — демонстрационные утилиты для захвата видеопотока с CSI-камеры, утилиты для работы с видеокодеком H264 и Gstreamer с установленными RTSP-плагинами.Интерфейсы платы На плате имеются порты USB, Ethernet, Wifi и разъемы для подключения антенн ZigBee/GPS. Видео/аудиоинтерфейсы включают HDMI-видеовыход, DSI-видеовыход, разъем CSI для подключения камеры, стандартный аудиовход/выход 3,5 мм.
Также доступны интерфейсы RS-232, RS-485, CAN-шина, UART, I2C, I2S, SPI. На верхней части платы выведены отладочные порты и RaspberryPI-совместимый блок PLS-штырьков с GPIO и соответствующими интерфейсами.Полный список характеристик Салюта-ЭЛ24Д1

  • Процессор 1892ВМ14Я:

    • 2-ядерный CPU Cortex-A9, до 912 МГц;

    • 2-ядерный DSP ELcore-30M, до 720 МГц;

    • видеокодек VELcore-01: обеспечение функций H.264 CBP Encode and Decode, Full HD (1920×1080) стерео поток c частотой следования не менее 30 кадров/с;

    • аппаратный ускоритель для сжатия изображений по стандарту JPEG;

    • графический процессор Mali-300, 250 млн. пикселей/с.

  • DDR3-1066, 32 бит, 1 ГБ.

  • Энергонезависимая память:

    • NAND Flash x 8 бит @ 100 МГц, 4 ГБ;

    • microSD card, 10 МБ/с, 32 ГБ.

  • Беспроводные интерфейсы:

    • WiFi (IEEE 802.11);

    • Bluetooth (IEEE 802.15.1);

    • ZigBee (IEEE 802.15.4).

  • Навигация: ГЛОНАСС/GPS (опционально).

  • Высокоскоростные интерфейсы:

    • 4 порта USB 2.0 Host;

    • Ethernet 10/100.

  • Видеовход:

    • MIPI CSI2 4 lanes, 1.5 Гбит/с, I2C.

  • Видеовыход:

    • MIPI DSI, 2 lanes, 1.5 Гбит/с;

    • HDMI 1.3a Tx, 1080 p/60 Гц, аудио.

  • Аудио вход:

    • Analog jack, Stereo PCM, 16 бит, 192 кГц.

  • Аудио выход:

    • Analog jack, Stereo PCM, 16 бит, 192 кГц.

  • Прочие интерфейсы:

    • UART; RS485; RS232;

    • I2C; I2S;

    • SPI; MFBSP;

    • CAN ISO 11898.

  • Отладочные интерфейсы:

    • JTAG OnCD;

    • Trace Debug Port.

  • Режимы загрузки: SPI Flash, UART, SD, NAND.

  • Питание:

    • DC JACK 2.5mm 10-30 В;

    • MicroUSB 5 В, 3 А.

  • Размер: 130×105 мм.

Обработка видео на процессоре Основная область, в которой мы экспериментировали с процессором 1892ВМ14Я — обработка видеосигналов — одна из его главных возможностей.Для начала провели пробные тесты программного кодирования в H264 с помощью GStreamer. С разрешением видео 1280×720px программное кодирование в H264 с плагином libx264 в GStreamer выдает всего 2—3 fps. Декодирование работает немного быстрее — около 8 fps. Скорость довольно низкая, что не удивительно, т.к. процессор не предназначен для выполнения сложных вычислительных задач. Целевая область применения 1892ВМ14Я — обработка видео/аудио, IP-камеры и др. Поэтому больше всего нас интересовал блок видеообработки VELcore-01 с возможностью аппаратного кодирования/декодирования H264.Аппаратный кодек H264Основные характеристики ядра видеообработки VELcore-01:

  1. Максимальный размер обрабатываемых изображений — 4096×4096 пикселей.
  2. Минимальный размер обрабатываемых изображений — 16×16 пикселей.
  3. Формат изображений — YCbCr (4:2:0).
  4. Точность представления — 8 бит на пиксель.
  5. Количество одновременно обрабатываемых потоков видеоданных — до двух потоков компрессии и до двух потоков декомпрессии.
  6. Максимальная производительность — до двух потоков компрессии и до двух потоков декомпрессии видео в формате Full HD (1920 х 1080 пикселей) с частотой 60 кадров в секунду по любому из указанных стандартов.

Одной из особенностей аппаратного блока кодирования H264 является то, что он использует нестандартный формат пикселей M420 для входного видео. M420 — это формат YUV (4:2:0) с плотностью записи 12 бит на пиксель. Y-компонента записывается для каждого пикселя (1 байт на пиксель), а CbCr-компоненты — по одной паре значений на блок из 4-х пикселей (2 байта на 4 пикселя). Этот формат похож на NV12, с тем отличием, что блок данных CbCr идет не в конце, а «смешан» построчно с блоком Y: 2 строки Y — одна строка CbCr и т.д.Структура формата M420 выглядит так, судя по описанию на linuxtv.org:

start + 0: Y'00 Y'01 Y'02 Y'03 start + 4: Y'10 Y'11 Y'12 Y'13 start + 8: Cb00 Cr00 Cb01 Cr01 start + 16: Y'20 Y'21 Y'22 Y'23 start + 20: Y'30 Y'31 Y'32 Y'33 start + 24: Cb10 Cr10 Cb11 Cr11

Видеопоток с комплектной камеры Драйвер CSI-видеокамеры также выдает видео в формате M420, поэтому можно использовать его с драйвером аппаратного кодека H264 напрямую.Запускаем команду…

cap-enc -s 1920×1072 -r30 -f1 /dev/v4l/by-name/vinc0 /dev/v4l/by-name/avico0 | gst-rtsp-launch 'fdsrc ! h264parse ! rtph264pay name=pay0'… и получаем работающий RTSP-стрим «из коробки» со сжатием видео в H264 с подключенной камеры.

Видеопоток из файла Со сжатием видео из файла не все оказалось так просто. В утилите, предназначенной для этих целей, есть возможность преобразовывать видео в формат M420 «на лету». Но эта операция сильно грузит процессор, в результате программная часть не успевает вовремя выдавать драйверу кадры для сжатия, что приводит к заметному снижению fps. Для решения этой проблемы пришлось написать скрипт, который заранее преобразовывает видеофайл в формат M420. Вторая проблема состоит в том, что ядро видеообработки умеет сжимать только кадры, размер которых кратен 16 пикселям. С разрешением 1280×720 все сходится — обе стороны кадра кратны 16, а вот у Full HD (1920×1080) высота на 16 не делится. Таким образом, для сжатия видео 1920×1080 нужно перед передачей кадра драйверу дорисовывать полоску из 8 пикселей, чтобы получилась высота, кратная 16. Формат M420 в этом плане оказался весьма удобен из-за того, что каналы Y и Cb/Cr в нем идут совместно, а не один за другим — достаточно вставить в конец буфера 1920 * 8 * 1.5 пустых байт.В итоге удалось достичь кодирования H264 с разрешением 1280×720 и с разрешением 1920 x 1080, но с «костылем» в виде полоски дополнительных пикселей. Оба разрешения стабильно выдают частоту кадров в 30 fps.Ядро видеообработки VELcore-01 на аппаратном уровне также поддерживает декодирование H264, но на уровне драйверов поддержка этой функции пока не реализована, поэтому в данном направлении эксперимент провести не удалось.

В целом знакомство получилось позитивным: 1892ВМ14Я показал себя как отличный процессор для промышленности и спец. применений, где требуется HDMI, графика и мультимедиа. Понравилась отзывчивая техподдержка.

Хочешь всегда знать и никогда не пропускать лучшие новости о развитии России? У проекта «Сделано у нас» есть Телеграм-канал @sdelanounas_ru. Подпишись, и у тебя всегда будет повод для гордости за Россию.

Вступай в наши группы и добавляй нас в друзья :)


Поделись позитивом в своих соцсетях


  • 3
    Нет аватара Инженер2015
    22.02.1710:34:54

    это конечно хорошо что в сегменте индастриал у нас много своего, но хотелось бы что-нибудь для дома, для массового рынка…

Написать комментарий
Отмена
Для комментирования вам необходимо зарегистрироваться и войти на сайт,