Xcore and Microphone arrays

New to XMOS and XCore? Get started here.
fireblade
Member
Posts: 8
Joined: Tue Dec 08, 2020 6:04 pm

Xcore and Microphone arrays

Post by fireblade »

im looking at how to create a USB 8 microphone array

at the moment im not that familiar with the X-core processors

ive seen the XK-USB-MIC-UF216 dev board which is 7 IM69D130 mics attached "directly" to the X-Core could i just add an 8th mic? or is there a limit somewhere? streaming channels?

what are the adavantages/disadvantage of this configuration compared to attaching the mics via an Audio ADC(s) and on to the Xcore via i2s

e.g 8x SPG08P4HM4H-1 -> ADAU7118 (or 4x ADAU7118) (i2S/TDM)-> Xcore


thx


User avatar
CousinItt
Respected Member
Posts: 275
Joined: Wed May 31, 2017 6:55 pm

Post by CousinItt »

The main advantage of using digital mics is that you can dispense with the cost and complexity of audio ADCs. The xmos devices can be programmed to convert the incoming bitstreams from mics into numerical representations of sound pressure. See the xmos lib_mic_array document for more info. I'm not sure about adding an extra mic to the dev board.

<EDIT> Ok I've taken a look at the board. Six microphones are arranged in a hexagonal array with another one at the centre. The hardware manual for the microphone array seems fairly clear that there's no scope for adding a microphone, but given the arrangment of the seven mics I'm not sure an extra one makes sense. </EDIT>
fireblade
Member
Posts: 8
Joined: Tue Dec 08, 2020 6:04 pm

Post by fireblade »

im not thinking of adding a microphone to the devboard but rather using that schematic as a basis for an octagonal array, new board design,

e.g
X0D21 (not connected on XK-USB-MIC-UF216) -> MIC_DATA7_1V8 -> SN74AVC8T245 (B8->A8) -> MIC_DATA7 -> MIC7 (duplicate of MIC0-6) would have to reorder the clock lines FXL4TD245

the question is would there be any issues with the X-core handling 8 channels as opposeed to 7 in this configuration
User avatar
CousinItt
Respected Member
Posts: 275
Joined: Wed May 31, 2017 6:55 pm

Post by CousinItt »

I doubt the incremental change from 7 mics to 8 would push it over the line, but I'm not certain. For example, it could depend on the microphone bit rate and output sampling rate you want to use.

I'm not sure why you need any level shifting - the I/O of the xmos devices is typically 3V3. Do you want to use mics with a different supply?
fireblade
Member
Posts: 8
Joined: Tue Dec 08, 2020 6:04 pm

Post by fireblade »

the XK-USB-MIC-UF216 uses a level shifter, SN74AVC8T245 sheet 3 in schematics, i think because the mics, IM69D130 use 1.8v though 3.3v seems within spec.

think mems mics typicaly use 1.8v see SPG08P4HM4H-1

not sure why though

whoever designed the XK-USB-MIC-UF216 probably know more than i do, though the mics may well work at 3.3 and the level shifter may be unnecessary but the datasheets suggest the mics are only be tested at 1.8v
User avatar
CousinItt
Respected Member
Posts: 275
Joined: Wed May 31, 2017 6:55 pm

Post by CousinItt »

It looks like there are different versions of the hardware manual kicking around with no distinct identity - they are numbered as XM009730A and don't have any revision record apart from that embedded in the download links and hidden in the corner of the embedded schematics <grumpy face>.

This one shows a design using the AKU441 running at 3V3 with no level shifting, whereas the newer one uses the IM69D130 and has a note about its reduced sensitivity compared to the AKU441. The top left corner of the newer schematic sheet shows the supply for the mics and the level shifters can be switched from 1V8 to 3V3, but this isn't mentioned in the text. As you say, the bulk of the mic spec is based on a 1V8 supply, maybe best suited to mobile applications.
SGapp
Member++
Posts: 20
Joined: Mon May 04, 2020 4:32 pm
Location: Berlin, Germany

Post by SGapp »

Hi,
I am just going to jump in on this. I have worked with the XK-USB-MIC-UF216 and used it as a starting point to create a PDM to PCM processing for a 16 microphone array.
The XK-USB-MIC-UF216 uses the microphone array library (https://www.xmos.ai/download/lib_mic_ar ... .1rc1).pdf) which can process four or eight microphones via a suitable port. Since the seven microphone reference implementation already uses an eight bit port, adding another microphone is no problem.

As far as I recall the level shift is required because the current version of the XK-USB-MIC-UF216 works with microphones that work on 1.8V. In my project I used SPH0690LM4H-1 microphones that require no level shift and this works perfectly for me.
fireblade
Member
Posts: 8
Joined: Tue Dec 08, 2020 6:04 pm

Post by fireblade »

thx for response, have ordered XK-USB-MIC-UF216, and will see what can do with it, before working on modified version