Mikrofon MEMS MP34DT01-M

Mikrofon MEMS MP34DT01-M
Pobierz PDF Download icon

Termin MEMS jest kojarzony z technologią wytwarzania układów z elementami mechanicznymi o wymiarach rzędu kilkudziesięciu mikrometrów. Są to głównie czujniki wielkości nieelektrycznych: ciśnienia, przyśpieszenia, położenia. Są to również miniaturowe pompy i sensory używane w medycynie do celów diagnostycznych, ale też generatory drgań. Jednym z urządzeń MEMS, które zyskały sobie sporą popularność są mikrofony akustyczne. Mikrofony wykonane w tej technologii mają małe wymiary (istotnie mniejsze niż elektretowe odpowiedniki), są przy tym tanie i niezawodne.

Pierwszym istotnym zastosowaniem, które się nasuwa jest wykorzystanie mikrofonów w smartfonach. Wspomniane już małe wymiary i niska cena powodują, że idealnie nadają się do urządzeń konsumenckich, w których istotna jest mała wysokość obudowy. Przyjęło się , że im cieńszy smartfon, tym lepszy. Dzięki miniaturowym wymiarom można też umieścić kilka mikrofonów w różnych miejscach obudowy i za pomocą algorytmów przetwarzania DSP poprawić jakość odbieranego sygnału akustycznego. Mikrofony MEMS można spotkać też w innych urządzeniach: tabletach, inteligentnych zegarkach (smartwatch) i urządzeniach sterowanych głosem.

Mikrofon MP34DT01-M

Układ MP34DT01-M jest mikrofonem wykonanym w technologii MEMS przez firmę STM i pracuje w paśmie akustycznym. Użyta technologia powoduje, że ma subminiaturowe wymiary i jest energooszczędny. Najważniejsze parametry to:

  • Pojedyncze napięcie zasilania.
  • Mały pobór mocy.
  • Charakterystyka dookólna.
  • Dynamika (stosunek sygnał/szum) S/N: 61 dB.
  • Czułość: 26 dbFS.
  • Maksymalny poziom sygnału akustycznego: 120 dBSPL.
  • Interfejs cyfrowy: PDM.
  • Obudowa SMD typu HCLGA (rysunek 1).
Rysunek 1. Obudowa i wyprowadzenia mikrofonu MP34DT01-M

Szybkie przetestowanie działania mikrofonu umożliwia zestaw ewaluacyjny składający się z trzech elementów (fotografia 2):

  1. Płytki ewaluacyjnej X-NUCLEO-CCA02M1. Ta płytka ma również wyprowadzenia w standardzie Arduino UNO i można jej użyć w połączeniu modułem mikrokontrolera sprzętowo zgodnym z tym standardem.
  2. Płytki ewaluacyjnej z mikrokontrolerem. Możliwe jest użycie jednego z trzech typów płytek z różnymi mikrokontrolerami: NUCLEO-F401RE, NUCLEO-F072RB i NUCLEO-L075R8.
  3. Bezpłatnego oprogramowanie testowego X-CUBE-MEMSMIC1.
Fotografia 2. Moduł X-NUCLEO-CCA02M1 połączony z NUCLEO-F401RE

Zestaw X-NUCLEO-CCA02M1 ma zamontowane na stałe 2 mikrofony MP34DT01-M, ale istnieje możliwość dołączenia kolejnych mikrofonów za pomocą odpowiednich złącz zamontowanych na płytce. Przez te złącza można doprowadzić do układu mikrofony umieszczone na płytkach ewaluacyjnych STEVAL-MKI155 lub STEVAL-MKI129 (rysunek 3). Ponieważ nie dysponowałem płytkami rozszerzeń, to w trakcie testów nie były używane.

Rysunek 3. Płytka rozszerzeń z mikrofonami

