[J-core] USB 2.0 in turtle
rob at landley.net
Tue Jun 23 03:41:35 UTC 2020
On 6/22/20 2:57 AM, Tim 'mithro' Ansell wrote:
> On Sun, Jun 21, 2020, 7:59 PM Rob Landley <rob at landley.net
> <mailto:rob at landley.net>> wrote:
> Sorry for the radio silence, we got buried in $DAYJOB work again. But here's an
> issue I've been meaning to document:
> Although the USB 2.0 spec maxes out at 60 megabytes/second (480
> megabits/second), both rounds of turtle board prototypes we did only have USB
> 1.1 wired up to the USB switch chip that goes to the 4 ports. This doesn't cause
> a compatibility issue (the switch chip upconverts the USB 1.1 signal to USB 2.0
> as switches do), but the max bandwidth to the j-core SOC through this connection
> is only 1.5 megabytes/second (12 megabits).
> The reason for that limitation is the spartan FPGAs can't actually generate a
> USB 2.0 signal because it can't clock one pin fast enough. It can do 12mhz
> serial output fine, but 480 mhz straight from an FPGA pin ain't happening.
> Which Spartan are you using?
The numbers on the chip say: XC6SLX45 CSG324DIV1713 D5388641A 2C
> On the sending side, any IO pins on the Spartan 3 can go up to 750mbit/sec and
> the Spartan 6 can do up to 1250mbit/sec. Spartan 7 can do 1500mbit/sec on every
> pin with a tiny bit of overclocking.
This is a Jeff question. (Or Arakawa-san, or...)
> The receiving side is a little bit harder unless you have a good reference
> clock. On the Spartan series it is reasonably hard to get the 4x oversampling of
> a 480mbit/sec required to do proper clock recovery otherwise but there are some
> tricks using the IO delay phasing in a differential pair.
> It is likely we will explore some of this in the Luna stack
> (https://github.com/greatscottgadgets/luna) in the future.
Cool. Right now he's trying to get the parallel thing working. (He made a USB
gadget, plugged it into his linux laptop to see if it would enumerate, and linux
on the laptop crapped a null pointer dereference stack dump into dmesg. So we
should probably report that to the kernel guys. I'm told his mac just times out
I still haven't got a copy of this HAT hardware to play with yet...
> Tim 'mithro' Ansell
More information about the J-core