|
Разработка архитектуры проекта, Необходимо правильно построить связь трех модулей |
|
|
|
Dec 11 2017, 08:36
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 14-10-16
Из: Москва
Пользователь №: 93 763

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

Группа: Участник
Сообщений: 37
Регистрация: 14-10-16
Из: Москва
Пользователь №: 93 763

|
Цитата(jcxz @ Dec 11 2017, 15:42)  Во флешь? Зачем??? Вы разрабатываете УПДДФ?  Нет, рассчитывал, что так меньше нагрузки на проц, еще ведь обрабатывать PDM с микрофона и рулить SPI с каналом передачи. Если я где-то ошибся, пожалуйста, поправьте или укажите на неточность); я этого и жду
|
|
|
|
|
Dec 12 2017, 09:54
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 14-10-16
Из: Москва
Пользователь №: 93 763

|
Цитата(jcxz @ Dec 11 2017, 19:38)  Как запись во флешь поможет снизить нагрузку на проц???  Через DMA же Цитата(AlexandrY @ Dec 11 2017, 21:44)  Ключевое слово не Flash ( внешнего RAM все равно нет), а 3 сек. Речь наверно о разделении во времени. На макетной плате, которая будет под это сделана, она предусмотрена Да, мне хочется понять, будет ли слаженно по времени работать или можно просто забить на флеш, например
|
|
|
|
|
Dec 12 2017, 10:01
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(ZeratulSC007 @ Dec 12 2017, 11:54)  Через DMA же На макетной плате, которая будет под это сделана, она предусмотрена Да, мне хочется понять, будет ли слаженно по времени работать или можно просто забить на флеш, например На SD карту по любому быстрее будет. Хотя, если честно, не понял алгоритма. Да и либа ваша без исходников, тут ничего сказать заранее нельзя, надо профайлить.
|
|
|
|
|
Dec 12 2017, 10:05
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 14-10-16
Из: Москва
Пользователь №: 93 763

|
Цитата(AlexandrY @ Dec 12 2017, 13:01)  На SD карту по любому быстрее будет. Хотя честно не понял алгоритма. Насчет SD не думали, спасибо за такой вариант. Алгоритм (если я правильно вас понял): MEMS-микрофон -> флеш-память -> когда набирается три секунды, обработка PDM-библиотекой -> по SPI в канал связи -> отправка -> получение -> воспроизведение
|
|
|
|
|
Dec 12 2017, 11:57
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 14-10-16
Из: Москва
Пользователь №: 93 763

|
Цитата(AlexandrY @ Dec 12 2017, 13:01)  Да и либа ваша без исходников, тут ничего сказать заранее нельзя, надо профайлить. Либа с сайта stm, у них есть пара application note для ее использования и она применяется в одном из примеров по записи/воспроизведению аудио
|
|
|
|
|
Dec 12 2017, 12:39
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 14-10-16
Из: Москва
Пользователь №: 93 763

|
Цитата(jcxz @ Dec 12 2017, 15:15)  Жесть какая.... да уж, нет слов....  ну так объясните, пожалуйста, я же для этого и написал Цитата(x893 @ Dec 12 2017, 15:03)  а стирать флэш не планируется ? после 3 секунд записи всё заканчивается ? планируется 3 секунды выбраны для примера записывать будем пока не пришла команда конца записи (до ее получения может быть от 3 секунд до часа и больше) т.е. в идеале должно постоянно писаться с микрофона во флешку
Сообщение отредактировал ZeratulSC007 - Dec 12 2017, 12:47
|
|
|
|
|
Dec 12 2017, 15:32
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(ZeratulSC007 @ Dec 12 2017, 14:39)  ну так объясните, пожалуйста, я же для этого и написал Да все нормально у вас придумано. Возьмите линейную файловую систему из Keil-а и вполне себе по DMA все получится. Если бы вы использовали вот такой модуль на MK66, то я бы дал вам свою адаптированую по быстродействию версию такой системы.
|
|
|
|
|
Dec 12 2017, 16:19
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(ZeratulSC007 @ Dec 12 2017, 14:39)  ну так объясните, пожалуйста, я же для этого и написал Что тут объяснять? Я вас спрашиваю - вы даже вопросы понять не можете..... Спрашиваю - зачем вообще писать во флешь, вы пишете "чтобы снизить нагрузку на проц". Какая связь между "нагрузкой на проц" и записью или не записью во флешь??? Это вообще вещи взаимно-перпендикулярные как тёплое и круглое. Описываете задачу как задачу захвата аудио-сигнала, его обработки и передачи куда-то. Тут всё понятно. Но при чём тут запись во флешь??? Я вас об этом спрашивал. Зачем она нужна? Чтобы во флешь дырку протереть что-ль? Так для этого необязательно какие-то аудио-данные туда писать, можно просто случайные. И ещё DMA приплетаете ни к селу ни к городу... У вас похоже каша в голове такая же как и в формулировке задачи.
|
|
|
|
|
Dec 13 2017, 10:33
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 14-10-16
Из: Москва
Пользователь №: 93 763

|
Цитата(AlexandrY @ Dec 12 2017, 18:32)  Да все нормально у вас придумано. Возьмите линейную файловую систему из Keil-а и вполне себе по DMA все получится. Если бы вы использовали вот такой модуль на MK66, то я бы дал вам свою адаптированую по быстродействию версию такой системы. Спасибо, поинтересуюсь возможностью приобретения такого модуля Цитата(jcxz @ Dec 12 2017, 19:19)  Что тут объяснять? Я вас спрашиваю - вы даже вопросы понять не можете..... Спрашиваю - зачем вообще писать во флешь, вы пишете "чтобы снизить нагрузку на проц". Какая связь между "нагрузкой на проц" и записью или не записью во флешь??? Это вообще вещи взаимно-перпендикулярные как тёплое и круглое. Описываете задачу как задачу захвата аудио-сигнала, его обработки и передачи куда-то. Тут всё понятно. Но при чём тут запись во флешь??? Я вас об этом спрашивал. Зачем она нужна? Чтобы во флешь дырку протереть что-ль? Так для этого необязательно какие-то аудио-данные туда писать, можно просто случайные. И ещё DMA приплетаете ни к селу ни к городу... У вас похоже каша в голове такая же как и в формулировке задачи. Запись во флеш через контроллер DMA позволяет освободить процессор от необходимости рулить записью процессором. Во флеш я думаю писать, чтобы пока копились следующие три секунды, процессор мог обработать полученные данные с микрофона и отправить их в канал. Почему здесь "DMA ни к селу ни к городу"?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|