23
Version 1.0 (June 27, 2017) Quick Start Guide STM32 ODE function pack for MEMS microphones acquisition, advanced audio processing and audio output (FP-AUD-SMARTMIC1)

Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Embed Size (px)

Citation preview

Page 1: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Version 1.0 (June 27, 2017)

Quick Start GuideSTM32 ODE function pack for MEMS microphones acquisition,

advanced audio processing and audio output

(FP-AUD-SMARTMIC1)

Page 2: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Quick Start Guide Contents2

FP-AUD-SMARTMIC1: STM32 ODE function pack for MEMS microphone acquisition, advanced audio processing and audio output

Hardware and software overview

Setup & Demo Examples

Documents & Related Resources

STM32 Open Development Environment: Overview

Page 3: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Sound Terminal expansion board

Hardware Overview(1/3) 3

X-NUCLEO-CCA01M1 Hardware Description

The X-NUCLEO-CCA01M1 is an expansion board based on STA350BW

Sound Terminal® device, a 2.1-channel high-efficiency digital audio

output system. It enables the output of digital audio streams to a

speakers pairs connected directly to the board and allows the evaluation

of the STA350BW digital audio output component.

Key Features• 2 channels of ternary PWM 2 x 50W @ 25 V 6 Ω

• FFX ™ 100 dB SNR and dynamic range

• I²C control with selectable device address

• Digital gain +48 dB -80 dB with 0.125 dB/step

• Two independent DRCs configurable as a dual-band anti-clipper

(B2DRC) or independent

• limiters/compressors

• I²S input interface

• 3 coefficients banks for EQ preset storing with fast recall via I²C

interface

• Up to 8 user-programmable biquads per channel

• Compatible with STM32 Nucleo boards

• Free comprehensive development firmware library and example

compatible with STM32Cube firmware

Key Product on board

STA350BW

An integrated solution of digital audio processing, digital amplifier

control, and FFX-power output stage, thereby creating a high-power

single-chip FFX™ solution comprising high-quality, high-efficiency,

and all-digital amplification

Speaker connectorsPower connectorSTA350BW

ST morpho connector

Arduino UNO R3 connector

Latest info available at www.st.com

X-NUCLEO-CCA01M1

Page 4: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Digital MEMS microphone expansion board

Hardware Overview(2/3) 4

X-NUCLEO-CCA02M1 Hardware description

• The X-NUCLEO-CCA02M1 is an evaluation board

based on digital MEMS microphones. It has two

MP34DT01–M microphones soldered on the board

and offers the possibility to plug in additional

microphones using MP34DT01-based coupon

evaluation boards (STEVAL-MKI129V* or

STEVAL-MKI155V*).

• The X-NUCLEO-CCA02M1 enables the acquisition

and streaming of up to 4 microphones using both

I2S and SPI busses available on ST morpho

connector.

Key products on board

MP34DT01-M

Ultra-compact, low-power, omnidirectional,

digital MEMS microphone built with a capacitive

sensing element and an IC interface.

Latest info available at www.st.com

X-NUCLEO-CCA02M1

* is used as a wildcard character for related part number

MP34DT01-M USB connectorMicrophone coupon housings

ST morpho connector

Arduino UNO R3 connector

Page 5: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

BlueCoin PlatformHardware Overview (3/3) 5

STEVAL-BCNKT01V1 Hardware Description

• STEVAL-BCNKT01V1 is the starter kit for the BlueCoin board (STEVAL-BCNCS01V1), a highly

integrated development and prototyping platform for augmented acoustic and motion sensing, aiming to

improve system design cycle and accelerate delivery of results

• Two host boards are also provided as part of the kit:

• The CoinStation provides audio output, battery management and two Time-of-flight ranging sensors.

• The Cradle is a small host board featuring USB and SD card interfaces, it is useful for on-the-field testing and data acquisition campaigns.

BlueCoin Cradle

STEVAL-BCNCR01V1

BlueCoin Core System

STEVAL-BCNCS01V1

4 x MP34DT04-C1

8 x LEDS STM32F446

BLUENRG-MS

BALF-NRG-01D3

LPS22HB

LSM303AGR

LSM6DSM

2 x Buttons

Expansion

Connectors

SMD Antenna

STBC03J

CoinStation

STEVAL-BCNST01V1

3.5mm audio jack

VL53L0X

SWD

Battery

connector

Page 6: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

FP-AUD-SMARTMIC1Software Overview 6

