Hardware - Printer interfaces.

MSF #22
Track: By me composed! Xe-xe.. :)  
Author: Macros, 14 July 2K1.             
-------------------------------------------------------

  Interface signals Centronix (36-pin
tact connector) :                        

+======+----+----+---------------------+ 
|Signal|I/O*|Cont|Purpose | 
+======+=+-++--+-+---------------------+ 
|Strobe# |I|1 |Data strobe. Data | 
|        | |   |fixed at low | 
|        | |   |signal level | 
+========+-+---+-----------------------+ 
|Data 0-7|I|2-9|Data lines. D0 (cont.| 
|        | |   |2) - least significant bit | 
+========+-+---+-----------------------+ 
|Ack# |O|10 |Confirmation pulse | 
|        | |   |receiving a byte (request for| 
|        | |   | reception of the next) | 
+========+-+---+-----------------------+ 
|Bysy |O|11 |Busy. Data reception | 
|        | |   |possible only with | 
|        | |   |low signal level | 
+========+-+---+-----------------------+ 
|PaperEnd|O|12 |High signal level- | 
|        | |   |lizes about the endbu- | 
|        | |   |magicians | 
+========+-+---+-----------------------+ 
|Select |O|13 |Signals on-| 
|        | |   |Checking the printer | 
+========+-+---+-----------------------+ 
|Auto LF#|I|14 |Automatic translation | 
|        | |   |lines. At high | 
|        | |   |level printer, semi-| 
|        | |   |chiv symbol CR, auto- | 
|        | |   |technically performs and | 
|        | |   | LF function - translation | 
|        | |   |lines | 
+========+-+---+-----------------------+ 
|Error# |O|32 |Error: end of paper, | 
|        | |   |state OFF-Line or | 
|        | |   |internal error | 
|        | |   |printer | 
+========+-+---+-----------------------+ 
|Init# |I|31 |Initialization (reset | 
|        | |   |to parameters mode | 
|        | |   |default, return to | 
|        | |   |beginning of line) | 
+========+-+---+-----------------------+ 
|Slct In#|I|36 |Selecting a printer | 
+========+-+---+-----------------------+ 
|GND | |10-|Common wire | 
|        | |30,|                       | 
|        | |33 |                       | 
+========+-+---+-----------------------+ 

  I/O* sets the direction (input/output)
in relation to the printer.                

  Data transmission via protocolCentronix:

Data ##### Data valid ####  
                      +---------+        
Busy --------------+ +------  
        ---------+ +-----------  
Strobe# +---------+             
        ---------------------+ +-  
Ack# ###-----+   


  Domestic analogue of the interface
Centronix is the IRPR-M interface.     
  A relatively close relative in-
Centronix interface is also the interface
IRPR, which has the following differences:         

  - Data lines are inverted.       

  - The handshake protocol is slightly different.

  - To all input lines (on the printer)
pairs of matching resistors are connected:
220 Ohm to +5 V supply and 330 Ohm to common
wire.   This allows you to use
long cables, but overloads
most PC interface adapters.   

  - Error (and end of paper) signal from -
is present.                               

  Connector of a standard LPT port (connector
DB-25S, socket)                         

