Спасибо за ответ, может я неточно выразился, имел ввиду множитель менять, чтобы переключаться между 256fs и 512fs, как сделано было в этой прошивке. Только хотелось бы его менять не сильно углубляясь в дебри кода.
http://forum.vegalab.ru/showthread.php?t=85516&p=2756038&viewfull=1#post2756038
Если я правильно понял, все сводится к тому, чтобы не использовать отдельный генератор на каждую частоту, как подразумевается сейчас, а использовать всего два генератора: один для сетки 44,1 кГц, другой для сетки 48 кГц. Например, 24.576мГц использовать и для 48 кГц, и для 96 кГц. Верно? Но при этом соотношение MCLK/Fs не меняется, в описании по ссылке не совсем корректно написано. В случае с 48 кГц будет активирован делитель 2, в случае 96 кГц делителя не будет. Но MCLK/Fs = 256. Честно говоря, я уже запутался в желаниях пользователей. Очень многие просили именно такой вариант, как сейчас, чтобы частота в МК не менялась. Они считают, что это (делители) вносит искажения в исходный сигнал. Сделать так можно, учтем.
По поводу соотношения MCLK/Fs. В режиме мастер соотношение MCLK/Fs = 256, оно зафиксировано аппаратно и поменять его нельзя. В режиме слейв MCLK не используется, тактирующие сигналы генерирует внешний мастер и соотношение MCLK/Fs может быть другим. Возможны три типа синхронизации, подробно в описании
https://www.chipdip.ru/product0/9000679327
Отклонюсь от темы. По вашей ссылке заметил вопрос про разницу в периферии МК SAI и I2S. Возможно, вам будет интересно. У них принципиальная разница: в отличие от I2S все подблоки и блоки SAI могут быть синхронизированы между собой, т.е. один подблок может быть мастером, а все остальные - слейвами по отношению к нему и использовать его тактирующие сигналы, которые подключаются между блоками внутри МК. Причем по отношению к внешим устройствам этот внутренний SAI-мастер может быть как мастером, так и слейвом. У нас возможен многоканальный режим, т.е. использование двух блоков SAI одновременно. Их внутренняя синхронизация гарантирует их синхронную работу по отношению друг к другу, что, в свою очередь, гарантирует их общую синхронизацию с ПК. В случае I2S все периферийные блоки сами по себе.