EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

FPGA board for USB experiments?

Started by Dave Farrance June 3, 2006
Thorsten Trenz <nq@trenz-electronic.de> wrote:

>Dave Farrance wrote: >> I'll use another USB port for that, and I'll put together a transceiver >> board to handle the signal-levels so that I can route the raw data >> stream directly to the FPGA I/O. Such a USB interface would be >> speed-limited, but I'm not worried about that. > >take a look here: >http://shop.trenz-electronic.de/catalog/default.php?cPath=1 > >I think, the Spartan-3 Micromodule with USB UTMI Phy is exactly what you >want.
Ah yes. Thanks. That's the most promising so far. The Trendz TE-XC3S micromodule with TE-0143 carrier board and TE-0149 programmer comes to $173. I can live with a parallel-port programmer, although I rather have USB or serial-port programming. -- Dave Farrance
Dave Farrance <DaveFarrance@OMiTTHiSyahooANDTHiS.co.uk> wrote:

>Ah yes. Thanks. That's the most promising so far. The Trendz TE-XC3S >micromodule with TE-0143 carrier board and TE-0149 programmer comes to >$173. I can live with a parallel-port programmer, although I rather >have USB or serial-port programming.
Whoops, I mangled your name, Herr Trenz. Sorry about that. -- Dave Farrance
Dave

Have a look at this module 
http://www.enterpoint.co.uk/moelbryn/modules/usb_ps2.html in conjunction 
with our Raggedstone1 product. Basically the module is a voltage limiter(bus 
switch) on the USB lines leaving the logic to be implemented in the FPGA.

-- 
John Adair
Enterpoint Ltd. - Home of Raggedstone1. The Low Cost Spartan-3 Board.
http://www.enterpoint.co.uk


"Dave Farrance" <DaveFarrance@OMiTTHiSyahooANDTHiS.co.uk> wrote in message 
news:29t2821lqgte6hui7j4vqsjs3qgid4d212@4ax.com...
> Hi. I want to get my brain around USB interfaces, how to design the > hardware and the software, and eventually to find what economic > hardware solutions are available, and how USB hardware interfaces can > be arranged to make the best use of generic USB drivers to minimise > problems associated with driver installation. > > It's not something that I've been able to investigate in the > time-limited projects that I've done as an electronic designer, and so > I've tended to use RS485 interfaces or other alternatives. I've decided > that It's high time that I understood USB, so I'll pick up the > knowledge by occasionally dabbling with it at home over a period of a > few months which is something that works OK for me. > > I'm not very good at reading screeds of technical description and > retaining it in my memory, so I need to get my hands dirty with some > experimental design and coding that I can interact with to get the > concepts anchored in my mind. I'm reasonably competent in C, C++, VHDL > and Verilog, and can code quite swiftly. > > To kick off, I'd like to get an FPGA board with a RAM-based FPGA that > can be configured via a serial or USB cable to a laptop. For my > experiments, the board also needs a USB interface that passes the raw > USB data stream directly to the FPGA, or it should be easily > convertible to do so. The FPGA needs to be big enough to hold > open-source HDL USB interfaces and to hold models that mimic the > interfaces to common USB equipment like flash keys, printers and > modems. Any suggestions? I'm aiming to keep the cost reasonable - $100 > to $150 say - and I'm prepared to put up with the limitations of free > software such as the speed-crippled Modelsim HDL simulator. > > -- > Dave Farrance
"John Adair" <removethisthenleavejea@replacewithcompanyname.co.uk>
wrote:

>Have a look at this module >http://www.enterpoint.co.uk/moelbryn/modules/usb_ps2.html in conjunction >with our Raggedstone1 product. Basically the module is a voltage limiter(bus >switch) on the USB lines leaving the logic to be implemented in the FPGA.
Thanks. I'm a bit confused by the "shop" section. The RS1-400 and the RS1-1500 both have the same description including: "FPGA: XilinxTM SpartanTM-3 FPGA, in FG456 package, fitted to the board. Available with XC3S400 fitted." I presume that it should be the XC3S1500 in the latter case. Also the wording is ambiguous. I presume that "Available with XC3S400 fitted" does mean that the FPGA *is* fitted for the that price, rather than being an option? -- Dave Farrance
Yes chips are fitted. The RS1-1500 has a XC3S1500.

