FPGARelated.com
Forums

Send data from FPGA to PC via USB

Started by srikanthv2 February 26, 2009
Hello,
I am working on a project where I have a chip that produces serial
data. This data is to be sent to the PC via the USB, through an FPGA.
I was wondering if the UFO-400 (Open FPGA project) board is the ideal
choice as a prototype board.


I wanted to look through examples from various vendors but only the
open source project has code available (duh!)

My considerations are the following things:

1. FPGA programming (all boards use standard Xilinx/Altera FPGAs. so
this is not a problem)
2. Software interface on the PC - to not only program the FPGA but
also to talk to the FPGA after programming. (I presume the vendors
will provide this, I am concerned about the availability of the source
code in case I want to  modify this to suit my custom board)

3. USB controller firmware (Again, will I need to edit the firmware?
If yes, would the open source project be the ideal choice?)

any help is appreciated. Thanks!

Srikanth
>I am working on a project where I have a chip that produces serial >data. This data is to be sent to the PC via the USB, through an FPGA. >I was wondering if the UFO-400 (Open FPGA project) board is the ideal >choice as a prototype board.
What do you mean by "serial data"? Do you mean typical ASCII over RS-232? If so, why do you need a FPGA? So I assume you mean some other form of serial encoding. My straw man would be to use a USB-RS-232 conversion dongle with some sort of FPGA/CPLD to do the conversion from your version of serial to RS-232 serial (8N1 or whatever). -- These are my opinions, not necessarily my employer's. I hate spam.
On Feb 26, 3:11=A0pm, hal-use...@ip-64-139-1-69.sjc.megapath.net (Hal
Murray) wrote:
> >I am working on a project where I have a chip that produces serial > >data. This data is to be sent to the PC via the USB, through an FPGA. > >I was wondering if the UFO-400 (Open FPGA project) board is the ideal > >choice as a prototype board. > > What do you mean by "serial data"? > > Do you mean typical ASCII over RS-232? =A0If so, why do you > need a FPGA? > > So I assume you mean some other form of serial encoding. > > My straw man would be to use a USB-RS-232 conversion dongle > with some sort of FPGA/CPLD to do the conversion from your > version of serial to RS-232 serial (8N1 or whatever). > > -- > These are my opinions, not necessarily my employer's. =A0I hate spam.
i did similarity project before, we choiced cy7c68013 from cypress. it's a ease usb chip, and can work in slave fifo mode. data rate is up to 38MB.
srikanthv2 <srikanthv2@gmail.com> wrote:
> Hello, > I am working on a project where I have a chip that produces serial > data. This data is to be sent to the PC via the USB, through an FPGA. > I was wondering if the UFO-400 (Open FPGA project) board is the ideal > choice as a prototype board.
> I wanted to look through examples from various vendors but only the > open source project has code available (duh!)
> My considerations are the following things:
> 1. FPGA programming (all boards use standard Xilinx/Altera FPGAs. so > this is not a problem) > 2. Software interface on the PC - to not only program the FPGA but > also to talk to the FPGA after programming. (I presume the vendors > will provide this, I am concerned about the availability of the source > code in case I want to modify this to suit my custom board)
> 3. USB controller firmware (Again, will I need to edit the firmware? > If yes, would the open source project be the ideal choice?)
> any help is appreciated. Thanks!
Look at the FTDI chips, FT232/245/2322/D and 2322H -- Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
I'm not going to agree on the UFO-400 for obvious reasons. But have a
look at http://www.enterpoint.co.uk/cpld_boards/polmaddie1.html if you
just want an interfacing board. The related Polmaddie3 will be a very
useful board and will be with us soon as with be numbers 2,4 and 5.

There are other boards with the FT232 chip fitted coming and one of
those will annouce this week and amother in 4-8 weeks time that will
be a very good competitor to the UFO-400.

All of the FT232 based offerings give a simple interface to get up and
going. Most terminal emulators to start with or more advanced direct
serial (usb) port driving if you want that way of doing things.

John Adair
Enterpoint Ltd.