Oprogramowanie testowe X-CUBE-MEMSMIC1 można pobrać ze strony STM (rysunek 4). Zawiera projekty dla IDE: KEIL, IAR i SW4STM32 i modułów mikrokontrolerów NUCLEO-F401RE, NUCLEO-F072RB lub NUCLEO-L053R8. Projekty zawierają kompletne pliki źródłowe w języku C i można je modyfikować zależnie od potrzeb. W pakiecie X-CUBE-MEMSMIC1 zawarto też skompilowane pliki wynikowe dla każdej z wyżej wymienionych płytek NUCLEO.

Rysunek 4. Pobieranie przykładowych projektów

X-CUBE-MEMSMIC1 zawiera trzy oddzielne aplikacje: Acoustic_ BF, Acoustic_SL i Microphones_Straming. Dwie pierwsze wykorzystują zaawansowane algorytmy przetwarzania cyfrowych sygnałów reprezentujących sygnały audio z mikrofonów MEMS, a trzecia jest implementacją cyfrowego mikrofonu stereofonicznego. Zamieszczone w X-CUBE-MEMSMIC1 projekty zawierają gotowe (prekompilowane) i konfigurowalne biblioteki przetwarzania sygnałów.

Aplikacja Acoustic_BF jest implementacją algorytmu adaptacyjnego przetwarzania w czasie rzeczywistym sygnałów w formacie PCM lub PDM uzyskanych z dwóch, lub czterech mikrofonów MEMS. W wyniku przetwarzania tych sygnałów jest tworzony wirtualny mikrofon kierunkowy wskazujący w określonym kierunku w przestrzeni. Możliwość konfiguracji działania algorytmów pozwala na znalezienie najbardziej odpowiedniego kompromisu pomiędzy jakością uzyskanego sygnału audio, a potrzebnymi zasobami użytego mikrokontrolera. Musi być znana odległość pomiędzy mikrofonami. Ze względu na wymagania algorytmów aplikację Acoustic_BF można uruchomić tylko na module NUCLEO-F401RE z mikrokontrolerem mającym wbudowaną jednostką FPU. Na rysunku 5 pokazano przykładowa charakterystyka wirtualnego mikrofonu kierunkowego i rozmieszczenie mikrofonów MEMS.

Rysunek 5. Charakterystyka wirtualnego mikrofonu kierunkowego

Niebieski obszar to przybliżenie typowej kierunkowej charakterystyki kardioidalnej. Ta charakterystyka jest kształtowana na drodze programowej. Cyfrowy sygnał akustyczny z jednego z mikrofonów jest opóźniany i potem sumowany z nieopóźnionym sygnałem z drugiego mikrofonu (rysunek 6). Wartość tego opóźnienia zależy do odległości pomiędzy mikrofonami i jest wyliczana z zależności opóźnienie=d/v, gdzie „d” to odległość pomiędzy mikrofonami, a „v” prędkość dźwięku w powietrzu. Więcej informacji na temat działania biblioteki implementacji mikrofonu kierunkowego o charakterystyce kardioidalnej z cyfrowych sygnałów pochodzących z dwóch mikrofonów MEMS typu MP34DT01-M można znaleźć w dokumencie UM2214 „Getting started with AcousticBF real-time beam forming middleware”.

Rysunek 6. Cyfrowe kształtowanie charakterystyki kardioidalnej

Aplikacja AcousticSL zawiera implementację algorytmu lokalizacji źródła dźwięku w czasie rzeczywistym. Są tu wykorzystywane sygnały cyfrowe z dwóch lub czterech mikrofonów MEMS po to, by oszacować położenie w przestrzeni głównego źródła dźwięku. Wykrywanie położenia opiera się on na trzech różnych algorytmach DOA (Direction Of Arrival):

  • Algorytm korelacji krzyżowej XCORR. Jest wykonywany w dziedzinie czasu, używa mniejszych zasobów mikrokontrolera, ma niższą rozdzielczość i wymaga umieszczenia mikrofonów w większych odległościach od siebie.
  • Algorytm GCC-PHAT. Jest wykonywany w domenie częstotliwości, używa stosunkowo dużych zasobów mikrokontrolera, ma wysoką rozdzielczość.
  • Algorytm BMPH. Jest wykonywany w domenie częstotliwości, zapotrzebowanie na zasoby mikrokontrolera mieszczą się pomiędzy wymaganiami algorytmów XCORR i GCC-PATH.

