Star Micronics 150 User Manual

Page of 151
Communications
PcOS Series 150
Programmer's Guide
Parallel Port
Page 110
Rev G
12/14/99
Parallel Port
Parallel Port Protocol
The Series 150 parallel port behaves just like any printer connected to a personal computer. The
parallel interface accepts eight bits of data from the host. The strobe signal from the host is used
to indicate that data is available. When the printer sees the strobe and accepts the data, it asserts
a busy signal. The busy signal indicates to the host that the printer has accepted the data and is
busy working. When the printer has been able to absorb the data and is ready to accept another
byte, the printer asserts an acknowledge signal, negates busy, and finally negates acknowledge.
The following parallel port specifications and timing should be met by the host computer. In
standard personal computers, the strobe signal is generated by software writes to the parallel port
control port. This is typically done in the BIOS or in some parallel port driver. As personal
computers become faster, it is up to the software to assure that the strobe signal does not get too
narrow. One microsecond is about the minimum pulse width that should be sent down a cable.
Shorter pulse widths (500 nanoseconds) will be accepted by the printer; however, the cable can
introduce significant signal degeneration and skew.
It is important that the data be valid before the strobe signal is asserted and remain valid until
after the strobe is removed. A 500 nanosecond setup and hold time is required by the printer.
The following chart illustrates this sequence:
INIT 
P in 16
 
 
DATA 
P in 2-9
 
STRO BE 
P in 1
 
BUSY 
P in 11
 
ACK 
P in 10
 
<-- Dhld 
<--Tstb 
Dstu---> 
<  > 
Bhld--->  
Ahld ----> 
Sdly -----> 
Bhld  approximately  5 us 
Ahld  approximately  5 us 
Sdly  3 us (min) 
Tcycle  200 - 280 us (typ) 
Data
 
< ---- Rdly Data 
Rdly approximately 2 s 
Dstu 500 ns (min) 
Dhld 500 ns (min) 
Tstb 1 us (min) 
<------------- 
------------>  
Tcycle 
Figure 18 Parallel port data timing
To implement flow control, the busy signal is asserted by the printer outside the normal data
transfer sequence.
The busy signal has several uses, but it always indicates that the printer cannot accept
information. The busy signal may happen at any time and may not adhere to the above timing
chart in all cases. It is up to the host's parallel port driver to handle all possible busy states. It is
important that the host driver does not hang-up if it takes time for an acknowledge response to a
strobe signal. The standard personal computer parallel port hardware implements an interrupt-
on-acknowledge signal to make this task easier.