This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TUSB1210: Implement KVM over fiber with TUSB1210

Part Number: TUSB1210
Other Parts Discussed in Thread: TUSB212
See attached block diagram below

We would like for the "Host side Lattice FPGA ECP3/fiber/Client side Lattice FPGA ECP3" to act as a transparent link (act as our USB2.0 cable) between the Host side PC USB Host and the Client side USB Hub.
Is the block diagram correct with the parts shown?
Or does the TUSB1210 act as an USB peripheral(device) to the Host side USB Host?

Does the TUSB1210 PHY depend on an OS driver to function? If so, then the Host side would be OK, but an issue on the lack of an OS driver on the Client side.

If an OS driver is required, how else can we implement this design?

If the TUSB1210 is the correct part to use, do you know of readily available ULPI IP for the Lattice FPGA ECP3?

Thank you, Roland
  • Roland

    TUSB1210 is a USB transceiver (PHY) only, it is designed to work with a USB controller through the ULPI interface. In the Host Side as shown in the block diagram, the USB controller will be a peripheral or OTG controller and USB SW driver will be associated with the controller, not with the TUSB120. On the Client Side, the USB controller will be a host or OTG controller that will able to recognize and enumerate USB 2.0 hub through TUSB1210. Does ECP3 already include USB controller as part of its function?

    Thanks
    David
  • David,

    Thank you for the response.

    The ECP3 does not include a USB controller.

    I can purchase IP (Intellectual Property) for a USB device for the Host Side ECP3 interface to the TUSB1210. I can also purchase IP for a USB host for the Client Side ECP3 interface to the TUSB1210, which talks to the USB2.0 hub.

    However, I am being told that I cannot implement the above IP solution (my preferred solution).

    The solution must treat the Host Side ECP3, fiber, and Client Side ECP3 as transparent link (or look at those components just as a USB cable). Having the intermediate device and host in the ECP3's does not constitute a transparent link.

    Therefore, looking to voltage translate the USB2.0 signals to interface to my ECP3 on the Host Side, and voltage translate back to USB2.0 on the Client Side.

    Not sure yet if this is feasible. Your thoughts?

    Thank you, Roland

  • Roland

    I was thinking of this solution from a USB protocol timing perspective. All USB2.0 commands are issued from the host PC, factoring in the delay going through the USB/Fiber link x 2 + turnaround time of the hub (turnaround time will increase if there are more downstream hubs), the command will possibly get timed out and in this case, the last device on the USB tree will never get recognized by the host PC.

    As long as USB/ULPI electrical requirement is met, TUSB1210 will transmit/receive the data, the electrical translation between USB and Fiber will be handled by the ECP3.

    Thanks
    David
  • David,
    Round trip delay timing is definitely a concern. So far, there will only be hub on the Client Side.
    Yes, my preferred solution is using the TUSB1210 PHYs.
    As you point out, this will allow proper electrical interface between USB and ECP3 on Host and Client Sides, as well as, guarantee proper timing.
    I have to give the timing further thought.
    If you have any other thoughts, please let me know.
    Thank you, Roland
  • Roland

    Are you simply trying to extend the cable length to beyond 5m cable, or you are also trying provide isolation using fiber as the solution? If you are just looking at extending the cable length to beyond 5m cable, you can also take a look at our USB2 redriver such as TUSB212, which is a easier solution to implement.

    Thanks
    David
  • David,
    Actually "extending" USB by 20km with the fiber.
    The TUSB212 "Supports up to 5m pre-channel or 2m postchannel Cable Length".
    AFAIK, I would not need SW for the USB host IP for the Client Side ECP3 interface to the TUSB1210. Do you agree?
    I still have to check with IP mfg.
    Thank you, Roland
  • Roland

    You need at least a ULPI IP, a USB IP implies to me some sort host/peripheral functionality is included which negates the purpose of the transparent link idea.

    What is the prorogation delay of a 20km fiber? Comparing the propagation delay against USB turnaround time would give you a rough idea of under/over timing margin you will have.

    Thanks
    David
  • David,

    I found a separate ULPI IP from the USB2.0 Device IP. As long as the ULPI IP does not act as a USB device, then I have a form of my transparent link (as you said, no intermediate Device or Host on link).

    The closest device then would be my USB host on the Client Side.

    I still have to check the allowed USB turnaround time w/ respect to the ECP3+fiber+ECP3 delay.

    Thank you, Roland

  • I will have ULPI IP on both the Host Side ECP3 and the Client Side ECP3.
  • David,
    The USB protocol for High Speed has a max "timeout the transaction" time of 1.7 usec (816 bit times). This is the round trip time or 2-way delay. From 7.1.19.2 USB spec.
    Worst-case round trip delay is 721 bit times (or about 1.5usec)
    Can you corroborate that 816 bit times is ~1.7usec?

    Calculating delay in fiber optic cable:
    T = D / V
    Speed of light in fiber ~2 x 10**8 m/s or 200 m/usec
    Another Rule of Thumb: 4.9usec/km
    Therefore,
    250m: 1-way delay of 1.24 usec --> 2-way delay 2.48 usec
    2km: 1-way delay of 10 usec --> 2-way delay 20 usec
    20km: 1-way delay of 100 usec --> 2-way delay 200 usec

    Therefore, using the transparent link idea would seem to limit us to 170m of fiber (170m has 2-way delay of 1.67usec). This also does not include other delays in link.
    Thank you, Roland
  • Roland

    Your calculation is correct, so if you need to met the 20km fiber cable requirement, I think you would need to design in USB repeater function, which would not make the cable to be transparent.

    Thanks
    David