Hi everyone,
I'm just about to start an implementation of a USB 3.0 interface in VHDL for
data transfer from FPGA to a PC and vice versa. The core should acts as a
USB device for the PC. The core is intended for an FPGA projects where an
"easy" interface to a PC is needed. Higher data rates as defined by the 3.0
standard should be possible with the implementation.
Questions are:
Does anyone have experience in implementing a USB interface?
What are the external chipsets and components respectively required?
What about standard compliance? Which standard? Which version?
What is the defference between USB Server + USB Client in this respect and
which one should I implement to get the desired functionality?
Thank You Friends For All Your Kind Support!
|
|
0
|
|
|
|
Reply
|
traubenuss (3)
|
3/25/2010 5:03:29 PM |
|
"Maurice Branson" <traubenuss@arcor.de> wrote in message
news:4bab9732$0$6875$9b4e6d93@newsspool2.arcor-online.net...
> Hi everyone,
>
>
> I'm just about to start an implementation of a USB 3.0 interface in VHDL
> for data transfer from FPGA to a PC and vice versa. The core should acts
> as a USB device for the PC. The core is intended for an FPGA projects
> where an "easy" interface to a PC is needed. Higher data rates as defined
> by the 3.0 standard should be possible with the implementation.
>
>
>
> Questions are:
>
> Does anyone have experience in implementing a USB interface?
>
> What are the external chipsets and components respectively required?
>
> What about standard compliance? Which standard? Which version?
>
> What is the defference between USB Server + USB Client in this respect and
> which one should I implement to get the desired functionality?
>
>
>
> Thank You Friends For All Your Kind Support!
>
>
>
You will find a lot of information on www.usb.org
While I don't mean to be unhelpful the questions you are asking make me feel
that you are unlikely to get far with this. USB3 is not easy. If you don't
absolutely have to have the USB3 super speed then USB2 high speed (480
Mbit/s) is a lot easier - the 'least brain' approach is to use an FTDI chip
for the interface. www.ftdichip.com
Michael Kellett
|
|
0
|
|
|
|
Reply
|
MK
|
3/25/2010 5:25:38 PM
|
|
Thanks, Michael!
I will have a look at the URL you postet. Anyway I want this project to be
one from which I learn a lot. So I am not interested in the 'least brain'
approach but to do as much as I can in VHDL and just use a chipset for the
physical link.
|
|
0
|
|
|
|
Reply
|
Maurice
|
3/25/2010 5:41:48 PM
|
|
On Mar 25, 6:41=A0pm, "Maurice Branson" <trauben...@arcor.de> wrote:
> Thanks, Michael!
>
> I will have a look at the URL you postet. Anyway I want this project to b=
e
> one from which I learn a lot. So I am not interested in the 'least brain'
> approach but to do as much as I can in VHDL and just use a chipset for th=
e
> physical link.
First of all you should go to USB implementers forum USB-IF and
download the specifications of USB 3.0 (which will include host/device/
hub specification). Than you have to read and read and read again to
fully understand the USB 3.0. I hope you know that this won't be a
project that you will finish in a month or two. I would estimate that
one person would spend about 8 hours a day on USB 3.0 one could
probably finish it in 12 months (but that might be too optimistic,
since the development of USB 3.0 device takes about 6-9 months for a
team of HDL developers :)) If you want to learn something first try
using ready USB 2.0 chip and implement full hardware control of the
chip without any CPU.
|
|
0
|
|
|
|
Reply
|
wojtek
|
3/26/2010 7:41:53 AM
|
|
wojtek <wojtekpowiertowski@gmail.com> wrote
>On Mar 25, 6:41�pm, "Maurice Branson" <trauben...@arcor.de> wrote:
>> Thanks, Michael!
>>
>> I will have a look at the URL you postet. Anyway I want this project to be
>> one from which I learn a lot. So I am not interested in the 'least brain'
>> approach but to do as much as I can in VHDL and just use a chipset for the
>> physical link.
>
>First of all you should go to USB implementers forum USB-IF and
>download the specifications of USB 3.0 (which will include host/device/
>hub specification). Than you have to read and read and read again to
>fully understand the USB 3.0. I hope you know that this won't be a
>project that you will finish in a month or two. I would estimate that
>one person would spend about 8 hours a day on USB 3.0 one could
>probably finish it in 12 months (but that might be too optimistic,
>since the development of USB 3.0 device takes about 6-9 months for a
>team of HDL developers :)) If you want to learn something first try
>using ready USB 2.0 chip and implement full hardware control of the
>chip without any CPU.
I would buy a USB chip. The protocol is a total mess and always has
been.
I don't know if FTDI do a '3 chip but their standard ones work really
well.
|
|
0
|
|
|
|
Reply
|
Peter
|
3/26/2010 8:08:56 AM
|
|
Maurice
> I will have a look at the URL you postet. Anyway I want this project to be
> one from which I learn a lot. So I am not interested in the 'least brain'
> approach but to do as much as I can in VHDL and just use a chipset for the
> physical link.
USB 3.0 requires that a device (peripheral) support the new "Super
Speed" *and* at least one other speed (low, full or high). So, in many
ways, you would be better doing a USB2.0 device and sticking on a
suitable USB PHY for the physical interface. There aren't many USB 3.0
hosts around yet against which you could test your device either: lots
of USB 2.0 stuff though!
Andrew
|
|
0
|
|
|
|
Reply
|
Andrew
|
3/26/2010 9:01:19 AM
|
|
"Andrew Jackson" <alj@nospam.com> wrote
news:X_adnaUfiO556jHWnZ2dnUVZ8l2dnZ2d@eclipse.net.uk...
> ways, you would be better doing a USB2.0 device and sticking on a suitable
> USB PHY for the physical interface. There aren't many USB 3.0 hosts
> around yet against which you could test your device either: lots
Thanks, Andrew!
Sounds resonable to me. So if I start with 2.0 is there a compatibility that
I may "expand" my design to a 3.0 core or is it totally different? I learned
from what I've read here and in the www that I need at least a separate PHY
because that is something that I cannot to in the FPGA fabric. Are there any
USB 3.0 PHYs already available? Found nothing. :-(
KR Maurica
|
|
0
|
|
|
|
Reply
|
Maurice
|
3/26/2010 10:18:08 AM
|
|
On Mar 26, 11:18=A0am, "Maurice Branson" <trauben...@arcor.de> wrote:
> "Andrew Jackson" <a...@nospam.com> wrotenews:X_adnaUfiO556jHWnZ2dnUVZ8l2d=
nZ2d@eclipse.net.uk...
>
> > ways, you would be better doing a USB2.0 device and sticking on a suita=
ble
> > USB PHY for the physical interface. =A0There aren't many USB 3.0 hosts
> > around yet against which you could test your device either: lots
>
> Thanks, Andrew!
>
> Sounds resonable to me. So if I start with 2.0 is there a compatibility t=
hat
> I may "expand" my design to a 3.0 core or is it totally different? I lear=
ned
> from what I've read here and in the www that I need at least a separate P=
HY
> because that is something that I cannot to in the FPGA fabric. Are there =
any
> USB 3.0 PHYs already available? Found nothing. :-(
>
> KR Maurica
3.0 core is basically separate from 2.0 on almost every layer, if you
have a usb 3.0 device it tries to connect using super speed and if
that is not available on the other side, the 3.0 core shuts down and
2.0/1.1 core starts its operation. The PHY is not publicly available,
because there is no market for it, right now only big companies
working on usb 3.0 appliances (like WD, Samsung, Intel, ...) have it
available.
|
|
0
|
|
|
|
Reply
|
wojtek
|
3/26/2010 11:30:55 AM
|
|
On Mar 26, 1:30=A0pm, wojtek <wojtekpowiertow...@gmail.com> wrote:
> On Mar 26, 11:18=A0am, "Maurice Branson" <trauben...@arcor.de> wrote:
>
> > "Andrew Jackson" <a...@nospam.com> wrotenews:X_adnaUfiO556jHWnZ2dnUVZ8l=
2dnZ2d@eclipse.net.uk...
>
> > > ways, you would be better doing a USB2.0 device and sticking on a sui=
table
> > > USB PHY for the physical interface. =A0There aren't many USB 3.0 host=
s
> > > around yet against which you could test your device either: lots
>
> > Thanks, Andrew!
>
> > Sounds resonable to me. So if I start with 2.0 is there a compatibility=
that
> > I may "expand" my design to a 3.0 core or is it totally different? I le=
arned
> > from what I've read here and in the www that I need at least a separate=
PHY
> > because that is something that I cannot to in the FPGA fabric. Are ther=
e any
> > USB 3.0 PHYs already available? Found nothing. :-(
>
> > KR Maurica
>
> 3.0 core is basically separate from 2.0 on almost every layer, if you
> have a usb 3.0 device it tries to connect using super speed and if
> that is not available on the other side, the 3.0 core shuts down and
> 2.0/1.1 core starts its operation. The PHY is not publicly available,
> because there is no market for it, right now only big companies
> working on usb 3.0 appliances (like WD, Samsung, Intel, ...) have it
> available.
well, USB 3.0 is the first one that needs NO PHY
as the MGT's in some newer FPGA's are USB 3.0 capable directly
just wire MGT to usb 3.0 superspeed pins, and that about it
Antti
|
|
0
|
|
|
|
Reply
|
Antti
|
3/26/2010 12:58:11 PM
|
|
On Mar 26, 1:58=A0pm, Antti <antti.luk...@googlemail.com> wrote:
> well, USB 3.0 is the first one that needs NO PHY
>
> as the MGT's in some newer FPGA's are USB 3.0 capable directly
> just wire MGT to usb 3.0 superspeed pins, and that about it
>
> Antti
That is the first time i hear abou MGT being compatible with USB 3.0
PHY, but I haven't doing anything in USB 3.0 topic for almost a year.
I must say I find it hard to believe thought, because USB 3.0 besides
translating digital signal to differential analog signal also
transmits USB 3.0 specific LFPS (low frequency pulse signaling) and
from what I learned the USB 3.0 PHY was supposed to take care of that
(just like latest PCI express PHY, which has similar LFPS technology).
I believe the MGT doesn't support that. But as I've said I hadn't even
researched it for some time, so I might be wrong.
|
|
0
|
|
|
|
Reply
|
wojtek
|
3/26/2010 1:32:29 PM
|
|
On Mar 26, 8:32=A0pm, wojtek <wojtekpowiertow...@gmail.com> wrote:
> On Mar 26, 1:58=A0pm, Antti <antti.luk...@googlemail.com> wrote:
>
> > well, USB 3.0 is the first one that needs NO PHY
>
> > as the MGT's in some newer FPGA's are USB 3.0 capable directly
> > just wire MGT to usb 3.0 superspeed pins, and that about it
>
> > Antti
>
> That is the first time i hear abou MGT being compatible with USB 3.0
> PHY, but I haven't doing anything in USB 3.0 topic for almost a year.
> I must say I find it hard to believe thought, because USB 3.0 besides
> translating digital signal to differential analog signal also
> transmits USB 3.0 specific LFPS (low frequency pulse signaling) and
> from what I learned the USB 3.0 PHY was supposed to take care of that
> (just like latest PCI express PHY, which has similar LFPS technology).
> I believe the MGT doesn't support that. But as I've said I hadn't even
> researched it for some time, so I might be wrong.
USB 3.0 calls the "LFPS" now "OOB". Xilinx GTX transceivers have no
problem supporting that. Matter of fact we have a fully working USB
3.0
device IP Core running on Xilinx FPGAs.
One more note to the OP: In order to properly implement USB 3.0, you
would most likely need a protocol analyser, roughly a $50K
investment ...
Cheers,
rudi
|
|
0
|
|
|
|
Reply
|
luudee
|
3/29/2010 4:30:15 AM
|
|
On Mar 26, 7:58=A0am, Antti <antti.luk...@googlemail.com> wrote:
> well, USB 3.0 is the first one that needs NO PHY
>
> as the MGT's in some newer FPGA's are USB 3.0 capable directly
> just wire MGT to usb 3.0 superspeed pins, and that about it
I'm slightly confused by this statement. If 3.0 requires fallback
capability, how could FPGA hardware be compatible with 3.0 without
being compatible with an earlier version, and if FPGA hardware IS
compatible with an earlier version, how can you call 3.0 the first?
|
|
0
|
|
|
|
Reply
|
Patrick
|
3/29/2010 5:00:21 AM
|
|
On 29/03/2010 06:00, Patrick Maupin wrote:
> On Mar 26, 7:58 am, Antti<antti.luk...@googlemail.com> wrote:
>> well, USB 3.0 is the first one that needs NO PHY
>>
>> as the MGT's in some newer FPGA's are USB 3.0 capable directly
>> just wire MGT to usb 3.0 superspeed pins, and that about it
>
> I'm slightly confused by this statement. If 3.0 requires fallback
> capability, how could FPGA hardware be compatible with 3.0 without
> being compatible with an earlier version, and if FPGA hardware IS
> compatible with an earlier version, how can you call 3.0 the first?
The compatibility arises because USB 3.0 uses a new connector that has
both USB 2.0 connections and the new (SuperSpeed) connections.
Andrew
|
|
0
|
|
|
|
Reply
|
Andrew
|
3/29/2010 7:31:54 AM
|
|
|
12 Replies
253 Views
(page loaded in 0.179 seconds)
Similiar Articles: spartan 3E USB port... use for i/o instead of programming - comp ...2 Replies 145 Views (0.045 seconds) Tweet ... Connect USB device to Spartan 3 FPGA - comp.arch.fpga spartan 3E USB port... use for i/o instead of ... NIOS 2 + linux + DE2 Board - comp.arch.fpga... on cable nios2-terminal: "USB-Blaster [USB 5-1.2]", device 1, instance 0 ... image: Using cable "USB-Blaster [USB 1-1.3.1 ... NIOS 2 + linux + DE2 Board - comp.arch.fpga ... VHDL implementation of merge-sort - comp.arch.fpga3 Replies 222 Views (0.088 seconds) Tweet ... How can I merge 2 arrays? - comp.soft-sys.matlab VHDL implementation of merge-sort - comp.arch.fpga Hi all ... LZW compression and decompression in vhdl - comp.arch.fpga ...Hi, can somebody help me to find an implementation of LZW ... consider it in the newest generation of low cost FPGAs. ... 1 Replies 303 Views (0.347 seconds) Tweet USB programmable Open Source Hardware - comp.arch.fpgaLooking for interest in an Open Source Hardware USB programmable FPGA, XC3S250E. ... for the S6 parts uses less real estate > than a 100 TQFP by going to a 0.5 ... Please help, Xilinx FIFO problem! - comp.arch.fpga... FIFO old values I can select BRAM or FIFO16 implementation ... This message was sent using the comp.arch.fpga web ... It's not like I am giving you a USB 3.0 core :) Jon ... Spartan 3 Digilent Board Expansion Connectors - comp.arch.fpga ...1 Replies 228 Views (0.029 seconds) Tweet ... Connect USB device to Spartan 3 FPGA - comp.arch.fpga Spartan 3 ... Spartan-3 Starter Kit Board ... PROM for Spartan 6 FPGA - comp.arch.fpga344 Views (0.116 seconds) Tweet ... ASIC into FPGA - comp.arch.fpga Field-programmable gate array ... Connect USB device to Spartan 3 FPGA - comp.arch.fpga PROM for ... Xilinx LPT programmer help - comp.arch.fpga0 Replies 247 Views (0.137 seconds) Tweet ... unknown devices in JTAG chain - comp.arch.fpga USB device to Spartan 3 FPGA - comp.arch.fpga Xilinx ... Xilinx Spartan 3, SelectMap, Mode pins, Dynamic Reconfiguration ...0 Replies 243 Views (0.069 seconds) Tweet ... Dynamic Reconfiguration - comp.sys.sun.admin Connect USB device to Spartan 3 FPGA - comp.arch.fpga ... about digilent board - comp.arch.fpga0 ... me so that I have an example of a working implementation? ... Connect USB device to Spartan 3 FPGA - comp.arch.fpga Spartan 3 ... Implement a JTAG controller in an FPGA - comp.arch.fpga3 Replies 164 Views (0.115 seconds) Tweet ... chain - comp.arch.fpga Connect USB device to Spartan 3 FPGA ... FPGA - Field Programmable Gate Array 4.5 The Design Flow 4 ... Xilinx Flash PROM and Config rate for Spartan 6 FPGA - comp.arch ...... of 26MHz, the FPGA still booted (and took the same time about 0.7sec). ... Connect USB device to Spartan 3 FPGA - comp.arch.fpga PROM for Spartan 6 FPGA - comp ... around a ... Cypress 68013 - Xilinx FPGA - comp.arch.fpgaHi everyone, I am trying to add a USB 480Mbps interface to my fpga design which will stream ... FPGA Prototyping 0 47 johanmk (1) PKware DCL - comp.compressionReferences for FPGA implementation of OS-CFAR - comp.arch.fpga ..... arch.fpga References ... Version 3 was skipped as a result of PKZIP 3.0 trojan. It supported Deflate64 ... USB 3.0 implementation on FPGA | Comp.Arch.FPGA | FPGARelated.comHi everyone,I'm just about to start an implementation of a USB 3.0 interface in VHDL for data transfer from FPGA to a PC and vice versa. The core should acts as a USB ... USB 3.0 implementation on FPGA - Velocity Reviews - Computer HardwareHi everyone, I'm just about to start an implementation of a USB 3.0 interface in VHDL for data transfer from FPGA to a PC and vice versa. The core should acts as a ... 7/12/2012 10:36:58 AM
|