SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By Nullz
#33261
I need a Parallel port. My laptop does not have a parallel port nor a free PCMCIA slot. Does anyone know of a USB to Parallel Port that works in true ECP/EPP mode? All USB to Parallel Port cables I have found are for printers only. I would like to be able to bit-bang the parallel port and these printer only cables do not work for this.

The USB to Parallel Port needs to be completely transparent in Windows. I should be able to plug it into the USB port and have a LPT port available.

I am connecting the Parallel Port to a custom device that is bit-banged. I can not change the Windows software nor the custom device (hardware or firmware).

I have seen that FTDI has a USB to Parallel Port chip FT245R but I do not know if it truly supports what I need. The application note has a "bit-bang" mode. Anyone have any experience with this chip?

Any info would be greatly appreciated.

Thanks,

Nullz
By EmbeddedMan
#33264
Nullz,

I designed the UBW (http://www.sparkfun.com/commerce/produc ... ts_id=8265) for exactly the purpose you describe - a parallel port replacement for laptops that don't have parallel ports.

However, since there isn't a pre-defined USB way of accessing a 'raw' parallel port, I used the 'virtual COM port' idea instead. So you talk to it like a serial port from any language on your PC, and can 'bit-bang' (to the limited extent that USB can bit-bang) anything you want out of it (or into it).

It is not a perfect parallel port replacement, so make sure you understand its limitations. But it may work just right for your application.

The 8-bit parallel I/O FTDI chips will be faster than the UBW, and simpler to use, and cheaper. However, they do not allow you any 'flexibility' (you can easily write your own code for the UBW so that it can execute commands locally without having to 'bit-bang' everything all the way from the PC).

*Brian
By Philba
#33276
I assume, when you say transparent, you mean at the physical parallel port level (and not driver level). Your windows software should see an actual "physical" device.

It's not impossible but I think you would have to have a VxD to virtualize the PC hardware. The printer ones are probably at he device driver level and know printer protocols, my guess. an easier problem to solve.

Probably not much call for that. I think you'd have to create your own. Nothing terribly challenging about it if you are up on USB, microcontrollers and windows VxDs. Otherwise, a pretty steep curve...
By EmbeddedMan
#33281
From the research I've done for the UBW, the only thing close to the 'register level' transparent thing you're looking for is this:

http://www-user.tu-chemnitz.de/~heha/ba ... ex.html.en

I have no idea how well it works.

Good luck - I think bit-banging would be a pretty slow process using this method compared to true parallel port because you have the whole overhead and delay of USB if you are waiting for input to come back before you send out new data. Also, you can't depend upon any of the timing of the data coming out of the new parallel port, as you could if you were on a real parallel port.

*Brian
By winston
#33410
The FT245R isn't a Centronics parallel port, it's a USB FIFO. It has two modes - a microprocessor timing compatible FIFO, and a bit bang mode. In the former mode it appears as a virtual COM port. Send a byte to the virtual COM port, it arrives at the FIFO buffer where the circuit at the other end can read it.

The FT245R is a very useful chip. I made a little breakout board so I could use it with breadboarded prototypes (it only comes in DQFN (leadless) or SSOP packages). I've only ever used it in FIFO mode as it interfaces directly with my Z80 single board computer project directly through the CPU's data bus and port decoding logic.

I've considered modifying avrdude to add the chip in bit bang mode as an option to program an AVR, but since I have a real parallel port on the laptop, I've just not got around to it.