Загрузка данных



Почему возникает конфликт между LT9611 и i.MX95 XCVR?

Конфликт является чисто архитектурным и заключается в несовпадении форматов данных (Data Layout) и служебных битов подканала [0vIv-2].

Что выдает i.MX95 XCVR в линию SPDIF_OUT:

IP-блок XCVR в i.MX95 — это универсальный трансивер, спроектированный NXP для eARC/SPDIF [0vIv-2]. Драйвер жестко работает в режиме SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE [JGgp6E].
Это значит, что процессор не шлет сырые аудио-данные (PCM) [0vIv-2]. Вместо этого DMA гонит из памяти уже готовые 32-битные субкадры (Subframes) [0vIv-2], где внутри одного слова упакованы:
• Аудио-сэмпл (сдвинутый в 24-битный контейнер) [0vIv-2].
• Программные маркеры синхронизации/преамбул (B, M, W) [0vIv-2].
• Служебные биты подканала: V (Validity), U (User), P (Parity) и C (Channel Status) [0vIv-2].
По умолчанию подсистема ALSA оставляет блок Channel Status (C) пустым (заполненным нулями) [0vIv-2]. На языке протокола IEC60958 это означает, что передается «Non-Audio / Data stream» (поток данных, а не звук) [0vIv-2].

Что ожидает получить LT9611 на входе SPDIF_IN:

По умолчанию в режиме SPDIF (0x8406 = 0x0C) мост Lontium ожидает классический, чистый BMC-модулированный SPDIF-сигнал [0vIv-2]. Аппаратный декодер LT9611 пытается сам вычленить преамбулы и биты VUC&P из фронтов сигнала [0vIv-2].