Skip to main content
BHan.1
Associate III
January 10, 2020
Solved

Using USB hub with STM32F7 USB HS

  • January 10, 2020
  • 6 replies
  • 3617 views

Hello,

I'm designing an embedded system that connects to a PC for USB data and converts it to an analog signal.

This is an HS USB device with 2 USB ports which needs to process 4 channel 40Mbps data.

This device can work as a single system, but with some setup, I want to make the device send 2 channels of the data to the same device system connected through another USB port.

Even though there are 2 USB peripherals in STM32F7 series, only 1 is HS and the other is FS. So I can't use FS port due to slow speed.

Also, I can't connect 1 computer to 2 systems directly due to some limitation.

Can the system diagram below achievable?

I couldn't think of a better way to implement this idea.

Thanks in advance.

0690X00000BvotTQAR.png

This topic has been closed for replies.
Best answer by T J

I was suggesting that you take Usart1 over the the other processor.

getting your system to recognize the USBHUB is not trivial.

You'd probably shoe this in with a STM32MP1 , but not a STM32H or STM32F series processor.

6 replies

T J
Senior III
January 10, 2020

can you add extra DAC ports to the first system ?

BHan.1
BHan.1Author
Associate III
January 10, 2020

Unfortunately no.

Maybe because this is an application specific DAC, there's only one data port available.

T J
Senior III
January 10, 2020

which dac is it ?

BHan.1
BHan.1Author
Associate III
January 10, 2020

It's an high resolution audio DAC. So, basically I want to split Left and Right Channel to System 1 and 2.

T J
Senior III
January 10, 2020

Let me see the DAC, see what we can do with two of them on one micro

BHan.1
BHan.1Author
Associate III
January 10, 2020

It's a DAC by Cirrus Logic WM8740.

And your suggestion of running 2 of them on one micro is very logical, but my actual goal is to have 2 separate system and link them by USB.

T J
Senior III
January 10, 2020

ok,

its only 192KHz throughput

so you could redirect your stream to a serial port for the other board.

230400 baud seems to work well, that's just enough for your bandwidth.

you could go higher baud, using a "serial TTL" interface.

BHan.1
BHan.1Author
Associate III
January 10, 2020

Is the below diagram what your are suggesting?

I think this is a good option. I will be using USB C port so pin number is not a problem.

If I not understanding you please let me know. Maybe you are saying data can be transferred using DP/DM pin without using MUX.

0690X00000BvowhQAB.png

T J
T JBest answer
Senior III
January 10, 2020

I was suggesting that you take Usart1 over the the other processor.

getting your system to recognize the USBHUB is not trivial.

You'd probably shoe this in with a STM32MP1 , but not a STM32H or STM32F series processor.

BHan.1
BHan.1Author
Associate III
January 11, 2020

Thanks for the suggestion.

From your suggestion, I was thinking of compressing the audio little to make one channel under 12Mbps and use FS USB ports in STM32.

USB Hub does seems to be a complicated matter.

I will also check the STM32MP1 for the main MCU.

T J
Senior III
January 11, 2020
BHan.1
BHan.1Author
Associate III
January 14, 2020

Thanks T J,

I will check this out.