Цитата(OVladimir @ Sep 9 2016, 17:48)

Не знаю, поможет или нет, но похожую проблему пришлось решать несколько лет назад на STM32F103Rx + GSM modem (несколько разных модемов). I2S в МК в режиме Slave, длинный WA, передаёт в модем голосовую запись, иногда происходит рассинхронизация в итоге слышен шум....
Идея в том, что по прерыванию TXE проверяется уровень на WS линии тупо при помощи GPIO (в этом МК IDR всегда отображает картину на входе независимо от выбранной функции). Если прерывание происходит на середине слова, это легко можно определить проверив уровень WS(должен быть высокий, а он низкий и наоборот), то делаем переинициализацию модуля I2S. В моём случае метод сработал без каких-либо заметных для ушей помех.
.идея понятна но как на протяжении 16 бит отследить состояние ноги WS.
у меня к томуже все через DMA.
проблема серьезная с этим WS и рассинхронизацией. у меня длинна дорожки 20мм. и при прикосании даже проводником 10см происходит сбой.
попробовал через постоянную составляющую сигнала тоже не прокатило.(хотя по идее должно сработать)
Сообщение отредактировал nicks80 - Sep 10 2016, 18:53