I will see if we can get the text a little less ambiguous. There are a few 
areas like this that we need to tidy up on the website.

John Adair
Enterpoint Ltd. - Home of Broaddown2. The Ultimate Spartan3 Development 
Board.
http://www.enterpoint.co.uk


"Dave Farrance" <DaveFarrance@OMiTTHiSyahooANDTHiS.co.uk> wrote in message 
news:fsla82paqfo8htedeorljamtjn2f0090hn@4ax.com...
> "John Adair" <removethisthenleavejea@replacewithcompanyname.co.uk> > wrote: > >>Have a look at this module >>http://www.enterpoint.co.uk/moelbryn/modules/usb_ps2.html in conjunction >>with our Raggedstone1 product. Basically the module is a voltage >>limiter(bus >>switch) on the USB lines leaving the logic to be implemented in the FPGA. > > Thanks. I'm a bit confused by the "shop" section. The RS1-400 and the > RS1-1500 both have the same description including: > > "FPGA: XilinxTM SpartanTM-3 FPGA, in FG456 package, fitted to the > board. Available with XC3S400 fitted." > > I presume that it should be the XC3S1500 in the latter case. > > Also the wording is ambiguous. I presume that "Available with XC3S400 > fitted" does mean that the FPGA *is* fitted for the that price, rather > than being an option? > > -- > Dave Farrance
Dave Farrance skrev:

> Uwe Bonnes <bon@hertz.ikp.physik.tu-darmstadt.de> wrote: > > >In comp.arch.fpga Dave Farrance <DaveFarrance@omitthisyahooandthis.co.uk> wrote: > >> I'll use another USB port for that, and I'll put together a transceiver > >> board to handle the signal-levels so that I can route the raw data > >> stream directly to the FPGA I/O. Such a USB interface would be > >> speed-limited, but I'm not worried about that. > > > >The interface is not only speed limited, but also missing needed > >functionality, at least for USB2. USB+ and USB- need to be evaluated in many > >ways, not possible with a normal FPGA input. There are chips implementing the > >physical access (UTMI). > > Thanks. I see. If I built an transceiver board myself, it'd have to be > for USB 1.1 with a basic transceiver chip such as the MAX3346E which > I'd run at low speed. I have managed to solder 14-pin TSSOP packages to > prototype boards in the past, although I'd rather find a DIP chip if I > could. > > -- > Dave Farrance
If it is a just for fun hack kinda thing you don't need a transciever. I've implemented the opencores usb core in an FPGA using just two normal IOs and a pullup connected to a usb connector and a little fpga logic to simultate the phy. got as far as getting plugged and enumerated on windows, never used it for anything though -Lasse
On Tue, 06 Jun 2006 14:02:18 -0700, langwadt wrote:

> > Dave Farrance skrev: > >> Uwe Bonnes <bon@hertz.ikp.physik.tu-darmstadt.de> wrote: >> >> >In comp.arch.fpga Dave Farrance <DaveFarrance@omitthisyahooandthis.co.uk> wrote: >> >> I'll use another USB port for that, and I'll put together a transceiver >> >> board to handle the signal-levels so that I can route the raw data >> >> stream directly to the FPGA I/O. Such a USB interface would be >> >> speed-limited, but I'm not worried about that. >> > >> >The interface is not only speed limited, but also missing needed >> >functionality, at least for USB2. USB+ and USB- need to be evaluated in many >> >ways, not possible with a normal FPGA input. There are chips implementing the >> >physical access (UTMI). >> >> Thanks. I see. If I built an transceiver board myself, it'd have to be >> for USB 1.1 with a basic transceiver chip such as the MAX3346E which >> I'd run at low speed. I have managed to solder 14-pin TSSOP packages to >> prototype boards in the past, although I'd rather find a DIP chip if I >> could. >> >> -- >> Dave Farrance > > > If it is a just for fun hack kinda thing you don't need a transciever. > I've implemented the > opencores usb core in an FPGA using just two normal IOs and a pullup > connected > to a usb connector and a little fpga logic to simultate the phy. > got as far as getting plugged and enumerated on windows, never used it > for anything though >
Got VHDL? Thanks! Rich
langwadt@ieee.org wrote:

