USB to parallel data transfer?

Discussion in 'Embedded Systems and Microcontrollers' started by Paul57, Mar 29, 2012.

  1. Paul57

    Thread Starter New Member

    Apr 12, 2011
    15
    0
    Can anyone suggest a suitable method to interface a device* which uses an 8255 Programmable Peripheral Interface to a USB port on a PC, and exchange data at a rate of about 200KB in 8 seconds? That speed precludes the use of 115K serial data and I would prefer to avoid serial anyway. The peripheral device uses both ports on the 8255; 8-bits for input with STROBE and BUSY handshaking and - on separate pins - another 8-bits for output, also with STROBE and BUSY lines. The PC side of the data transfer needs to run in VB.NET. The timing of the STROBE and BUSY signals is quite "formal" but not overly critical - quite similar to Centronics parallel timings.

    My present interface uses a PC parallel port and a hardware interface based on a couple of multiplexer chips to route the PC's single IO port into separate input and output ports. My PC software runs in Windows 7 64-bit using the InpOutx64 DLL from highrez.co.uk. It works great but I have friends who would like to run my software but don't have parallel ports and don't want to install them. They would like to use a USB interface instead.

    I have never used a PIC or AVR but from what I've heard, they sound ideal for this sort of project, possibly used in conjunction with an FTDI USB device. I do have some knowledge of 8-bit micros from the past and understand the principles of low-level programming.

    Can anyone give me some pointers for this project?

    Thanks,

    Paul.

    * The "device" is a Robot 1200C SSTV scan converter. If that means nothing to you, it really doesn't matter ;-)
     
  2. t06afre

    AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    You can get a gizmo named USB to parallel adapter. With that data rate it should work OK I think.
     
  3. Paul57

    Thread Starter New Member

    Apr 12, 2011
    15
    0
    That wont give me an 8-bit input port with two handshaking lines plus an 8-bit output port with two handshaking lines, which is what I need.
     
  4. kubeek

    AAC Fanatic!

    Sep 20, 2005
    4,670
    804
    AVR has some chips with integrated usb, so you could make your own parallel converter. Though I am not too sure about the making of drivers, but surely there is a way to do it, without resorting to FTDI and the like.
     
  5. t06afre

    AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    If you use a standard PC parallel port on your PC. And the USB gizmo support IEEE 1284 ECP/EPP. It may do exactly what you want. I would at least give it a try. But it may also be issues with the InpOutx64 USB driver setup.
     
  6. Paul57

    Thread Starter New Member

    Apr 12, 2011
    15
    0
    There seem to be lots of posts on various forums regarding USB to Parallel converters not showing up as LPT ports. InpOutx64 will only work if a "standard" port is available that can be addressed at 378h or 278h etc. There may be a converter out there that supports that, but I'm sure many wont. They may be fine for printers but perhaps not for the kind of low-level work I need.

    I must admit, it's not as crazy an idea as I first thought, so thanks anyway :)
     
  7. Paul57

    Thread Starter New Member

    Apr 12, 2011
    15
    0
    Thanks for that. There also seem to be some PICs with integrated USB. I think I will have to get a development kit and start experimenting.
     
  8. t06afre

    AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    If you install a PCI parallel port, you may on systems pre windows XP. End up with port address far off the standard 378h or 278h. So your problem is not trivial at all.
     
Loading...