+------+------+------------------------+ 
|Cont |Wire|     Destination | 
|DB-25S|loop+------+---------+-------+ 
|      |      |I/O* |Reg.Bit**|Signal |+======+======+------+------+----------+ 
|1     |1     |O/I   |CR: 0|Strobe#   | 
+======+======+------+------+----------+ 
|2     |3     |O(I)  |DR: 0 |Data 0    | 
+======+======+------+------+----------+ 
|3     |5     |O(I)  |DR: 1 |     1    | 
+======+======+------+------+----------+ 
|4     |7     |O(I)  |DR: 2 |     2    | 
+======+======+------+------+----------+ 
|5     |9     |O(I)  |DR: 3 |     3    | 
+======+======+------+------+----------+ 
|6     |11    |O(I)  |DR: 4 |     4    | 
+======+======+------+------+----------+ 
|7     |13    |O(I)  |DR: 5 |     5    | 
+======+======+------+------+----------+ 
|8     |15    |O(I)  |DR: 6 |     6    | 
+======+======+------+------+----------+ 
|9     |17    |O(I)  |DR: 7 |Data 7    | 
+======+======+------+------+----------+ 
|10    |19    |I***  |SR: 6 |Ack#      | 
+======+======+------+------+----------+ 
|11    |21    |I     |SR: 7|Busy      | 
+======+======+------+------+----------+ 
|12    |23    |I     |SR: 5 |PaperEnd  | 
+======+======+------+------+----------+ 
|13    |25    |I     |SR: 4 |Select    | 
+======+======+------+------+----------+ 
|14    |2     |O/I   |CR: 1|Auto LF#  | 
+======+======+------+------+----------+ 
|15    |4     |I     |SR: 3 |Error#    | 
+======+======+------+------+----------+ 
|16    |6     |O/I   |CR: 2 |Init#     | 
+======+======+------+------+----------+ 
|17 |8 |O/I |CR: 3|Select In#| 
+======+======+------+------+----------+ 
|18-25 |10,12,|18,20,|- |- | 
|      |14.16 |24.26 |      |          | 
+======+======+------+------+----------+ 

  *  I/O specifies the direction of signal transmission
nala port.  O/I stands for output
nii, the status of which is read when
reading from the corresponding output ports;
O(I) - output lines whose state
can only be read with some
special conditions.                         
 ** The "" symbol indicates inverted
nal signals (1 in the register corresponds to
low line level).                   
  *** The Ack# input is connected by a resistor (10
kOhm) with +5 V supply.                    

 Cable for connecting the printer:        

+======+=============+======+========+  
|X1, |Signal |X2, |X2, |  
|connector|              |connector|connector |  
|PC |              |PRN |PRN |  
|type A|              |type B|type C |  
+======+=============+======+========+  
|1 |-Strobe# |1 |15 |  
+------+--------------+------+--------+  
|2 |Data 0 |2|6       |  
+------+--------------+------+--------+  
|3     |     1        |3     |7       |  
+------+--------------+------+--------+  
|4     |     2        |4     |8       |  
+------+--------------+------+--------+  
|5     |     3        |5     |9       |  
+------+--------------+------+--------+  
|6     |     4        |6     |10      |  
+------+--------------+------+--------+  
|7     |     5        |7     |11      |  
+------+--------------+------+--------+  
|8     |     6        |8     |12      |  
+------+--------------+------+--------+  
|9     |Data 7        |9     |13      |  
+------+--------------+------+--------+  
|10    |Ack#          |10    |3       |  
+------+--------------+------+--------+  
|11    |Busy          |11    |1       |  
+------+--------------+------+--------+  
|12    |PaperEnd      |12    |5       |  
+------+--------------+------+--------+  
|13    |Select        |13    |2       |  
+------+--------------+------+--------+  
|14    |Auto LF#      |14    |17      |  
+------+--------------+------+--------+  
|15    |Error         |32    |4       |  
+------+--------------+------+--------+  
|16    |Init#         |31    |14      |  
+------+--------------+------+--------+  
|17    |Slct In#      |36    |16      |  
+------+--------------+------+--------+  
|18    |GND (1)       |19    |33 |  
+------+--------------+------+--------+  
|19 |GND (2 3) |20 21 |24 25 |  
+------+--------------+------+--------+  
|20 |GND (4 5) |22 23 |26 27 |  
+------+--------------+------+--------+  
|21 |GND (6 7) |24 25 |28 29 |  
+------+--------------+------+--------+  
|22 |GND (8 9) |26 27 |30 31 |  
+------+--------------+------+--------+  
|23 |GND (11 15) |29 |19 22 |  
+------+--------------+------+--------+  
|24 |GND (11 12 13)|28 |20 21 23|  
+------+--------------+------+--------+  
|25 |GND (14 16 17)|30 |32 34 35|  
+------+--------------+------+--------+  

  Connector X1 type A - DB25P, side
pc.                                      
  Connector X2 Type B (Centronix-36) or Ti-
-pa C (miniature) on the printer side. 

Share your thoughts about the article