FP-AUD-SMARTMIC1 Software

• FP-AUD-SMARTMIC1 is an STM32 ODE function pack. The

firmware runs on the STM32 and includes drivers and middleware

for digital MEMS microphones and audio output management. It

includes middleware for audio DSP, performing acoustic Beam

Forming, Echo Cancellation, and Source Localization. The

expansion is built on STM32Cube software technology to ease

portability across different STM32 microcontrollers. The package

includes a PC software package which runs with a host PC system

connected using a USB cable and showcases basic demonstration

of the firmware capabilities.

• Implementation examples are available for STM32 Nucleo digital

MEMS microphone expansion board (X-NUCLEO-CCA02M1) and

Sound Terminal® expansion board (X-NUCLEO-CCA01M1) plugged

on top of an STM32 Nucleo development board (STM32 NUCLEO-

F446RE). The software is also compatible with BlueCoin starter kit

(STEVAL-BCNKT01V1)

Key features

• AcousticBF Real-time beam forming software expansion for

STM32Cube

• AcousticEC Real-time acoustic echo cancellation software expansion

for STM32Cube

• AcousticSL Real-time sound source localization software expansion

for STM32Cube

• Easy portability across different MCU families thanks to STM32Cube.

• Sample applications (both for STM32 and host PC) that the developer

can use to start experimenting with the code

• Complete middleware to build applications using digital MEMS

microphones and advanced DSP functionalities

• Free, user-friendly license terms

Latest info available at www.st.com

FP-AUD-SMARTMIC1

Overall Software Architecture

Page 7: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Quick Start Guide Contents7

FP-AUD-SMARTMIC1: STM32 ODE function pack for MEMS microphone acquisition, advanced audio processing and audio output

Hardware and software overview

Setup & Demo Examples

Documents & Related Resources

STM32 Open Development Environment: Overview

Page 8: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Setup & Demo Examples

SW prerequisites 8

• STSW-LINK009

• ST-LINK/V2-1 USB driver

• FP-AUD-SMARTMIC1

• Copy the .zip file content into a folder on your PC. The package will contain source code example (Keil, IAR, System Workbench) based on NUCLEO-F446RE andBlueCoin

• The package includes custom PC software (GUI and command line based) which allow to easily control the system at run-time

• Third party software for audio acquisition

• Audacity® is free, open source, cross-platform software for recording and editingsounds.

• It is available for Windows®, Mac®, GNU/Linux®; and other operating systems.

• Link: http://audacity.sourceforge.net

Page 9: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Setup & demo examplesSTM32Nucleo - HW prerequisites 9

• 1x STM32 Nucleo development board

(NUCLEO-F446RE)

• 1x Sound terminal expansion board based on STA350BW

(X-NUCLEO-CCA01M1)

• 1x Digital MEMS microphone expansion board

(X-NUCLEO-CCA02M1)

• 1x Microphone coupon board based on the MP45DT02 digital MEMS

microphone (for example: STEVAL-MKI129V1)

• 1x 8 Ω passive speaker to be connected to the X-NUCLEO-CCA01M1

expansion board

• 2x USB type A to mini-B USB cable

• 1x Windows® (XP, Vista, 7 or above) - PC/Laptop

• Please refer to the user manual for correct hardware setup

Mini USB Cable Speaker

NUCLEO F446RE

X-NUCLEO-CCA01M1 X-NUCLEO-CCA02M1

with STEVAL-MKI129V1

Boards stacking

Page 10: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Setup & demo examplesSTM32Nucleo – USB Connection

• Dual USB connection with the host PC.

• USB1 cable goes from Nucleo-F446RE to the PC: the board is recognized as

STMicroelectronics Virtual COM Port (ST-Link driver must be installed, available at

www.st.com). This channel is used to exchange messages between a host PC and the

MCU unit and control the demo at runtime.

• USB2 cable is connected to X-NUCLEO-CCA02M1 board: the device is recognized as

a Standard USB microphone without the need of any PC driver. This channel is used to

stream audio toward the host PC.

10

USB1

USB2

Page 11: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

11Setup & Demo Examples

BlueCoin - HW prerequisites

• 1x BlueCoin Starter kit (STEVAL-BCNKT01V1): STEVAL-

BCNCS01V1 connected to the STEVAL-BCNST01V1

• 1x active loudspeaker or headphones to be connected

to the STEVAL-BCNST01V1

• 1x USB type A to micro-B USB cable

