Jump to content

    
Sign in to follow this  
163264

Нужно преобразовать выход 16 PDM микрофонов в SPI.

Recommended Posts

Хорошо поперли фантазии :-) Когда решение начнет кристаллизироваться то, плиз, в личку с условиями, если интересно, конечно.

Не интересно. Это Вам намёк, что абдурины явно не хватит. :rolleyes:

Share this post


Link to post
Share on other sites
дык на простом GPIO не выкрутиться ?

к примеру на STM32, есть 69 тактов ( 80e6/(24*48e3) ) чтобы значение с четырех портов закинуть в память, откуда по DMA в SPI

А всякие фильтры уже на приемной стороне.

закинуть-то можно, а разбирать по каналам кто будет данные, они же "параллельно" в памяти лежат, а не "последовательно", тоже приёмная сторона? а кто там будет принимать - ТС молчит как партизан, а вдруг действительно ардуина какая-нибудь?

 

PS: Так что 64 потока - два шт. OMAP-L137 (в каждом 32 сериализатора) и одна (одинаковая!) программа для обоих. И обработка на мощном VLIW DSP.

микрофоны умеют выбирать по какому фронту данные выплёвывать, соответственно можно посадить по 2 на одну линию, так что ног надо только 32, правда вот десериализатору надо будет объяснить чтобы четные/нечетные биты различал.

 

не, достаточно одного только безмозглого FT601Q в него напрямую можно воткнуть все 64 микрофона (под два на линию L+R), клоки с неё же взять на всех, надо только поделить 66МГц на 16 для микрофонов и на 8 для захвата обоих фронтов в ФИФО, и по usb в любой фруктовый-Pi, там и usb2 хватит, просто у ft601 шина сразу 32 разряда, выйдет гораздо проще и дешевле чем один только камушек OMAP-L137.

а можно даже и ft232h + самая мелкая cpld: несколько демультиплексоров на шину 8->32, и немного логики, чтобы клоки на всех поделить как надо.

 

Share this post


Link to post
Share on other sites
...4 мощных ядра CPU (из них одно - DSP)

:biggrin:

Следует читать "из них только одно - DSP, еще два - стероидные PIC'и, и последнее - ARM, почти достигший совершеннолетия".

Share this post


Link to post
Share on other sites
поделить 66МГц на 16 для микрофонов и на 8 для захвата обоих фронтов в ФИФО, и по usb в любой фруктовый-Pi, там и usb2 хватит, просто у ft601 шина сразу 32 разряда, выйдет гораздо проще и дешевле чем один только камушек OMAP-L137.

А преобразование 64-х ШИМов в числа не нагрузит фруктового по самую нехочуху?

В OMAP массивную, но простую до безобразия работу можно равномерно размазать по нескольким ядрам. А тут....

 

Следует читать "из них только одно - DSP, еще два - стероидные PIC'и, и последнее - ARM, почти достигший совершеннолетия".

Для обратного преобразования ШИМ -> число кучи данных они вполне себе хороши. Собственно одно из изначальных предназначений PRUSS как раз - многочисленная, но тупая обработка потоков данных приходящих с интерфейсов (переставление байт, бит и т.п.).

Share this post


Link to post
Share on other sites
Для обратного преобразования ШИМ -> число кучи данных они вполне себе хороши. Собственно одно из изначальных предназначений PRUSS как раз - многочисленная, но тупая обработка потоков данных приходящих с интерфейсов (переставление байт, бит и т.п.).

PDM - это даже близко не ШИМ. Фильтрацию на PRUSS'ах не будете ведь городить?

По-хорошему это задача для небольшой программируемой логики - куча одинаковых фильтров и интерфейс наружу.

Share this post


Link to post
Share on other sites
А преобразование 64-х ШИМов в числа не нагрузит фруктового по самую нехочуху?

В OMAP массивную, но простую до безобразия работу можно равномерно размазать по нескольким ядрам. А тут....

да там не шим, а сигма-дельта скорее, ну какой-нибудь sinc3 фильтр-дециматор c тремя сложениями и тремя вычитаниями наверное не сильно нагрузит. хотя 64 канала, да на 2-4 МГц, но и там тоже несколько ядер бывает.

Share this post


Link to post
Share on other sites
PDM - это даже близко не ШИМ. Фильтрацию на PRUSS'ах не будете ведь городить?

