Library to handle the X-NUCLEO-CCA02M1 MEMS Microphones Expansion Board.

Dependencies:   ST_I2S ST_FREQUENCY_DIVIDER USBDEVICE

Dependents:   HelloWorld_CCA02M1 HelloWorld_CCA02M1_mbedOS HelloWorld_CCA02M1 Karaoke_CCA01M1_CCA02M1_mbedOS

Fork of X_NUCLEO_CCA02M1 by ST Expansion SW Team

MEMS Microphones Library

Library to handle the X-NUCLEO-CCA02M1 MEMS Microphones Expansion Board. A single board allows to record a standard 2-channel stereo signal as an array of PCM samples (16 bit/sample); in principle, it could make use of six additional MEMS microphones to realize a 8-channel audio system.


Microphones configuration

Currently the configurations supported are the following:

  • Stereo@48KHz
  • Stereo@44.1KHz (CD audio quality)
  • Stereo@32KHz
  • Stereo@16KHz
  • Stereo@8KHz
  • Mono@48KHz
  • Mono@44.1KHz
  • Mono@32KHz
  • Mono@16KHz
  • Mono@8KHz

Mono configurations need a Jumper connecting PB_5 and PB_13 on the Morpho connector to properly work.


Platform compatibility

  • This board can be currently used with the Nucleo F4 Family only, please see the ST_I2S library compatibility for further information.
  • The library is compatible both with mbed OS 5.x and mbed classic 2.x (to work with mbed classic, the main application has to import the "events" library, which is not included into the "mbed" library).


I2S Peripheral Usage

By default this board makes use of the I2S peripheral available on Nucleo boards.


Acquiring through the USB

In order to acquire the recorded PCM audio channel with an audio SW on a PC, please connect the expansion board to a USB port of the PC, and the Nucleo board to a USB power supply.

Changes

RevisionDateWhoCommit message
26:53f8b511f2a1 2018-12-12 Davidroid Update LICENSE.txt default tip
25:f2c04f757003 2018-12-12 Davidroid Update OpenPDM2PCM library's license.
24:9e7cd69b9263 2017-07-12 Davidroid Updating with the new version of the libraries.
23:3e2ebcae707b 2017-07-12 Davidroid Updating with the new version of the libraries.
22:009d760b516e 2017-07-10 Davidroid Updating with the new libraries.
21:9d301ba97e69 2017-07-10 Davidroid Updating with the new libraries.
20:9952bef19da1 2017-05-05 Davidroid Simplifying code.
19:1a061e306cc9 2017-05-04 Davidroid Enabled 44.1 and 48 KHz configurations.
18:bc6113bdde85 2017-05-03 Davidroid Correcting a typo.
17:a758b376b018 2017-05-03 Davidroid Removing XNucleoCCA02M1_config file.
16:4ab2eac7be21 2017-05-03 davide.aliprandi@st.com Improving performances with LUT; keeping only default configuration with SincN = 3.
15:17bdadc6aa9c 2017-05-02 davide.aliprandi@st.com Improve performance with a LUT (now supports stereo@32KHz).
14:377677cca2e9 2017-05-02 Davidroid Supporting mono configurations with the use of the jumper.
13:90465220b75f 2017-04-28 Davidroid Removed debug information.
12:193d495b4688 2017-04-28 davide.aliprandi@st.com Merge
11:b2f7f79026e4 2017-04-28 davide.aliprandi@st.com OpenPDM2PCM library improved.
10:3d5f819c0c56 2017-04-27 nikapov Update lib.
9:4c3d94b67a6b 2017-04-27 davide.aliprandi@st.com Message about configuration error added.
8:4b5736648043 2017-04-21 Davidroid Closed PDM2PCM library removed.
7:9d6a4a53e640 2017-04-21 davide.aliprandi@st.com Closed PDM2PCM library removed.
6:9b8bc842aeb3 2017-04-21 davide.aliprandi@st.com Closed PDM2PCM library removed.
5:fab9bdd7fe5c 2017-04-21 Davidroid Switched USBDEVICE branch to "master".
4:0e1435fe1634 2017-04-21 davide.aliprandi@st.com Linked the correct version of USBDEVICE library.
3:c5091e8deede 2017-04-21 davide.aliprandi@st.com ST_I2S library file corrected.
2:9f389fd8fb2e 2017-04-21 davide.aliprandi@st.com Aligned to ARM mbed codinmg style; OpenPDM2PCM middleware added.
1:245f83276546 2017-04-21 davide.aliprandi@st.com Library files added.
0:d5552d432108 2017-02-28 davide.aliprandi@st.com Library to handle the X-NUCLEO-CCA02M1 MEMS Microphones Expansion Board.