Структура данных I2S (звук Inter-IC)
Существует множество электрических описаний I2S; однако я не могу найти информацию о том, как данные форматируются / структурируются. Под форматом я подразумеваю, что означает значение в строке последовательных данных? Есть ли в этих значениях информация о громкости, высоте тона или что-то еще?
В качестве примера приложения у меня есть аудиофайл.wav. Я распаковал файл и получил поток образцов данных. Как эти образцы данных должны быть переданы по I2S, чтобы приемник мог воспроизводить звук? 0x 0011 2233 4455 6677 8899 AABB CCDD EEFF 0011 2233 4455 ... и так далее. Должны ли эти значения быть отформатированы каким-либо образом, значимым для получателя? Может быть, что-то вроде 0x0011____, 0x2233____, где пробел означает другую разную информацию?
Предположим, что в случае стандарта I2S 24 бита на выборку. Любая информация будет полезна. Спасибо.
1 ответ
В Википедии I²S говорится, что у вас будет 3 строки, одна для часов (частота дискретизации * бит на канал * номер канала), одна для выбора канала (0 слева, 1 запись) и одна для данных, сначала старший бит. Есть еще какая-то диаграмма. Что вам еще нужно?
Структура данных, которую вы можете использовать в своем программном обеспечении, может быть любой, поскольку вы правильно программируете IP-адрес I²S и отправляете ему соответствующие данные. Вы можете использовать некоторый массив для хранения левого и правого каналов, правильно набранных в отношении бит / сэмпл.
Значение выборки действительно является амплитудой дискретизированного / генерируемого сигнала.