Promwad, производители электроники для дома, имеют инженерные центры в Белоруссии и России, а также офисы продаж в Европе и Северной Америке и именно они первыми оценили Устройство Байкал T1.
Инженеры компании Promwad Electronics Design House получили новую российскую плату – Salute EL24D1, которая основана на многоядерном процессоре 1892VM14Ya, предназначенным для использования в Арктике и в космосе. Давайте посмотрим, что она умеет делать.
Salute EL24D1 предназначена для исследования способностей центрального процессора, разработки и отладки программного обеспечения. Разработчик, R & D Center Elvees начали поставки устройства в конце 2015 года.
Одной из основных областей применения 1892VM14Ya являются системы машинного зрения, обработки потокового видео и аудио в тяжелых условиях, на производстве и в космосе. Таким образом, работа процессора направлена в основном на промышленный сектор, а не для домашнего использования; его рабочая температура колеблется от -60 ° C до + 85 ° C.
Блок-схема
Чип 1892VM14Ya был разработан для SoC и включает в себя два ядра, ARM Cortex-A9, GPU Mali-30, два ядра DSP Elcore-03М, блок обработки видео VELcore-01 и различные порты ввода-вывода.
комплект поставки
В коробке вместе с Salute EL24D1 платой, есть блок питания в 12В, камера CSI с ленточным кабелем, 32 Гб микро-SD памяти, USB-→ UART адаптер, аккумулятор для RTC, антенна для модуля Wi-Fi, а также радиатор, который предотвращает перегрев процессора.
В комплект платы входит пакет Arch Linux. Но Buildroot позволяют создавать необходимые пакеты для всей системы. Лучшее в Arch Linux – это демо-утилиты для захвата видео потока из CSI камеры, утилиты для работы с H264 видео кодеком и Gstreamer, а так же установленными плагинами RTSP.
Интерфейсы платы
Плата имеет USB, Ethernet, Wi-Fi и разъемы для ZigBee / GPS антенн. Видео / аудио интерфейсы включают в себя HDMI и DSI видеовыходы, разъем CSI для камеры, стандартный 3,5 мм аудио разъем. Плата имеет RS-232 и RS-485 интерфейсы, CAN шину, UART, I2C, I2S, SPI. Верхняя сторона платы содержит отладочные порты и Raspberry Pi-совместимый модуль PLS с штифтами для GPIO и соответствующими интерфейсами.
Полный список возможностей Salute EL24D1:
- CPU – ЭЛВИС 1892VM14Ya с:
- 2-ядерный процессор Cortex-A9, до 912 МГц
- 2- ядерный DSP ELcore-30М, до 720 МГц
- Видео кодек VELcore-01: обеспечивает H.264 CBP функции кодирования и декодирования, Full HD (1920 × 1080) стерео поток с частотой в 30 кадров / сек
- Имеется аппаратный ускоритель для сжатия изображений в JPEG формат;
- ARM Mali-300 GPU отображает 250 миллионов пикселей / сек.
- Системная память – 1 Гб DDR3-1066, 32 бит
- Хранение – 4 Гб NAND Flash х 8 бит @ 100 МГц, MicroSD карты, 10 Мб / с до 32 Гб.
- Беспроводные интерфейсы – Wi-Fi (IEEE 802.11); Bluetooth (IEEE 802.15.1); ZigBee (IEEE 802.15.4).
- Навигация: ГЛОНАСС / GPS (опционально).
- Высокоскоростные интерфейсы – 4 порта USB 2.0 Host; 10 / 100M Ethernet
- Видео вход – MIPI CSI2 4-х полосный, 1,5 Гбит / с, I2C.
- Видео выход – MIPI DSI, 2-х полосный, 1,5 Гбит / с; HDMI 1.3a Tx, 1080 р / 60 Гц, аудио.
- Аудио вход – аналоговый разъем, стерео PCM, 16 бит, 192 кГц.
- Аудио выход – Аналоговый разъем, стерео PCM, 16 бит, 192 кГц.
- Другие интерфейсы:
- UART; RS485; RS232
- I 2 C; I2S; SPI; MFBSP;
- CAN ISO 11898.
- Отладочные интерфейсы – JTAG OnCD; Отладочный порт.
- Режимы загрузки: SPI Flash, UART, SD, NAND.
- Источник питания – аккумулятор мощностью от 10 до 30 В, который подключается через 2,5 мм разъем или микро порт USB
- Размеры – 130 × 105 мм.
Обработка видео на CPU
Основной областью, в которой Promwad экспериментировали с процессором 1892VM14Ya была видео обработка сигналов (которая является его основной функцией).
Во-первых, мы провели пробные тесты программного обеспечения для кодирования H264 через GStreamer. В разрешении 1280 × 720, кодирование программного обеспечения H264 с libx264 плагином в GStreamer обеспечивает всего 2-3 кадра в секунду. Скорость довольно медленная, потому что процессор не предназначен для выполнения сложных вычислительных задач.
Областью применения 1892VM14Ya является обработка видео / аудио, работа с IP-камерами и так далее. Именно поэтому мы были заинтересованы в модуле обработки видео VELcore-01 с функцией аппаратного H264 кодирования / декодирования.
Аппаратный кодек H264
Основные особенности VELcore-01:
- Максимальный размер обрабатываемых изображений составляет 4096 х 4096 пикселей.
- Минимальный размер обрабатываемых изображений составляет 16 × 16 пикселей.
- Формат изображений YCbCr (4: 2: 0).
- Точность изображений составляет 8 бит на пиксель.
- Число одновременно обрабатываемых потоков видео: до двух потоков сжатия и до двух декомпрессионных потоков.
- Максимальная производительность: до двух компрессии и декомпрессии видеопотоков в формате Full HD (1920 х 1080 пикселей) со скоростью 60 кадров в секунду для любого из указанных стандартов
Одной из особенностей H264 аппаратного модуля кодирования является то, что он использует M420, нестандартный формат пикселя, для обработки видео. M420 имеет YUV (4: 2: 0) формат с плотностью записи 12 бит на пиксель. Y-компонент записывается для каждого пикселя (один байт на пиксель), а CbCr-компоненты записываются одной парой значений для блока из 4 пикселей (2 байта на 4 пикселя). Этот формат аналогичен для NV12, с той разницей, что блок данных CbCr не идет в конце; она смешана построчно с Y блоками.
M420 структура формата в соответствии с его описанием в www.linuxtv.org выглядит так:
1 2 3 4 5 6 7 8 9 10 11 |
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.
Выполните команду …
1 |
cap-enc -s 1920x1072 -r30 -f1 /dev/v4l/by-name/vinc0 /dev/v4l/by-name/avico0 | gst-rtsp-launch 'fdsrc ! h264parse ! rtph264pay name=pay0' |
… И получите RTSP видео в формате H264.
Видео поток из файла
Что касается сжатия видеофайлов, то не все так просто. Утилита, предназначенная для этой цели, имеет возможность сразу же конвертировать видео в формат M420. Тем не менее, данная операция сильно загружает процессор, и из-за этого программная часть не может обеспечить приемлемую производительность съемки, и это приводит к значительному замедлению работы. Для того чтобы решить эту проблему, необходима такая программа, которая может конвертировать видео файл в M420 формат заранее.
Вторая проблема заключается в том, что ядро обработки видео позволяет сжимать только те кадры, которые имеют размер 16 пикселей. Когда разрешение составляет 1280 × 720, то по сторонам появляются черные рамки, которые очень мешают. Что касается Full HD, 1920 × 1080, тут рамок нет. Таким образом, для того, чтобы сжать видео разрешением 1920 × 1080, обладатель устройства должен уменьшить плотность кадров до 8 пикселей, чтобы достичь нужного сжатия. Формат M420 оказался очень нужным, так как Y и Cb / Cr каналы идут совместно, а не друг за другом; достаточно просто поместить в конец буфера 1920 * 8 * 1.5 строку.
В результате, вы можете достичь кодирования H.264 с разрешением 1280 х 720 и 1920 х 1080, но с полосами по бокам. Оба режима обеспечивают стабильные 30 кадров в секунду.
Velcore-01 поддерживает H264 декодирование, но драйвера для этой функции еще не разработаны, и поэтому я не смог провести эксперимент.
В общем, первые эксперименты оказались неплохими для инженерной команды Promwad: 1892VM14Ya зарекомендовал себя отличным CPU для промышленности и для специального применения, где требуются HDMI, графика и мультимедиа. Им также понравилась техническая поддержка разработчика, он был компетентен и отзывчив.
Благодарим сайт cnx-software.com за предоставленную информацию.
Оригинал статьи тут