OPCSIFACE(DOCS)          Optical Printer Control System    OPCSIFACE(DOCS)

NAME
    OPCSIFACE - OPCS Interfacing docs

--------------------------------------------------------------------------------
                    PIO-100 - PARALLEL PORT INTERFACING
--------------------------------------------------------------------------------

NAME
    pio-100 - OPCS parallel port I/O interface board

DESCRIPTION
    The OPCS parallel port interface board (PIO-100) was designed to 
    simplify wiring between the computer parallel port and the various
    digital sensors on the printer, using standard RJ-45 patch cables
    to route the signals to each sensor. The board also optically
    isolates the computer and the optical printer's digital sensors,
    namely home sensors, buckle/viewer switches, deenergize options,
    tension motors, etc.

    There are several revisions of this board:

        REV 3/Feb 2010: First use by Disney (YCM printers), used by others
                        See: http://seriss.com/opcs/docs/parallel-port-interface/rev3

        REV 6/Jan 2021: First use by Mike Ferriter, Andy Kaiser,
                        Bruce Heller, Carl Spencer, etc.
                        See: http://seriss.com/opcs/pio-100/

REV 6 "PIO-100" Parallel I/O Board - Jan 2021
=============================================
    This board has a webpage with schematics, wiring diagrams, PCB layouts,
    photos, and other useful information here:

        http://seriss.com/opcs/pio-100/

    As of this writing (Aug 2021), REV 6 is the latest revision of this board.
    This board was branded with the model number "PIO-100", to differentiate
    it from the other OPCS boards (A800, SD-800, etc).

    At the top, a parallel port connector is connected to the computer's
    parallel port via a DB-25 ribbon cable. On the right side, a single
    12V power connector. Derives 5V with an onboard 7805 used for the
    computer interface.

    While this board is optically isolated for the signals, there is a
    common ground between the 12V and 5V supplies.

    Along the bottom are 16 RJ-45 connectors arranged in two-tier
    connector blocks. These fan out to the optical printer's sensors
    and motor controls as individual RJ-45 patch cables, one per
    device. These devices can be 12V home sensors (or 'optical sensors'),
    tension motor control relays (SSR's), buckle/viewer switches,
    motor enable/disable controls, etc. 

    The REV 6 board looks like this:
    
                                PARALLEL PORT
                                _______________
   ____________________________|_______________|__________________________
  |          _    _            |               |                  _____   |  
  |         | |  | |           |_______________|                 |     |  |
  |         | |  | |                             _____   _____   |7805 |  |
  |         |_|  | |                            |_____| |_____|  |     |  |
  |              |_|                                             |_____|  |
  |                                                                |||    |
  |  _________   _________    _________    _________    _________       __|
  | |_________| |_________|  |_________|  |_________|  |_________|    -|  | 12V
  |                                                                   +|__| POW
  |                                                                       |
  |                                                ||..||..||..||..||..   |
  |                                                ||..||..||..||..||..   |
  |                                                NPN PNP                |
  |                                                                       |
  |   ______________________________    ______________________________    |
  |  | TENS    TENS    TENS    OUT  |  |   IN     IN     IN     IN    |   |
  |  | (2)     (3)     (4)     (5)  |  |  (10)   (11)   (12)   (13)   |   |
  |  |______________________________|  |______________________________|   |
  |  | OUT      OUT     OUT    OUT  |  |   IN                         |   |
  |  | (6)      (7)     (8)    (9)  |  |  (15)    X      X      X     |   |
  |__|______________________________|__|______________________________|___|


      \____________________________/    \____________________________/   
               Eight  RJ-45                      Eight  RJ-45
                Connectors                        Connectors
                (Two Tiers)                       (Two Tiers)

    Regarding the labels on the RJ-45 connectors, 
    the numbers in parenthesis are the parallel port pin#s:

        > Outputs (from the computer) are pins 2 thru 9.
        > Inputs (to the computer) are pins 10 thru 13, and 15.

    TENSION OUTPUTS
    ---------------
    At the bottom left, there are three 'TENSION' outputs intended to control
    the SSR relays for tension motors, one RJ-45 output cable per pair of
    feed/takeup motors, one pair for each film movement, which is typically:

         TENS(2) -- Aerial Projector (feed/takeup)
         TENS(3) -- Main Projector (feed/takeup)
         TENS(4) -- Camera (feed/takeup)

    Changing a bit on one of these outputs inverts the state of the
    feed/takeup so that only one of the two tension motor relays is on,
    and the other off.  In the OPCS software's setup file, OPCSDEFS.OPC,
    the TENSION(OPCSDEFS) command is used to configure this for each
    channel that supports tension motors.

    When the channel is running forward, the TAKEUP motor is energized,
    and FEED is disabled. Typically a small high power low ohm rating
    resistor lies across each SSR relay's output, allows a small amount
    of 110VAC to run the tension motor as a "holding current" when the
    relay is off.  When the relay is on, full 110 VAC drives the tension
    motor. Actual voltage to the motors are usually tunable with a variac
    the camera operator can set.

                  ###  TENSION(2,3,4) OUTPUTS ### 
                  ###      RJ-45 PINOUTS      ### 
                                                 
                   PIN#  DESCRIPTION    COLOR   
                    1    GND            WHT/ORN 
                    2    TAKEUP(-)      ORN     
                    3    GND            WHT/GRN 
                    4    TAKEUP(+)      BLU     
                    5    GND            WHT/BLU 
                    6    FEED(-)        GRN     
                    7    GND            WHT/BRN 
                    8    FEED(+)        BRN     

    GENERIC OUTPUTS
    ---------------
    Since the first three output pins of the parallel port are used for
    tension motors, the remaining five pins are generic optically isolated
    12V outputs that can be used for various purposes. Often these are
    used to deenergize channels, allowing the software to unlock motor(s)
    on command, allowing the operator to freewheel the motor, then the
    software can re-home the motor on completion.
    
    Generic output control can be done via the 'home' command as configured
    in the HOMEDEFS.HOM file, using either the 'setbit' or 'clrbit' commands.
    Similar commands in the OPCSDEFS.OPC file and/or OPCS run scripts
    can be used to change the parallel port's bits via command control,
    e.g.

       ldefs -c setbit 0378 8 0   -- set   parallel port pin #5 (bitmask 0x08)
       ldefs -c clrbit 0378 8 0   -- clear parallel port pin #5 (bitmask 0x08)

                  ###  OUT(5,6,7,8,9) OUTPUTS ### 
                  ###      RJ-45 PINOUTS      ### 
                                                  
                  PIN#    DESCRIPTION    COLOR   
                   1      GND            WHT/ORN 
                   2      GND            ORN     
                   3      GND            WHT/GRN 
                   4      N/C            BLU     
                   5      GND            WHT/BLU 
                   6      OUTPUT         GRN        <-- LOW=GND HI=+12V
                   7      GND            WHT/BRN 
                   8      +12            BRN     
                  
    GENERIC INPUTS
    --------------
    The generic inputs IN(10) thru IN(13) and IN(15) can be used for either
    home sensors, buckle/viewer switches, etc. These respond to voltages
    typically 12V (for "on") or pulled to Ground (for off).

    +12 and Ground signals are provided on each RJ-45 port to be used for
    driving the home sensor's internal circuits and for 12v/Gnd reference.

    Home sensors are typically configured for the 'home' command using the
    HOMEDEFS.HOM file's 'homeport' command, which procedures in that file
    can then use to test the home sensor to conditionally run motors.

    Buckle and Viewer switches can also be used to drive these inputs.

    Schematics are available on the website, and also are printed on the
    board's silk screen for reference, along with simple wiring diagrams.

                  ###   IN(10,11,12,13,15)  ### 
                  ###      RJ-45 PINOUTS    ### 
                                                
                  PIN#  DESCRIPTION    COLOR   
                   1    GND            WHT/ORN 
                   2    GND            ORN     
                   3    GND            WHT/GRN 
                   4    N/C            BLU     
                   5    GND            WHT/BLU 
                   6    IN             GRN     
                   7    GND            WHT/BRN 
                   8    +12            BRN     
              
    INPUT JUMPERS
    -------------
    To support both NPN and PNP home sensors, a jumper block is provided
    on the board to allow either type to be supported. The default is NPN,
    which is the most common sensor type. It is advised you standardize
    on only one type of sensor for all sensors, so they can be easily
    reassigned without having to change the jumpers.

    WARNING: BE SURE THE BOARD'S 12V POWER IS REMOVED BEFORE CHANGING JUMPERS.
             If you must change the jumpers while the board is "hot", remove
             *both jumpers completely* before replacing to the new positions.
             AVOID changing one jumper at a time, as that can short the 12V
             power supply during mid-change.

    CAVEATS
    -------
    The RJ-45 connectors labeled "X" are unused for I/O, but can be used
    for access to +12V and GND from the board for various purposes (such
    as 12V power lights, etc)

    On the REV 6 board, there are a TWO MINOR ERRORS that will be fixed
    in future revisions (probably REV 6A and up):

        > Many of the little diagrams on the silk screen are wrong.
          White labels are affixed over these problem diagrams to make
          corrections. All REV 6 boards in the field should already have
          these white 'fix labels' on them.

        > Two of the outputs, OUT(8) and OUT(9), do not match the normal wiring
          pattern of the other connectors. It's advised you do not use OUT(8)
          and OUT(9) on the REV 6 board, for consistency.


REV 3 "Parallel Port Interface Board" - Feb 2010
================================================
    This board has a webpage with schematics, wiring diagrams, PCB layouts,
    photos, and other useful information here:

        http://seriss.com/opcs/docs/parallel-port-interface/rev3/

    The REV 3 board uses separate +5V and +12V power, to ensure complete
    isolation. But it is possible to use a single dual +5v/+12v power supply 
    and share the signal ground.

    At the top, a parallel port connector is connected to the computer's
    parallel port via a ribbon cable. On the sides, power connectors for
    the input +12V and +5V. Along the bottom, RJ-45 connectors are used
    to fan out to the optical printer's sensors and motor controls; home
    sensors, tension motors, buckle/viewer switches, motor enable/disable
    controls, etc. It looks like this:

                                            PARALLEL PORT
                                            ____________
 __________________________________________|____________|______________________
|   _                                      |            |                   _  |  
|  | | +5/+12                              |____________|           +5/+12 | | |
|  | | POW CHAIN                   _____                _____          POW | | |
|  |_| OUTPUT                     |_____|              |_____|             |_| |
|             _______        _  _  _  _  _  _  _  _  _  _  _  _  _  _  _       |
|            |_______|      |_||_||_||_||_||_||_||_||_||_||_||_||_||_||_|      |
|                             ______                                   ______  |
|                            |______|                                 |______| |
|                                                                              |
|______________________________________ _______________________________________|
|PWR  PWR  PWR  IN   IN   IN   IN   IN | TEN  TEN  TEN  OUT  OUT  OUT  OUT  OUT|
| 1    2    3   15   13   12   11   10 |  9    8    7    6    5    4    3    2 |
|______________________________________|_______________________________________|

 \___________/  \____________________/   \___________/  \_____________________/
     RJ-45               RJ-45              RJ-45                RJ-45
     Power        Inputs from Buckle,      Tension            Outputs for
    Outputs       Viewer, Home sensors      Motor             various uses
                                           Outputs

    For the most part, the buckle/viewer sensors are configured by the
    BUCKLE(OPCSDEFS) and VIEWER(OPCSDEFS) commands in the OPCSDEFS.OPC
    file to define the port and bit mask values corresponding to the
    RJ-45 ports used for those features.

    The home sensors are configured in the HOME(DOCS) program's
    HOMEDEFS.HOM to define the port and bit mask values corresponding
    to the RJ-45 ports used for those features.

    The tension motor controls are configured with the TENSION(OPCSDEFS)
    command in the OPCSDEFS.OPC file to define the port and bit mask
    values corresponding to the RJ-45 ports used for those features,
    and are wired specially with Crydom solid state relays to control
    the AC tension motors.

    Various other inputs/outputs can be controlled by these ports, such as
    energizing/deenergizing certain motors via OPCS command control. An example
    would be the LOAD and LINEUP commands, which might want to run the motors
    small amounts, and deenergize the motors to allow manually loading film.
♀
PARALLEL CONNECTOR
    The parallel conenctor on the OPCS parllel port interface board is
    a femal DB-25 connector, which should be connected to one of the
    computer's parallel ports.

        PIN   PORT   MASK  I/O  RJ-45   DESCRIPTION      
        2     0x378  0x01  Out  OUT(2)  Generic output   
        3     0x378  0x02  Out  OUT(3)  Generic output   
        4     0x378  0x04  Out  OUT(4)  Generic output   
        5     0x378  0x08  Out  OUT(5)  Generic output   
        6     0x378  0x10  Out  OUT(6)  Generic output   
        7     0x378  0x20  Out  OUT(7)  Generic output   
        8     0x378  0x40  Out  TEN(8)  Camera Tension   
        9     0x378  0x80  Out  TEN(9)  Projector Tension
        10    0x379 !0x40  In   IN(10)  Generic Input    
        11    0x379 !0x80  In   IN(11)  Generic Input    
        12    0x379  0x20  In   IN(12)  Generic Input    
        13    0x379  0x10  In   IN(13)  Generic Input    
        15    0x379  0x08  In   IN(15)  Generic Input    
        18-25 -      -     Gnd  -       Ground           

RJ-45 CONNECTORS
----------------
    INPUTS - IN(10-15)
    ------------------
    The 5 generic inputs are realtime inputs that can be read by the
    computer. The OPCS software can be configured to make use of these
    inputs by specifying the corresponding port/mask via the OPCSDEFS.OPC
    or HOMEDEFS.HOM files.

    Typically generic inputs are used for either home sensors or
    buckle/viewer switch sensing.

          ###  IN(10) - IN(15)  ###   
          ###   RJ-45 PINOUTS   ###   
                                      
        PIN#  DESCRIPTION    COLOR   
        1     Chassis        WHT/ORN 
        2     GND            ORN     
        3     Chassis        WHT/GRN 
        4     -              BLU     
        5     Chassis        WHT/BLU 
        6     IN             GRN     
        7     Chassis        WHT/BRN 
        8     +12            BRN     
♀
    OUTPUTS - OUT(2-7)
    ------------------
    The 6 generic outputs can be controlled directly by commands in HOMEDEFS.HOM
    or OPCSDEFS.OPC, e.g. the SETBIT, CLRBIT, and XORBIT commands.

    Typically, generic outputs are used for de-energizing motors to allow
    manual load/unload of film with the custom LOAD and LINEUP commands.

          ###  OUT(2) - OUT(7)  ###   
          ###   RJ-45 PINOUTS   ###   
                                      
        PIN#  DESCRIPTION    COLOR   
        1     Chassis        WHT/ORN 
        2     GND            ORN     
        3     Chassis        WHT/GRN 
        4     -              BLU     
        5     Chassis        WHT/BLU 
        6     OUT            GRN     
        7     Chassis        WHT/BRN 
        8     +12            BRN     

    TENSION OUTPUTS - TEN(8) AND TEN(9)
    -----------------------------------
    The tension motor outputs TEN(8) and TEN(9) can control the FEED and TAKEUP
    motors for camera and projector.

    When parallel port pin 8's bit changes from 0 to 1, the TEN(8) RJ-45
    connector's FEED and TAKEUP outputs will change state, always being
    the compliment of each other (ie. if FEED is 'on', TAKEUP will be 'off').

            ###     TEN(8) AND TEN(9)    ###     
            ###       RJ-45 PINOUTS      ###     
                                                 
        PIN#  DESCRIPTION    COLOR   CRYDOM PIN#
        1     Chassis        WHT/ORN 4          
        2     -TAKEUP        ORN     -          
        3     Chassis        WHT/GRN 3          
        4     +TAKEUP        BLU     -          
        5     Chassis        WHT/BLU 4          
        6     -FEED          GRN     -          
        7     Chassis        WHT/BRN 3          
        8     +FEED          BRN     -          

    POWER OUTPUTS - PWR(1) THRU PWR(3)
    ----------------------------------
    PWR-1 through PWR-3 can be used to supply +12V power to the printer.

            ###     PWR-1 THRU PWR-3     ###     
            ###       RJ-45 PINOUTS      ###     
                                                 
        PIN#  DESCRIPTION    COLOR   CRYDOM PIN#
        1     Chassis        WHT/ORN 4          
        2     GND            ORN     -          
        3     Chassis        WHT/GRN 3          
        4     -              BLU     -          
        5     Chassis        WHT/BLU 4          
        6     -              GRN     -          
        7     Chassis        WHT/BRN 3          
        8     +12            BRN     -          

--------------------------------------------------------------------------------
                  SD-800 - STEPPER DISTRIBUTION INTERFACE
--------------------------------------------------------------------------------

NAME
    sd-800 - OPCS 8 channel "stepper distribution" (SD) card

DESCRIPTION
    The OPCS "Stepper Distribution" card (SD-800) was designed to 
    simplify wiring between the computer step pulse generator card
    (e.g. RTMC16, RTMC48, Kuper Industrial, A800..) and the stepper
    motor driver modules (Centent, Gecko, LeadShine, etc) by breaking
    out the DB-37 connector into separate RJ-45 patch cables, one per
    stepper drive channel.

    This board really has no active features on it, other than a fanout
    to simplify wiring. Optional pullup resistor networks can be used
    if the application requires open collector outputs from the card
    to be pulled up to +5V for the idle state to prevent noise.

    As of this writing, there is only one version of the board, REV 0,
    which looks like this:

    
                               DB-37 PORT
                        (To RTMC or A800 cards)
                          ____________________
               __________|____________________|_________
              |          |                    |         |
              |          |____________________|         |
              |                                         |
              |                                         |
              |                                         |
              |                                         |
              |     ______________________________      |
              |    |                              |     |
              |    |    A      B       C      D   |     |
              |    |______________________________|     |
              |    |                              |     |
              |    |    E      F       G      H   |     |
              |____|______________________________|_____|

                    \____________________________/ 
                             Eight  RJ-45
                              Connectors
                              (Two Tiers)

    Typically the female DB-37 connector on the board is connected
    to the DB-37 connector on the ISA stepper pulse generator card
    plugged into the the DOS computer using 6' male/male cable.

    And separate RJ-45 patch cables are wired to the A/B/C/D..
    ports at the bottom of the board, which run out to the individual
    stepper drives (Centent, Gecko, LeadShine, etc).

    The DB-37 follows Kuper's pinout; see 'man kuper' for more info.
    The RJ-45 pinout diagram is on the board, but is basically:


        RJ-45             WIRE      CENTENT       GECKO        LEADSHINE
        PIN#  SIGNAL      COLOR (*) DRIVE         DRIVE        DRIVE
        ----  ----------  --------  -----------   -----------  ------------
         1    GND         -         N/C           N/C          N/C
         2    GND         -         N/C           N/C          N/C
      _  3    GND         -         N/C           N/C          N/C
 DIR |   4    DIRECTION   BLU       DIRECTION     (8) DIR      DIR-(DIR)
     |_  5    +5V         WHT/BLU   +5 VOLTS DC   (10) COMMON  DIR+(5V-24V)
      _  6    GND         -         N/C           N/C          N/C
 STP |   7    +5V         WHT/BRN   N/C           N/C          PUL+(5V-24V)
     |_  8    STEPS       BRN       STEP PULSE    (9) STEP     PUL-(PUL)


       (*) Premade RJ-45 patch cables for cat5 and cat5e usually have
           the standard wire colors shown above. For the signals used,
           the wiring colors are the same for 568A and 568B.

     Basically only 4 of the 8 wires are used. In some cases only 3 wires
     are used (Centent & Gecko).

     Please note these signals are DIRECTLY FROM THE COMPUTER MOTHERBOARD,
     so be very careful with them. Do not let them short to chassis ground
     on the printer, or to each other.

     For N/C (X) wires, be sure to isolate them from each other to prevent
     shorts. Either cut them to different lengths as shown below, and tape
     or heat shrink them to protect them from each other:


                       Wires to
                    Drive Terminals
                      ___________
                     /           \
                       
                      || || || ||
                      || || || ||   Unused wires
                      || || || ||    _________
                      || || || ||   /         \
                   ...||.||.||.||.................
                   .  || || || ||                .
                   .  || || || ||   ||           .
                   .  || || || ||   ||           .
                   .  || || || ||   || ||        .
                   .  || || || ||   || ||        .   <-- heat shrink wrap
                   .  || || || ||   || || ||     .
                   .  || || || ||   || || ||     .
                   .  || || || ||   || || || ||  .
                   . _||_||_||_||___||_||_||_||_ .
                   .|                           |.
                   .|                           |.
                   .|...........................|.
                    |                           |
                    |           RJ-45           | 
                    |           CABLE           |
                    |                           |

     Ensure there's enough difference in the wire lengths so that
     there's no way for their cut ends to touch each other, as the
     conductors at the cuts are still live.

     Or, cut the wires close to the cable shield, splay them apart,
     and put a large blob of liquid electrical tape over them to
     isolate them.

     When wiring the Centent or Gecko's, be EXTRA careful with the
     unused +5V signal wire (WHT/BRN). You don't want that shorting out
     to ANYTHING, or the entire computer's 5V supply will shut down,
     causing the machine to reboot (if you're lucky) or blow its internal
     fuse or worse. So BE CAREFUL with that.

     When wiring to the screw clamp terminals, I advise tining the wires
     (if they're stranded) before inserting them, to prevent wire fraying
     and shorts from stray pieces of stranded wire.

     Use heat shrink to prevent wire fatigue at the screw terminal points,
     and use nylon tie downs to also prevent wire motion at the screw
     terminals.

--------------------------------------------------------------------------------
                    A800 - STEP PULSE GENERATOR INTERFACE
--------------------------------------------------------------------------------


NAME
    A800 - Seriss Corp. A800 stepper motor control card 

DESCRIPTION
    The A800 card is a "short slot" ISA card for the IBM PC that can
    generate steps/direction pulse streams to control up to 8 stepper
    motors at once.
    
    The card uses two PIC chips to manage the stepper pulse generation.
    The PIC's firmware and MS-DOS driver "A800DRV.COM" source code are
    open source and available from:

        https://github.com/erco77/a800-opcs-pic-asm

    OPCS communicates with the A800 card by way of the MS-DOS device driver
    "A800DRV.COM", which provides a standard low level interface to the
    card that OPCS can make use of to run the motors efficiently.

    The A800DRV.COM driver must be loaded *before* running the OPCS
    software. This can be installed either by the AUTOEXEC.BAT,
    or by a separate batch script that invokes OPCS. 

    If the A800 card's jumpers are default (BaseAddr=300 and IRQ=5),
    then you can install the driver with just:

        a800drv

CONFIGURING THE BASEADDR AND IRQ
    In OPCS K1.xx, the a800 card did not exist and is not supported.

    In OPCS K2.00 through K2.09, the base address is configured in
    OPCSDEFS.OPC with the 'baseaddr' command. IRQ not configurable.

    In OPCS K2.10 and up, the A800DRV.COM driver allows both the
    base address and IRQ to be configured on the command line.
    The default would be:

        a800drv -b300 -i5           <-- Sets base address=0300h, IRQ=5
                   |    |
                   |    IRQ=5
                   Base Addr=300

    ..and if your A800 jumpers are set differently, then specify
    matching values accordingly. e.g. if the card's jumpers are
    set to BaseAddr=340 and IRQ=6, then start the driver with:

        a800drv -b340 -i6

    To list the A800DRV driver's options, run 'a800drv -help'.
    If it does not show a list of options, then it is an older version
    that does not support command line options.

TECHNICAL SYNOPSIS
    When the software wants to move a motor, it provides 8 separate
    12 bit velocity values, one per motor channel. And 107 of these
    velocity values are sent per second to the card using the hardware
    interrupt on IRQ 5.

    Currently only 8 bits of the 12bit value are used for motor speeds.
    i.e. the lowest velocity is 1 (107 Hz) and the highest velocity is
    255 (27,285 Hz). Values above 255 are clipped by the hardware,
    as the PIC chips are limited by their speed. The high bit (0x8000)
    is the motor direction bit; 0=foward, 1=reverse. 

    The software has to keep up with this transimission rate, otherwise
    it will loose track of the motor positions. The A800DRV.COM device
    driver provides a 64k ring buffer for the motor velocities that OPCS
    updates in realtime while the motors are running.

    The OPCS software and A800DRV.COM use INT 99h to intercommunicate,
    providing the address of the ring buffer, and start/stop commands.

    The A800 card generates 107 interrupts per second to the A800DRV.COM
    driver, each interrupt feeds 8 velocities from the tail of the ring
    buffer to the A800 card, and increments the tail's index to point
    to the next 8 values in the ring buffer. Meanwhile, the OPCS software
    feeds velocities into the head of the ring buffer, always keeping ahead
    of the tail. If the tail catches up to the head prematurely, this
    causes a SYNC FAULT error, which should never happen unless something
    is wrong with the computer.
♀
OPCS A800 CARD
==============
This card controls 8 axes and is a half sized IBM PC ISA card.
For complete info on this card, see: http://seriss.com/opcs/a800

        *** A800 ***
	      _________________________________________________
	     | _____    __________   __________        A800    |
	     ||16Mhz|  |  CPU2    | |  CPU1    |       REV-A1  | 
	     ||Xtal |  |__________| |__________|           ____|_
	     ||_____|                     ____   74HCT04  |    | |
	     |                           |    |  ______   |    | |
	     |                           |8255| |______|  |    | |
	     |                           |    |  ______   |    | | DB-37
	     |              BASE         |    | |______|  |    | | Connector
	     |   ______     ADDR         |    |  ______   |    | |
	     |  |______|     ::  IRQ     |    | |______|  |    | |
	     |  _______      ::  ::      |    |           |    | |
	     | |_______|     ::  ::      |____|           |____|_|
	     |               ::  ::                            |
	     |_________________________                     ___|
	                               |...................|
	                                ||||||||||||||||||||

     DB-37 Connector (similar to Kuper):

         PIN#   SIGNAL   PIN SIGNAL
        --------------------------------
           1  - N/C      20 - +5VDC
           2  - STEP A   21 - DIR A
           3  - STEP B   22 - DIR B
           4  - STEP C   23 - DIR C
           5  - STEP D   24 - DIR D
           6  - STEP E   25 - DIR E
           7  - STEP F   26 - DIR F  (*) = JP3 configures DB37 Pin#19:
           8  - STEP G   27 - DIR G        "+5"   - Makes Pin #19 +5 VDC
           9  - STEP H   28 - DIR H        "GND"  - Makes Pin #19 GND (default)
           10 - N/C      29 - N/C  
           11 - N/C      30 - N/C  
           12 - N/C      31 - N/C    NOTE: When fitted with 74LS07 chips,
           13 - N/C      32 - N/C          outputs are OPEN COLLECTOR TTL.
           14 - N/C      33 - N/C   
           15 - N/C      34 - N/C          When those chips are replaced with
           16 - N/C      35 - N/C          74ALS1034N, outputs swing a full
           17 - N/C      36 - N/C          +5/GND and are CMOS/TTL compatible.
           18 - N/C      37 - N/C  
           19 - GND(*)             

BASE ADDRESS (JP1)
==================
    Closeup of the 'BASE ADDRESS' jumpers (JP1), which sets the base
    address of the 8255 chip's I/O port registers:

		  ___________
		 | BASE ADDR |
		 |___________|
		 |           |
		 |  200  o o |
		 |  240  o o |
		 |  280  o o |
		 |  2C0  o o |
		 |  300  o o <-- Default jumper for 300 across these two pins
		 |  340  o o |
		 |  380  o o |
		 |  3C0  o o |
		 |___________|
		      JP1

	    A800 Base Address Jumpers

        Always defer to the board's labeling (if any), as the board
        designs may have changed since this document's writing (May 2020).

    DEFAULTS:
    This board has labels for the BASE ADDRESS and IRQs:
        "300"  is the default base address (5th pair of pins from top jumpered).
        "IRQ5" is the default IRQ (4th pair of pins from top jumpered).

DB-37 OUTPUT SIGNALS
====================
    The STEPS output are normally high (+5) during idle,
    and fall low (GND) to pulse the motor a single step. 

    The outputs for DIR (direction) are logic hi (+5) for forward,
    and logic low (GND) for reverse.

    The output signals can either be CMOS hi/low levels, or can be
    "open collector" (where logic 'hi' is 'open', and logic low is gnd).
    Which it is depends on the chips installed in the three chip positions
    to the left of the DB-37 connector on the A800 board:

	74HCT04 -- CMOS high/low levels (default)
    	74LS07  -- Open Collector

    For controlling the modern DM542 and FMD27400 motor drivers,
    the 74HCT04 chips are recommended in these positions.

    For Centent and Gecko drives, traditionally 74LS07 chips were used,
    but will probably also work with the 74HCT04's.

    While both chips work on all drives, analysis with an oscilloscope
    monitoring the stepper drive inputs may reveal one chip is better
    than the other for noise reduction. With 6' cables, 74HCT04 seems
    the best choice.

    Always defer to the board's silk screen labelling, as the board
    designs may change since this document's writing (May 2020).


HISTORY
    Greg Ercolano designed this card in May/June 2020, and the driver
    software, A800DRV.COM. This card uses "PIC chips", which are 
    programmed with firmware written in the processor's native assembly
    language for speed and consistent timing for generating the steps
    and direction motor signals.

SEE ALSO
    RTMC16(DOCS) - notes on the Kuper Controls RTMC16 motor control card
    RTMC48(DOCS) - notes on the Kuper Controls RTMC48 motor control card
    8255(DOCS)   - how to control 8255 based digital I/O cards
    KUPER(DOCS)  - documentation on the kuper card connectors


AUTHOR
    Greg Ercolano / Seriss Corporation 2021
© Copyright 1997 Greg Ercolano. All rights reserved.