emulating a printer

Status
Not open for further replies.

justDIY

Active Member
this is a lofty project I've thought about from time to time, but never really hashed out the concept on it.

my oscope, the tds 210, has a parallel printer port option board installed on it. the scope can be connected to any HP Laser or Inkjet with a parallel port and output various screen-captures.

what I'd like to do is have a PIC emulate a basic (SPP) printer device, and either shoot the data directly over usb/rs232 or store it in seeprom/sd and forward it indirectly (whichever ends up being easier)

The majority of the data I'm finding is regarding the host side of this port, not the device side, and pertaining to using the parallel port for things other than talking to printers.

I did find a small bit of info on the "centronics" handshake, and it looks fairly simple to respond to.

So, my questions

1) What is the minimum number of lines I need to have "hooked up" in order to emulate a parallel printer?
2) Of those lines above, how many of them need active control, versus being tied high/low all the time?
3) Who determines the speed of the interface, host or device?
 
The centronics port is very well documented, essentially you need 8 data bits (a complete PIC port is obviously best), there are then various handshake lines going both ways. If I remember correctly, you need at least one active handshake line each way?.

It would be easy to do with a PIC (to feed serial anyway), but parallel to serial conveters used to freely available at low cost - perhaps they still are?.
 
in otherwords, the microcontroller isn't really required

I did find this reference shortly after submitting my post. It goes into great detail about the host device interactions

**broken link removed**
 
There's only 9 wires required for a printer point, the 8 data lines and the data strobe. Every time the strobe line is hit the data on the 8 lines is supposed to be valid (exact timing diagrams should be available from a site that has the standards)
 
Sceadwian said:
There's only 9 wires required for a printer point, the 8 data lines and the data strobe. Every time the strobe line is hit the data on the 8 lines is supposed to be valid (exact timing diagrams should be available from a site that has the standards)

Except if you don't have a return handshake line it's VERY likely you're going to lose lots of the data - converting parallel to serial means that the parallel port has to keep waiting for the serial port to catch up.
 
seems to me I'll need a minimum of 10 ... D7:0, Strobe and Busy

almost every document I read claims the host ignores the nACK line, and the rest of them are just used for signaling various printer states.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…