Как сказал Геннадий Завидовский: "Нас должно быть больше!"
Сама АРУ по сути это программа, которая выравнивает амплитуду до нормальных (по человеческим меркам) уровней. И перед тем как начать что-то рассказывать хочу объяснить основу цифрового звука на сегодня.
Сперва стоит АЦП который оцифровывает амплитуду сигнала в рамках от -1 до 1 (условно). Далее через шину i2s эти данные летят в процессор, причем скорость их константа и составляет всем известные значения(44к 48к 96к 192к и тд) измеряемые в количествах замеров ацп в 1 секунду и чем выше эта цифра - тем более качественный сигнал, но тем больше ресурсов кушается в процессоре.
В процессоре звук обрабатывается блоками кратными 8 (у меня 512*4 байт 1 один блок, а всего их 2 блока ). Прием данных в память процессора от ацп или плис осуществляется в бесконечном цикле специальным железом внутри процессора - DMA механизм прямого доступа к память без использования процессорного времени. Так вот, дма заполняет память замерами ацп и как только один блок памяти заканчивается, дма дает сигнал процессору "типа блок полный" и сразу начинает заполнять второй блок, а потом опять первый и так бесконечно и всегда с одной скоростью. Таким образом нет разрывов и пропусков и звук получается стабильный и качественный - это основа i2s шины передачи звука. Когда процессор получает сигнал от дма, что блок полный то сразу начинает с ним работать. Вот здесь и работает АРУ, НОЧЬ, НБ, НР, ШИФТ - это то , что процессор успевает сделать с одним блоком пока ДМА заполняет второй бок памяти замерами ацп. После обработки блока, процессор отдает снова ДМА только теперь для передачи этого блока на ЦАП (для получения уже звука) за это отвечает еще один канал ДМА (у процессора их несколько, очень классная штука, которая уск��ряет сильно работу всей системы и вывод видио инфы в том числе). Фактически работает сразу два канала дма с одной скоростью с 4 блоками (2 на прием и 2 на передачу). Вот так работают все современные трансиверы и всякие приборы типа осликов и анализаторов - в реальном времени. За это время, помимо звука нужно еще подготовить видео и еще всякую дополнительную работу с периферией (дпф, тюнеры). Вообщем процессор изрядно занят.



дошел сам методом тыка.
)