cancel
Showing results for 
Search instead for 
Did you mean: 

Can I communicate with high speed device using Full speed host(NUCLEO-F411RE)?

KKuma.6
Associate

I am working on USB CDC ACM device. I want to communicate with High Speed device using full speed host(NUCLEO-F411RE). As I am new to USB protocol, but I know that device starts communication in FS mode and switch to HS mode only if host respond to J-K chirp signal.

  • Device is enumerated and detected as full speed device.
  • Descriptor is successfully received on host
  • It is high speed device but detected as FS to my host. Bulk endpoint(IN and OUT) size of device is 512 Bytes.
  • Device transmits data when I send specific character to device, I transmit that data from host and host receive ACK from device.
  • After that I am waiting for data from device, but I don't get any data.
  • I am suspecting that it might be due to Bulk Endpoint size.

When I am communication between two STM32 NUCLEO-F411RE board one as HOST and other as DEVICE then data is transmitted and received successfully.

When device is connected with PC(host) I am able to get reply from device.

IDE used : STM32CubeIDE

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Guru

Your basic understanding about FS/HS is correct. You absolutely should be able to talk to a HS-capable device with an FS host. Doesn't really answer your question about why it's not working, but USB is complicated beast. I'm sure the answer is in the details somewhere.

If the device is operating in FS mode, max packet size should be 64, not 512.

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

View solution in original post

2 REPLIES 2
TDK
Guru

Your basic understanding about FS/HS is correct. You absolutely should be able to talk to a HS-capable device with an FS host. Doesn't really answer your question about why it's not working, but USB is complicated beast. I'm sure the answer is in the details somewhere.

If the device is operating in FS mode, max packet size should be 64, not 512.

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

Thanks for your suggestion. I will try to dig more.