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

Found it! In usbd_conf.h:-

#define USBD_AUDIO_FREQ   48000

Could it be as easy as just changing that to 96000, or 192000?

Could it be made selectable at boot time by replacing with a variable?

Do you think I could set higher board rates in usbd_conf.h ?

#define USBD_AUDIO_FREQ   48000

see in main.c :

0693W00000aJ8xcQAC.png

If you feel a post has answered your question, please click "Accept as Solution".
Piranha
Chief II

> Not much of a description on that site

https://docs.tinyusb.org/en/latest/reference/getting_started.html

Together with the examples... enough for me.

> any idea what it does?

Isn't it obvious even by the folder name?

> Could it be as easy as just changing that to 96000, or 192000?

https://github.com/STMicroelectronics/STM32CubeF4/blob/e92669fc501fb8b7512fd6890a6eb379b6ae90c5/Middlewares/ST/STM32_USB_Device_Library/Class/AUDIO/Src/usbd_audio.c#L38

> Could it be made selectable at boot time by replacing with a variable?

Other people have already implemented that and more necessary features. That's why, instead of messing with a broken bloatware, they developed an actually usable USB stack, like TinyUSB.

> Worst case you get some blue screens

An externally connectable device cannot make BSOD. If it can, that's a bug in the host OS or drivers.

All the STM32F407V-DISC1 Discovery boards world-wide have been sold out for some weeks, impossible to find apart from crazy prices from some Chinese suppliers!

>> Worst case you get some blue screens

> An externally connectable device cannot make BSOD. If it can, that's a bug in the host OS or drivers.

Well, that's my USB experience from about 15 years ago when working with Cypress FX2 and the Cypress driver and Windows x (was that still XP?).

At that time, one error in the descriptors and Windows was very blue...

It's definitely a bug in some component. Most likely in the Cypress driver, less likely in a Windows integrated drivers or USB stack.

Not sure the rtos overhead or memory requirements would fit unfortunately ​

PC rejected it, bad wave format when set to anything above 47k

47k ?? you mean : 48k - right?

If you feel a post has answered your question, please click "Accept as Solution".