RRRLock
New member
Доброго времени суток!
Есть задача сделать генератор звуковых сигналов с помощью платы STM32F3-Discovery, затем по интерфейсу I2S передавать аудио-сигнал в ESP8266, по радио-каналу с использованием протокола UDP пересылать сигнал в компьютер и воспроизводить звук. Формат данных 24 бита, частота дискретизации 48 кГц. STM32F3 - мастер-передатчик, ESP - слэйв-приемник.
Пишу прошивку в Eclipse с использованием UDK. В папке с примерами есть проект I2S-Demo. Попробовал подправить проект под свои нужды, но столкнулся со следующими проблемами:
1. DMA отказывается работать в непрерывном режиме с кольцевым буфером. Буферы заполняются отсчетами, а дальше идут сплошные нули. Почему-то прошивка каждый раз перезапускается заново.
2. Данные с STM-ки приходят не полностью. Часть сообщения теряется, такое ощущение, что входной канал I2S в ESP8266 запрограммирован под другую тактовую частоту и частоту дискретизации. Так же есть мысль, что нет синхронизации по CLK, поскольку затактировал I2S в STM от PLL без кварца. Так же частота дискретизации получилась не 48 000 Гц, а 48 676 Гц. Может быть в этом дело?
Подскажите пожалуйста в чем может быть проблема?
Есть задача сделать генератор звуковых сигналов с помощью платы STM32F3-Discovery, затем по интерфейсу I2S передавать аудио-сигнал в ESP8266, по радио-каналу с использованием протокола UDP пересылать сигнал в компьютер и воспроизводить звук. Формат данных 24 бита, частота дискретизации 48 кГц. STM32F3 - мастер-передатчик, ESP - слэйв-приемник.
Пишу прошивку в Eclipse с использованием UDK. В папке с примерами есть проект I2S-Demo. Попробовал подправить проект под свои нужды, но столкнулся со следующими проблемами:
1. DMA отказывается работать в непрерывном режиме с кольцевым буфером. Буферы заполняются отсчетами, а дальше идут сплошные нули. Почему-то прошивка каждый раз перезапускается заново.
2. Данные с STM-ки приходят не полностью. Часть сообщения теряется, такое ощущение, что входной канал I2S в ESP8266 запрограммирован под другую тактовую частоту и частоту дискретизации. Так же есть мысль, что нет синхронизации по CLK, поскольку затактировал I2S в STM от PLL без кварца. Так же частота дискретизации получилась не 48 000 Гц, а 48 676 Гц. Может быть в этом дело?
Подскажите пожалуйста в чем может быть проблема?
Последнее редактирование: