Contents
Conclusion 01Mar2023
I went for the NW-AUD-ICS52000 board from notWired.co, which contains four MEMS mics ICS-52000 from TDK InvenSense. See more about these below
* Both the mics and the board are NR/ND not recommended for new designs, but I have no problem with that
* My xCore-200 Explorer board also has been obsoleted (My single-board boards and why notes)
* As well as the xC programming language (xC is C plus x)
* By going for the ICS-52000 I will then not have to relate to the XMOS lib_mic_array
* But in the future I may use the X3 processor (lib_mic_array) version with the lib_xcore
(C plus lib_xcore black-boxes xC), though
* Or even the RISC-V based X4 processor XMOS xcore RISC-V
* I may even be rather obsoleted myself. But even if I am retired, I am not tired! Because I am really looking forwards to porting my Beep-BRRR (below) to the xCore-200 Explorer board and the ICS-52000 mics
Background
I have an application that uses XCORE and a mic (*). See My Beep-BRRR notes and My Beep-BRRR notes (some log & movies). Since one of my two XMOS mic array boards went dead (here, and I haven’t tried heating it in the oven, which my friend the expert suggested as a last resort. I fear it, bottom parts may fall off..) then I am going to port my SW onto the xCORE-200 dev board (which I have some of, here), and I am in need of a mic. I only need one.
This note is just a scratchpad. If you should find it useful – good!
(*) Not the 1966 mic on the photo, from my beloved Standard SR-250 tape deck. I was 16 at that time. One of these days I’m going to repair it. I have an extra spare, but both are in pieces now. But I do have the service manual.
- Not sure if “electret” microphone is a MEMS component. Update: they are not.
- “Electret” is an electrostatic microphone (electrostatic and magnet) (Wikipedia) and is kind of the opposite of a speaker. The foil electret type was invented in 1961, so my mic on the photo could be one of that kind)
- A MEMS (Microelectromechanical systems) microphone has microscopic parts forming a microsensor. The term is rather new, but even this technology is from the sixties (Wikipedia)
- Not sure what the usage criteria for I2S and PDM might be. Is PDM faster? Update: should be
- I could of course use an analogue mic with an AD board
- There is something called a “Smart MEMS” microphone, which would contain some more stuff, perhaps. “Smart” isn’t that smart a term to give anything a precise contents. More below.
XMOS X3 (XCORE®.AI)
This board has a connector to up to two PDM microphones with MIC_CLK
(on port P1G, via 100R), MIC_DATA
(on port P1F, via 100R) and power (settable to 1V8 or 3V3) and ground. The HW description says that this is meant to connect to XMOS microphone boards. The connector has 6 pins and is not the same as the “TDK Analog or Digital MEMS Microphone on a flexible PCB” connection on the SmartSound One board (below) which has 8 pins. There also is an MCLK
and an I2S_MCLK
which comes from the processor pin L1 as APLLOUT
and goes to a TLV320AIC3254 Ultra Low Power Stereo Audio Codec with Embedded miniDSP (here). The main thing for me is that there is no external PLL. However, I see that that the XMOS AI processor has an app PLL HW, like several other microcontrollers these days, like the RP2040 used in Raspberry Pi Pico board (here). Of course the system clock PLL has always been there, since the transputer and maybe even earlier.
But would I need a low-jitter PLL? I assume not, since I am going to use one microphone only and don’t need to know accurate phase differences.
About my Mic-array board: To control the MEMS mics’ clocks a Cirrus Logic CS2100-CP (here) delivers a low-jitter 24.576 MHz clock, the MIC_CLK
. Configuring its Fractional-N phase lock loop PLL is done over I2C. Then there is a NC7NZ34 buffer (here). From the HW description: “The CS2100generates a low-jitter output signal that is distributed to the xCORE- 200 device (Tile1 & MCLK) and DAC (MIC-CLK) (DAC-MCLK
)“. However, there also is an alternative external input EXT_MCLK
, by moving by soldering a zero Ohm resistor. MIC_CLK
is buffered over a FXL4TD245 (here). The return data is buffered back into the processor over a SN74AVC8T245 (here).
See questions at Forums.
Digital MEMS mics
SPH0645LM4H (I2S)
- The Knowles SPW2430HR5H-B mic datasheet is here.
Adafruit 3421
Adafruit I2S MEMS Microphone Breakout: https://www.adafruit.com/product/3421
This board also at ElfaDistrelec here.
MP34DT01-M (PDM)
- The STMicroelectronics MP34DT01-MC mic datasheet is here
Adafruit 3492
Adafruit PDM MEMS Microphone Breakout: https://www.adafruit.com/product/3492
Adafruit 4346
Adafruit PDM Microphone Breakout with JST SH Connector: https://www.adafruit.com/product/4346
SPH0690LM4H-1 (PDM)
- The Knowles SPH0690LM4H-1 mic datasheet is here
This microphone may be used with the XMOS lib_mic_array
.
In a thesis
IM69D130 (PDM)
- The Infineon IM69D130 mic datasheet is here
This microphone may be used with the XMOS lib_mic_array
.
On the XMOS mic array board v2
I use(d) this in my prototype of my Beep-BRRR, see 219:[xCORE microphone array]. This is the second version of that board. This board is now obsoleted. The first version used the AKU441:
AKU441 (PDM)
- The Akustica AKU441 mic datasheet is here. Obsoleted
This microphone may be used with the XMOS lib_mic_array
.
-
- Sensitivity -26dBFS ±1dB
- 63dB SNR
- VDD 1.62V to 3.6V
On the XMOS mic array board v1
This was used on the first version of the XMOS mic array board. See “v2” chapter (above).
ICS-52000 (TDM)
- The TDK ICS-52000 (from TDK InvenSense) mic system datasheet is from here. Status not recommended for new designs (NR/ND) (T5848 recommended)). This is very interesting:
“The complete ICS-52000 solution consists of a MEMS sensor, signal conditioning, an analog-to-digital converter, decimation and antialiasing filters, power management, and an industry standard 24- bit TDM interface. …connect directly to digital processors, such as DSPs and microcontrollers, without the need for an audio codec in the system.”
Excerpts from the datasheet: “TDM. The data word format is 2’s complement, MSB-first. The ICS-52000 has an internal digital bandpass filter. A high-pass filter to remove unwanted dc and very low frequency components. The analog-to-digital converter in the ICS-52000 is a single-bit, high order, sigma-delta (Σ-Δ). It does require a good quality low-pass decimation filter to eliminate the high frequency noise. The pass band of the filter extends to 0.417 × fS and, in that band, has only 0.04 dB of ripple. The high frequency cutoff of −3 dB occurs at 0.5 × fS.”
- Sensitivity: -26 ±1dB @ 94dB SPL
- S/N 65dB
- VDD 1.62 V ~ 3.63 V
notWired NW-AUD-ICS52000
- Information is here
Since ICS-52000 is not recommended for new designs (NR/ND), this probably isn’t either. But it certainly is available.
Also available from https://www.cdiweb.com Component Distributors Inc. (CDI). I bought 5 there. Postage == component
“Smart” MEMS mics
See Stack Exchange, Signal Processing question 1 for more depth on this one. Read it first! Most PDM-type mics would probably contain a Σ‑Δ modulator. However, an increased order sigma-delta ADC adds 6 more dB increase in SNR (Signal Noise Ratio) for each order; a 5th order will offer 33 dB/octave (doubling of frequency) of SNR improvement. I found a formula on Wikipedia, but it’s related to oversampling (Delta-sigma modulation (Oversampling)). “When the sampling frequency is doubled, the signal-to-quantization-noise ratio is improved by 6N + 3 dB for a N-order ΔΣ modulator.” So if we don’t increase the frequency but the order (I don’t know if this is a correct assumption), we’d get an improved SNR/octave of 6*5 + 3 = 33 dB. Order (1, 2, 3, 4, 5) then have (9, 15, 21, 27 and 33) dB/octave of SNR. So these mics will be much quieter. Thanks to Dan Boschen at DSPrelated.com, for inspiring me on the above. I hope I’ve got some of it right.
Even if using a 5th order sigma-delta is smart enough, it’s probably the fact that since audio sensing is combined with “cutting-edge motion detection” (TDK InvenSense) (etc.) it may make “smart” an ok term here.
The company TDK InvenSense has a range of these: T5828, T5837, T5838, T5848 (here). The three first would contain a Σ‑Δ modulator. According to the ST AN4990 application note (here) page 15 this
The digital filter performs the filtering (averaging) of the 1-bit data stream generated from the sigma-delta modulator. The filter output is a data word with higher resolution (usually 12 – 24 bits) but reduced data rate (decimation). The digital filter function consists in removing out-off band frequency components (quantization noise, unwanted signals…) and reducing the data rate according to the useful bandwidth (decimation).
See questions at Forums.
T5828 (SoundWire)
- The TDK InvenSense T5828 Σ‑Δ modulator mic datasheet is here
This one uses the MIPI Alliance SoundWire® interface. I have not found breakout board with any of these chips. Neither from notWired.co. But there are evaluation boards (EVB) for them.
T5837 (PDM)
- The TDK InvenSense T5837 Σ‑Δ modulator mic datasheet is here.
I think this one is the one that would be most interesting for me. The EVB description is here. There also is a larger evaluation platform board “SmartSound One”, here. But as mentioned above, that board’s mic interface has 8 pins, not 6 pins as does the XMOS interface.
T5838 (PDM)
- The TDK InvenSense T5838 Σ‑Δ modulator mic datasheet is here
T5848 (I2S)
- The TDK InvenSense T5848 mic datasheet is here
Recommended for TDK ICS-52000.
Analogue MEMS mics
SPW2430
- The Knowles SPW2430 mic datasheet is here.
Adafruit 2716
Adafruit Silicon MEMS Microphone Breakout: https://www.adafruit.com/product/2716
SPQ0410HR5H-B
- The Knowles SPQ1410HR5H-B mic datasheet is here. 94 dB. Obsoleted according to Mouser.
MikroElektronika
Mic click board: https://www.mikroe.com/blog/mic-click-omnidirectional-silicon-microphone
ICS-40180
- The TDK InvenSense ICS-40180 mic datasheet is here
Sparkfun
SparkFun Analog MEMS Microphone Breakout – ICS-40180: https://www.sparkfun.com/products/18011
SPH8878LR5H-1
- The Knowles SPH8878LR5H-1 mic datasheet is here
Sparkfun
SparkFun Analog MEMS Microphone Breakout – SPH8878LR5H-1. With 60x amplification: https://www.sparkfun.com/products/19389
Units
M5STACK
Microphone Unit (LM393)
- I found no datasheet of this mic
This is probably most meant to be a sound level detection unit. Nice, but not for me.
https://shop.m5stack.com/products/microphone-unit-lm393
SNR 40 dB, 5V, max4466 preamp and LM393 analog comparator. The output from the latter is the so-called “DIGITAL” connection: ANALOG and “DIGITAL” connect. HY2.0-4P cable interface, 2X LEGO™ compatible holes. See diagram here
Forums
XCore Exchange
- XMOS microphone boards or alternative? – started by me 13Feb2023 (no response)
- Using a PLL for mic clock(s) – started by me 23Feb2023. response from fabriceo, with 141:[41] as a very important input (I/O timings for xCORE200 by XMOS 2017)
Stack Exchange, Signal Processing
- Smart MEMS microphones – started by me 13Feb2023 (response!)