Для фильтрации (если нужна) есть DSP-ядро. Для фильтров как раз очень эффективное.

 

да там не шим, а сигма-дельта скорее

Есть МК со встроенными интерфейсами для внешних сигма-дельта АЦП. XMC4xxx к примеру. Правда там каналов вроде 2 всего. Но может есть другие МК, где больше?

Share this post


Link to post
Share on other sites

Стесняюсь спросить, а что мешает поставить сколько надо PDM to I2S конверторов (adau7002 bga 8 pin) и тактировать их от одного "сборщика" I2S потоков? I2Sы можно будет какой нить цплдой перегнать хоть в квад SPI и передатькуда нада. не?

Edited by yuri.job

Share this post


Link to post
Share on other sites
Стесняюсь спросить, а что мешает поставить сколько надо PDM to I2S конверторов (adau7002 bga 8 pin) и тактировать их от одного "сборщика" I2S потоков? I2Sы можно будет какой нить цплдой перегнать хоть в квад SPI и передатькуда нада. не?

 

не стесняйтесь, мысль разумная, правда в эту сторону есть более эффективное решение - микрофон сразу с I2C, а именно ICS-43434.

Засада тут только в стоимости решения. Обычный PDM микрофон, условно, USD0.7, а этот USD2.2

А микрофонов надо много. Впрочем, пока я так и не увидел здесь более эффективных предложений, чем куча ICS-43434

Share this post


Link to post
Share on other sites
Стесняюсь спросить, а что мешает поставить сколько надо PDM to I2S конверторов (adau7002 bga 8 pin) и тактировать их от одного "сборщика" I2S потоков? I2Sы можно будет какой нить цплдой перегнать хоть в квад SPI и передатькуда нада. не?

32 i2s собирать тоже не особо удобнее чем 32 PDM потока, а одна fpga, которая и данные соберет и PDM в нормальные 24 бита отфильтрует, куда меньше стоит чем те 50$ что будут стоить 32 adau7002.

Share this post


Link to post
Share on other sites

Если Вам не для собственного серийного производства, купите у нас готовую - 66 микрофонов, запись всего, видеокамера для нацеливания, софт для обработки на ходу и после записи. Фильтрация сделана на Циклоне 3 одном - все каналы.

Share this post


Link to post
Share on other sites
Засада тут только в стоимости решения. Обычный PDM микрофон, условно, USD0.7, а этот USD2.2

А микрофонов надо много. Впрочем, пока я так и не увидел здесь более эффективных предложений, чем куча ICS-43434

Ну, вы же не указали параметры звука на выходе преобразователя PDM->SPI:

 

- неравномерность в полосе частот

- граничные частоты полосы пропускания

- граничная частота полосы заграждения

- уровень подавления в полосе заграждения

 

Цена вопроса, да и сама реализация, КМК, будут весьма существенно зависеть от этих параметров.

Share this post


Link to post
Share on other sites
Если Вам не для собственного серийного производства, купите у нас готовую - 66 микрофонов, запись всего, видеокамера для нацеливания, софт для обработки на ходу и после записи. Фильтрация сделана на Циклоне 3 одном - все каналы.

 

нет, единичное изделие не интересует, спасибо.

Edited by 163264

Share this post


Link to post
Share on other sites
не стесняйтесь, мысль разумная, правда в эту сторону есть более эффективное решение - микрофон сразу с I2C, а именно ICS-43434.

Засада тут только в стоимости решения. Обычный PDM микрофон, условно, USD0.7, а этот USD2.2

А микрофонов надо много. Впрочем, пока я так и не увидел здесь более эффективных предложений, чем куча ICS-43434

2.2-0.7 = 1,5 доллара экономия. на 16 микрофонов - это 1700 руб экономии. В принципе - немного, чтобы это не рассматривать.

Вообще: надо ставить ПЛИСку - остальные решения - слишком неэффективны...

Share this post


Link to post
Share on other sites

Две STM32L476 с dfsdm входами и 4 встроенных аппаратных фильтра позволяет одна подключить 8 микрофонов. Еще еа spi штуки 4 и программно отфильтровать ииого штук 12 можно подключить. 2 контроллера - минимум 16 микрофонов без каких либо сложностей.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this