Using digital MEMS microphones with long lines

Status
Not open for further replies.

Somnitec

Member
With the new Teensy coming out, I got excited about reviving an old project, but got stuck in the same thought pattern. I am curious if there are some other approaches to what I am trying?

Basically I am trying to create a mixer for eight digital MEMS (PDM, I2S or TDM) microphones, each connected with (up to 8 core ethernet) wires of at least 30 centimeters from the microcontroller and with very limited space on their own pcbs. As far as I have figured out, the signals the microphone output, are meant to travel at maximum 10cm on a pcb itself, so some kind of boosting, serializing or balancing seems needed. However most ICs I find that do that would either add an extreme cost to the board (€5 chips add up when multiplied by 8) or would take too much space on the microphone PCB.

Is there an approach to this that I am missing, or am I trying to do something that (at the moment) is not possible?
 
Just add the microcontroller to the mics (With the small Teensy this should be possible), and use an other protocol (RS422? Other?) between them. I2S is not made for long lines.

Or, less cost intensive - use analog mics (which were good many decades...)
 
Thanks Frank, I like the suggestion of using a RS422-like protocol. While twisted pair I2S would give me too many lines, PDM's 2 lines (+power) seems very doable. Also as far as I understand it PDM's 6.144Mhz max data rate should fit right up in RS422's 10Mb/s max speed. I see the ADAU7118 came out, with which it's much more of a straightforward conversion than using 4 ADAU7002's.
One question I have: PDM has two channels on one line, since both will have different line lengths, should I worry about the data arriving at different times, messing up the interleaving of signals? (If this is an issue, a potential solution could be to use two ADAU7118's in mono mode, instead of one in stereo.)

Also, I just noticed that actually PDM is now implemented in the Audio library. It seems like it has been done before the Teensy 4.0 came out, so I am curious if it would be theoretically possible to have 8+ PDM inputs? (Of course it is the question how much processing power for other things is left over after this.)
@Paul, would you see any obvious problems for implementing this? I'm ready to order some hardware to modify and test some changes I'd make to the library, but it's hard for me to tell if it's as simple as expanding the library to take input pins or not.
 
I meant: use several teensys and use RS422 to connect them...
I have no idea if it works to transport "raw" PDM over RS422...
 
Ah I get it. I do see people have been using it (slightly out of spec) for I2S.

Anyone have thoughts on whether "raw" PDM over RS422 would work?
 
Last edited:
Status
Not open for further replies.
Back
Top