cancel
Showing results for 
Search instead for 
Did you mean: 

The standard STM32F407 USB audio driver only supports 48k, is there any info available to up it to higher speed?

Robmar
Senior III

The standard STM32F407 USB audio driver only supports 48k, is there any info available to up it to higher speed?

20 REPLIES 20
mohamed.ayed
ST Employee

Hi @Robmar​ 

Our legacy ST-USB lib support only audio 1.0 it support only FS speed but for HS you need to switch to USB Audio 2.0 you can use AzureRTOS middleware stack it support both Audio1.0 and Audio 2.0.

Robmar
Senior III

Thank you Mohamed, appreciated. Do you know if I can use the middleware stack without having to use the RTOS itself, it's a little short on memory as it is. It doesn't look like it's going to fit:

This I guess:- "Azure RTOS USBX is a high-performance USB host, device, and on-the-go (OTG) embedded stack. Azure RTOS USBX is fully integrated with Azure RTOS ThreadX and available for all Azure RTOS ThreadX–supported processors."

mohamed.ayed
ST Employee

@Robmar​  AzureRTOS stack support both RTOS (with threadx) & Standalone mode you need juste to update you middleware 6.2.0 and then define UX_STANDALONE in ux_user.h

you can see HID Stanndalone application:

https://github.com/STMicroelectronics/x-cube-azrtos-h7/tree/main/Projects/NUCLEO-H723ZG/Applications/USBX/Ux_Device_HID_Standalone

we have a draft ux_device_audio application here :

https://github.com/STMicroelectronics/x-cube-azrtos-h7/tree/dev/usbx/Projects/STM32H743I-EVAL/Applications/USBX/Ux_Device_Audio

Robmar
Senior III

Thanks, very useful. The draft example you reference is for the H7, is there any way to change that easily to F407? Came across this before, a sample for an F411, IDE refuses to change the MCU type, so I had to hack the .cd and other files replaces all the MCU references, took me nearly an hour, but quicker than recreating the project.

Robmar
Senior III

I've been told that the standard USB audio driver on the STM32F407 can handle higher rates just by changing the descriptor. Anyone any idea on that?

Not much of a description on that site, any idea what it does?

In case you have a dev board: try it! Worst case you get some blue screens... :D

If you don't have a dev board, get one.

If I'm in doubt about an STM32's capabilities, I definitely try to make it work on a Nucleo board or so before putting it on a custom PCB.

haha sure, but I could not see in the descriptors where the baud rate is defined, there was no obvious define for 48000...!

It's just a long list of stuff with not much commenting!