On 26 Feb, 06:03, srikanthv2 <srikant...@gmail.com> wrote:
> Hello, > I am working on a project where I have a chip that produces serial > data. This data is to be sent to the PC via the USB, through an FPGA. > I was wondering if the UFO-400 (Open FPGA project) board is the ideal > choice as a prototype board. > > I wanted to look through examples from various vendors but only the > open source project has code available (duh!) > > My considerations are the following things: > > 1. FPGA programming (all boards use standard Xilinx/Altera FPGAs. so > this is not a problem) > 2. Software interface on the PC - to not only program the FPGA but > also to talk to the FPGA after programming. (I presume the vendors > will provide this, I am concerned about the availability of the source > code in case I want to =A0modify this to suit my custom board) > > 3. USB controller firmware (Again, will I need to edit the firmware? > If yes, would the open source project be the ideal choice?) > > any help is appreciated. Thanks! > > Srikanth
On Feb 26, 1:03=A0am, srikanthv2 <srikant...@gmail.com> wrote:
> Hello, > I am working on a project where I have a chip that produces serial > data. This data is to be sent to the PC via the USB, through an FPGA. > I was wondering if the UFO-400 (Open FPGA project) board is the ideal > choice as a prototype board. > > I wanted to look through examples from various vendors but only the > open source project has code available (duh!) > > My considerations are the following things: > > 1. FPGA programming (all boards use standard Xilinx/Altera FPGAs. so > this is not a problem) > 2. Software interface on the PC - to not only program the FPGA but > also to talk to the FPGA after programming. (I presume the vendors > will provide this, I am concerned about the availability of the source > code in case I want to =A0modify this to suit my custom board) > > 3. USB controller firmware (Again, will I need to edit the firmware? > If yes, would the open source project be the ideal choice?) > > any help is appreciated. Thanks! > > Srikanth
The Avnet Spartan-3A kit has the USB chip set up by default to provide a 115.2 kbaud virtual serial port to the FPGA. If that's all you need, then it could be a quick way to get started with your project.
> 1. FPGA programming (all boards use standard Xilinx/Altera FPGAs. so > this is not a problem)
FPGA can be programmed through the USB. There is an interface through Python or C/C++ to send a bitfile.
> 2. Software interface on the PC - to not only program the FPGA but > also to talk to the FPGA after programming. (I presume the vendors > will provide this, I am concerned about the availability of the source > code in case I want to =A0modify this to suit my custom board)
Yes, all the source code is available. You can browse the source code on sourceforge.
> 3. USB controller firmware (Again, will I need to edit the firmware? > If yes, would the open source project be the ideal choice?)
You will not need to edit the FX2 (USB controller) firmware. The firmware that is available you can use it as a virtual serial port or direct bulk transfers. From python or C/C++ code you can easily, program the FPGA, read/write data. All the source is available for the PC, USB controller, and FPGA. The UFO-400 can be used for simple interface or high speed transfers. The FTDI based boards are good as well, these chips are usually used on boards as a way to quickly add a USB interface. My experience with the FTDI chips, only useful for slow rates and not as flexible. You need to use the FTDI binary drivers, etc. The FTDI chips first claim to fame was to allow a designers to add USB to a board and there chip would convert USB stream to a standard serial (RS-232). You would use a virtual com port on the PC. But flexibility can be a pain in some case. If you decided to modify the source you can get bogged down in the details. But the source that is available removes any up front work that would need to be done. You can use it out of the box.
srikanthv2 wrote:
> 1. FPGA programming (all boards use standard Xilinx/Altera FPGAs. so > this is not a problem) > 2. Software interface on the PC - to not only program the FPGA but > also to talk to the FPGA after programming. (I presume the vendors > will provide this, I am concerned about the availability of the source > code in case I want to modify this to suit my custom board) > 3. USB controller firmware (Again, will I need to edit the firmware?
You might take a look at the Demand Peripherals Baseboard. It has a Spartan 3E tied to an FTDI-245 USB-serial part. You can download the bitfile over the USB link and then the USB is available for application data transfers. HTH Bob Smith
On Mar 2, 7:17=A0am, Bob Smith <use...@linuxtoys.org> wrote:
> srikanthv2 wrote: > > 1. FPGA programming (all boards use standard Xilinx/Altera FPGAs. so > > this is not a problem) > > 2. Software interface on the PC - to not only program the FPGA but > > also to talk to the FPGA after programming. (I presume the vendors > > will provide this, I am concerned about the availability of the source > > code in case I want to =A0modify this to suit my custom board) > > 3. USB controller firmware (Again, will I need to edit the firmware? > > You might take a look at the Demand Peripherals Baseboard. > It has a Spartan 3E tied to an FTDI-245 USB-serial part. > You can download the bitfile over the USB link and then > the USB is available for application data transfers. > > HTH > Bob Smith
your forgot the advertizement url ;) google finds this first http://sourceforge.net/projects/periphondemand/ but this isnt your product what is here http://www.demandperipherals.com/ Antti
Hi Mng,

Could you please elaborate on this one?
What kit are you exactly talking about?
Is there any documentation.
I'd be quite interested in this info.


bye

N


mng wrote:

> The Avnet Spartan-3A kit has the USB chip set up by default to provide > a 115.2 kbaud virtual serial port to the FPGA. If that's all you need, > then it could be a quick way to get started with your project.