Найти в Дзене
Forlinx Embedded

Аудиосистема Allwinner T507: канал DMA, настройка аудиоконцентратора и руководство по тестированию

В этом руководстве представлен краткий обзор аудиосистемы на платформе Allwinner T507 , охватывающий механизм передачи DMA, методы настройки Audio Hub и часто используемые инструменты тестирования аудио. Оно призвано помочь разработчикам быстро настроить и проверить функциональность аудио. Когда звуковая карта с каналом DMA записывает или воспроизводит цифровой звук, она использует канал DMA для передачи аудиоданных между собой и оперативной памятью без вмешательства ЦП, что позволяет повысить скорость передачи данных и эффективность использования ЦП. Аудиокодек, аудиоконцентратор, DMIC, OWA (One Wire Audio) Аудиокодек: Встроенный модуль с цифро-аналоговым преобразованием для преобразования цифровых аудиосигналов в аналоговые сигналы. Аудиоконцентратор: модуль, специфичный для T507, объединяет базовые функции аудиовхода и выхода и специальные функции аппаратного микширования. Функция микширования имеет три входных терминала и 4 x I2S, которые могут выполнять микширование трех каналов д
Оглавление

В этом руководстве представлен краткий обзор аудиосистемы на платформе Allwinner T507 , охватывающий механизм передачи DMA, методы настройки Audio Hub и часто используемые инструменты тестирования аудио. Оно призвано помочь разработчикам быстро настроить и проверить функциональность аудио.

Когда звуковая карта с каналом DMA записывает или воспроизводит цифровой звук, она использует канал DMA для передачи аудиоданных между собой и оперативной памятью без вмешательства ЦП, что позволяет повысить скорость передачи данных и эффективность использования ЦП.

Аудиосистема T507

Аудиокодек, аудиоконцентратор, DMIC, OWA (One Wire Audio)

Аудиокодек: Встроенный модуль с цифро-аналоговым преобразованием для преобразования цифровых аудиосигналов в аналоговые сигналы.

Аудиоконцентратор: модуль, специфичный для T507, объединяет базовые функции аудиовхода и выхода и специальные функции аппаратного микширования. Функция микширования имеет три входных терминала и 4 x I2S, которые могут выполнять микширование трех каналов данных. Смешанные данные выводятся через HDMI, I2S0, I2S2 и I2S3.

-2
-3

Конфигурация аудиотракта

Чтобы просмотреть текущий узел аудиоустройства в системе:

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.

-4

Введение в инструменты тестирования

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]

Первоначально опубликовано на www.forlinx.net.