В этом руководстве представлен краткий обзор аудиосистемы на платформе Allwinner T507 , охватывающий механизм передачи DMA, методы настройки Audio Hub и часто используемые инструменты тестирования аудио. Оно призвано помочь разработчикам быстро настроить и проверить функциональность аудио.
Когда звуковая карта с каналом DMA записывает или воспроизводит цифровой звук, она использует канал DMA для передачи аудиоданных между собой и оперативной памятью без вмешательства ЦП, что позволяет повысить скорость передачи данных и эффективность использования ЦП.
Аудиосистема T507
Аудиокодек, аудиоконцентратор, DMIC, OWA (One Wire Audio)
Аудиокодек: Встроенный модуль с цифро-аналоговым преобразованием для преобразования цифровых аудиосигналов в аналоговые сигналы.
Аудиоконцентратор: модуль, специфичный для T507, объединяет базовые функции аудиовхода и выхода и специальные функции аппаратного микширования. Функция микширования имеет три входных терминала и 4 x I2S, которые могут выполнять микширование трех каналов данных. Смешанные данные выводятся через HDMI, I2S0, I2S2 и I2S3.
Конфигурация аудиотракта
Чтобы просмотреть текущий узел аудиоустройства в системе:
root@forlinx:/# cat /proc/asound/cards
0 [audiocodec ]: audiocodec - audiocodec //кодек, соответствующий карте0
аудиокодек
1 [sndahub ]: sndahub - sndahub //audio_hub соответствующая карта1
sndahub
2 [sndhdmi ]: sndhdmi - sndhdmi //hdmi соответствующая карта2
sndhdmi
3 [sndwm89603001a ]: sndwm8960_3-001 - sndwm8960.3-001a //8960 соответствующая карта3
sndwm8960.3-001a
root@forlinx:/proc/asound# устройства cat
0: [ 0] : управление //устройством 0
16: [ 0- 0]: воспроизведение цифрового звука
24: [ 0- 0]: цифровой захват звука
32: [ 1] : управление //устройством 1
33: : таймер
48: [ 1- 0]: воспроизведение цифрового звука //APBIF_TXDIF0 play hub_device 0
49: [ 1- 1]: воспроизведение цифрового звука //APBIF_TXDIF1 play hub_device 1
50: [ 1- 2]: воспроизведение цифрового звука //APBIF_TXDIF2 play hub_device 2
56: [ 1- 0]: цифровой аудиозахват //APBIF0 воспроизведение hub_device 0
57: [ 1- 1]: цифровой захват звука //APBIF1 воспроизведение hub_device 1
58: [ 1- 2]: цифровой захват звука //APBIF2 воспроизведение hub_device 2
64: [ 2] : управление //устройством 2
80: [ 2- 0]: воспроизведение цифрового звука
96: [ 3] : управление //устройством 3
112: [ 3- 0]: воспроизведение цифрового звука
120: [ 3- 0]: цифровой аудиозахват
Конфигурация Audio_hub по умолчанию
Конфигурация i2s3 по умолчанию
root@forlinx:/# tinymix -D 1
Имя микшера: 'sndahub'
Количество элементов управления: 26
ctl тип num имя значение
0 ENUM 1 аудиоформат ahub Функция null
1 BOOL 1 I2S0IN Выключить
2 BOOL 1 I2S0OUT Выключить
3 BOOL 1 I2S1IN Выключить
4 BOOL 1 I2S1OUT Включить
5 BOOL 1 I2S2IN Выключить
6 BOOL 1 I2S2OUT Выключить
7 BOOL 1 I2S3IN Включить
8 BOOL 1 I2S3OUT Включить
9 BOOL 1 DAM0IN Выключить
10 BOOL 1 DAM1IN Выключить
11 BOOL 1 DAM0OUT Выключить
12 BOOL 1 DAM1OUT Выключить
13 ENUM 1 APBIF0 Выбор источника НЕТ
14 ENUM 1 APBIF1 Выбор источника I2S3_TXDIF
15 ENUM 1 APBIF2 Выбор источника НЕТ
16 ENUM 1 I2S0 Src Select НЕТ
17 ENUM 1 I2S1 Выбор источника APBIF_TXDIF0
18 ENUM 1 I2S2 Src Select НЕТ
19 ENUM 1 I2S3 Выбор источника APBIF_TXDIF1
20 ENUM 1 DAM0Chan0 Src Select НЕТ
21 ENUM 1 DAM0Chan1 Src Select НЕТ
22 ENUM 1 DAM0Chan2 Src Select НЕТ
23 ENUM 1 DAM1Chan0 Src Select НЕТ
24 ENUM 1 DAM1Chan1 Src Select НЕТ
25 ENUM 1 DAM1Chan2 Src Select НЕТ
Рекомендуемая конфигурация I2s0
tinymix -D 1 1 1 //Открыть вход для i2s0
tinymix -D 1 2 1 //Открыть вывод для i2s0
tinymix -D 1 7 0 //Закрыть вход i2s3
tinymix -D 1 8 0 //Закрыть вывод i2s3
tinymix -D 1 14 I2S0_TXDIF
tinymix -D 1 16 APBIF_TXDIF1
tinymix -D 1 19 НЕТ
Рекомендуемая конфигурация I2s2
tinymix -D 1 1 1 //Открыть вход для i2s2
tinymix -D 1 6 1 //Открыть вывод для i2s0
tinymix -D 1 7 0 //Закрыть вход i2s3
tinymix -D 1 8 0 //Закрыть вывод i2s3
tinymix -D 1 14 I2S2_TXDIF
tinymix -D 1 18 APBIF_TXDIF1
tinymix -D 1 19 НЕТ
Конфигурация аудиоканалов повлияет на использование тестовых процедур:
Перед проведением теста воспроизведения вставьте подготовленные наушники 3,5 мм в интерфейс HeadPhone. Для воспроизведения звука через динамик вставьте штыревые провода подготовленного динамика (SPK_RP и SPK_LN) в интерфейс P32 или P31.
Введение в инструменты тестирования
1. alsa - utils: Это стандартные инструменты ALSA, которые используют стандартную библиотеку alsa - lib. Обычно используемые инструменты включают amixer, aplay, arecord, alsaconf и т. д.
2. tinyalsa: Это упрощенная версия alsa - lib. Она предоставляет базовые интерфейсы для PCM и управления, и интерфейсы могут использоваться по мере необходимости. Обычно используемые инструменты - tinymix, tinyplay, tinycap.
Инструмент для проверки звука T507
Стандартный инструмент ALSA alsa-utils использует стандартную библиотеку alsa-lib. Обычно используются amixer, aplay, arecord, alsaconf
tinyalsa — это упрощенная версия alsa-lib. Она предоставляет базовые интерфейсы для PCM и управления, которые могут быть использованы по требованию. Обычно используемые инструменты: tinymix, tinyplay, tinycap1
1. кодек (LINEOUT)
только ЦАП, нет АЦП. Поэтому он может только воспроизводить, но не записывать, и аудио _ концентратор не используется. Команды воспроизведения используют aplay или tinyplay
aplay -Dhw:0,0 mic.wav
2. Для 8960 (внешний аудиочип) его сигнал I2S проходит через audio_hub, который является модулем, уникальным для Allwinner. Запись звука с его помощью.
Audio_hub (с 8960):
root@forlinx:tinycap_ahub mic.wav -aD 1 -ad 1 -D 3 -d 0 -t 30 -b 16 -c 2 -p 1024
Использование: tinycap_ahub file.wav [-aD ahub card] [-ad ahub device] [-D card] [-d device][-c channels] [-r rate] [-b bits] [-p period_size] [-n n_periods] [-t seconds]
Воспроизведение Audio_hub (8960):
root@forlinx:tinyplay_ahub mic.wav -aD 1 -ad 1 -D 3
Использование: tinyplay_ahub file.wav [-aD ahub card] [-ad ahub device] [-D card] [-d device] [-p period_size] [-n n_periods]