ZeratulSC007 0 11 декабря, 2017 Опубликовано 11 декабря, 2017 · Жалоба Доброго времени суток. Есть задача - читать с микрофона (MP45DT02, родной для stm32f4Disco), с последующей передачей в канале с пропускной способностью 6.8 Мб/с и воспроизведением на приемной стороне. На стороне передачи - Discovery(f4), на приемнике ПЛИС с периферией. Хочется как можно ближе подойти к "живому звуку", т.е. воспроизводить звук на приемной части с минимальным отставанием. В первой итерации выбрал записывать с микрофона через DMA во флеш, по накоплению 3х секунд производить обработку (обработка производится с помощью библиотеки libPDMFilter_Keil.lib), выбрасывать в канал, и воспроизводить сразу (после кодека) звук. Связь с каналом передачи осуществляется по SPI. Является ли такое построение взаимосвязей правильным или нужно что-то изменить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 11 декабря, 2017 Опубликовано 11 декабря, 2017 · Жалоба В первой итерации выбрал записывать с микрофона через DMA во флеш Во флешь? Зачем??? Вы разрабатываете УПДДФ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZeratulSC007 0 11 декабря, 2017 Опубликовано 11 декабря, 2017 · Жалоба Во флешь? Зачем??? Вы разрабатываете УПДДФ? Нет, рассчитывал, что так меньше нагрузки на проц, еще ведь обрабатывать PDM с микрофона и рулить SPI с каналом передачи. Если я где-то ошибся, пожалуйста, поправьте или укажите на неточность); я этого и жду Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 11 декабря, 2017 Опубликовано 11 декабря, 2017 · Жалоба Нет, рассчитывал, что так меньше нагрузки на проц, еще ведь обрабатывать PDM с микрофона и рулить SPI с каналом передачи. Если я где-то ошибся, пожалуйста, поправьте или укажите на неточность); я этого и жду Как запись во флешь поможет снизить нагрузку на проц??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 11 декабря, 2017 Опубликовано 11 декабря, 2017 · Жалоба Как запись во флешь поможет снизить нагрузку на проц??? Ключевое слово не Flash ( внешнего RAM все равно нет), а 3 сек. Речь наверно о разделении во времени. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZeratulSC007 0 12 декабря, 2017 Опубликовано 12 декабря, 2017 · Жалоба Как запись во флешь поможет снизить нагрузку на проц??? Через DMA же Ключевое слово не Flash ( внешнего RAM все равно нет), а 3 сек. Речь наверно о разделении во времени. На макетной плате, которая будет под это сделана, она предусмотрена Да, мне хочется понять, будет ли слаженно по времени работать или можно просто забить на флеш, например Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 12 декабря, 2017 Опубликовано 12 декабря, 2017 · Жалоба Через DMA же На макетной плате, которая будет под это сделана, она предусмотрена Да, мне хочется понять, будет ли слаженно по времени работать или можно просто забить на флеш, например На SD карту по любому быстрее будет. Хотя, если честно, не понял алгоритма. Да и либа ваша без исходников, тут ничего сказать заранее нельзя, надо профайлить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZeratulSC007 0 12 декабря, 2017 Опубликовано 12 декабря, 2017 · Жалоба На SD карту по любому быстрее будет. Хотя честно не понял алгоритма. Насчет SD не думали, спасибо за такой вариант. Алгоритм (если я правильно вас понял): MEMS-микрофон -> флеш-память -> когда набирается три секунды, обработка PDM-библиотекой -> по SPI в канал связи -> отправка -> получение -> воспроизведение Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZeratulSC007 0 12 декабря, 2017 Опубликовано 12 декабря, 2017 · Жалоба Да и либа ваша без исходников, тут ничего сказать заранее нельзя, надо профайлить. Либа с сайта stm, у них есть пара application note для ее использования и она применяется в одном из примеров по записи/воспроизведению аудио Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 55 12 декабря, 2017 Опубликовано 12 декабря, 2017 · Жалоба а стирать флэш не планируется ? после 3 секунд записи всё заканчивается ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 12 декабря, 2017 Опубликовано 12 декабря, 2017 · Жалоба Через DMA же Жесть какая.... да уж, нет слов.... :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZeratulSC007 0 12 декабря, 2017 Опубликовано 12 декабря, 2017 (изменено) · Жалоба Жесть какая.... да уж, нет слов.... :( ну так объясните, пожалуйста, я же для этого и написал а стирать флэш не планируется ? после 3 секунд записи всё заканчивается ? планируется 3 секунды выбраны для примера записывать будем пока не пришла команда конца записи (до ее получения может быть от 3 секунд до часа и больше) т.е. в идеале должно постоянно писаться с микрофона во флешку Изменено 12 декабря, 2017 пользователем ZeratulSC007 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 12 декабря, 2017 Опубликовано 12 декабря, 2017 · Жалоба ну так объясните, пожалуйста, я же для этого и написал Да все нормально у вас придумано. Возьмите линейную файловую систему из Keil-а и вполне себе по DMA все получится. Если бы вы использовали вот такой модуль на MK66, то я бы дал вам свою адаптированую по быстродействию версию такой системы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 12 декабря, 2017 Опубликовано 12 декабря, 2017 · Жалоба ну так объясните, пожалуйста, я же для этого и написал Что тут объяснять? Я вас спрашиваю - вы даже вопросы понять не можете..... Спрашиваю - зачем вообще писать во флешь, вы пишете "чтобы снизить нагрузку на проц". Какая связь между "нагрузкой на проц" и записью или не записью во флешь??? Это вообще вещи взаимно-перпендикулярные как тёплое и круглое. Описываете задачу как задачу захвата аудио-сигнала, его обработки и передачи куда-то. Тут всё понятно. Но при чём тут запись во флешь??? Я вас об этом спрашивал. Зачем она нужна? Чтобы во флешь дырку протереть что-ль? Так для этого необязательно какие-то аудио-данные туда писать, можно просто случайные. И ещё DMA приплетаете ни к селу ни к городу... У вас похоже каша в голове такая же как и в формулировке задачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZeratulSC007 0 13 декабря, 2017 Опубликовано 13 декабря, 2017 · Жалоба Да все нормально у вас придумано. Возьмите линейную файловую систему из Keil-а и вполне себе по DMA все получится. Если бы вы использовали вот такой модуль на MK66, то я бы дал вам свою адаптированую по быстродействию версию такой системы. Спасибо, поинтересуюсь возможностью приобретения такого модуля Что тут объяснять? Я вас спрашиваю - вы даже вопросы понять не можете..... Спрашиваю - зачем вообще писать во флешь, вы пишете "чтобы снизить нагрузку на проц". Какая связь между "нагрузкой на проц" и записью или не записью во флешь??? Это вообще вещи взаимно-перпендикулярные как тёплое и круглое. Описываете задачу как задачу захвата аудио-сигнала, его обработки и передачи куда-то. Тут всё понятно. Но при чём тут запись во флешь??? Я вас об этом спрашивал. Зачем она нужна? Чтобы во флешь дырку протереть что-ль? Так для этого необязательно какие-то аудио-данные туда писать, можно просто случайные. И ещё DMA приплетаете ни к селу ни к городу... У вас похоже каша в голове такая же как и в формулировке задачи. Запись во флеш через контроллер DMA позволяет освободить процессор от необходимости рулить записью процессором. Во флеш я думаю писать, чтобы пока копились следующие три секунды, процессор мог обработать полученные данные с микрофона и отправить их в канал. Почему здесь "DMA ни к селу ни к городу"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться