Pull to refresh
32K+
204

Embedded SW/Firmware Engineer

81,4
Rating
525
Subscribers
Send message

Вы про PWM когда-то статью писали, помню.

У меня про PWM есть два текста

Лампа плавного пуска
https://habr.com/ru/articles/1044098/

Управление напряжением PWM сигналом (PWM+RC=DAC)
https://habr.com/ru/articles/821951/

 но есть же и другие методы сжатия.

Какие именно?
Я работал с LC3(Low Complexity Communication codec ) и он был проприетарным поставлялся только в виде *.h и *.a файлов.
https://habr.com/ru/articles/705506/

Как точно работает драйвер SPI для SD, я пока не разобрался.

Есть отдельные методички на эту тему

https://habr.com/ru/articles/1043452/
Пуск SPI трансивера на STM32
@danil_12345

Подключение SD карты по SPI (Капсула памяти)
https://habr.com/ru/articles/974076/
@karenic

 Разбираясь с записью звука на STM32L432 через аудиокодек NAU88C22, я не только подключил микрофон и настроил кодек

Аудиокодек NAU88C22 хорош.
Его даже заложили в разработчики культового SDR приемника Малахит-DSP3.
Однако NAU88C22 не купить для обучения и прототипирования в составе отладочных модулей как WM8731.

На waveshare ebay amazon sparkfun ardusimple crowdsupply olimex mikroe chipdip aliexpress нет учебных модулей на основе NAU88C22.

Для отладки драйвера кодека NAU88C22 надо трассировать печатную плату самостоятельно.

https://docs.google.com/spreadsheets/d/1r7tuNrQ8PPfIVcM2FeGpwa1eeWjyq41CD0MGq_Q_VV8/edit?gid=0#gid=0

Хороший текст!

Мне тоже удалось смастерить диктофон. Вот отчет.
Диктофон на микроконтроллере (WM8731 + I2S + STM32 + SDIO + FAT16) https://habr.com/ru/articles/1054896/


Что такое кроссовер в контексте звуковой обработки?

Не знаю сколько данных на звук надо.

Диктофоны - это устройства hi-load обработки. Каждый семпл дает Вам в WAV файле 4 байта: левый и правый каналы по 16 бит каждый. Для записи набегающего потока двухканальных 16-битных аудио семплов на частоте дискретизации 96kHz надо, чтобы в SDIO, скорость записи превышала 375 kбайт в секунду. Это не мало.

Для чего -- стерео:) , какая-то пространственная обработка сигнала или просто нужно сразу два источника писать (например, диалог в интервью)?

С двумя микрофонами в обработке можно делать  Angle of Arrival (AoA).
Определять угол прихода фронта звуковой волны.

Вполне достаточно было бы 8 бит и встроенный АЦП.

Я Вам больше скажу. Для микрофона достаточно и 1го бита.

Просто соединить микроконтроллер и PDM микрофон MP23DB01HPTR по SPI.
Данные с микрофона получать по SPI. Будет поступать однобитный поток с Sigma Delta модулятора, который встроен в микрофон. И этот поток как есть сохранять на SD карту.

https://habr.com/ru/articles/765896/

Далее уже на PC отдельной утилитой преобразовывать однобитный PDM в PCM при помощи CIC фильтра. Можно будет задать любое разрешение выходного звука на выбор в зависимости от конфигурации CIC фильтра.

Используте i2s microphone

Микрофон тоже может быть sigma delta .
https://habr.com/ru/articles/765896/
Просто это еще называют PDM интерфейс.

Не, ну на кодеке любой сделает. А вот ежели через ADC и DAC микроконтроллера...

Вы наверное удивитесь, но для построения диктофона можно вполне себе отказаться и от аудиокодека и от ADC.

Просто соединить микроконтроллер и PDM микрофон MP23DB01HPTR по SPI.
Данные с микрофона получать по SPI. Будет поступать однобитный поток с Sigma Delta модулятора, который встроен в микрофон. И этот поток как есть сохранять на SD карту.

https://habr.com/ru/articles/765896/

Далее уже на PC отдельной утилитой преобразовывать однобитный PDM в PCM при помощи CIC фильтра. Можно будет задать любое разрешение и качество выходного звука на выбор в зависимости от конфигурации CIC фильтра.

У микроконтроллеров много SPI трансиверов. Можно подключить столько микрофонов сколько есть SPI модулей у микроконтроллера.

открыл для себя Nuvoton NAU88C22YG. Отличный 24-битный стерео кодек. Вот его-то я и буду использовать в этом проекте. 

Компания Nuvoton Technology известна тем, что другой её аудиокодек NAU88C22 был заложен в культовый SDR-приёмник Малахит DSP3.
https://malahiteam.com/product/priemnik-malahit-dsp3/

Очень интересное решение!

Спасибо.

А с сетевым трафиком I2S не приходилось работать? 

Будучи студентом в 2015 году писал прошивку для софт процессора MicroBlaze, который был сконфигурирован на основе Xilinx FPGA Spartan 6, где происходила передача радарных данных по UDP через LwIP на скорости 470 MBit/s.

Почему бы не подключить mems микрофон по spi и не писать голый pdm? Потом уже на PC трансформировать sigma Delta модуляцию в pcm семплы.

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

Я вам больше скажу. Можно не просто воспроизводить записанные звуковые дорожки. Можно записывать и воспроизводить звук одновременно. Причем на одном единственном микроконтроллере.

Вот даже есть отдельная методичка про технологию Audio LoopBack.

Обработка звука в реальном времени (или Full Duplex I2S на STM32)
https://habr.com/ru/articles/1058052/

для тех кто хоть иногда выходит за пределы мира STM32, наверное, картина будет противоположной.

Да. Так и есть.

Использую J-Link. Скорость работы уверенно побеждает более высокую стоимость (речь естественно про клон). Быстрее загружает, быстрее шагает по сравнению с ST-Link

Да. Именно так.

Напишите пожалуйста про устройство автоматической коробки переключения передач (АКПП).

ST-link программатор уверенно побеждает на голосовании предпочтений разработчиков.
Кто бы мог подумать...

А какой у Вас отладочный клиент? Какой отладочный сервер задействован в связке с St link?

1
23 ...

Information

Rating
83-rd
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Инженер встраиваемых систем, DevOps-инженер
Старший
Git
Bash
CI/CD
C
Встраиваемая система
Программирование микроконтроллеров
Разработка программного обеспечения
Алгоритмы и структуры данных
Системное программирование
Разработка драйверов