Featured Questions & Answers
- How many channels of PDM microphone can XMOS support in one device?
The XUF216 device has two tiles - each with a 500MHz processor which can support dual issue (2 instructions per clock). Each tile has up to 8 logical cores which share this processing. So peak throughput is 500 * 2 * 2 = 2000MIPS for the XUF216 chip. These are "will not exceed" numbers. More useful info is that a well written FIR (like those used in PDM decimators) can achieve around 2 cycles per tap.
If you connect 32 MEMS PDM microphones to a XUF216, you will have just enough MIPS to get samples on to TDM and about 62.5 MIPS for DSP. However you could use an XUF232 and you would have two whole tiles free.
The PDM clocks are synchronised. Each of the channels are precisely synchronised right through the decimation filters to PCM. This is needed for DoA, beamforming and other algorithms that require subsample precision.
- What is the PDM to PCM latency value for output sample rates?
The group delay of the default filters is 18 output clock cycles.
This can be shortened by either using a minimum phase FIR as the final stage decimation FIR and/or by reducing the number of taps on the final stage decimation FIR.
This is true across all supported sample rates.
- Which driver do I need to use the xCORE Array Microphone - XK-USB-MIC-UF216?
To run the kit as a simple seven channel USB microphone, download the USB Audio 2.0 Software
and then build the 'app_usb_aud_mic_array' app.
Select the '2i8o2' or '1i8o2' build configuration depending on whether you would like USB Audio Class 2.0 or 1.0.
- Does XMOS provide USB drivers for third party USB products?
XMOS does not provide drivers for third party USB products, even if they use XMOS USB chipsets internally.
If you need a driver for your USB device, please contact your supplier who will be able to provide you with a drivers for their product.
- Are the mode pins pulled up inside the XMOS device?
The datasheet specifies the pull-ups or pull-downs that are provided on each of the MODE pins. Most MODE pins have an internal pull-up and hence need to be pulled low with a resistor to be active.
The frequency can be changed by writing the PLL registers in the xCORE. Information on how to change the clock frequency is available in the Clock Frequency Control Document.