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 ...

formatting link

Why not just use the RS-232 port?

Reply to
Eli Hughes

Because his homework assignment was to use the parallel port.

-a

Reply to
Andy Peters

Perhaps he needs to acchive datarates far above 1MB?

--
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

Perhaps he needs to acchive datarates far above 1MBaud?

--
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

Series resistors ( wire between M-F DB25 as a cascade connector ) should be good enough. Add clamp diodes if you like. You only need microsecond region times, and probably do not care about power loss.

-jg

Reply to
Jim Granville

If I remember correctly, I remember reading about connecting 3.3V CMOS configuration output signals to Xilinx 2.5V CMOS inputs and that was OK as long as the current limit (series resistor) limited the current to less than 10 mA. I think that was for Virtex II. I then remembered that the Spartan3 3.3V CMOS inputs are sensitive to overvoltage due to the 0.9 micron technology. There may be issues connecting 5 volt logic to Spartan3 3.3 volt inputs with series resistors. I think I remember someone saying that the IBIS model will tell you what the delta V of the input clamp diode will be at various input currents. Also consider that if the 3.3 V supply is lightly loaded, the 5 volt signals may have a sneak path through the assumed input clamp diodes and raise the 3.3 volt power supply above 3.3 volts.

jg: Were the input clamp diodes to address the 0.9 micron issue, or the possible lack of an intrinsic input protection diode?

- Newman

Reply to
Newman

oops, it is not 0.9 micron but 90 nanometers.

Shailesh: You might also double check to see that the parallel port accepts TTL level inputs and not regular 5 Volt HC input levels.

-Newman

Reply to
Newman

I have to stick to parallel port!!!

@newman, about connecting 3.3V to 5v parallel port(vice versa), can I use some form of voltage dividers??? I need a configuration which is bi-directional..

Reply to
kulkarni.shailesh

This is very basic, remember the old masters;

Ohm and Thevenin

add

FPGA datasheet EPP/ECP specification

think...

Reply to
Walter

yes, but keep in mind a parallel port might use 3.3V output, so design it so it will work on 3.3V and 5V PPorts.

-jg

Reply to
Jim Granville

The parallel port uses TTL levels. You must accept anything above 2.0V as high, and anything below 0.8V as low.

Many parallel ports get very slow rise times above 1.6V, therefore the lower the threshold voltage the better. Using 2.5V CMOS IO on the FPGA with a series resistor to limit the 5V current should work fine with a threshold of 1.25V

3.3V CMOS IO gets you a threshold of 1.65V where the signals are dangerously flat allready. In that case you should add a schmitt trigger. You can build a schmitt trigger by using two FPGA pins per input. A resistor between the two pins and a resistor between one pin and the input allows you to feed back the received value to the input.

Kolja Sulimma

Reply to
Kolja Sulimma

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.