Re: send more than 8 bits with parallel port




<jccorreu@xxxxxxxxx> wrote in message
news:1140487986.895227.274830@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
We're using a parallel port for motion control. We're building the
hardware logic for the device we're going to control, and want to be
able to send a packet containing 2 bytes of information, and let the
circuit we build translate it and drive our device.
I know that parallel port was designed with a standard for printers,
using a 1 byte data regisiter. What I want to know is how to hack it
so that I can use more than pins 2-9 to output data from our computer.
The control register has pins 1, 14, 16, 17. I take it that i can set
whatever I want to these (TTL), and on the device end, translate it
however I choose. So i need 4 more pins from something.
I know that pins 18-25 are ground. I think that makes them out of the
question, though if anyone knows how I could use some of them to
transmit data I'd be interested.
The info i have on status register says its read only, and that data
written there is ignored. What ignores it, the computer or the
printer? Is there a way to get around it?

thanks
James


One issue is that you need to indicate, to the receiving hardware, where the
first part of the word is. If you truly have only eight bits at-a-time, you
can dedicate one of the bits as the start-of-frame indicator, and use the
other seven as the data path. If you use this technique, then it's probably
simplest to send four data bits per transfer, and do four transfers to get
each sixteen bit word.

If it turns out that you can find an extra bit, then it can be become your
start-of-frame indicator.

A CPLD would be an ideal candidate for the receiving hardware (and they're
cheap). You just need to learn and little HDL (either VHDL or Verilog).

Remember, all sorts of data paths use only one bit at-a-time to send all
kinds of data types (widths), so having eight bits is a real luxury.

Bob


.



Relevant Pages

  • Re: Newbie: getting started in robotics. uC and board questions
    ... level responses (essentially hardware responses). ... > per leg handling the kinetics and sensors for that leg. ... Handle motor control for three/four motors ... > The rows of pins are too close together to fit into a breadboard. ...
    (comp.robotics.misc)
  • Re: Writing pins to the RS232
    ... I could use python to communicate serially to a BASIC stamp or a Javelin stamp and then use the stamp to set however many pins as 0's or 1's but should it be that hard to do with python. ... Even Microsoft Windows has device drivers for serial and parallel ports. ... It would be a security breach to allow user applications direct access at the hardware level. ...
    (comp.lang.python)
  • Re: Problem with 8255 PIO design
    ... control register for changing input to output. ... require nearly all of port C pins for handshake.. ... So you will need either additional hardware or other ...
    (sci.electronics.design)
  • Re: Writing pins to the RS232
    ... > many pins as 0's or 1's but should it be that hard to do with python. ... This really isn't a Python question -- it's a low-level hardware question. ...
    (comp.lang.python)
  • Re: Vista
    ... Does not 64-bit hardware mean also a 64-bit data path? ... about 64-bits as meaning more address lines, was not the data path between ... the cpu and memory widened also? ...
    (alt.comp.periphs.mainboard.asus)