Does PC-FPGA communication requires a driver?

Feb 12, 2008 5 Replies

Hello,



I want to design FPGA-based PC oscilloscope controlled by a user of the PC. I am not sure how to provide communication between PC based application (a main program on PC; this will be written either in C or Visual Basic) and FPGA-board. A port for communication will be RS232 and I want to get my scope working under Windows XP. What you think, is writing a driver necessary for such system? (Unfortunately, I have no experience with writing drivers.)


This is the problem with modern-day systems; it's software and hardware, both.

If you want to give a bad customer interface, then sure - use the serial port and you can probably call up simple communication routines on the PC for the software devolopment you still need to do.

To do it right, you really should consider USB (or even ethernet) and go through the hassle of developing a real driver. The speed and integration are so much better.

- John_H

I would like to use USB for communication but a USB interface of my board (Spartan3E-1600E Microblaze Development Kit) can be used only to download design, not for communication. So I might think about using Ethernet for my project, but I don't know even where to start with this. Would you recommend any source of information about using Ethernet with FPGA for a beginner?

In your case the driver is going to be a piece of C/VB code which will poll the RS232 port, and arrange the bits in bytes/words. I believe you would need it as to have a PC-oscilloscope work you need to read lot of data from FPGA and send commands which is not going to be easy using hyperterminal in XP.

What you are calling a driver already exists in the system. Something is provided by the operating system to talk to the UART in your PC. You get an interface that can exchange bytes. You have to develop your own protocol on top of that.

If you had a USB chip on the FPGA board, you'd use a driver provided by the FPGA vendor. The interface might still look exactly the same (if you use it as a USB UART) or you might use some custom interaction based on an API provided by the USB chip maker (eg FTDI).

Ben Jackson AD7GD http://www.ben.com/

I haven't done it on your specific model of FPGA, but for the Virtex-II Pro and above you can repurpose the USB programming JTAG port for data communications. Look into the BSCAN primitive. To make a GUI, all you have to do is do a simple TCL/TK script.

---Matthew Hicks

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required