| 1 | FACIT 4070 Tape Punch 75-CPS
|
|---|
| 2 | ============================
|
|---|
| 3 |
|
|---|
| 4 | The FACIT 4070 Tape Punch (from FACIT Data Productions) is a parallel
|
|---|
| 5 | port puncher. It has been manufactured long before the so called
|
|---|
| 6 | "centronics port" has been standarised as IEEE 1284. Therefore it's
|
|---|
| 7 | a bit complicated to connect this puncher to today's PCs. Of course,
|
|---|
| 8 | the PC must be some years old, because *real* high end Computers today
|
|---|
| 9 | no more feature a parallel port (so called "LPT" port in DOS days).
|
|---|
| 10 |
|
|---|
| 11 | I've got a really detailed manual for the FACIT puncher. It was printed
|
|---|
| 12 | in October 1979, and at these days electronics were quite well explained
|
|---|
| 13 | everywhere.
|
|---|
| 14 |
|
|---|
| 15 | I won't go very much in detail, but at first, the most important part
|
|---|
| 16 | is to take a normal parallel port cable (with about 15 wires) and connect
|
|---|
| 17 | it like this:
|
|---|
| 18 |
|
|---|
| 19 | FACIT signal PC pin PC Reg Function Notes
|
|---|
| 20 | 4070 direction and name Bit (for FACIT pins)
|
|---|
| 21 | ----- ---------- -------- ------- --------------------------------
|
|---|
| 22 | 1 Ch1 <--------- 2 Data0 D0 \
|
|---|
| 23 | 2 Ch2 <--------- 3 Data1 D1 |
|
|---|
| 24 | 3 Ch3 <--------- 4 Data2 D2 | 8 Data Out
|
|---|
| 25 | 4 Ch4 <--------- 5 Data3 D3 | registers, to be set
|
|---|
| 26 | 5 Ch5 <--------- 6 Data4 D4 | from the computer
|
|---|
| 27 | 6 Ch6 <--------- 7 Data5 D5 |
|
|---|
| 28 | 7 Ch7 <--------- 8 Data6 D6 |
|
|---|
| 29 | 8 Ch8 <--------- 9 Data7 D7 /
|
|---|
| 30 | +--- 9 Ch9 Feed hole channel (logic 1 => always feed hole)
|
|---|
| 31 | |^ 10 SD Stepping Direction signal, leave as is
|
|---|
| 32 | || 11 PI <--------- 1 -Strobe C0- Strobe = -Punch Instruction
|
|---|
| 33 | |c 12 PR ---------> 11 +Busy S7- Busy signal = Still punching
|
|---|
| 34 | |o 13 - \
|
|---|
| 35 | |n 14 - |
|
|---|
| 36 | |n 15 - | not used at FACIT site
|
|---|
| 37 | |e 16 - |
|
|---|
| 38 | |c 17 - |
|
|---|
| 39 | |t 18 - /
|
|---|
| 40 | || 19 EXT EXT: external data switch, leave as is
|
|---|
| 41 | |V 20 ERR1 +- 20 Ground ERR1: Error signal, not important
|
|---|
| 42 | | 21 TL |- 21 Ground TL: Tape Low Signal, not important
|
|---|
| 43 | +-- 22 +24V |- 22 Ground +24V from internal power supply (log. 1)
|
|---|
| 44 | 23 - |- 23 Ground
|
|---|
| 45 | 24 +6V (5V) |- 24 Ground +6V from internal power supply
|
|---|
| 46 | 25 0V -----------+- 25 Ground Signal ground, not connected to chassis ground
|
|---|
| 47 |
|
|---|
| 48 |
|
|---|
| 49 | Now I'll go into detail with the FACIT pins. I've got a block diagram
|
|---|
| 50 | and electronic description. Here you get the light edition with the most
|
|---|
| 51 | important things:
|
|---|
| 52 |
|
|---|
| 53 | 0 13 milliseconds
|
|---|
| 54 | time --+------------------------------------------------+--->
|
|---|
| 55 | . .
|
|---|
| 56 | DATA ._________________ .
|
|---|
| 57 | ______| min 200 usec ... ______________________.
|
|---|
| 58 | . .
|
|---|
| 59 | PI .______________________________ .
|
|---|
| 60 | ______| min 100us, max 10ms |_________________.
|
|---|
| 61 | . .
|
|---|
| 62 | PR __________ ._____
|
|---|
| 63 | . |__________________________________________|
|
|---|
| 64 | . .
|
|---|
| 65 | Motor shaft motion .
|
|---|
| 66 | . ________________________
|
|---|
| 67 | . ... .
|
|---|
| 68 | . ... .
|
|---|
| 69 | . ... .
|
|---|
| 70 | ___________________... .
|
|---|
| 71 | . .
|
|---|
| 72 | --+------------------------------------------------+--->
|
|---|
| 73 |
|
|---|
| 74 | As you see, we need only 1 control pin, 1 signal input pin and
|
|---|
| 75 | 8 data pins for the workflow. Unfortunately, the strobe (PI)
|
|---|
| 76 | and busy (PR) don't behave like expected in today's days. Therefore
|
|---|
| 77 | we cannot simply use commands like "cat $file > /dev/lp0" at Linux
|
|---|
| 78 | or "copy FILE.TXT LPT0:" in DOS/WINNT, but we need an own driver.
|
|---|
| 79 |
|
|---|
| 80 | In this subproject, we have implemented the diagram above as
|
|---|
| 81 | program logic. To keep it more simple, we didn't develop kernel
|
|---|
| 82 | driver, but userspace / user mode drivers, using ppdev at linux and
|
|---|
| 83 | the third party library "WinIo" at Windows NT.
|
|---|
| 84 |
|
|---|
| 85 |
|
|---|
| 86 | Sven Köppel,
|
|---|
| 87 | documentated at 02. September 2008
|
|---|