Interfacing Spartan 3 board to PC parallel port??

Hello, I have been working on a project and the submission date is due very soon. Now I am having some problems which need to be addressed. Here I go,

I am using digilent Spartan 3 board for my project. My project needs to operate on the data sent by PC. I am using PCs parallel port to send and receive data. (I have a code written in C which uses outportb() and inportb() to exchange data. on the otherside in VHDL i have a data bus which is bi-directional.. inout... )

now the problem is the voltage levels these two operate at. FPGA operates at 3.3V and parallel port uses 5V to represent logic values...

I saw a parallel I/O board (PIO1) on digilent website, but now have no time to order one...

So what is the best way to construct a simple interface which can be used. Also can I directly connect the PC parallel port to spartan 3 boards expansion slot?? if no, please suggest me a simple interface (some level shifter which has to be bi-directional, or alternate solution) which I can use...

I need something similar to the digilent POI1 board.

formatting link

Can i construct this board and use it? (ofcourse without the JTAG module) if yes, please tell me in this schematic

formatting link
what is IC2. seems like a voltage regulator. but can you tell me which regulator is this? I feel i can construct this interface which consists of voltage dividers, this voltage regulator and connections.. but please tell me whether this will work for bi-directional data???

waiting for your reply thankyou Shailesh.

Reply to
kulkarni.shailesh
Loading thread data ...

Hi Have you considered doing voltage translation with some MOSFETs or BJTs?

PS:Sorry for my English

Reply to
Hlrsr

I use an LCX244 buffer (which is a 5V tolerant 3.3V device) to use 5V to communicate with a 3.3V memory card. It will happily convert the 5V coming in to 3V for your FPGA. Going the other way it will give at least 2.4V output (mine gives glose to 3) for the parallel port which will be at least what the TTL requires, assuming your parallel port actually meets the spec.

Have another look at the FPGA data sheet in case it has 5V tolerant I/O - some do.

Reply to
Tom Lucas

There are also so called Bus switches. With a diode drop supplied from 5 Volt they are good for transalting 3.3V 5 Volt with no need to switch direction. E.g the SN74CBTD3861 has the drop diode already built in.

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Reply to
Uwe Bonnes

Put 330 ohm series resistors on all signal lines. Spartan 3 has protection diodes, but the resistors are needed to limit the current through those diodes. They can probably be smaller than 330, but it will probably work with those as long as the data rate isn't too high.

Resistors of course are inherintly bidirectional, so as long as you hit the input threshold of the parallel port you should be fine.

Reply to
cs_posting

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.