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

 
 
> I2S LPC1758 разделение левого и правого каналов
kt368
сообщение May 17 2014, 17:19
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 13-10-10
Из: Киев
Пользователь №: 60 135



Здравствуйте!
Я использую модуль I2S МК для получения данных с АЦП PCM4202. МК выступает мастером, он вырабатывает как сигналы выбора правого/левого канала, так и тактовый сигнал для обмена по линии I2S. Эти все сигналы генерируются в блоке передатчика модуля I2S (у меня настроены режимы, описанные на рис. 101 и 109 мануала. Получаю данные по прерывании от I2S модуля, настроив его на генерацию прерываний при заполнении RX FIFO на всю его глубину (8 семплов).
При этом почти всегда в FIFO данные сохранены в следующем порядке:
Код
лев-прав-лев-прав-лев-прав-лев-прав
но иногда бывает так:
Код
прав-лев-прав-лев-прав-лев-прав-лев
Подскажите, как мне настроить систему для однозначного определения, где правый, а где левый каналы?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kt368
сообщение May 26 2014, 18:37
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 13-10-10
Из: Киев
Пользователь №: 60 135



Всё, с правым/левым каналом разобрался, после того как всё честно реализовал (в прерывании FIFO данных I2S перекидываются в софтовый буфер) проблема исчезла. Теперь вылезла следующая интересная проблема появилось - при перезапуске программы (перезапитка или ресет в отладчике), результаты АЦП, считываемые из регистров I2S плавают - то влево на 1 разряд сдвиг, то вправо. Из-за этого результат оцифровки то в 2 раза больше реального значения, то меньше. Долго бился, по осциллографу на линиях I2S всё ОК. Пока проблема до конца не решена.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 19:55
Рейтинг@Mail.ru


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