>Dave Farrance skrev: >> Thanks. I see. If I built an transceiver board myself, it'd have to be >> for USB 1.1 with a basic transceiver chip such as the MAX3346E which >> I'd run at low speed. I have managed to solder 14-pin TSSOP packages to >> prototype boards in the past, although I'd rather find a DIP chip if I >> could. > >If it is a just for fun hack kinda thing you don't need a transciever. >I've implemented the >opencores usb core in an FPGA using just two normal IOs and a pullup >connected >to a usb connector and a little fpga logic to simultate the phy. >got as far as getting plugged and enumerated on windows, never used it >for anything though
Thanks. I'll bear that in mind. Actually, I've just remembered that there are cheap tssop-to-dip adaptors available, which are easy to solder. Just run some solder along the pins, and wick off the excess with solder-braid. I'll probably use a pre-built interface like the Enterpoint one mentioned elsewhere in this thread, though. -- Dave Farrance
Rich Grise wrote:
> On Tue, 06 Jun 2006 14:02:18 -0700, langwadt wrote: > > > > > Dave Farrance skrev: > > > >> Uwe Bonnes <bon@hertz.ikp.physik.tu-darmstadt.de> wrote: > >> > >> >In comp.arch.fpga Dave Farrance <DaveFarrance@omitthisyahooandthis.co.uk> wrote: > >> >> I'll use another USB port for that, and I'll put together a transceiver > >> >> board to handle the signal-levels so that I can route the raw data > >> >> stream directly to the FPGA I/O. Such a USB interface would be > >> >> speed-limited, but I'm not worried about that. > >> > > >> >The interface is not only speed limited, but also missing needed > >> >functionality, at least for USB2. USB+ and USB- need to be evaluated in many > >> >ways, not possible with a normal FPGA input. There are chips implementing the > >> >physical access (UTMI). > >> > >> Thanks. I see. If I built an transceiver board myself, it'd have to be > >> for USB 1.1 with a basic transceiver chip such as the MAX3346E which > >> I'd run at low speed. I have managed to solder 14-pin TSSOP packages to > >> prototype boards in the past, although I'd rather find a DIP chip if I > >> could. > >> > >> -- > >> Dave Farrance > > > > > > If it is a just for fun hack kinda thing you don't need a transciever. > > I've implemented the > > opencores usb core in an FPGA using just two normal IOs and a pullup > > connected > > to a usb connector and a little fpga logic to simultate the phy. > > got as far as getting plugged and enumerated on windows, never used it > > for anything though > > > > > Got VHDL? > > Thanks! > Rich
Nope Verilog ;) can't find it at the moment but was something like this at the top level. inout Dplus; // pin connected to USB D+ inout Dminus; // pin connected to USB D- wire txdp; // Dplus data (from usb_phy) wire txdn; // Dminus data (from usb_phy) wire txoe; // output enable for Dplus/Dminus (from usb_phy) wire rxd ; // data from differential receiver (to usb_phy) wire rxdp; // data from Dplus (to usb_phy) wire rxdn; // data from Dminus (to usb_phy) assign Dplus = (txoe ? txdp : 1'bz); assign Dminus = (txoe ? txdn : 1'bz); assign rxdp = Dplus; assign rxdn = Dminus; assign rxd = Dplus; // no differential receiver, so just use Dplus and hope -Lasse
"John Adair"  wrote:

>Have a look at this module >http://www.enterpoint.co.uk/moelbryn/modules/usb_ps2.html in conjunction >with our Raggedstone1 product. Basically the module is a voltage limiter(bus >switch) on the USB lines leaving the logic to be implemented in the FPGA.
Thanks to everybody that helped me in this thread. I've decided to buy the above product. -- Dave Farrance

The 2024 Embedded Online Conference