Руководство по подключению HDMI к мосту CSI и I2C
Преобразование сигнала HDMI в сигнал CSI и аудиосигнал I2S.
Введение
Этот модуль принимает входящий сигнал HDMI и преобразует его в отдельный сигнал CSI и аудиосигнал I2S. Вход HDMI поддерживает разрешение до 1080P при 60 Гц. Он хорошо работает на Raspberry Pi, существует три версии этого модуля (C779, C780, C790). C790 --- является последней версией. C790 имеет пониженную обратную мощность HDMI, а также имеет два канала csi и четыре канала csi одновременно.
Особенности
C790
аппаратные параметры оборудования
- HDMI вход: поддерживает разрешение до 1080P при 60 Гц на Raspberry Pi
- HDMI-CSI-2 мостовой чип: Toshiba TC358743XBG
- 4 CSI-2 канала и тактовый генератор
- Интерфейс CSI-2 с 15-контактным гнездом FPC с шагом 1.0 мм расположен на передней панели модуля C790.
- Интерфейс CSI-2 с 22-контактным гнездом FPC с шагом 0.5 мм расположен на задней панели модуля C790.
- Размеры: 30 x 45 мм
- Установка: 4 x M2.5
- Блок питания: 3.3 В
- Вес: 10 г
интерфейс
C790 имеет два выходных интерфейса csi. Спереди C790 интерфейс CSI-2 представляет собой 15-контактное гнездо FPC с шагом 1.0 мм. Сзади C790 интерфейс CSI-2 представляет собой 22-контактное гнездо FPC с шагом 0.5 мм.
C780
Параметры C780A
- HDMI вход: поддержка до 1080P на 50 Гц на Raspberry Pi (ограничено количеством каналов CSI-2)
- HDMI-CSI-2 мостовой чип: Toshiba TC358743XBG
- 2 CSI-2 канала и тактовый генератор
- Интерфейс CSI-2: 15-контактное гнездо FPC с шагом 1.0 мм
- Размеры: 30 x 65 мм (размер цельной печатной платы); 30 x 45 мм (размер разъединённой печатной платы)
- Установка: 6 x M2.5
- Блок питания: 3.3 В
- Вес: 10 г
Параметры C780B
- HDMI вход: поддержка до 1080P на 60 Гц на Raspberry Pi
- HDMI-CSI-2 мостовой чип: Toshiba TC358743XBG
- 4 CSI-2 канала и тактовый генератор
- CSI-2 интерфейс: 22-контактное гнездо FPC с шагом 0.5 мм
- Размеры: 30 x 65 мм (размер цельной печатной платы); 30 x 45 мм (размер разъединённой печатной платы)
- Установка: 6 x M2.5
- Блок питания: 3.3 В
- Вес: 10 г
размеры
Размеры C780 показаны на рисунке. Имеется 6 монтажных отверстий диаметром 2.75 мм, которые подходят под винты М2.5.
Как показано на рисунке, пользователь может непосредственно закрепить модуль на Raspberry Pi Zero. C780 спроектирован так, чтобы его можно было разъединить, расстояние между отверстиями перед разрывом идеально подходит для большинства серий Raspberry Pi.
C779
аппаратные параметры оборудования
- HDMI вход: поддержка до 1080P на 50 Гц на Raspberry Pi (ограничено количеством каналов CSI-2)
- HDMI-CSI-2 мостовой чип: Toshiba TC358743XBG
- 2 CSI-2 канала и тактовый генератор
- Интерфейс CSI-2: 15-контактное гнездо FPC с шагом 1.0 мм
- Размеры: 35 x 50 мм
- Установка: 4 x M2.5
- Блок питания: 3.3 В
- Вес: 10 г
размеры
Размеры C779 показаны на рисунке. Имеются 4 монтажных отверстия диаметром 2.75 мм, которые подходят под винты М2.5.
Демонстрация программного обеспечения
Руководство пользователя C790/C780/C779 зависит от используемой вами официальной версии Raspberry Pi OS. Разные версии имеют разные методы использования. Если у вас есть вопросы, то присоединяйтесь к нашему BLIKVM дискорд сообществу!
Чтобы использовать драйверы ядра, пожалуйста, обновите свою систему. Есть несколько моментов, которые изменились с ядром 5.4, поэтому эти инструкции предназначены для версии 5.4 или более поздней версии. Если команда “uname -a” сообщает о другом, тогда сначала исправьте это, перед тем как продолжить.
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.63-v7l+ #1459 SMP Wed Oct 6 16:41:57 BST 2021 armv7l GNU/Linux
1. Выполните обновление системы Raspberry Pi (может занять много времени, в зависимости от разных стран)
2. Включите модуль камеры (камера включена по умолчанию в Raspberry Pi Bullseys OS)
Перейдите в раздел ‘Interfacing Options’ и нажмите Enter. Теперь выберете опцию ‘Camera’, нажмите клавишу Enter чтобы включить её. Выберете “Finish” и перезагрузите Raspberry Pi. перезагрузка является обязательной!!3. Отредактируйте /boot/config.txt (для это потребуются права суперпользователя sudo)
Добавьте строку: Добавьте следующую строку, если ваш экран поддерживает аудио, например C780 или C790. добавьте следующую строку только в том случае, если у вас имеется устройство, такое как C780 или C790, которое поддерживает 22-контактное гнездо со всеми 4 подключенными полосами, и если используется модуль с CAM1 коннектором, в котором также подключены все четыре полосы:4. Проверьте объем памяти, назначенный куче CMA, с помощью команды “dmesg | grep cma”. Первая строка должна быть в соответствии с
Если команда сообщает об объеме меньшем чем 96MB для CMA, тогда отредактируйте /boot/cmdline.txt и добавьте в начало строки. НЕ добавляйте никаких возвратов каретки.5. Перезагрузитесь. Если все прошло хорошо, то отобразится устройство /dev/video0, а команда “v4l2-ctl –list-devices” покажет, что оно предоставляется Unicam. После подключения всех кабелей, включите Raspberry Pi, при нормальной работе, индикатор C790 горит зелёным, после открытия терминала в Raspberry Pi, введите следующие команды:
pi@raspberrypi:~ $ ls /dev/video0
/dev/video0
pi@raspberrypi:~ $ v4l2-ctl --list-devices
bcm2835-codec-decode (platform:bcm2835-codec):
/dev/video10
/dev/video11
/dev/video12
/dev/video18
/dev/media1
bcm2835-isp (platform:bcm2835-isp):
/dev/video13
/dev/video14
/dev/video15
/dev/video16
/dev/media0
unicam (platform:fe801000.csi):
/dev/video0
/dev/video1
/dev/media2
6. Этот драйвер передает все управление в руки пользователя или пользовательского приложения. По умолчанию в чип не загружается EDID, позволяющий ему сообщать источнику HDMI какие разрешения поддерживаются. Если вы создадите файл edid.txt, тогда вы можете отправить это на устройство для использования. Блок к файлу edid.txt:
00ffffffffffff005262888800888888
1c150103800000780aEE91A3544C9926
0F505400000001010101010101010101
010101010101011d007251d01e206e28
5500c48e2100001e8c0ad08a20e02d10
103e9600138e2100001e000000fc0054
6f73686962612d4832430a20000000FD
003b3d0f2e0f1e0a2020202020200100
020321434e041303021211012021a23c
3d3e1f2309070766030c00300080E300
7F8c0ad08a20e02d10103e9600c48e21
0000188c0ad08a20e02d10103e960013
8e210000188c0aa01451f01600267c43
00138e21000098000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
cd ~
sudo nano edid.txt
# скопируйте блок выше в файл edid.txt, сохраните и выйдите;
pi@raspberrypi:~ $ v4l2-ctl --set-edid=file=edid.txt --fix-edid-checksums
CTA-861 Header
IT Formats Underscanned: yes
Audio: yes
YCbCr 4:4:4: no
YCbCr 4:2:2: no
HDMI Vendor-Specific Data Block
Physical Address: 3.0.0.0
YCbCr 4:4:4 Deep Color: no
30-bit: no
36-bit: no
48-bit: no
CTA-861 Video Capability Descriptor
RGB Quantization Range: yes
YCC Quantization Range: no
PT: Supports both over- and underscan
IT: Supports both over- and underscan
CE: Supports both over- and underscan
7. Драйвер НЕ переключается автоматически на обнаруженное разрешение. Используйте команду:
pi@raspberrypi:~ $ v4l2-ctl --query-dv-timings
Active width: 1280
Active height: 720
Total width: 1650
Total height: 750
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 74250000 Hz (60.00 frames per second)
Horizontal frontporch: 0
Horizontal sync: 370
Horizontal backporch: 0
Vertical frontporch: 0
Vertical sync: 30
Vertical backporch: 0
Standards:
Flags:
8. Чип поддерживает два формата --- BGR3 (по умолчанию) и UYVY. BGR3 --- 24bpp, а UYVY --- YUV4:2:2 16bpp.
По обычным 2 полосам CSI-2 скорость передачи данных такова, что BGR3 может работать максимум с разрешением 1080p30, в то время как UYVY будет работать до 1080p50. Используйте следующую команду, чтобы выбрать UYVY, однако ваше приложение может переопределить это.
9. Убедитесь, что аудиодрайверы / карта доступны для ALSA.
Замечание: card 1 означает, что номер карты для TC358743XBG равен “1”, но он может отличаться.10. Установите GStreamer.
Проверьте версию gstreamer: Замечание: Разные версии имеют разные параметры командной строки, что очень раздражает.11. Используйте gstreamer для записи видео и аудио
#GStreamer v1.14 command
gst-launch-1.0 v4l2src io-mode=5 ! video/x-raw, format=UYVY, framerate=25/1 ! v4l2h264enc output-io-mode=4 ! video/x-h264,profile=high ! h264parse ! queue ! matroskamux name=mux ! filesink location=foo.mkv alsasrc device=hw:1 ! audio/x-raw,rate=48000,channels=2 ! audioconvert ! avenc_aac bitrate=48000 ! aacparse ! queue ! mux.
# Команда для записи видео со звуком. (GStreamer 1.18.4)
gst-launch-1.0 -vvv v4l2src ! "video/x-raw,framerate=30/1,format=UYVY" ! v4l2h264enc extra-controls="controls,h264_profile=4,h264_level=13,video_bitrate=256000;" ! "video/x-h264,profile=high, level=(string)4.2" ! h264parse ! queue ! matroskamux name=mux ! filesink location=foo.mkv alsasrc device=hw:1 ! audio/x-raw,rate=48000,channels=2 ! audioconvert ! avenc_aac bitrate=48000 ! aacparse ! queue ! mux.
# Образец команды для записи видео без звука. (C779 не поддерживает звук)
gst-launch-1.0 -vvv v4l2src ! "video/x-raw,framerate=30/1,format=UYVY" ! v4l2h264enc extra-controls="controls,h264_profile=4,h264_level=13,video_bitrate=256000;" ! "video/x-h264,profile=high, level=(string)4.2" ! h264parse ! queue ! matroskamux name=mux ! filesink location=foo.mkv
Press CTRL+C to end recording.
Для устройства HDMI выше, частота кадров равна 60, поэтому мы изменяем параметр частоты кадров на 60, в последующей команде. Записать только видео:
gst-launch-1.0 -vvv v4l2src ! "video/x-raw,framerate=60/1,format=UYVY" ! v4l2h264enc extra-controls="controls,h264_profile=4,h264_level=13,video_bitrate=256000;" ! "video/x-h264,profile=high, level=(string)4.2" ! h264parse ! queue ! matroskamux name=mux ! filesink location=foo.mkv
gst-launch-1.0 -vvv v4l2src ! "video/x-raw,framerate=60/1,format=UYVY" ! v4l2h264enc extra-controls="controls,h264_profile=4,h264_level=13,video_bitrate=256000;" ! "video/x-h264,profile=high, level=(string)4.2" ! h264parse ! queue ! matroskamux name=mux ! filesink location=foo.mkv alsasrc device=hw:1 ! audio/x-raw,rate=48000,channels=2 ! audioconvert ! avenc_aac bitrate=48000 ! aacparse ! queue ! mux.
Комплектация
Видео с тестированием
Ссылка для покупки
Купить:C790 и C780
Купить:C779
Created: September 19, 2022