1 FP-AUD-AEC1 software expansion for STM32Cube
1.1 Overview
FP-AUD-AEC1 function pack expands STM32Cube functionality.
The package key features are:
• Specific example fully focused on acoustic echo cancellation
• Implementation of a USB smart speaker use case with microphone
• Based on STM32 AcousticEC library
• Support for audio in/out streaming via USB through a dedicated USB AUDIO IN OUT class
1.2 Architecture
The software is based on the STM32CubeHAL, the hardware abstraction layer for the STM32 microcontroller. The
package extends STM32Cube by providing a board support package (BSP) for the expansion boards and some
middleware components for serial communication with a PC.
The software layers used by the application software to access and use the expansion boards are:
• the STM32Cube HAL layer, which provides a simple, generic, multi-instance set of application programming
interfaces (APIs) to interact with the upper application, library and stack layers. It has generic and extension
APIs and is directly built around a generic architecture and allows successive layers like the middleware
layer to implement functions without requiring specific hardware configurations for a given microcontroller
unit (MCU). This structure improves library code reusability and guarantees an easy portability on other
devices.
• the board support package (BSP) layer, which supports all the peripherals on the STM32 Nucleo except
the MCU. This limited set of APIs provides a programming interface for certain board-specific peripherals
like the LED, the user button, etc. This interface also helps in identifying the specific board version.
Figure 2. FP-AUD-AEC1 function pack architecture
Applications &
demonstrations
FP-AUD-AEC1
Hardware Abstraction
Layer API
Board Support
Package
Middleware
Hardware
Abstraction
Hardware
NUCLEO-F446RE
NUCLEO-F746ZG
X-NUCLEO-CCA01M1
X-NUCLEO-CCA02M2
STM32 USB Device
Library
AUDIO IN OUT
USB Class
STM32 Acoustic EC
Library
STM32 PDM Library
STM32F446RET6U
STM32F746ZGT6U
UM2824
FP-AUD-AEC1 software expansion for STM32Cube
UM2824 - Rev 1
page 2/14