OpenCores
no use no use 1/1 no use no use
USB Host interface on FPGA
by aabfattah on Sep 27, 2011
aabfattah
Posts: 3
Joined: Sep 21, 2011
Last seen: Jun 11, 2013
Hello ,
I want to implement a high speed USB 2.0 host controller on a convenient ALTERA FPGA (Less than or roughly 500$5) for an image processing application.
I am aware that I should use an IP but there are none free USB 2.0 host high speed IPs and commercial IPs are very expensive .

So , I am searching different options among USB host controllers like NXP ISP controller or the Cypress controller but my professor advised me that the connection between the FPGA and this controller will yield a lot of fuss and there are some problems like different voltage ratings ...etc.

Are there any compatible controllers with FPGAs or anyone that tried to implement a USB host on the FPGA side ?Or any available options ?


Thanks
RE: USB Host interface on FPGA
by unneback on Sep 28, 2011
unneback
Posts: 20
Joined: Apr 24, 2004
Last seen: Oct 15, 2016
One option could be to use an external USB controller over a PCI bus. One possible controller is μPD720101 from NEC/Renesas.

Available from Digikey
http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=PD720101
In both QFP and BGA

OpenCores has a number of PCI implementations that could be used for this

/Michael Unneback
ORSoC
RE: USB Host interface on FPGA
by aabfattah on Sep 28, 2011
aabfattah
Posts: 3
Joined: Sep 21, 2011
Last seen: Jun 11, 2013
Is it easier than using the controller directly to the FPGA . What will I have to do to interface with the USB controller if I don't use PCI ? Will I have to write some kind of USB interface ?
Will I lose speed in the PCI implementation ?

RE: USB Host interface on FPGA
by unneback on Sep 28, 2011
unneback
Posts: 20
Joined: Apr 24, 2004
Last seen: Oct 15, 2016
There are many options here

If you require 480 mbps you need logic to handle serialization outside of the FPGA. From what I understand that can not be done in a SERDES in an FPGA. You could have only the SERDES function outside. There exists low level USB devices with standard interface like UTMI. They will give you a parallel interface (8 or 16 bit) to the FPGA. In this case you will have to implement the USB stack in your FPGA.

An USB controller like the one from NEC will give you both of the above. PCI is 33 MHz and 32 bit data which is roughly 1 gbps throughput. With five USB ports you will have a bottle neck in the PCI bus. For one USB port you might be OK. And you must implement the PCI functions. PCI memory space would be mapped on the wishbone bus nortmally.

If you use a controller with PCI express you will have fewer interconnect signals. But you will need a SERDES FPGA. Altera Cyclone IV GX have built in support for PCI express

/Michael Unneback
ORSoC
RE: USB Host interface on FPGA
by aabfattah on Sep 30, 2011
aabfattah
Posts: 3
Joined: Sep 21, 2011
Last seen: Jun 11, 2013
Posting my status to enrich the topic :
I found an easier solution . You can purchase an ALTERA kit with HSMC interface and use a USB 2.0 daughter card .

Check these links
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=502&PartNo=1

http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=67&No=312&PartNo=1
RE: USB Host interface on FPGA
by ravivlsiii on Nov 9, 2011
ravivlsiii
Posts: 45
Joined: Jul 4, 2008
Last seen: Feb 8, 2014
Hi,
i have implemented USB 2.0 Embedded host controller in Altera with ISP1504 PHY.
mail me to ravilife4rohit@yahoo.com so we can discuss more..



Best Regards:

Ravi
no use no use 1/1 no use no use
© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.