Rozmieszczenie mikrofonów dla aplikacji Acoustic SL zostało pokazane na rysunku 7. W wypadku algorytmu XCORR odległość pomiędzy mikrofonami musi umożliwiać wykonanie opóźnienia równego czasowi odpowiadającemu okresowi próbkowania. W algorytmie GCC-PATH teoretycznie nie ma ograniczeń odległości. Więcej informacji na temat aplikacji AcousticSL można znaleźć w dokumencie UM2212 „Getting Started With Acousticsl Real-Time Sound Source Localization Middleware”.

Rysunek 7. Rozmieszczenie mikrofonów

Aplikacja Microphones_Straming jest przeznaczona do szybkiego testowania działania modułu ewaluacyjnego X-NUCLEO-CCA02M1 w połączeniu z jedną z dedykowanych płytek NUCLEO. W naszym wypadku będzie to NUCLEO-F401RE. Po wgraniu oprogramowania do pamięci mikrokontrolera zestaw będzie można połączyć z komputerem przez złącze USB. Będzie on wtedy pracował jak standardowy, wielokanałowy mikrofon USB. Do testów prawidłowego działania mikrofonu wykorzystamy popularny bezpłatny program Audacity.

Fotografia 8. Podłączenie Kabla USB Do Złącza Modułu
X-NUCLEO-CCA02M1

Zaczynamy od wgrania do modułu mikrokontrolera piku z rozszerzeniem .Hex skompilowanego projektu zawartego w katalogu STM32CubeExpansion_MEMSMIC1_V3.0.0/Projects/Multi/Applications/Microphone_Streaming/Binary/STM32F401RE-Nucleo. Po zaprogramowaniu mikrokontrolera łączymy zestaw z komputerem przez złącze USB zamontowane na module X-NUCLEO-CCA02M1 (fotografia 8). Jeżeli mikrokontroler został prawidłowo zaprogramowany, to po podłączeniu do komputera moduł zostanie wykryty jako stereofoniczny mikrofon cyfrowy. System Windows pobierze przez Internet potrzebne sterowniki i w Menadżerze Urządzeń, w zakładce „Kontrolery dźwięku, wideo i gier” zostanie wyświetlone urządzenie STM32 AUDIO Streaming in FS Mode, jak to zostało pokazane na rysunku 9.

Rysunek 9. Wykryte urządzenie STM32 AUDIO Streaming in FS Mode

Jak już wspomniałem, do dalszych testów wykorzystamy Audacity. Ten pakiet programowy można pobrać w wersji instalacyjnej i w wersji przenośnej (portable), działającej bez instalacji. Po uruchomieniu programu musi on znaleźć (wykryć) nasz mikrofon. Wykonujemy polecenie Transportuj à Skanuj ponownie urządzenie dźwiękowe (rysunek 10).

Rysunek 10. Polecenie wykrywania  mikrofonów MEMS

Wykryty mikrofon powinien zostać wyświetlony na liście MME jako Mikrofon (STM32 AUDIO Streaming (rysunek 11).

Rysunek 11 Wykrycie mikrofonu MEMS

W trakcie nagrywania trzeba ustawić poziom sygnału z mikrofonu na wartość zapobiegającą przesterowaniu toru i powstawaniu zniekształceń, jak na rysunku 12. Wyregulowany tor pozwala na nagrywanie stereofonicznego dźwięku dobrej jakości. Pokazany tu tor audio jest przykładem na łatwą i tanią implementację mikrofonu cyfrowego z interfejsem USB.

Rysunek 12 nagrywanie sygnału i regulacja poziomu sygnału z mikrofonów

Tomasz Jabłoński, EP

Artykuł ukazał się w
Elektronika Praktyczna
listopad 2018
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio maj - czerwiec 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów