реклама на сайте
подробности

 
 
> I2S full duplex dma, Сбой в режиме DMA
nicks80
сообщение Sep 8 2016, 19:58
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 97
Регистрация: 18-10-07
Пользователь №: 31 485



Проблема в следующем.
Имеется кодек UDA1344 в связке с stm32f407vet6
Данные читаются по I2S из кодека в память и потом выдаются в кодек обратно по I2S с помощью DMA.
Все работает как часы но на объекте раз в день или два. происходит сбой. результатом такого сбоя является сильный шум из кодека.
Как я понял такой шум появляется если самому дотронутся до линии CK I2S. которая отвечает за очередность передачи битов.
Печально что восстановления не происходит при переходе 1 в 0 или наоборот 0 в 1 линии WS(LR CH). То есть получается что данные так и идут перемешанными битами соответственно и програмно никак это не отследишь.
Но оно и понятно если бит(помеха) лишний проскочил то все уже съехало а dma все шлет и шлет. какими средствами справляться хз.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
OVladimir
сообщение Sep 9 2016, 13:48
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-01-07
Из: Вильнюс
Пользователь №: 24 290



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


Частый гость
**

Группа: Участник
Сообщений: 97
Регистрация: 18-10-07
Пользователь №: 31 485



Цитата(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
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- nicks80   I2S full duplex dma   Sep 8 2016, 19:58
- - _4afc_   Если сбой не отражается в статусных регистрах stm3...   Sep 9 2016, 13:18
- - OVladimir   Я использовал только TXE прерывание для проверки р...   Sep 11 2016, 09:25
|- - nicks80   Цитата(OVladimir @ Sep 11 2016, 13:25) Я ...   Sep 11 2016, 09:44
- - aaarrr   Случаи разные: у OVladimir'а МК ведомый, а у в...   Sep 11 2016, 09:52
|- - nicks80   Цитата(aaarrr @ Sep 11 2016, 13:52) Случа...   Sep 11 2016, 10:50
- - aaarrr   Давайте уточним: сбивается только прием, передача ...   Sep 11 2016, 11:16
|- - jcxz   Завести сигнал клока параллельно на любой таймерны...   Sep 11 2016, 11:29
||- - nicks80   Цитата(jcxz @ Sep 11 2016, 15:29) Завести...   Sep 11 2016, 12:42
||- - jcxz   Цитата(nicks80 @ Sep 11 2016, 18:42) я на...   Sep 11 2016, 14:00
|- - nicks80   Цитата(aaarrr @ Sep 11 2016, 15:16) Давай...   Sep 11 2016, 11:52
|- - aaarrr   Цитата(nicks80 @ Sep 11 2016, 14:52) сбив...   Sep 11 2016, 12:00
- - Genadi Zawidowski   Судя по схеме, кодек в режиме конфигурирования пин...   Sep 11 2016, 16:06
|- - nicks80   Цитата(Genadi Zawidowski @ Sep 11 2016, 20...   Sep 11 2016, 18:04
|- - jcxz   Цитата(nicks80 @ Sep 12 2016, 00:04) но в...   Sep 12 2016, 03:57
||- - nicks80   Цитата(jcxz @ Sep 12 2016, 07:57) Кол-во ...   Sep 12 2016, 12:06
|- - _4afc_   Цитата(nicks80 @ Sep 11 2016, 22:04) Но с...   Sep 12 2016, 07:32
- - nicks80   Что только не предпринимал оказывалось костылями. ...   Sep 15 2016, 20:23


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 00:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016