Растущая коллекция общепринятых электротехнических аббревиатур временами может быть немного ошеломляющей; и я не удивлюсь, если вы несколько раз видели термин «I2S» и просто предполагали, что это была просто опечатка в аббревиатуре «I2C».
Между этими двумя протоколами действительно существует определенная связь. Оба были первоначально разработаны компанией Philips Semiconductors (теперь NXP), и названия обоих начинаются с «I2», потому что они предназначены для связи между микросхемами (англ. аббревиатура «IC»). Однако I2S появился после I2C, и, если I2C является универсальным интерфейсом, I2S предназначен для передачи аудиоданных – «S» в названии означает «sound» (звук).
I2S был создан в 1980-х годах, когда цифра начала свое завоевание рынка потребительских аудиосистем. Заявленная цель создания I2S – облегчение разработки аудиоэлектроники при помощи стандартизированного интерфейса для передачи цифровых данных между АЦП, ЦАП, цифровыми фильтрами, цифровыми сигнальными процессорами и другими типами интегральных микросхем, используемых в аудиосистемах. По сути, это двухканальный протокол, потому что он был разработан для стереофонического звука.
Audiophile HDMI-I2S OCC copper cables at incredible price!
Характеристики I2S
Следующая диаграмма изображает три конфигурации, поддерживаемые I2S.
Данные передаются по линии SD, состояние линии WS соответствует аудиоканалу (правый или левый), который передается в данный момент, а линия синхронизации SCK передает тактовый сигнал. Как видно из диаграммы, сигналы WS и SCK могут генерироваться передатчиком, приемником или сторонним контроллером.
Ниже перечислены характерные особенности трех сигналов интерфейса I2S.
Последовательные данные (SD)
- При передаче цифровых значений в первую очередь передается старший бит слова (MSb).
- У передатчика и приемника длина слова не должна быть согласована; передатчик отправляет то, что у него есть, а приемник берет то, что может использовать.
- Выдача новых битов данных на передатчике может синхронизироваться либо по фронту, либо спаду тактового сигнала. Однако выборка их приемником должна быть синхронизирована по фронту, поэтому более простым подходом здесь является вариант, показанный на диаграмме ниже, то есть мы передаем данные по спаду тактового сигнала, и а их выборку приемником синхронизируем по фронту тактового сигнала.
- Протокол не описывает неиспользуемые периоды времени между словами; за младшим битом (LSb) одного слова сразу же следует старший бит (MSb) следующего слова.
Выбор слова (WS)
How to send high-res audio from a Bluray/SACD/DVD player to a DAC via HDMI
- Низкий логический уровень на WS указывает, что передаваемое в настоящее время слово является частью потока данных для левого аудиоканала; высокий логический уровень на WS указывает на передачу звука правого канала.
- Чтобы облегчить обработку данных как на стороне передатчика, так и на стороне приемника, сигнал WS изменяет свое логическое состояние на один период тактового сигнала раньше завершения передачи слова данных:
Тактовый сигнал (SCK)
- Протокол не определяет максимальную скорость передачи данных.
- Тактовый сигнал передается непрерывно.
I2C против I2S
Если вы знакомы с протоколом I2C, то, возможно, уже поняли, что I2C и I2S намного менее похожи, чем можно предположить по их названиям.
I2C не придает особого значения высокой скорости передачи данных, но включает в себя функции установления связи, которые позволяют ему эффективно и надежно работать в (потенциально больших) сетях, состоящих из различных типов микросхем. Как показано на следующей диаграмме, в этом типе связи многое может пойти не так, а сложность протокола I2C отражает сложность задач, для которых он предназначен.
I2S, напротив, предназначен для эффективной передачи определенного типа цифровых данных. Скорость передачи более важна, поскольку последовательная передача в реальном времени двухканального звука с высоким разрешением требует гораздо большей пропускной способности, чем задачи связи, которые часто выполняются с помощью I2C (или UART).
Характер передачи по I2S «точка-точка» устраняет необходимость в подтягивающих резисторах, как I2C, а использование третьего сигнала для синхронизации на уровне слов позволяет нам обойтись без усложнений протокола, которые помогают I2C поддерживать организацию передачи данных по двухпроводной шине.
I2S больше похож на SPI, чем на I2C. Фактически, реализация SPI, предназначенная для однонаправленной передачи данных, использует, по сути, ту же конфигурацию: одна линия для тактового сигнала, одна линия для данных, и третья линия для синхронизации на уровне слов.
Заключение
I2S – эффективный, простой протокол последовательной связи, который отлично подходит для оцифрованного звука. Тем не менее, нет закона о том, что он ограничен только аудиоданными. Несколько лет назад я использовал его для создания прототипа программно определяемой радиосистемы (SDR); I2S предлагал скорость передачи, достаточную для сигналов основной полосы частот, и был удобно встроен в платформу разработки DSP, с которой я работал.
Источник: radioprog.ru
HDMI to CSI clock
Pi 4B only support 1080P50Hz, limited by the number of CSI-2 channels. CM4 support 1080P60HZ, So if you must use 1080P60Hz input, please use CM4 and C790 together.
C790 has two csi output interface. In fornt of C790, the CSI-2 interface is 15 pin FPC seat, spacing 1.0 mm. In back of C790, the CSI-2 interface is 22 pin FPC seat, spacing 0.5 mm.
Install C790 on raspberry pi for reference
C780
- HDMI input: supports up to 1080P50Hz on raspberry pi(Limited by the number of CSI-2 channels)
- HDMI to CSI-2 bridge chip:Toshiba TC358743XBG
- 2 CSI-2 channels 30 x 45 mm (PCB size after breaking)
- Install:6 x M2.5
- Power supply:3.3V
- Weight: 10g
- HDMI input: supports up to 1080P60Hz on raspberry pi
- HDMI to CSI-2 bridge chip:Toshiba TC358743XBG
- 4 CSI-2 channels 30 x 45 mm (PCB size after breaking)
- Install:6 x M2.5
- Power supply:3.3V
- Weight: 10g
The wiring of audio part is shown in Figure.
The size of C780 is shown in Figure. There are 6 mounting holes with a diameter of 2.75mm, which are suitable for M2.5 screws.
As shown in Figure, the user can directly fix the module on the raspberry pi zero.C780 is designed to be broken, and the hole spacing before breaking can be perfectly installed with most series of raspberry pi.
C779
- HDMI input: supports up to 1080P50Hz on raspberry pi(Limited by the number of CSI-2 channels)
- HDMI to CSI-2 bridge chip:Toshiba TC358743XBG
- 2 CSI-2 channels News!
To use the kernel drivers, please update your system. There are a few things that have changed with the 5.4 kernel, so these instructions are for 5.4 or later. If “uname -a” reports anything less, then fix this before proceeding.1. Update 4. Check the amount of memory assigned to the CMA heap with “dmesg | grep cma”. The first line should be along the lines of»
If it reports less than 96MB assigned to CMA, then edit /boot/cmdline.txt and add to the start of the line. Do NOT add any carriage returns.
cma=96M
. note «5. Reboot. If all is well you should get a /dev/video0 device, and “v4l2-ctl –list-devices” will tell you that it is provided by Unicam. After connecting all the cables, power on the Raspberry Pi, the C790 indicator light is normally green, and after opening the Raspberry Pi terminal, enter the following command:»
. note «6. This driver puts all the control in the hands of the user, or the user’s application. By default there is no EDID loaded into the chip to allow it to tell the HDMI source what resolutions are supported. There are EDID editors around. If you create a file edid.txt, then you can push this to the device using» The comment of edid.txt file:
00ffffffffffff005262888800888888 1c150103800000780aEE91A3544C9926 0F505400000001010101010101010101 010101010101011d007251d01e206e28 5500c48e2100001e8c0ad08a20e02d10 103e9600138e2100001e000000fc0054 6f73686962612d4832430a20000000FD 003b3d0f2e0f1e0a2020202020200100 020321434e041303021211012021a23c 3d3e1f2309070766030c00300080E300 7F8c0ad08a20e02d10103e9600c48e21 0000188c0ad08a20e02d10103e960013 8e210000188c0aa01451f01600267c43 00138e21000098000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
7. The driver does NOT automatically switch to the resolution detected. Use the command:
You MUST set the timings via “v4l2-ctl –set-dv-bt-timings”. You can pass in an index to the detected mode, or use:
v4l2-ctl —set-dv-bt-timings query
to select the currently detected timings.
v4l2-ctl -V
should now reflect the resolution detected.8. The chip supports two formats – BGR3 (the default) and UYVY. BGR3 is 24bpp, and UYVY is YUV4:2:2 16bpp.
Over the normal 2 CSI-2 lanes the data rate is such that BGR3 can run at a maximum of 1080p30, whilst UYVY will go up to 1080p50. Use the following command to select UYVY, however your application may override that.
v4l2-ctl -v pixelformat=UYVY
9. Check that the audio drivers / card is available to ALSA.
Note: card 1 means that the card number for the TC358743XBG is “1” and it might be different.
10. Install GStreamer tool.
sudo apt install gstreamer1.0-tools
Check gstreamer tool version:
Note: Different versions have different command line parameters, which is very annoying.11. Use gstreamer to record video and audio
#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.
foo.mkv is the output file. If your gstreamer is version 1.8 or above, you can try the following test command. In addition, alsasrc device=hw:1 represents the sound card of TC358743, you can use “arecord -l” to query.
#The command to recode a video with audio. (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. #The sample command to recode a video without audio. (C779 doesn’t support audio) 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.
PS: We recommend that you modify the above framerate parameter to the actual frame rate of your HDMI signal, the actual frame rate value is from the result of ‘v4l2-ctl –query-dv-timings’ command. For the above HDMI device, because the frame rate is 60, so we modify the framerate parameter to 60 like the followint command. Record the video only:
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
Record the video and audio: (if your shield supports audio also)
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.Note: alsasrc device=hw:1 – “1” means the audio card number, You must change to correct audio card number. (Query the car number via ‘arecord –l’, refer to step 9)
Источник: wiki.blicube.com
Наши статьи
Комплект Metronome продемонстрировал невероятную точность в передаче тембров и заметно расширил звуковой диапазон вверх — впечатления Николая Ефремова (салон AV) о полном сете Metronome AQWO.
Metronome AQWO получает престижную награду «Выбор эксперта»! Обзор от Николая Ефремова (Salon AV)
Peak Consult: история, принципы и достиженияКачество Lexus по цене Toyota! Myryad Z350 получает престижную награду «Выбор эксперта». Обзор от Николая Ефремова (Салон AV)
Metronome AQWO — самый выдающийся цифровой источник из всех представленных на выставке! Обзор от Максима Наумова
High End звучание совсем не за хай-эндную цену! Audio Analogue Aacento получает престижную награду «Выбор эксперта»! Обзор от Николая Ефремова (салон AV)
Источник: soundex.ru