Перейти к содержанию
    

Разработка архитектуры проекта

Доброго времени суток.

Есть задача - читать с микрофона (MP45DT02, родной для stm32f4Disco), с последующей передачей в канале с пропускной способностью 6.8 Мб/с и воспроизведением на приемной стороне. На стороне передачи - Discovery(f4), на приемнике ПЛИС с периферией. Хочется как можно ближе подойти к "живому звуку", т.е. воспроизводить звук на приемной части с минимальным отставанием. В первой итерации выбрал записывать с микрофона через DMA во флеш, по накоплению 3х секунд производить обработку (обработка производится с помощью библиотеки libPDMFilter_Keil.lib), выбрасывать в канал, и воспроизводить сразу (после кодека) звук. Связь с каналом передачи осуществляется по SPI. Является ли такое построение взаимосвязей правильным или нужно что-то изменить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В первой итерации выбрал записывать с микрофона через DMA во флеш

Во флешь? Зачем??? :wacko:

Вы разрабатываете УПДДФ? :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во флешь? Зачем??? :wacko:

Вы разрабатываете УПДДФ? :biggrin:

 

Нет, рассчитывал, что так меньше нагрузки на проц, еще ведь обрабатывать PDM с микрофона и рулить SPI с каналом передачи. Если я где-то ошибся, пожалуйста, поправьте или укажите на неточность); я этого и жду

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, рассчитывал, что так меньше нагрузки на проц, еще ведь обрабатывать PDM с микрофона и рулить SPI с каналом передачи. Если я где-то ошибся, пожалуйста, поправьте или укажите на неточность); я этого и жду

Как запись во флешь поможет снизить нагрузку на проц??? :wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как запись во флешь поможет снизить нагрузку на проц??? :wacko:

Ключевое слово не Flash ( внешнего RAM все равно нет), а 3 сек.

Речь наверно о разделении во времени.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как запись во флешь поможет снизить нагрузку на проц??? :wacko:

Через DMA же

 

Ключевое слово не Flash ( внешнего RAM все равно нет), а 3 сек.

Речь наверно о разделении во времени.

На макетной плате, которая будет под это сделана, она предусмотрена

Да, мне хочется понять, будет ли слаженно по времени работать или можно просто забить на флеш, например

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Через DMA же

На макетной плате, которая будет под это сделана, она предусмотрена

Да, мне хочется понять, будет ли слаженно по времени работать или можно просто забить на флеш, например

На SD карту по любому быстрее будет.

Хотя, если честно, не понял алгоритма.

Да и либа ваша без исходников, тут ничего сказать заранее нельзя, надо профайлить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На SD карту по любому быстрее будет.

Хотя честно не понял алгоритма.

Насчет SD не думали, спасибо за такой вариант.

Алгоритм (если я правильно вас понял): MEMS-микрофон -> флеш-память -> когда набирается три секунды, обработка PDM-библиотекой -> по SPI в канал связи -> отправка -> получение -> воспроизведение

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да и либа ваша без исходников, тут ничего сказать заранее нельзя, надо профайлить.

 

Либа с сайта stm, у них есть пара application note для ее использования и она применяется в одном из примеров по записи/воспроизведению аудио

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а стирать флэш не планируется ?

после 3 секунд записи всё заканчивается ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Жесть какая.... да уж, нет слов.... :(

ну так объясните, пожалуйста, я же для этого и написал

 

а стирать флэш не планируется ?

после 3 секунд записи всё заканчивается ?

планируется

3 секунды выбраны для примера

записывать будем пока не пришла команда конца записи (до ее получения может быть от 3 секунд до часа и больше)

т.е. в идеале должно постоянно писаться с микрофона во флешку

Изменено пользователем ZeratulSC007

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну так объясните, пожалуйста, я же для этого и написал

Да все нормально у вас придумано.

Возьмите линейную файловую систему из Keil-а и вполне себе по DMA все получится.

Если бы вы использовали вот такой модуль на MK66, то я бы дал вам свою адаптированую по быстродействию версию такой системы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну так объясните, пожалуйста, я же для этого и написал

Что тут объяснять? Я вас спрашиваю - вы даже вопросы понять не можете..... :wacko:

Спрашиваю - зачем вообще писать во флешь, вы пишете "чтобы снизить нагрузку на проц". Какая связь между "нагрузкой на проц" и записью или не записью во флешь??? Это вообще вещи взаимно-перпендикулярные как тёплое и круглое.

Описываете задачу как задачу захвата аудио-сигнала, его обработки и передачи куда-то. Тут всё понятно. Но при чём тут запись во флешь??? Я вас об этом спрашивал. Зачем она нужна? Чтобы во флешь дырку протереть что-ль? Так для этого необязательно какие-то аудио-данные туда писать, можно просто случайные.

И ещё DMA приплетаете ни к селу ни к городу... У вас похоже каша в голове такая же как и в формулировке задачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да все нормально у вас придумано.

Возьмите линейную файловую систему из Keil-а и вполне себе по DMA все получится.

Если бы вы использовали вот такой модуль на MK66, то я бы дал вам свою адаптированую по быстродействию версию такой системы.

Спасибо, поинтересуюсь возможностью приобретения такого модуля

 

Что тут объяснять? Я вас спрашиваю - вы даже вопросы понять не можете..... :wacko:

Спрашиваю - зачем вообще писать во флешь, вы пишете "чтобы снизить нагрузку на проц". Какая связь между "нагрузкой на проц" и записью или не записью во флешь??? Это вообще вещи взаимно-перпендикулярные как тёплое и круглое.

Описываете задачу как задачу захвата аудио-сигнала, его обработки и передачи куда-то. Тут всё понятно. Но при чём тут запись во флешь??? Я вас об этом спрашивал. Зачем она нужна? Чтобы во флешь дырку протереть что-ль? Так для этого необязательно какие-то аудио-данные туда писать, можно просто случайные.

И ещё DMA приплетаете ни к селу ни к городу... У вас похоже каша в голове такая же как и в формулировке задачи.

Запись во флеш через контроллер DMA позволяет освободить процессор от необходимости рулить записью процессором. Во флеш я думаю писать, чтобы пока копились следующие три секунды, процессор мог обработать полученные данные с микрофона и отправить их в канал. Почему здесь "DMA ни к селу ни к городу"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...