• 1x Windows® (XP, Vista, 7, or above) - PC/Laptop

• Please refer to UM2219 for correct hardware setup

Page 12: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Setup & Demo ExamplesBlueCoin - HW setup 12

CN2

Remove

Jumpers

SWD

(Pin1)

SWD

(Pin1)

• In order to program the board you need to connect an external ST-

Link to the SWD connector on the BlueCoin Station, a 5pin flat cable

is provided within the BlueCoin Kit package.

• The easiest way is to get an STM32-Nucleo board which includes an

ST-Link V2.1 programmer.

• Be sure that CN2 Jumpers are OFF and connect your STM32

Nucleo board to the BlueCoin Station through the provided cable

paying attention to the polarity of the connectors. Pin 1 can be

identified by a little circle on the PCB silkscreen (STM32 Nucleo

board and BlueCoin Station).

BlueCoin Station SWD connection

Page 13: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Setup & demo examplesBlueCoin – USB Connection

• Single USB connection with the host PC.

• Windows 10: the system is automatically recognized as a composite device exposing:

• A standard stereo microphone used audio streaming towards an host PC

• A Virtual Com Port, used for communication

• Windows 7: an additional .inf driver (included) is needed in order to correctly recognize

the system

• Additional information can be found on UM2219

13

Page 14: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

14

Download & unpack

www.st.com/stm32ode-fp

www.st.com

1

FP-AUD-SMARTMIC1

Select

2

3

FP-AUD-SMARTMIC1 package structure

Docs

BSP, HAL and drivers

Acoustic libraries

Application example

4

5

Compile/Flash and

Run the project

.\FP-AUD-SMARTMIC1\Projects\STM32F446\Applications\FP-AUD-SMARTMIC1

Speaker

output

6

Setup & demo examples

Open Audacity, select the right

peripheral and click record.

Page 15: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

• Utilities\PC_Software\Control_SW_Executable\

FP-AUD-SMARTMIC1 CLI.exe: command line

tool (available in source code also )

implementing an example of communication

between FP-AUD-SMARTMIC1 system and a

host PC.

• The software performs this sequence of

operations:

1) Connect to the serial port specified by the

user

2) Retrieve a string that describe the firmware

version

3) Retrieve the currently running algorithms

4) Activate beamforming only

5) Switch beamforming direction

6) Activate AEC only

7) Activate Source Localization and start

asking for the estimated direction

15

Host PC software examplesCommand Line Interface Tool

Processed channel

Reference channel

Page 16: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

• Utilities\PC_Software\Control_SW_Executable\FP-AUD-

SMARTMIC1 GUI.exe: graphic user interface,

implementing the communication between FP-AUD-

SMARTMIC1 system and a host PC, to be used, together

with Audacity, to explore all the implemented functionalities

• The software GUI can control these functionalities

• Beamforming

• Enable/Disable

• Choose direction

• Choose algorithm type

• Enable Time of Flight demo for direction change (Available on

BlueCoin only)

• AEC

• Enable/Disable

• Activate / de-activate denoiser step

• Source Localization

• Enable/Disable

• Set parameters

• Streaming and Output

• Set parameters and levels

• Enable Time of Flight demo for volume adjustment (Available on

BlueCoin only)

16

Host PC software examplesGraphic User Interface Tool

Processed channel

Reference channel

Page 17: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Documents & Related Resources

FP-AUD-SMARTMIC1:

• DB3275: STM32 ODE Function Pack for MEMS microphones acquisition, advanced audio processing and audio output. – data

brief

• UM2219: Getting started with STM32 ODE function pack for MEMS microphones acquisition, advanced audio processing and

audio output – user manual

X-NUCLEO-CCA01M1:

• Gerber files, BOM, Schematic

• DB2756: Sound terminal expansion board based on STA350BW for STM32 Nucleo – data brief

• UM1979: Getting started with sound terminal expansion board based on STA350BW for STM32 Nucleo – user manual

X-NUCLEO-CCA02M1:

• Gerber files, BOM, Schematic

• DB2593: Digital MEMS microphones expansion board based on MP34DT01-M for STM32 Nucleo – data brief

• UM1900: Getting started with the digital MEMS microphones expansion board based on MP34DT01-M for STM32 Nucleo – user

manual

STEVAL-BCNKT01V1

• Gerber files, BOM, Schematic

• DB3258: BlueCoin Starter kit – data brief

