cancel
Showing results for 
Search instead for 
Did you mean: 

FP-AUD-AEC1 on NUCLEO-F446RE, X-NUCLEO-CCA01M1 and  X-NUCLEO-CCA02M2 following UM2824 - Rev 2 & Quick Start Guide Version 1.0 (Jan, 2021)

OceanPlumber
Associate II

Hardware:

NUCLEO-F446RE,  X-NUCLEO-CCA01M1,  X-NUCLEO-CCA02M2

Software:

Downloaded from STM: V1.2.0 and V1.1.0

Github: V1.2.0

 

Hi, I am attempting to get sound output from the sound terminal expansion board CCA01M1 with no luck.

I managed to follow UM1979 "UM1979-started-with-sound-terminal-expansion-board" Rev 2, and got audio output from the internal memory prior to starting UM2824 "getting-started-with-the-STM32-function-pack-for-acoustic-echo-cancellation". 

I have reconfigured the bridges as per UM2824, section 2.3.1 (Steps 1 through 3)

I am running the power to the CN2.VCC connector from CN6.5 "5V". Nothing connected to CN2.GND.

I can get input to audacity and play it back through my laptops speakers, however, the quick start guide does mention that you should actually get 2 tracks recorded back. An unedited track and then a track with noise cancellation. This is not happening. 

UM2824 step 2.3.2 only shows a mono recording 'like what I have' but also mentions the wrong driver in the documentation "FS mode" instead of "STM MIC + LOUDSPEAKERS".

Below are some screenshots and photos to try and demonstrate the setup. 

Audacity streaming input

OceanPlumber_1-1725432897717.png

Audacity Settings

OceanPlumber_0-1725432879596.png

Windows Microphone Settings. 

OceanPlumber_2-1725433013402.png

Windows Speaker Settings. Note the 48000Hz play back, is this an issue?

Note, enhancements switched off as was the advice in a previous topic.

OceanPlumber_3-1725433045624.png

OceanPlumber_4-1725433074742.png

Full Stack 

OceanPlumber_7-1725434386997.png

 

 

CCA01M1 Configuration. 

A note, the voltage across D2 is 5.2 V, same as CN2.VCC. This diode (SMA6J26A), is a voltage suppressor, with my understanding is that this should protect the circuit during transients. Thus, during normal operations it should allow current flow past. Maybe this is happening faster than my multi-meter can read, but thought it was worth mentioning.

 

R4 and R5 pull-up resistors installed (4.7k-ohm) This is mentioned in UM1979 Section 3.3. 

" I²C bus lines must be pulled up for the peripheral to work properly. External resistor
footprints (R4 and R5) are provided on the board in order to allow the user to solder pull-up
resistors. Suggested resistor values are 4.7 kΩ. In the default configuration, these resistors
are not mounted
"

OceanPlumber_6-1725434323236.png

 

CCA02M2 Configuration

OceanPlumber_5-1725434280947.png

Troubleshooting thus far: 

Multiple versions of the software run. Both 1.2.0 and 1.1.0. (As discussed in previous topic as a solution). I also enabled .bin output from the .project in STM32Cube and then rebuilt the project to get the .bin file in the debug folder. (Path below) No Change.

fp-aud-aec1-main\fp-aud-aec1-main\Projects\STM32F446RE-Nucleo\Demonstrations\AEC\STM32CubeIDE\AEC\Debug 

 

12V power connected to CN2.VCC. No change. 

 

Any help would be much appreciated, hopefully I am just doing something obvious and silly.

2 REPLIES 2
OceanPlumber
Associate II

As an update I removed R4 and R5 from CCA01M1 as neither UM2824 or the FP-AUD-AEC1 Quick start guide made mention of them. 

To note: only the UM1979 Section 3.3 makes reference to these resistors. 

 

Outcome: 

FP-AUD-AEC1, V1.2.0 failed to record in Audacity. The recording would just not start, no error message though.

and

FP-AUD-AEC1, V1.1.0 worked as before, single audio track recorded. 

Neither version of FP-AUD-AEC1 produced audio output. 

 

Also,

all recordings I have taken can be played back through my laptop speakers at 16-bit, 48kHz. Witch is the same as the bit and sample rate as the "STM MIC + SPEAKERS" driver. This makes me less inclined to blame the windows settings for the current issue.

OceanPlumber
Associate II

Finally got this working...... kind of. 

 

UM1979 - Pull-up resistors R4 and R5.

"I²C bus lines must be pulled up for the peripheral to work properly. External resistor
footprints (R4 and R5) are provided on the board in order to allow the user to solder pull-up
resistors. Suggested resistor values are 4.7 kΩ. In the default configuration, these resistors
are not mounted."

Install these.

 

Revert to V1.1.0 of FP-AUD-AEC1

I downloaded directly from STM.

https://www.st.com/en/embedded-software/fp-aud-aec1.html#st-get-software

ALSO note that only the binary file works. 

Path: en.fp-aud-aec1-1.1.0\STM32CubeFunctionPack_AEC1_v1.1.0\Projects\STM32F446RE-Nucleo\Demonstrations\AEC\Binary

If you open the project and build in CubeMX, with the .bin file being created in the debug folder, this will not work. Speaker output fails. 

 

Uninstall and reinstall the STM32 MIC + SPEAKERS drivers.

I'm unsure if this helped but it was part of my process to the fix. Note that it forces a restart on your PC. 

 

UM2824 - Rev 2

This is my exact bridge and jumper configuration. 

 

Result

At this time I have output to speakers, through the CCA01M1 board (Powered by 5V from CN6.5 to CN2.VCC)(Note this is shown in UM1979, section 3.2.2)

And in Audacity I have the Left channel recording only.

OceanPlumber_0-1726207226911.png

 

This is where the Quick Start Guide Version 1.0 Jan, 2021 and the UM2824 Rev 2 both state along the lines of:

" . The stereo track contains the processed signal in which the acoustic echo cancellation has removed the far-end signal from the audio acquired by a microphone and an omnidirectional microphone as a reference"

But I have only ever got the Left channel, which the readme located here: en.fp-aud-aec1-1.1.0\STM32CubeFunctionPack_AEC1_v1.1.0\Projects\STM32F446RE-Nucleo\Demonstrations\AEC

States:

"The stereo track contains the processed signal (L channel) and an omnidirectional microphone
as a reference (R channel)"