cancel
Showing results for 
Search instead for 
Did you mean: 

USB FS in host mode connected to HUB ( split protocol problem, ssplit, csplit )

tomas239955_stm1_st
Associate II
Posted on May 27, 2013 at 10:58

Hi ST,

is it possible to generate SSPLIT or CSPLIT token on USB FS device? And if so, what is the endpoint channel configuration for such token.

Using STM32F207IGT6.

Split packet described here: 

http://www.usbmadesimple.co.uk/ums_7.htm

Thank you,

T.Kamenicky

#split-csplit-ssplit-hub-fs-usb #tusb2046b
5 REPLIES 5
tsuneo
Senior
Posted on May 27, 2013 at 22:19

> is it possible to generate SSPLIT or CSPLIT token on USB FS device?

Hah?

Split transaction is available just on HS bus, applied just between HS host and HS hub. It carries payload of FS/LS transaction on HS bus, for a transaction translator on the hub.

Why do you need it on a FS host, which can put FS/LS transaction directly to the bus?

Even if a FS host could, who would listen it on the FS/LS bus?

Tsuneo

tomas239955_stm1_st
Associate II
Posted on May 28, 2013 at 10:00

Hi,

the FS host is directly connected via DP,DM to TUSB2046B 

http://www.ti.com/lit/ds/symlink/tusb2046b.pdf

The FS devices works just fine thru mentioned hub. But LS devices needs LS communication, and this can be achieved only with SPLIT transaction thru HUB. With SPLIT token we tell to the HUB that the connected device on the other side is communicating on lower speed. This will use the transmit translator inside hub.

I know that HS host has such feature, but i dont have free IO pins to connect it to the HS host, thus it is connected to FS host.

Regards

T.Kamenicky

tsuneo
Senior
Posted on May 28, 2013 at 11:50

TUSB2046B is a Full-/Low-speed hub.

Therefore, it has nothing to do with split transaction / Transaction Translator, which are just for High-speed hub.

> But LS devices needs LS communication, and this can be achieved only with SPLIT transaction thru HUB.

Ah, you mean ''PRE'' (Preamble) PID.

As of PRE, refer to the USB2.0 spec, usb_20.pdf p235

''Figure 8-48 Low-speed Transaction'' in chapter ''8.6.5 Low-speed Transactions''

http://www.usb.org/developers/docs/usb_20_040413.zip

On the OTG_FS host, set the bit 17, LSDEV, on OTG_FS_HCCHARx for the pipe to the LS device.

With this LSDEV, and with Full-speed connection at the root hub, the OTG_FS host recognizes that the LS transaction should pass through a hub. And then, the host puts PRE PID before downstream packets of LS transactions.

Tsuneo

tomas239955_stm1_st
Associate II
Posted on May 28, 2013 at 15:10

Tsuneo, big thank you, you solved my problem, you was right.

Please send me your address via PM i will send you a big bottle of Tennesse Whiskey, you sir deserve it.

Regards

T.Kamenicky

pelleplutt1976
Associate
Posted on October 01, 2013 at 13:01

Out of curiosity, how would one do on the HS side? I.e. communicating to a low speed device through a high speed bus on the HS host port. Guess the answer lies in the OTG_HS_HCSPLTx channel register somewhere. Anyone ever did this?