• UM2240: Getting started with the STEVAL-BCNKT01V1 BlueCoin starter kit: augmented acoustics, motion sensing development

and prototyping platform – user manual

17

All documents are available in the DESIGN tab of the related products webpage

Consult www.st.com for the complete list

Page 18: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Quick Start Guide Contents18

FP-AUD-SMARTMIC1: STM32 ODE function pack for MEMS microphone acquisition, advanced audio processing and audio output

Hardware and software overview

Setup & Demo Examples

Documents & Related Resources

STM32 Open Development Environment: Overview

Page 19: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

STM32 Open Development Environment

Fast, affordable Prototyping and Development 19

• The STM32 Open Development Environment (ODE) consists of a set of stackable boards

and a modular open SW environment designed around the STM32 microcontroller family.

www.st.com/stm32ode

Function Packs

(FP)

STM32Cube

development software

STM32 Nucleo

expansion boards

(X-NUCLEO)

STM32 Nucleo

development boards

STM32Cube

expansion software

(X-CUBE)

Page 20: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Power supply

through USB or

external source

Integrated debugging

and programming

ST-LINK probe

STM32 microcontroller

Complete product range

from ultra-low power to high-performance

ST morpho extension header

STM32 Nucleo

Development Boards (NUCLEO)

• A comprehensive range of affordable development boards for all the STM32

microcontroller series, with unlimited unified expansion capabilities and integrated

debugger/programmer functionality.

20

www.st.com/stm32nucleo

Arduino™ UNO R3 extension headers

Page 21: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

Move/ActuatePower InteractConnect

Sense

STM32 Nucleo

Expansion Boards (X-NUCLEO)

• Boards with additional functionality that can be plugged directly on top of the STM32

Nucleo development board directly or stacked on another expansion board.

21

DIL24 support for

new devices

Motion MEMS sensors

Environmental sensors

www.st.com/x-nucleo

Example of STM32 expansion board (X-NUCLEO-IKS01A1)

Page 22: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

STM32 Open Development Environment

Software components

• STM32Cube software (CUBE) - A set

of free tools and embedded software bricks

to enable fast and easy development on

the STM32, including a Hardware

Abstraction Layer and middleware bricks.

• STM32Cube expansion software

(X-CUBE) - Expansion software provided

free for use with the STM32 Nucleo

expansion board and fully compatible with

the STM32Cube software framework. It

provides abstracted access to expansion

board functionality through high-level APIs

and sample applications.

22

www.st.com/x-cube

• Compatibility with multiple Development Environments - The STM32 Open Development

Environment is compatible with a number of IDEs including IAR EWARM, Keil MDK, and GCC-based

environments. Users can choose from three IDEs from leading vendors, which are free of charge and

deployed in close cooperation with ST. These include Eclipse-based IDEs such as Ac6 System

Workbench for STM32 and the MDK-ARM environment.

Tools& IDEs

Application examples(e.g. basedonSTOpenSoftwareX)

Hardware

SampleapplicationsApplications

IAREWARM,Keil MDK-ARM,GCC-basedIDEs(e.g. Ac6System Workbenchfor STM32)

STM32CubeHardware Abstraction Layer (HAL)

STM32Cubemiddleware

Upper level middleware(e.g. STOpenSoftwareX)

Middleware

HardwareAbstraction

STM32Cubeexpansion middleware

STM32 Nucleo expansion boards (X-NUCLEO)

STM32 Nucleo developer boards

OPEN LICENSE MODELS: STM32Cube software and sample applications are covered by a

mix of fully open source BSD license and ST licenses with very permissive terms.

www.st.com/stm32cube

Page 23: Quick Start Guide - S · PDF fileQuick Start Guide STM32 ODE function ... Latest info available at ... •Audacity® is free, open source, cross-platform software for recording and

STM32 Open Development Environment

Building block approach 23

The building blocks Your need Our answer

Move /

Actuate

Connect

Power

Sense

Process

Inertial modules, magnetometer

Proximity, microphone

Pressure, temperature, humidity

Bluetooth LE, Sub-GHz radio

NFC, Wi-Fi, GNSS

Energy management & battery

General-purpose microcontrollers

Stepper motor driver

DC & BLDC motor driver

Audio amplifier

COLLECT

TRANSMIT

ACCESS

CREATE

POWER

PROCESS

Software

Secure microcontrollers

Touch controller

Operation Amplifier

Accelerometer, gyroscope

Translate

Industrial input / output

www.st.com/stm32ode