CA1116727A - Distributed microprocessor control system for a copier/duplicator - Google Patents

Distributed microprocessor control system for a copier/duplicator

Info

Publication number
CA1116727A
CA1116727A CA000309794A CA309794A CA1116727A CA 1116727 A CA1116727 A CA 1116727A CA 000309794 A CA000309794 A CA 000309794A CA 309794 A CA309794 A CA 309794A CA 1116727 A CA1116727 A CA 1116727A
Authority
CA
Canada
Prior art keywords
master
area
controller
data
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA000309794A
Other languages
French (fr)
Inventor
James M. Donohue
Andrew T. Ling
Richard M. Malinich
Kenneth Gillett
Charles P. Holt
Frank M. Nelson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Application granted granted Critical
Publication of CA1116727A publication Critical patent/CA1116727A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G15/00Apparatus for electrographic processes using a charge pattern
    • G03G15/50Machine control of apparatus for electrographic processes using a charge pattern, e.g. regulating differents parts of the machine, multimode copiers, microprocessor control

Abstract

ABSTRACT

An electrophotographic reproduction machine for use as a copier/duplicator having a master microprogrammed controller and a plurality of area controllers cooperatively operative to carry out a plurality of machine operation tasks. At least one of the area controllers contains a separate microprogrammed controller for controlling selected tasks and devices in the reproduction machine in synchronism with the operation of other tasks as controlled by the master controller. An optical communication link couples the master and area controllers and serves to isolate the master controller from transients and a direct I/O connection.

Description

,r~

TABLE OF CONTENTS
Sub]ect Page Field of the Invention 4 Description of the Prior Art 4 BRIEF DESCRIPTION OF THE DRAWINGS lO

System Overview 15 Machine Description 17 Master/Area Communication System 27 MACS Optical Link 35 MACS I/O Instructions a:nd Operational 36 Overview Simultaneous Area Operation 44 Status Read and ~rite Commands46 Master Controller 50 Master I/O Interface 53 Parity Generator 58 Clock Generator 60 Shift Controls 62 Address Decoder 69 Status Input and Output Control 74 Interrupt Flip-Flop - 79 Area I/O Interface 80 Area Controller Opera-tion 90 ~' æ

Subject Page Port Structure 94 Area Microprocessor and Interface 97 Pseudo-Interrupt Operation 103 Machine Clock Interrupt llO
Real Time Interrupt llO
Software Description and Organization 111 State Checker 114 Interrupt Handler 122 Paper Path Area Controller 125 RDH/ADF Control Console -~ 129 Controller 8 RDH/Platen Servos - 134 Controller 10 Master/Servo Software Communications 139 TABLE lO 141 Phase Lock Loop Control 144 Servo Controller Software 148 Process Controller 12 153 Master/PCR Software Communication 154 TABLE 12 l~1 PCR Software 163 _ACKGROUND OF THE INVENTION

1. Field of the Invention The invention is iIl the field of electrophotographic reproduction machines, and particularly those machines con-trolled by digital computers.
2. Description of the Prior Art ~'.0 Electrophotographic copying machines are well known within the prior art and typically employ mechanical or combinations of mechanical and electrical control logic for system control. Such control logic is responsible for maintain-ing synchronism between the various operational stations of the reproduction machine and to ensure proper operation of the machine during the various operating modes. ~hese control devices have become increasingly complex as the level of sophistication has increased within t~e reproduction machine itself. With the advent of variable magnification machines and color copiers the logical control means necessary to achieve proper synchronization and operation has become increasingly complex and exp~nsive. Consequently, attempts to obtain efficient operation of these machines has developed utilizing digital computing device controllers which are programmed to carry out a sequence of operational tasks. Some of these digital device controls are quite specialized and govern only particular localized tasks or operations of the machine such as disclosed in U.S. Patent 3,876,106. System operation as a whole has also .:.

r~
~c been achieved in the prior art utilizing computers with relatively large CPU and memory storage units. Examples of these prior art devices are disclosed in U.S. Patents 3,936,182, 3~914~0a7 and
3,940,210.
With the advent of larger and more complex photo-reproduction machines the various tasks needed to be performed by the machine have become increasingly large. Particularly, an operator may select from a variety of modes of operation, each one designating a particular sequence of operations which must be stored in the computer control means. In some cases the advantages of speed and efficiency of the computer control system has been outweighed by its prohibited cost and large physical dimensions required to store and execute programs defining the desired number and permutations of operational tasks Still further cost and size restraints come into play when system flexibility is desired ~y way oE expanding the computer control to various other controlled devices or operating stations as would be typical in the ofering of a single model copier with various optional attachments. Thus, special purpose hardware may typically be employed as an alternative or addition to the utilization of the central digital computing controller.
Yet another disadvantage of the prior art in computer control devices lies in malfunctioning of the computers due to noise and radio frequency interference resulting primarily from the computer being exposed to the various electrical transients produced by operation of solenoids, motors, relays and the like.
Consequently, there exists a need for an ever expanding digital computer capability and at the same time a need to isolate and remove the central controller from the environment of the reproduction machine to achieve error free operation.

SUM~IARY OF THE INVENTION

Consequently, it is an object of the invention to eliminate the disadvantages of the prior art by providing an electrophotographic reproduction machine utilizing a distributed microprocessor controller.
Another object of the invention is to provide a reproduction machine having a central or master micro-controlled processor operable in conjunction with an area micro-controlled processor wherein certain system tasks are allocated to the master microprocessor and certain other particula!r device oriented tasks are allocated to the area microprocessor.
Yet another object of the invention is to provide a micro-controlled photographic reproduction machine utilizing lS an optical communication link between a central master controller and the various controlled devices so as to achieve an effective error free operation of the master microprogram controller from radio frequency interference generated within the reproduction machine.
Yet another object of the invention is to provide a computer controlled electrophotographic reproduction machine utilizing a single interrupt scheme for enabling simultaneous monitoring of a plurality of control devices in a bit serial communication fashion.
Yet a further object of the invention is to provide a computer controlled photographic reproduction machine wherein a central master controller is interconnected via optical links to at least one passive area controller and at least one active area controller wherein each active controller incorporates a separate microprocessor ~or controlling specific device tasks, and the passive and active controllers operate together in operative relationship with the master controller to maintain a synchronous control of the entire machine.
The foregoing and other objects of the present invention are attained utilizing a master microprogram controller which is operatively connected to various devices within the operating stations of the photographic reproduction machine and an active microprograTnmed controller for controlling a particular ,0 device or devices (or portions thereof) such as those devices associated wlth a particular operating station. The master and active controller are interconnected via an optical link which serves to isolate the master controller from the direct I/O
environment. Additional optical links may be provided to interface the master controller with a plurality of passive controllers which serve to latch the output of the master con-troller to the various controlled devices and serve to forward sensed output data from the operating station to the master controller for processing. The master, passive, and active controllers are all operably connected to one another to control the various devices of the machine.
More generally, the invention provides a reproduction machine having a plurality of operating stations and a plurality of devices for controlling operational taskswithin the operating stations. The machine comprises a master pro-grammable controller for controlling some of the devices and an area programmable controller for controlling other of the devices. The master and area controllers are cooperatively operative to control the operating task of the operating stations.

A further object of the invention is to provide a data communications system comprising a programmable master controller having memory storage means and command byte generating means and a plurality of area controllers each having means for receiving command bytes from the master controller and means for providing input data bytes to the master controller. The additional controllers are inter-connected to the master ~ontroller and have corresponding input data bits of their input data bytes ORed together. The additional controllers simultaneously transmit bytes in response to a pre-determined command byte from the master controller and corresponding bits of the simultaneously transmitted bytes have mutually exclusive data therein. The communications system may be utilized in a reproduction machine or more generally for data communications or for control of other types of machines. The simultaneous transmission technique may be utilized to quickly poll a plurality of additional controllers, and the programmable controller may be configured such that the simultaneously received bytes serve to interrupt the master programmable controller in response to the bits received to cause program interrupt jumps to sub-routines servicing the additior~al controllers.
The invention is additionally directed to a reproduction mac~ine having a plurality of operating stations and a plurality of devices for controlling operational tasks of the operating stations wherein are provided means for sensing various operational parameters associated with said devices, a master controller having an arithmetic and logic control means for controlling the devices in accordance with the sensed operational parameters and a stored operation program and interface means connected in a communication path between the master controller and the devices, -the interface means comprising a fiber-optic communication path which isolates the master controller from electrical noise and transients associated with said devices.
The invention is also directed to a copier/
duplicator machine having a plurality of devices for con-trolling different operations within the machine and comprising a programmable controller including program memory storage means, addressing means, arithmetic and logic means, and means for generating data words for controlling some of the machine devices. The machine utilizes a first document exposure station, means for imaging the document along a first optical path, a second document exposure station which is distinct from the first exposure station, means for imaging the document at the second exposure station along a second optical path, and means or imaging the document along both the first and second optical paths onto a receiving means. The first and second optical paths have at least some portions thereof distinct from one another and the optical imaging means is controlled by the programmable controller.
Yet another feature of the invention is directed to a control system for a reproduction machine which com-prises a programmable controller having program storage means for storing an operational program controlling at least some portion of the machine, means for sensing analog data from the machine, analog-to-digital conversion means for generating digital data for processing in said controller in accordance with said operational program, digital-to~
analog conversion means for converting the process data into analog signals, and means for controlling at least some portion of said machine in response to the analog signals.

Other objects and advantages of the instant invention will become clear in reference to the following specification taken in conjunction with the drawings wherein:

~ 10 --, ', ?~
~ . ~ .

FIGURE 1 is a block diagram of the overall master/area communication system;
FIGURE 2 is a schematic illustration of various mechanical components of the copier/duplicator;
FIGURE 3 is a ~lock diagram showing the major components of the master unit and an active and passive area controller;
FIGURES 4A and 4R illustrate the master I/O interface and its input and output lines for interconnection to an area con-troller;
FIGURE 4C shows a fiber optic interconnection link utilized for the communication channels;
FIGURES 5 and 6 illustrate the transmission format for data communicated between the master and area controllers;
FIGURES 7A and 7B illustrate the interconnection of various data and address lines rom the :master tri-state bus to the master I/O interface;
FIGURE 8 shows a schematic drawing of key registers uti-lized in the master I/O interface for transmitting a command and data word;
FIGURES 9A and 9B are schematic drawings illustrating the key input registers in the master I/O interface;
FIGURE 10 is a schematic drawing of the parity generator circuit utilized in the master I/O interface;
FIGURE 11 shows the clock generating circuit utilized in the master I/O interface;
FIGURE 12 shows the logic and timing control circuitry utilized in shifting input data into the master I/O interface;
FIGURE 13 shows a timing chart illustrating the overall timing sequence for transmitting and receiving data between the master and area controllers;

~ 11 --FIGURES 14A and 14B are schematic diagrams of further timing and control circuits utilized in the master I/O interface;
FIGURES 15 and 16 show decode logic for the master I/O interface;
FIGURE 17 is a schematic diagram of the status write register utilized in the master I/O interface;
FIGURES 18A and 18B are schematic diagrams of the status read register utilized in the master I/O interface;
FIGURE 19, appearing on the page containing Fig. 17, is a schematic diagram of the interrupt flip-flop;
FIGURES 20A-20C show schematic diagrams of the key input and output registers and control logic for the area controllers;
FIGURE 21, appearing on the page containing Fig. 5, shows the clock generating circuitry utilized in the area controllers;
FIG~RE 22 is a timing diagram showing the timing sequence of data within the area controller;
FIGURES 23A and 23B show input and output port connections be-tween the host machine and the area cont.roller;
FIGURE 24 shows a block diagram of the area microprocessor and its interface circuitry within the area controller;
FIGURE 25A is a block diagram showing details of the area microprocessor external memory;
FIGURE 25B is a block diagram showing details of the I/O
buffers and selection circuit for the area microprocessor;
FIGURE 25C is a block diagram showing details of the area microprocessor interrupt and clock detection circuit;
FIGURE 26 illustrates details of the area microprocessor interface circuitry for the area controller;
FIGURE 27 is a block diagram illustrating input and output port connections for a pseudo interrupt operation;
FIGURE 28 is a block diagram showing the different computer states in accordance with the present invention;
FIGURE 29 is a flow chart illustrating the overall structure of the machine state;
FIGURE 30 is a flow chart of the state checker module for controlling changes of state within the machine;
FIGURE 31 is a block flow diagram indicating construction of the Q TABLE utilized to control events in the machine;
FIGURES 32A and 32B are partial flow charts showing the interrupt handler module;
FIGURE 33 is a block schematic diagram showing the major por-tions of the paper path contro].ler utilized in accordance with the invention;
F~GURE 34 is a schematic illustration of the major machanical and electrical sensors and actuators utilized in the paper path area controller;
FIGURE 35 is a block diagram showing the major components of the RDH/ADF control console controller;
FIGURE 36 is a schematic drawing illustrating the major mech-anical and electrical sensors and actuators utilized in the RDH/ADF
control console controller as well as the servo controller;
FIGURE 37 illustrate a block diagram of the servo controller ~0 showing the key components thereof;
FIGURE 38 is a schematic drawing of the key platen scanning components; ~;~
FIGURE 39 is a block diagram showing the port structure utilized for the master-servo controller communications path;
FIGURE 40 is a flow chart showing the major steps utilized for the communication routine between the master and area servo controller;

FIGU~RES 41-43, Fig. 43 appearing on the page containing Fig.
41, show logic circuitry utilized in the phase lock loop control of the servo controller;
FIGURE 44, appearing on the page containing Fig. 41, illus-trates an overall flow chart of the operation of the servo control-ler software;
FIGURE 45 is a flow chart showing the executive routine utilized in the servo area controller;
FIGURE 46 is a flow chart showing the phase lock state utilized in the servo area controller;
FIGURE 47 is a flow chart showing the various scroll states applicable in the servo area controller;
FIGURES 48-54, Fig. 53 appearing on the page containing Fig. 49, show various state flow charts for controlling the platen scanning lamp and carriage applicable in the servo area controller;
FIGURE 55 is a block diagram showing the input and output port connections utilized in the process area controller;
FIGURE 56 is a flow chart showing the overall sequence governing the communications between the process controller and the master unit;
FIGURE 57 illustrates the different filtering techniques utilized in performing the analog-to-digital readings utilizing the process controller; and FIGURES 58 and 59 are flow charts showing the key operational steps utilized in operating the process controller.

~ i... .

; 3i~

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
System Overview -FIGURE 1 is a block diagram of the overall Master/Area Communication System ~MACS) utilized in controlling the copier/
duplicator in accordance with the instant invention. MACS com-prises a master unit 1 including a master controller 2 in com-bination with a master I/O interface 4. The master controller 2 contains a microprocessor and memory units which govern the various tasks and operational procedures utilized in operatin~
the copier/duplicator. The master I/O interface 4 is respon-sible for interconnecting the various address and data b~ltes from the master controller 2 to a plurality o~ area controllers 6, 8, 10, 12 and 14 which are responsible for specific tasks in the operation of the copier/duplicator. Each area controller 6,8,10,12,14 is dedicated to performing a group of functions which are physically and/or logically related. The area con-trollers take on two general forms, an active controller which has its own processor control capabilities and a passive con-troller which has no processing capabilities per se and is sim-~20 ply utilized to latch outputs from the master controller and feed inputs thereto on ~he command of the master con*roller.
FIGURE 1 illustrates five area controllers but it is within the scope of the invention to utili~e any number of area con-trollers consistent with the address capabilities of the master ~5 controller. Illustrated in FIGURE 1 are three passive area controllers, namely, the paper path controller 6, RDH/ADF con-trol console controller 8 and ~inishing station controller 14.
Two active controllers are illustrated, namely, the RDH/platen SerVQ controller 10 and processor controller 12 0 The master 7;~7 controller 2 is responsible for the majority of system control processing tasks whereas the area controllers are responsible for the machine control functions. Input and output data are ~ransmitted between the master controller 2 and the area controllers 6,8,10,12,14 in a serial communications path via Master/Area Communication Channels 16 which may take the form of a pluxality of fiber optic connections. The utilization of fiber optics interconnection for the MACS transmission channels greatly re-duces control susceptibility to electromagnetic interference generated in the machine. Typically, it is desirable to physicall~
position the area contrbllers in close proximity to the particula~
device or devices controlled thereby.

,7 Machine Descr~ption For a general understanding of an electrophotographic printing machine in which the features of the present invention may be incorporated, reference is had to FIGURE 2 which depicts schematically the various components thereof. Although the con-trol logic employed in the electrophotographic printing machine of FIGURE 2 is particularly well adapted for use therein, it should become evident from the following discussion that it is equally well suited for use in a wide variety of printing machines and is not necessarily limited in its application to the particular embodiment shown herein.
Inasmuch as the practice of electrophotographic printing is well known in the art, the various processing stations for producing a copy of an original document are herein represented schematically. Each processing station will be briefly discussed hereinafter.
As in all electrophotogxaphic systems of the type illus-trated, a drum 110 having a photoconductive surface 112 entrained about and secured to the exterior circumferential surface of a conductive substrate is rotated, in the direction of arrow 114, through the various processing stations. One type of suitable photoconductive material is a selenium alloy such as described in U.S. Patent No. 2,970,906 issued to Bixby in 1961. Preferably, the conductive substrate is aluminum.
~nitially drum 110 rotates a portion of photoconductive surface 112 through charging station A. Charging station A
employs a corona generating device, indicated generally by the reference numeral 116, to sensitize a portion of photoconductive '7~7 surface 112. Corona generating device 116 is positioned closely adjacent to photoconductive surface 112. When en~rgized, corona generating device 116 charges the portion of photoconductive sur-face 112 therebeneath to a relatively high substantially uniform potential. A suitable corona generating device may be of the type described in Unlted States Patent 4,086,~50.

As described therein, the corona generating device includes a corona discharge electrode having a conductive shield located adjacent thereto. The elec-trode is coated with a relatively thick dielectric material so as to substantially prevent the flow oE conductive current therethrough. Photoconductive surface 112 is charged by means oE a displacement current or capacitive couplin~ through the dielectric material. The flow of the charge to photoconductive surface 112 is regulated by means of a D.C. bias applied to the shield.
Thereafter, drum 110 rotates the charged portion of photoconductive sur~ace 112 to exposure station B. E~posure station B is arranged to produce a light image of an ~riginal document or series of documents being reproduced. In the elec-trophotographic printing machine depicted in FIGURE 2, exposure station B operates in one of two modes. In one mode, a plurality o~ original documents are recirculated in an automatic dacument handling system (ADH) so that sets of collated copies may be formed by the printing machine. In the other mode of operation, a single original document is placed on the platen and reproduced by the printing machine. If the platen scan optics are used, mirrors 118 and 120 are moved into the operative position depicted 6~

in FIGURE 2. An original document is placed face down upon a transparent platen 122, such as a glass plat~ or the like. Lamp 124 illuminates the original document disposed on platen 122.
Lamp 124 moves across the original document disposed on platen 122 to illuminate incremental portions thereo~. The light rays transmitted from the original document are reflected hy full rate mirror 126 to half rate mirror 128. Half rate mirror 128 re-flects the light rays through lens 130 onto mirrors 118 and 120.
These mirrors reflect the light image of the original document onto the charged portion of photoconductive surface 112. Drum 110 rotates in synchronism with the movement of the platen scan-ning optics. Thus, the charged portion of photoconductive sur-face 112 is irradiated to record an electrostatic latent image thereon corresponding to the information areas of the original document disposed to the informational areas of the original document disposed on platen 122.
In the automatic document handling system for making pre-collated copy sets, the repeated collated imaging of a set of original documents is obtained by placing and retaining the original documents on an elongated windable document holding web 132. This web is wound between two spaced web scrolls positioned and wound soas to position the document between the tu~ns of the web scrolls. The web is repeatedly wo~ld and unwound from one scroll to theother scroll (recirculated~ to repeatedly expose individual documents thereon in an exposed portion of the web extending between the scrolls. The documents are optically exposed on the web between scrolls for copying. The details of the automatic document han~ling system are more fully disclosed in U.S. Patent No. 4,008,956 issued to Stemmle et al in 1977, During the forward movement of web 132, a lamp (not shown~ illuminates the original documents disposed thereon. Mirror 134 reflects the light rays toward stationary mirror 136 which, in turn, reflects the light rays toward rotat-able mirror 138. Rotatable mirxor 138 transmits the ligh~ rays through lens 140. The light image transmitted through lens 140 is reflected by mirror 142 onto the charged portion of photo-conductive surface 112. In the AD~ mode of operation, mirrors 118 and 120 are positioned remotely from the optical light path.
In the reverse scan mode, i.e. web 132 advances in the opposite direction to the forward movement, mirror 134 rotates 90 about its axis and reflects the light rays transmitted from the original document onto mirror 144. Mirror 138 also rotates 90 about its axis to receive the light rays transmitted from light rays 144. Thus, mirror 138 directs the light rays received from mirror 144 ~hrough lens 140. Once again, the light image transmitted through lens 140 is reflected by mirror 142 onto the charged portion of photoconductive surface 112. At this time, mirrors 118 and 120 are positioned remotely from the optical light. The foregoing optical system for the ADH system is dis-closed in U.S. Patent No. 4,008,958 issued to Kingsland in 1977, Thus, in either mode or operation, an electrostatic latent image is recorded on photoconductive surface 112.
As drum 110 continues to rot~te in the direction of arrow 114, the electrostatic latent image recorded thereon is ~3~;7' advanced to development station C. Development station C in-cludes a developer unit 146 having a housing 148 with a supply of developer mix contained therein. The developer mix comprises carrier granules having toner particles adhering triboelectrically thereto. Preferably, the carrier granules are formed from a magnetic material with the toner particles being made from a heat settable plastic. Developer unit 146 preferably is a mag-netic brush development system. In a system of this type, the developer mix is brought through a directional 1ux field to form a brush thereof. As depic~ed in FIGURE 2, developer unit 146 inclucles a pair of developer rollers 150 and 152. Each developer roller includes a stationary magnetic member having a non-magnetic, rotatable tubular member interfit telescopically thereover. The tubular member is rotated to advance the developer material into contact with the e!lectrostatic latent image recorded on photoconductive surface 112. The developer material is ad-vanced to developer roller 150 and 152 by paddle wheel 15~ dis-posed in the sump of housing 148. Developer rollers 150 and 152 advance the developer mix into contact with the electrostatic latent image and the toner particles are attracted electrostati-cally thereto forming a toner powder image on photoconductive surface 112. As successive electrostatic latent images are developed, the toner particles within the developer mix are depleted. Additional toner particles are stored in toner cart-rid~e 156. A sample electrostatic latent image is recorded onphotoconductive surface 112 and developed. The density of the toner particles adhering thereto is detected via an ADC sensor 157 ~not shown) and compared to a reference density. The error signal developed thereby controls the dispensing of toner par-ticles from cartridge 156. In this manner, the concent ation of toner particles witnin the developer mix is maintained substan-tially constant. Developer rollers 150 and 152 are electrically biased to a suitable voltage. This voltage is adjustable and depends upon the original document as well as the duration of time that the printing machine is activated. After the toner powder image has been developed on photoconductive surface 112, corona generating device 158 applies a charge thereto so as to pre-condition toner powder image for transfer. Preferably, corona generating device 158 is also of the type described in United States Patent ~,086,650.

Ideally, carrier granules re~ain in housing 148 of devel-oper unit 146. However, inasmuch as the sealing arrangement is imperfect, carrier granules may adhere to photoconductive sur-face 112 of drum 110. A scavenging roller 160 is provided for removing these carrier granules. Scavenging roller 160 comprises a magnetic member and a rotatable, non-magnetic tubular member interfit telescopically thereover. The tubular member rotates relative to the magnetic member. In this manner, the magnetic carrier granules are attracted from photoconductive surface 112, while the toner powder images remain undisturbed thereon.
With continued reference to FIGURE 2, a sheet of support material is advanced by sheet feeding apparatus 162 or 164 from either tray 166 or tray 168. Conveyer system 170 advances the sheet of support material to transfer station D. Rollers 172 - ~2 -~7' speed up or slow down the advancing sheet of support material so as to ensure that it moves into contact with drum 110 in a timed sequence so that the toner powder image developed thereon con-tacts the advancing sheet of support material at transfer station D.
Transfer station D includes a corona generating device 174 which charges the backside of the sheet of support material to a level sufficient to attract the toner powder image from photoconductive surface 112. Preferably, corona generating de-vice 174 is also of a type described in copending U.S. Patent
4,086,650.

After transfer of the toner powder image to the sheet of support material, a vacuum stripping system 176 separates thesheet from photoconductive surface 112 and advances it to fusing station E. If vacuum stripper 176 fails to separate the sheet from photoconductive surface 112, a redundant mechanical finger~
i.e. stripper finger 198 activated by solenoid 199 (not shown), is provided to ensure separation of the sheet therefrom.
Fusing station E includes a fuser assembly, indicated generally by the reference numeral 178. Fuser assembly 178 fuses the transferred toner powder image to the sheet of support material. A suitable fuser comprises a heated fuser roll 180 and a resilient backup roll 182 in contact therewith. In this manner, the sheet of support material advances between fuser roller 180 and backup roller 182 with the toner powder image contacting fuser roller 180. Preferably, fusing assembly 178 ~ ~ 7 is of a type described in U.S. Patent 3,912,901 issued to Strella et al in 1975.
After the toner powder image is permanently affixed to the sheet of support material at fusing station E, a series of rollers advance the copy sheet either to finishing station F or to duplex tray 183. When duplex copies are being reproduced, the sheet of support material with the toner powder image perma-nently affixed on one side thereof is advanced to duplex tray 183. In the ADH mode of operation, a plurality of sheets are stored in duplex tray 183 having the corresponding toner powder images permanently affixed to one surface thereof. After web 132 with the original documents thereon has advanced through one pass, the odd numbered sheets are copied. During the next.
forward scan, the even numbered sheets are copied and the infor-mation contained therein placed on thereverse side of the copy sheet. This sequence may be reversed. Tray 183 is arranged to hold a plurality of sets of copies therein. Each sheet of sup-port material having the toner powder image permanently affixed to one surface thereof is advanced from tray 183 by sheet feeding apparatus 184 onto duplex conveyer 185. Duplex conveyer 185 advances the copy sheet to conveyer system 170 where the sheet once again is advanced to transfer station D so as to receive the toner powder image corresponding to the second side thereof.
Once again, the reverse side of the copy sheet passes through transfer station D and fusing station E. However, at this time the copy sheet is advanced to finishing station F. This duplex-ing arrangement is described more fully in United States Patent ~,116,558 ~.. i ~ ~3 After the toner powder image has been permanently fused to the copy sheet, either the duplex or simplex copy sheets are advanced by a series of rollers 186 to finishing conveyers 188.
Finishing conveyors 188 advance the copy sheets to trays 190 or 192. The sheets are stacked in one tray, e.g. tray 190 with the odd sides up and the even sides face down, while in the other tray, e.g. tray 192 ~ith the even sides up and the odd sides down. This orientation is required because of the forward and reverse movements of web 132. After the requisite number of copies have been stacked in the appropriate tray, i.e. sufficient copies to define a collated set thereof, staplers 194 and/or 196 are actuated to permanently secure the sheets to one another.
In this manner, sets of collated copiec are stored in trays 190 and 192 with each set having the copiec; thereof stapled to one another.
Invariably, after the sheet of support material is sepa-rated from photoconductive surface 112, some residual toner par-ticles remain adhering thereto. These residual toner particles are removed from photoconductive surface 112 at cleaning station G.
Initially, discharge lamp 20~ floods photoconductive surface 112 to assist in the dissipation of any electrostatic charge remaining thereon prior to the cleaning thereof. Residual toner particles are ~hen brought under the influence of a corona generating device 200 adapted to neutrali2e the remaining elec-trostatic charge on photoconductive surface 112 and that of the residual toner particles. Preferably, corona generating device 200 is of a type described in U.S. Pa~ent 4,086,650.
The neutra-lized toner particles are cleaned from photoconductive surface 112 by a rotatably mounted fibrous brush 202 in con~act therewith.
In addition, subsequent to cleaning, a discharge lamp 206 illu-minates photoconductive surface 112 to dissipate any residual electrostatic charge remaining thereon prior to the charging thereof for the next successive imaging cycle.
It is believed that the foregoing description is suffi-cient for purposes of the present application to illustrate the general operation of an electrophotographic printing machine.
Referring now to the specific subject matter of the present inven~
tion, FIGURES 3 through 27describe the control system for the electrophotographic printing machine of FIGURE 2 in greater detail ~` .

Master/Area Communication_System FIGURE 3 illustrates a more detailed block diagram of the master controller and the active and passive.area control-lers of FIGURE 1. For simplicity of illustration only one passive area controller such as the paper path controller 6 and a single active controller such as the process control controller 12 is illustrated. The master controller 2 com-prisPs a central processiny unit and system controller identi-fied as a master microprocessor 300. A number of existing microprocessor systems may be utilized to practice the present invention and the detailed description herein utilizes the INTEL
8080A-2 CPU and INTEL 8238 System Controller. The master micro-processor 300 is shown connected to memory units utilized to store program memory and for temporary sto.rage of various con-trol and sense parameters. The memory units comprise a read only memory (ROM) 302, a random access memory (RAM) 304 and a non-volatile memory (NVM) 306. The ROM memory may be for exam- -~
ple a 48KB (bytes) masX programmable ROM, while the RAM may comprise a 2KB (byte) static MOS scratch pad memory and a 1 KB
(bit) flag storage MOS RAM (.bit D7 of RAM). The ROM may be fabricated, for example, using 2K x 8 ROM chips model No. 8316A, and the RAM memory may be implemented using lK x 1 chips, model No. 2102.. The NVM may be fabricated usin~ 512 x 1 RAM chips model No. 52222 (American Microsystems Incs~. Equivalent chips may ~f course be utilized as for example the NVM may be fabri cated from 256 x 4 chips (model No. 5101L) if desired. The me~ory units are interconnected to the master microprocessor 300 6~

by means of a tri-state master system bus 308 which is also interconnected to the master I/O interface 4. The tri-state master system bus comprises eight data lines DO-TS through D7-TS
sixteen address lines A0-TS through A15-TS and a numher of con-trol and cloc~ lines. The master microprocessor 300 is sup-plied with clock signals from the clock source 310 (INTEL clock generator 8224 for example~ and is powered by an external power supply 312. Power for the various circuits in the master con-troller 2 as well as the master I/O interface 4 is first fil-tered by means of a filter circuit 314. A power normal signal is also fed to the master controller along line 316 from the power supply to indicate that power i9 Up to normal operating levels. A reset signal from reset circuitry 318 is utilized to reset the various registers throughout the master controller and master I/O interface during a power up or initialization sequence. The power supply 312 also supplies power to the various remote controllers by means of lines 320.

~ .

A more detailed description of the master controller 2 ~ay be found in United States Patent 4,137,565 , entitled Direct Memory Access Module for a Controller, ` assigned to Xerox Corpora-tion.

The passive area controller exemplified by the paper path controller 6 comprises an area I/0 interface circuit 340, latches 342 and drivers 344 ~hich provide outputs to one or a plurality of machine controlled devices. Sense data is supplied from various sensing means to represent the current deYice opera~
tional state whose function is governed by the particular passive controller of interest. The sensed data is fed to buffers 346 and subsequently to the. area I/0 interface 340 for transmission along the master area communication channel 16 to the master unit 2... The actiye area controllers are similar in function to the passive area controllers and likewise contain an area I/0 interface 340, latches 342 and driyers 344. Sensed data may be provided to the master unit 2 through buffers 346, the I/0 inter-~ace 340 and the communication channel 16. Additionally, how-ever, the active area controller contains an area microprocessor/
interface 348 which is separate and distinct from the master mi-cxoprocessor 300. Shown in FIGURE 3 the area microprocessor/
interface 348 is connected by mezms of an area system bus 350 to a plurality of latches 354 which feed drivers 344 to control vaxiQus machine parameters. The area microprocessor/in~erface 348 may additionally provide input information to latches 352 for suhsequent feeding to the master unit 2 via the area I/0 interface 340~ The ~rea microprocessor/inter~ace 348 may also be utilized to control analo~ data to various machine devices and to sens.e analo~ data ~rom ~arious machine sensin~ means ~tilizin~ D/A converters 364 and A/D con~erter 366 respectively.
Data whi:ch.is not contro-lled ~y the area microprocessor/inter-face 348 may ~e fed to and from the master unit 2 by means of th.e direct paths 36Q and 362 as illustrated in FIGURE 3.

~ t7 The servo control area controller lQ is similar to the process controller 12 and supplies a machine clock signal to the master unit 2 along channel 370 (see dotted line in FIGURE 3~O
This signal is derived from the photoreceptor drum of the copier/
duplicator and is passed along a fiber optic link of channel 37Q
to provide an interrupt signal to the master microprocessor 300 The machine clock signal thus enables a synchronization of the master microprocessor 300 to the actual copier/duplicator machines operation.

The Master Area Communication System utilizes a set of bi-directional communication channels 16 which independently couple each area controller 6,8,10,12,~4 to the master unit. Each channel 16 comprises three groups of signal lines, namely, L5 data-in, data-out and clock. The data-in and data-out lines are defined relative to the master controller and in the description set forth herein this terminoloqy has been maintained throughout even in relation to data in area controllers 6,8l10,12,14. Data transfers between the master and area controllers is in bit ~~ serial form in eight bit in~rements (bytes). An I/O transaction may be an input only transaction or a cor.lbined input~output transaction as specified by an initiating command byte from the master unit 1. All transmissions are in synchronism with and at the same rate as the 1.25 MHz clock signal from the master unit 1 All MACS communication is initiated by and llnder control of the master unit 2. Communication is always between the master unit 1 and the area controllers and communication never takes place directly between the area controllers.

~ 30 -. , .

7~:~

FIGURE 4 is an expanded block diagram of the master I/O
interface 4, the communication channels 16 and their intercon-nection with the various area I/O interfaces 340. The data bus 414 forms part of the master system bus 308. For ease of illustration, only one such area I/O interface 340 is drawn althou~h similar components are utilized for all area controllers FIGURE 4 illustrates input data lines and output data lines for as many as six different area controllers. One fiber optic interconnecting link 398 is provided for input data be-tween each of khe area controllers and the master I/O interface 4. Data from the area controllers (input data) is ~ed to re-ceiver amplifiers 4QO interconnected to each of the fiber optic links 398. The received data is "ORed" by means of OR
gate 4a4 and fed as an input to multiplexer 4060 In normal operation the data is only recei.ved from a particular area con-troller in response to a command from the master unit and con-sequently only one area controller will be active in transmit-ting data at any one time. (An exception to this rule exists in the simultaneous transmit and receive mode which will be explained more fully below). IndiYidual data lines 408 ~rom each o~ the data-in lines of the area controllers are also fed to ~ultiplexer 406 where they ~ay be selected for particular test mqdes to isolate Xaults in a particulax area controller.
Data raceived fxom the OR ~ate 4Q4 is passed throu~h the re-ceiyin~ mux 4Q6 and fed to a Serial Data Input (SDI) register 410 which in turn feeds the data to a Command Check Byte (CCB) register 412. The SDI and CCB registers provide the input data in parallel form to a master data bus 414 which forms the eight data lines D0-TS through D7-TS of the master system bus 308.

Output address words from the master controller 2 are provided along the master data bus 414 to a Master Command Byte (MCB) register 416. Output data is provided from the data bus 414 directly to a Serial Data Out (SDO) register 418. The MCB
register 416 is utilized together with a parity generator 420 to load an Area Command Byte (ACB) register 422. ACB register 422 is ten (10) bits long and holds an area comma~d address word whereas the SDO register 41R is an eight (8) bit register storing the Data Out Byte. Together, these registers provide a serial output data stream of eighteen (18) bits to each of the area controllers via the fiber optic i.nterconnecting links 16.
The ACB register 422 e~fectively provides an addressing means to select a particular area controller and to select a particular group of input or output data lines within the selected area controller. The SDO register 418 provides the actual data to be transmitted to the designated area and output lines (ports~.
The gating of the various input re~isters (SDI register 410,and CCB re~ister 412) and output registers (ACB register 422 and SDO register 418~ as well as the MCB register 416 are controlled by a control logic circuit 424. The control lo~ic circuit 424 receives address lines A0-TS throu~h A18-TS as well as a plural-ity of control lines from the ~aster system bus 308 to ef~ec~
tively decode and control the data on the master data bus 414.

~ j d, `

Shi~ting of the registers is synchronized with a 1.25 MHz clock signal from clock generator 426 which provides a 1.25 MHz clock signal to each of the area controllers. These clock signals are fed along line 428 to drivers 402 for transmission via fi~er optic links 398 to the area controllers~

Output data from ACB register 422 and SD0 register 418 i~ likewise shifted at the. 1.25 MHz rate to a master data out line 425 and subsequently to drivers 402 and fiber optic links 398. Output data is also fed via a turnaround test line 430 to multiplexer 406 to optionally provide input data to the CCB
register 412 and SDI register 410 in a master test mode of operation.

The control logic 424 decodes the address bits on the master. system ~us 3Q8 address lines to determine if the address decode corresponds to the master I/O inter~ace 4 so that the in-put and output registers may be appropriately gated.

The area I/O interface 340 comprises ~rea input register 450, axea output register 452 and control logic 454. The con-trol logic 454 decodes the address receiYed fro~ the ACB register 422 Qf the.master I~0 interface 4 and seIects parti.cular groups of the input and output lines for providing or re.ceiving data respectiveI~ Each area. controller is provided with a plurality ~7 ~;~ `

of output ports 456 and input ports 458. In the preferred embodiment there are eight input ports and Pight output ports wherein each port may contain as many as eight separate lines.
Consequently, there may be sixty-four separate input signals and sixty-four separate output siganls to and from any given area controller. More specifically in terms of the detailed implementation of the control logic, input and output ports may be defined in terms of buffers and latches. Output data bytes are stored in output ports or latches either for direct use by the machine or for use by other circuits in the area controller such as the area microprocessor/interface 348 (FIGURE
3). Input data bytes selected for transmittal to the master unit 2 are routed through buffers or input ports. Data is fed to the input ports directly from the host: machine. In the case of data from the area microprocessor sent to the master unit 1, the data is fed to latches which are used as input ports.

The particular I/O interfac~ 340 shown in FIGURE 3 is common to both active and passive area controllers. The addi-tional circuitry utilized in the active controllers is described in detail in relation to the more detailed implementation set forth hereafter.

~C5 Optical Link The master/area communication channel 16 may comprise data channels implemented by simple wire conductors or, alternately, by fiber optic links as illustrated in FIGURE 4C.
The fiber optic apparatus shown in FIGURE 4C is common to both the clock and data lines, and a separate driver and receiver circuit are utilized for each channel 16. The light source is typically an LED and the received data from amplifier 400 is passed through a discriminator to produce two level logic signals.

6~

MACS I/O Instructions and Operational Overview Preparatory to all serial communications over MACS, the master microprocessor 300 first generates a Master Command Byte into the MCB register 416 via the master system bus 308 and particularly the master data bus 414 forming part thereof.
The Master Command Byte is efectively a ten (10~ bit area command address word which specifies which of the six possible ; .
area controllers is to participate in the MACS communication.
Actual data transfer of the data in the SDO register 418 follows immediately the transfer of the Master Command Byte. The com-mand information specifies both the type of trans~er, such as input (read) or input/output (duplex transmission) as well as the speciflc group of eight bits to be sensed (input operation) or to be sensed and set (duplex operation). The contents of the MCB register 416 are uneffected by the transmission of the Area Command Byte inasmuch as the contents of the MCB register 416 are shifted into the ACs register 422 and then serially shi~ted from the ACB register 422 to all of the area controllers. The MCB register 416 can only be altered by a subsequent MCB write . .
operation directed by the master microprocessor 300.

In relation to FIGURES 3 and 4, the master microprocessor 300 initiates andcontrols communication over M~C~ through the master I/O interface 4 Yia the master system bus 308. Both con-trol and data transfers are performed through execution by the master microprocessor 300 of a sequence of memory reference in-'7 tructions to specific, dedicated addresses. These addresses are decoded directly off o~ the master system bus 308 and inter-preted by the master I/O interface 4 to cause a desired I/O
operation to occur.

~ o memory addresses are dedicated for writing into the MCB register 416 by the master microprocessor 300. The "LOAD
~CB" instruction is utilized to load the MCB register with a Master Command Byte in preparation for an I/O transmission. This instruction is utilized together with a subsequent write opera-tion namely, the "LOAD SDO AND START TRANSMISSION" instruction which loads the output data byte from memory (via the master data ~us 414) into the SDO register 418 Additionally, the "LOAD SDO AND START TRANSMISSION" instruction constructs and loadæ the Area Command Byte into -the ACB register 422 from the MCB register 416. One bit of the ACB register is set by the parity yenerator 42Q and a second bit of the ACB register is set by a command si~nal indicating a duplex or read only transmis-sion, the R/D bit~ Finally, the "LOAD SDO AND START TRANSMISSION' instruction is effecti~e to start the actual MACS transmission.
The Area Command Byte residing in the ACB register 422 is trans-mitted first followed by the Data ~ut Byte residing in the SDO
register 418.

A second dedicated memory address is utilized for writing into the MCB register. This alternate address is utilized in exe.cuting the "LOAD MCB AND START TRANSMISSION" and is effec-tive to load a Master Command Byte from memory (,master data bus 414) into the MCB register 416~ Additionally, this instruction constructs. and loads the Area Command 3yte into the ACB register 422 appxopriately setting the read/duplex bit and the parity bit.
Finally, the'instruction is utilized to start the actual MACS
transmission., "LOAD ~CB AND START TRANSMISSION" consequently eliminates time delays associated with loading the SDO register 418 when initiating input only MACS transmissions (R/D bit equals zero)~

The start o~ a MACS transmission for both.the input only or comhined input/oukput (duplex) operation causes the broadcast of the serial bit stream from the least significant bit posi-tion of the ACB register 422 simultaneously to all area con-trollers. Each area output register 452 of the area controllers simultaneously receives the transmitted Area Command Byte from the ACB règister 422 follo~ed by the Data Out Byte transferred ~rom thè SDO register 418~ The Data Out Byte is serially shifted throu~h th,e ACB re~ister 422.

Th.e txansmission format for data in the various registers is. illustrated in FI.GURES 5 and 6., With re~e.rence to FIGURE 5, the data bits D0-D7 from the master data bus 414 are parallel 7;2~

loaded into the. master comm~ld bit register 416 during a "LOAD
MCB" instruction for example. Bits. DQ-D2 are termed the Byte Address bits Cl~C3 and are utilized to select a group of eight input (sensed) lines as well as a group of eight output signals from a designated input and output port of a designated area controller. The des.ignation of the area controller is made by means of Channel Select bits, CSl-CS3 which correspond to bits D4-D6 respectively from the data bus. Data bits D3 and D7 are not utilized in the MCB register 416 although bit D7 is available as a reserve command bit for special use if desired.

In a typical transmission operation the contents of the MCB register 416 are parallel loaded into the ACB register 422 (with the exception of ~it D3~. As shown in FIGURE 5, Byte ~ddress bits Cl-C3 are loaded into bits 1-3 of the ACB register 422/and the Channel Select bits CSl-CS3 are loaded into bits 4-6 of the ACB register 422. The 0th bit of the ACB register 422 is loaded ~ith. a "one" ~it to indicate a Start of Transmission (ST~ Bit 7 of the ~CB register 422 is loaded by the parity generator 42~ to provide either an even or odd parity over tha preceding AC~ bits 0-6.. Bit 8 of the AC~ register 422 is loaded from th.e reserYe command bit D7 of the MCB register 416 whereas bit q of the. ACB register is loaded with a "R/D" bit indicati.ve of a read only (R~ operation or a duplex (D~ input/output opera-tion as. dict-ated by the type. o instruction being executed by th.e master microprocessor.300~. Consequently, the ACB register 422 contains ~h.e necessary byte and channel selection bits supplied by the MCB register and the Area Command Byte is trans-.

mitted prior to the actual Data Out Byte from the SDO register 418.

Th.e terminology "Area Command Byte" is utilized to re~er to all of the bit~ in th.e ACB register 422 even though the register is ten ~its long.. Typically, however, a hyte is eight bits long and in particular, the Data Out Byte is composed of the eight blts Ll-L8 stored in the SDO register 418 as shown in FIGURE 6. FIGURE 6 illustrates the transmission format of data being sent to and from the master unit as would apply, for example, in a typical duplex operation. The Area Command Byte always precedes the Data Out ~yte sent from the master I/O
interface 4. Upon receipt of the ST bit, each area controller examlnes the Byte Address Cl-C2 for potential selection of a group of eight input lines and eiqht output lines (the input and output ports). Next, each area controller samples the Channel Select ~its CSl-CS3 and compar~s their value with a three-~it identification value (hard-wired) unique to each area controller. The single area whose unique identification value matches the received channel select value determined by the Channel Select bits CSl~CS3 will remain active and proceed to interpret the data tran~fer co.mmand as an input only or duplex operation and to ~ct upon the Data Out Byte as required. All other axeas cease to participate ~urth.er in the. MAC~ transmission.
The. active area contxoller seIected trans~ers the value of the ~eIected group of eight input bits (designated by the Byte Address~ to its area input register 450 (see ~IGURE 4) and shifts this data, as a Data In Byte back to the master unit 1 in 2 time sequence as illustrated in FIGURE 6. As seen therein, the first bit of the Data In Byte is transmitted after the parity bit from the master controller is received in the area controller. The last Data In bit is transmitted while the fifth bit is being received from the Data Out Byte. Consequently, the duplex operation involves the simultaneous transmission and reception of data by the master I/O interface 4. The sPlected area not only transmits the Data In Byte but also selects the designated group of eight output lines specified by the Data Out Byte received Erom the master I/O interface 4. Area timing is such that, for duplex operation, the Data In Byte is shifted back to the master unit 1 overlapped in time with the Data Out Byte. An entire duplex transfex requires eighteen shift clocks to be completed as illustrated iIl FIGURE 6.

After the Input Data Byt~ has been loaded into the SDI
register 410 (FIGURE 4) the master controller 2 may read the , input data by executing a "READ SDI" instruction or alternately "RE~D SDI AND START TRANSMISSION" instruction. The "READ SDI"
instruction completes the I/O operation and transfers the data from the SDI register 410 to the master controller 2 via the master data bus 414. The master I/O interface 4 then waits for the next I/O command. The "READ SDI AND START TRANSMISSION"
instruction automatically reinitiates data transfer utilizing the previously established Master Command Byte which remains stored in the MCB register 416. Now, however, the input only mode is selected, e.g. bit R/D of the ACB register is set to "0". In theinput only mode, the SDO register 418 contains all zero's inasmuch as it is serially loaded with zero's during a data transfer. The utili~ation of the "READ SDI AND START
TRANSMISSION" instruction is advantageous for rapid multiple readings of input data as required for effective dlgital filter-ing of inputs. Typically, for example, software filtering utilizing this rapid multiple reading technique requires three consistent consecutive input data bytes. If three such consis-tent consecutive bytes are received, the data is taken to be free from error.

The master I/O interface 4 also provides facilities for reading the CCB register 412 and k1CB register 416 for interrupt processing and diagnostic purposes.

Table 1 listed below shows the specific addresses uti-lized by the master microprocessor 300 of th~ master controller 2 for control and data transfers.

Il - 4~ -TABLE I

ADDRESS READ FUNCTION ~RITE FUNCTION
(HRX ) _ .
EDFC READ MCB LOAD MCB
EDFB READ SDI & LOAD SDO & START I/O
START I/O
EDFA READ SDI LOAD MCB & START I/O

EFF 8 READ. .CC~ . NO OP .
_ _ _ Simultaneous ~rea Operation In addition to communication between the master unit 1 and the specific area controllers 6-14, the master unit 1 may communicate with all of the area controllers simultaneously. To achieve simultaneous communication, the Channel Select bits are se-t to address 7 (CS3, CS2, CSl = 111~ in the Master Command Byte. Each area controller recognizes channel 7 as a simul-taneous mode transmission and consequently a common data byte may be simultaneously transmitted to each area controller. A
common Output Data Byte is thus fed to the same output port in all area controllers as specified by the Byte Address bits Cl-C3 (Cl-C3 = 111 is used in practice). Additionally, this pro-cedure allows the master unit 1 to read inputs for more than one area con-troller with a single I/O transaction. Inasmuch as the input lines are "ORed" together into a single serial input register, namely, the SDI register 410, mutually exclusive bit positions are assigned within the common Input ~ata Byte to the area con~roller during the simultaneous mode transmission. A11 bit positions within the common Input Data Byte not specifically asslgned to an area controller are strapped to a value of "0"
to avoid interference at the master unit 1. The simultaneous area operation may be utilized, for example, to effect a psuedo-interrupt procedu~e which is effectiyely a polling of Yarious input data lines to the master unit 1 from each ~or any desired number~ of the area controllexs~ The mas~er microprocessor 30Q
has a single interxupt line which is actuated by the machine clock signal along channel 370 (FIGURE 3). This interrupt however, initiates a polling of the area controllers under a simultaneous a.ddressing mode (address 7) to sample selected lines of th.e area controllers as a psuedo-interrupt byte. As a result, a single interrupt line of the master microprocessor 300 may be expanded into a plurality of psuedo-interrupt inputs from the area controllers.

Status Read and ~rite Commands _ _ In addition to the memory read and write commands listed in Table I, the master microprocessor 300 may execute status read and write instructions ~also listed in Table I~ to sense and control certain discrete master controller functions. The master microprocessor 300 operating under program control con-sequently may execute read and write memory reference instruc-tions to address X~EDF9'. Data bytes transferred across the master data bus 414 during status read and write operations are called Master Status Read Bytes and Master Status Write Bytes respectively. The unction cf each bit in the Status Bytes is set orth in Tables 2, 3 and 4 below.

Master Statu~ Re~ad_ yte ~STER DATA BUS
BI~ POSITION BIT NAME FUNCTIONAL DESCRIPTION OF BIT
7 CLKFT Clock Fault; when set indicates that no shift clock is being transmitted to the areas. If this FLAG is set r the software will inspect bit 6 to determine the polarity of the clock.
6 ASHFTCLK Area Shif-t Clock State, direct indication of the state of the CLOCK output to the area con-trollers.
__ 4 _~
3 - Not defined 2 __ --~
0 HOLD Transmission incomplete. Equals "1" only when transmission is ln progress.

r Master ~Statùs; Write~ Byte MASTER DATA BUS
BIT-POSITION BI~ NA~E- FUNCTIONAL DESCRIP~ION BIT
_ 7 CLKEN When set to "Q", disables the clock to all area controllers.
(Forces clock low). When set to a "1", enables the clock to each area controller.
6 -~ Not defined.
RC3 Receiver Control Bit 3 4 RC2 Receiver Control Bit 2 3 RCl Receiver Control Bit 1 RC3, RC2, RCl are defined in Table 4.
2 CFTOK Area C/F Test OK Flag. When set to a "1", causes the Area C/F test passed light (LED) to be on, when set to a "0", extinguishes the light.
1 MTOK Master Test OK Flag. When set to a "1", causes the "Master test pass" light (LED) to be On, when set to a 0, extin-guishes light.
O PARTIY ~hen set to a "1", creates parity error in ~he parity bit transmission, by complementing correct parity. When set to a "0'~, correct parity is generated.

^,7 Master Status Write Byte-- Receiver Control Bits RC3 RC2 RCl Input Selected _ 0 0 0 The 'ORed' serial data input lines from all areas is selected. This setting is for norm~l MACS operations.
0 0 1 The serial data input line from the single ~ ~ Area specified by the RC bits (Area 1, ~ ~ 2.. ~6~ is selected. These RC settings are test modes to isolate a failing Area Controller.
1 1 1 The serial data output line from the Master SDO/ACB registers is selected.
This is a Master turnaround test mode to isolate Master failures. At the com-pletion of a serial transmission in this mode, the SDI/CCB registers will contain the contents of the SDO/ACB registers.

~7;~

Master Controller A more detailed description of the master I/O interface 4 and the various area controllers and their interconnection in the Master/Area Communication System is set forth in ~IGURES
7-27 The-master I/O interace 4 is connected to the master controller 2 by means of the tri-state master system bus 308 which comprises sixteen address lines (A00-TS through A15~TS), eight data lines (D0-TS through D7-TS) and a plurality of con-trol or status lines to be set forth hereinbelow. As indicated in FIGURE 7, the address and data lines coming from the tri-state master system bus 308 are passed through buffers 800 to provide two-level logic signals for the master I/O interface 4.
Various of the signals are inverted as for example the not inter-rupt acknowledge signal (NINTAIO-TS) which becomes the interrupt acknowledge I/O signal (INTAIO~ for use in the master I/O inter-face 4 logic circuitry. The various control signals are derived from the master controller 2 as e~lained in detail in the aforementioned copending application entitled "Direct Memory Access for Refresh of a Programma~le Control Machinel'. Most of these signals are derived from the Intel 8080A-2 microprocessor and reference is made ~o the Intel Users Manual dated September 1975 for detailed description thereof~

A brief description of the. various control signals from the master controller 2 is set forth herein~ In th.e follo~ing description the letter N preceeding a signal neumonic is indica-tive of the logical inverse signal or the "bar" signal. Thus, the NDBIN signal is low, and the DBIN signal is high when data is loaded into the data lines D0-D7 of the microprocessor 300.

NRESET-TS is a logical 0 whenever the system is being reset as for example during a power up or initialization process.
The NERSET signal is fed to the various shift registers used throughout the master I/O interface 4 and is likewise fed to the microprocessor 300 after the power supplies have settled during an initial power-on operat.ion. In effect, this reset signal is derived from the power :normal signal along line 3].6 of FIGURE 3.

The NMEMWRITE-TS and N~MREAD-TS signals are efectively the memory read and memory write signals utilized in the Intel 808Q CPU during the status portion of the machine cycle. The memory read information is effectively the D7 status bit whereas th.e memory write signal is effectively Dl~D4. The microprocessor 30Q is utilized in a memory mapped I/O architecture such. that all I~O is considered in the memory address space of the CPU.

The NWR-TS signal is the not write signal from the microprocessor 300. The NINTAIO-TS signal is the not interrupt acknowledge signal derived from the DO status bit of the status word for the master microprocessor clocked by the microprocessor phase 1 clock (PHl) and enabled by SYNC. The SYNC signal is generated by the microprocessor at the beginning of each machine cycle and is used to synchronize the master I/O interface and peripheral circuits. The NREADYEN-TS (not ready enable) signal is derived from the microprocessor and indicates that th~ address lines have settled on the master systam bus and the read signal to the CPU may be generated if desired. The ~DBIN-TS signal is derived from outputs of the microprocessor and indicates that the master data bus is in the data input mode.
- 5~ -Mast:er_I~/O Interface The master I/O interface 4 comprises an ACB register 422, MCB register 416 and SDO register 418. These three registers are shown in greater detail in FIGURE 8 wherein the ACB register 422 i5 fabricated, for example, by means of the series conbination of an eight bit register 850 and a four bit register 8520 The four bit register output line 854 i5 connected to the serial input line of the eight bit register 850 so that an effective twelve bit parallel input/serial output register may be formed.
In effect, only ten bits of this effective twelve bit register are utilized consistent with the area command byte length as shown in FIGURE 5. By way of example, the eight bit shift register may be model No. 74166 (Texas Instrument SN 74166) and the four bit register may be model No. 74194. The various clock signals and strobe signals utilized to operate the shift reg-isters are derived ~rom logic circuitry to be discussed herein below. EffectiveIy, howeverr registers 850 and 852 are operated to parallel load data from the MCB register 416 and to serially shift this data out along the master data out line 425. The Area Command Byte and Data Out Byte are encoded by phase encoder 840 comprising exclusiYe OR gate 842 and inverter 844. The clock input to exclusive OR gate 842 is the area shift clock pulse from clock generator 426. The data is phase encoded to minimize adverse temperature effects and noise on the fiber optic link,dri-ers and receivers. As a result of the phase encoding, a transmitte~
logical 1 is in phase ~rith the area shit clock ~Thereas a logical O is out of phase.

The MCB register 416 is also shown in FIGURE 8 to com-prise two four bit shift registers 856 and 858, each, for example, model 74194 and operable in a parallel in/parallel out mode.
The outputs of shift registers 856 and 858 are shown connected to various input lines of the ACB shift registers 850 and 852.
The inputs for the MCB reyister 416 are the data lines D0-D7 from the master data bus 414 (via buffers of FIGURE 7). The parallel in/parallel out operation of the four bit shift reg-isters 856 and 85g is achieved by holding the mode control lines S0 and Sl to a logical "1" state by means of a conventional pull-up resistor network (indicated in the drawing by +V) which is also utilized to maintain the clear (CLR)input high (logical "1").
Consequently, input data is fed to the output lines of shift registers 856 and 858 upon a positive transition (low to high) of the input clock signal "NLDMCB".

The SDO register 418 is also shown in FIGURE 8 to consist of an eight bit shift register 860, model No. 74166, operable in a parallel load/serial output mode. The output of shift register 860 is fed to the input of four bit shift register 852.
The various clock signals utilized to load and shift the ACB
register 422, MCB register 416 and SDO register 418 are explained more fully below. It may be seen however, that bits D0-D7 from the master data bus 414 are loaded into the MCB register 416 and are subsequently parallel loaded into the ACB register 422.
With reference to eight bit register 850 of the ACB register 422, the start transmission (ST) bit of shift register 850 is loaded with a high or logical 1 signal from a pull up network into bit position zero. The following six data hits in shift register 850 are loaded from the MCB four bit shift registers 856 and 858. Specifically, the Byte Address bits Cl-C3 and the Channel Select bits CSl-CS3 are connected to the inputs of the. eight ~it shift register 850~ A parity signal is also shown fed to an input of eigh.t bit register 85Q and derived from a parity generator set ~orth hereinbelow. The parity ~it position occupies the seventh bit position in the ACB register. The eighth bit position is the reserve command bit presently not utilized and is supplied by the four bit register 858 of the MCB register 416 into register 852. The ninth bit position of the ACB register is the "R/D" bi.t which designates the read (R) or duplex (D) mode of transmission.

It may similarly be seen that the input of the SDO reg-ister 418 is simply the data bits D0-D7 from the master data ; bus 414. ~he clock inputs to the eight bit register 860 ensure that the SDO register captures the Data Out Byte forming the second word of the transmission sequence whereas the first word or Area Command Byte is captured first by the MCB register 416 and su~sequently loaded into the ACB register 422.

The loading and shifting of shift register 860 is con-trolled, in part, by means of logic circuit 862 which comprises inverter 864, NAND gate 866 and NOR gate 868 as shown.

On the input side for receiving data from the various area controllers, the master I~O interface 4 comprises a multiplexer 406, SDI register 410 and CCB reyi~ter 412. These elements are shown in greater detail in FIGURE 9. The data-in lines from the area controllers are first buffered in buffer 870 (model no.
8097) and fed to an OR gate 404 (FIGURE 4) consisting of NOR
g.ates 872 and 874 having outputs connected to the input of a NAND
gate 876. The output of NAND gate 876 is termed "AOREDDATA"
indicating that it is the area "ORed" data~and this signal is fed as one input to multiplexer 406. Additional inputs to the mul-tiplexers 406 are supplied from the individual area data lines and are identified as "ADATAINl'l through ADATAIN6". Four addi-tional inputs to the multiplexer 406 are shown. One input is sim-~1~ the master data outMDOsignal ~rom the master dataoutline 425 via 430 which is utilized for turn-around testing, and the remaining three inputs to multiplexer 406 serve as a mode selective code for multiplexer 406. These three bits are simply the ReceiYer Control ~its RCl-RC3 de~ined in Table 4~ In normal operation these ~its are Q and the: "ORed'~ data is selectea.. The multiplexer :4a6 may for example be model no~ 74151 wherein th.e strobe signal is gr~unded and the inverted output data terminal w is utilized.

The output of multiplexer 406 appears on line 878 and is designated "NSDATAIN", the not selected data in signal. The NSDATAIN si~nal is inverted by means of NOR gate 880 conditioned by a load delay "LDDLY" signal to be explained more fully below.
The selected data input signal, SDATAINr is fed to the input of SDI register 410 illustrated in FIGURE 9 as an eight bit shift register 882. Register 882 may, for example, be model no.
74164 utilized in two modes: a serial in/serial out mode and a serial in/paralleI output mode as required~ Eight bit register 882 outputs data to the CCB register 412 which comprises two additional eight bit registers 884 and 886, each for example r model no. 74164. The outputs of eight bit register 882 of SDI
register 410 are designated SDI-0 through SDI-7 indicative of the eight serial data-in bits. Likewise, CCB register 412 has outputs indicated as CCBO through CCB9 corresponding to the ten bits in the Area Command Byte. Efectively, the CCB register is utilized during turn-around operations to check the bits in the ACB register 422. Consequentlyr the CCB register 412 is designed to be ten bits long~ The CCB register 412 is also utilized as a counter ~or designating the end of a simplex or duplex trans-mission as explained more fully below. The loading and shifting of the SDI regis~er 410 and CCB register 412 are controlled, in part, by means of the logic circuit 888. This circuit comprises a NAND gate 8~0 which is utilized to clock the eight bit registers 884 and 886. Logic circuit 888 additionally comprises serially connected NAND ~ates 89Z and 8q4 and inverter 896 which are uti-lized to r~set the ei~ht bit registers 88Z, 884 and 886.

Parity_Generat _ The parity generator 420 of FIGURE 4 is further illustrate~
in FIGURE 10 and is seen to comprise an odd/even parity generator 900, exclusive OR gate 901 and a D-type flip-flop 902. The odd/
even parity generator 900 may he, for example, model no. 74180, and provides an output signal along its even sum output line 904.
The even sum parity is computed oYer the input lines 903-910~
Line 903 is fed by the'R/D signal and is a logical 1 for a duplex mode transmission and a logical 0 for a simplex or read only transmission. Lines 904-906 are fed by bits Cl-C3 respectively from the Byte Address portion of the MCB register (outputs of four ~it register 8S6~ and input lines 907-909 are fed from the Channel Select bits CSl-CS3 of the MCB register (,outputs o four hit register 858). Input line 910 to the odd/even parity generator 900 is supplied by the RC (reserve command) signal from the MCB register 416. The output 904 of the odd/even pari-ty generator 900 is conditioned upon the PARITY FLP (parity flip) signal fed along line 911 to the even input terminal of genera-tor 900 and the logical inverse of this signal which is fed via the exclusive OR gate 901 to the odd input terminal of the generator ~Q. The second input of the exclusive OR gate is tied to a high voltage or logical 1 signal so that the odd and even inputs to parity generator 9Q0 will always be inverse of one another. The'parity flip signal along line 911 is derived from the Status Write Register as will ~e explained more fully below.
The inputs to flip-flop 902 are effectively decodes of the address byte A0-A15 inasmuch as they depend upon whether the transmitted signal is an input only or an input/output trans-mission. These decode signals are set forth in further discus-sion helow. The output of the: parity generator 420 along line ~04 is fed as one input to the eight bit shif-t register 850 of the ACB register 422.

Clock Generator The clock generator 426 of FIGURE 4 is shown in detail in FIGURE 11~ Two MOS level 2.5 L~Z clock signals are supplied from the cl~ck oscillator 310 of the master controller 2 and utilized to operate the master microprocessor 300. Two addition-al TTL 2.5 MXz clock signals are also provided by oscillator 310 and are designated NPH2-I0 along line 950 and NPHl IO along line 952. Each clock signal is fed into a high power driver 954 and 956 which may be, for example, model no. 74H40 so that 2.5 MHz clock signals P~2 and PHl are provided along lines 958 and 960 respectively. Clock generator 426 is further seen to comprise a dividing network 962 which divides down the 2.5 MHz PHl clock signal into a 1.25 MHz signal designated "NSHFTCLK" on line 964 and a 1.25 ~Hz clock signal "SHFTCLK" on line 966. The dividing network 962 comprises a flip-flop 968 (model no. 7474) and two high power drivers 970 and 972 (model no. 74H40). The NSHFTCLK
signal along line 964 is fed to NAND gate 974 providing an output clock signal ASHFTCLK corresponding to the area shift clock sig-nal along line 428 (see FIGURE 4).

The clock generator 426 further comprises a four bit shift register 976 (modeI no. 74194 operated with S0 and Sl mode ; 25 control inputs high~ which is clocked hy the PHl signal along line 960 and proYides output clock signals synchronized to the PHl clock and labeled SYNCD, SYNCDl and SYNCD2 as shown. Addi-tionally, t~e four bit shift register 976 provides a SHFTCLKDLY

signal which. is simply a delayed version of the area shift clock signal, ASHFTCLK from line 428. The SYNC signal input to ~he four bit shift register 976 is derived from the master controller 2 as per FIGURE 7. This SYNC signal is tied to the falling edge of the PH2 clock signal in the master microprocessor 300, and the shift register 976 is effective to synchronize this SYNC
signal to t~e PHl clock.. The various outputs of the four bit shift register 976 are utilized for timing and control purposes as explained further below.

The SHFTCLKDLY output signal of the four bit shift regis-ter 976 is fed to an inverter 978, NAND gate 980 (conditioned by the ASHFTCLK signal from line 428) to the restart signal of a four bit counter 982 (model no. 74161). The output of counter 982 is utilized to provide a NCI.KFT signal along line 984 via an inverted output thereof. The! inverse of this signal, namely, ; the CLKFT signal is the clock fault signal listed in Table 2 and forms part of a M.aster Status Read byte which is returned to the master microprocessor 300 in response to a memory read to address X 'EDF9l. Consequently, the four bit counter 982 in combination with a memary status read instruction is utilized to determine if the shift clock signal ASHFTC~K (of line 428~ is being trans-mitted to the area controllers.

~;iJJ~

Shift Con~trols The cont~ol logic 424 (FIGURE 4) is utilized to control the shifting of the input data through the SDI register 410 and CCB register 412~ The control logic utilized to accomplish the shifting is shown in detail in FIGURE 12 and comprises a four bit shift register 1000 and a second four b.it register 1002 (both modeI no~ 74194 for example~ These shift registers are utilized as simple flip-flops and the mode control inputs Sl and S0 are-tied to logical 1. Consequently, data which appears on the input lines of these registers is fed to the output on the rising edge of the clock signal. Register 1000 is clocked . by the PH2 clock signal and produces a Fl signal output whereas register 1002 is clocked by the SHFTCLK signal from line 966 of ~5 clock generator 426 (see FIGURE 11) and produces a F2 output signal. A number of different clock and control signals are generated ~y means of the shift control logic o FIGURE 12 and these signals are utilized in controlling and clocking the SDI
regist~r 410, CCB register 412, SDO register 418 and ACB regis-ter 422.

FIGURE 12 shows the interconnection of the registers 1000 and lQQ2 utilizin~ a NAND gate. 1004, NOR gate lQ06~ inverters lQ08, 1010, 1012 and 1014, NOR gate lal6, AND ~ate 1018, NAND
gate lQ20 and NAND gate 1022. It may ~e seen that the shift control logic of FIGURE 12 has effectively three control input signals and two external. clock signals utilized for its operation.
Two of the control signals are the ST or start transmission and SYNC D. The ST signal is fed to the upper input of NAND gate 1004 and results from a decode of the Area Command Byte stored in the ACB register 422. The SyNC D si~nal is the second input to NAND gate 1004 and is generated from register 976 of the clock generator 426 of FIGURE ll. A third input to the shift control logic of FIGURE 12 is the CCB0 bit of the eight bit shift register 886 forming part of the CCB register 412 (see FIGURE 9).
The CCB0 signal is fed along line 1028 to the upper input of NAND gate L020. The two clock signals are the PH2 clock and SHFTCLK clock. Utilizing the ST, SYNCD and CCB signals, as well as the PH2 and SHFTCLK clock signals, the shift control logic generates a number of control and timing signals as set forth in the timing charts of FIGURE 13.

FIGURE 13 itself illustrates a functional timing chart for a "LOAD SDO AND START TRANSMISSION" instruction. The graphs in FIGURE 13 are drawn beginning at the last machine cycle of the instruction so that the address has already been fetched from memory by the CPU, and the master controller 2 is now beginning to initiate a memory write instruction.. In FIGURE 13, for exam~le, graphs a~ ~nd b2 represent the two pha~e clock signals PHl and PHZ each at 2.~.5 ~Hz from the master controller 2.
Graph c2 is ~e SHFTCLK, or shift clock pulse of 1.25 MHz from the clock generator 426~ Graph f2 illustrates the S~NCD pulse which is seen tied to the rising edae of PH1. Graphs n) and o) represent signals Fl and F2 as outputs from registers 1000 and 1002 respectively. Registers 1000 and 1002 operate as pairs of flip-flops to synchronize the F2 signal with the rising edge of ~he SHFTCLR signal. The rising edge of F2 is utilized to gener-ate HOLD, HLDDLY, LOAD, and LDDLY signals which are in turn utilized to shift data in the SDI register 410, CCB register 412 as well as various of the output registers. Consequently, it is essential that the xising edge of signal F2 be synchronized with the rising edge of the shift clock signal SHFTCLK. Inasmuch as the shift clock signal is in itself divided down from the PHl clock signal it is necessary to insure that F2 is synchronized to the rising edge oE the shift clock, SHFTCLK signal, as opposed to the falling edge. Consequently, NAND gate 1022, NOR gate 1006, and inverter 1014 insure that F:L will not reset until after F2 is set. Essentially, Fl is set by a logical 1 provided from NOR gate 10a6 which results ~rorn the simultaneous occurrence of a start transmission, ST, pulse and the SYNCD pulse~ Fl remains set even after the SYNCD pulse goes low inasmuch as F2 is not yet set so that its output is low. The low F2 signal is inverted via inverter 1014 and fed as a hi~h to the upper input of NAND
gate 1022~ The lower input of NAND gate 1022 is also high inasmuch as Fl is now set~ Consequently, after Fl has set and prior to the setting of F2~ NAND ~ate 1022 pravides a low output which keeps signal SFl on input line 1024 to register 1000 as a logical 1~ This condition remains until F2 is itself set durlng an upward transition of the SHFTCLK signal as the clock input to
- 6~ -register Cflip-flop) 1002. Once F2 is set the upper input of NAND gate 1022 goes low providing a high at its ou~put which is fed via NOR gate 1006 to reset the signal SFl which resets register lQ00 on the next upward transition of PH2. As a re-sult, signal F2 is synchronized to the rising edge of the shift clock signal ~SHFTCLK~

The setting of signal F2 to a logical l produces a high for the SHOLD signal (set hold) at the outputof AND gate 1018, e.g. see graph p). Consequently, F2 and SHOLD are synchronized to transition from a low to a high state at the same time, namely, on the rising edge of the shift clock pulse SHFTCLK.
AND gate 1018 has an upper input fed by the output of NAND gate 1020. The upper input of NAND gate 1020 is fed from the CCB0 bit of register 886 via a line 1028. This bit is a 0 after a power-up transition and will remain 0 until the end of a trans-mission wherei.n it will transition to a high level. In fact, a marker 1 ~it initiated by LDDLY signal to NOR gate 880 (FIGURE 9A) ~ is shifted through registers 882 and 884 into register 886. The appearance of the 1 in ~it CCB0 is used to mark the end of a transmission~ The initial 0 ~alue of CCB0 insures that the output of NA~D gate 1020 is a 1 so that the output of AND ~ate 1018 ~ill transition to a hi~h value upon the logical high appearing at the lower input thereto. The SHOLD signal is seen to provide an input to register 1002 proYiding a HOLD signal on the next rising edge of clock SHFTCLK. The HOL~ signal is in turn fed back to an input of register 1002 to pro~ide a LOAD
signal at the output thereof on the next shift clock pulse (see graphs c), q~ and s) of FIGURE 13~. Both the HOLD and LOAD
signals are in turn fed to regis.ter 1000 and are. utilized to provide hold deIay (HLDDLYl and load delay (LDDLY) signals upon a positive trànsition of the PH2 clock signal (see graphs b), r) and t~ of FIGURE 13).

The relationship of Fl to the ~OLD, LOAD, ~OLD DELAY
and LOAD DELAY signals is clearly seen in the graphs n) through t) of FIGURE 13. It is noted that the HOLD and LOAD signals are each tied to the rising edge of the shift clock pulse whereas the HLDDY and LDDLY signals are tied to the rising edge of PH2 which immediately follows the ri.sing edge of the shift clock pulse. The hold delay and load delay signals are utilized in FIGURE 9 to operate the loading and shifting of the SDI register 410 and CCB register 412 as explained more fulLy below.

FIGURES 14A and 14B illustrate additional logic circuitry utilized to provide furth.er clock signals used to control the shift registers of the mas.ter I~O interface 4.. FIGURE 14A details the generation of th~ clock signal CC~1+2+3 and comprises a NOR
gate lQ4Q and inYerter 1042~. The CCB1~2+3 clock signal is essen-tially conditioned ~y bits 1 or 2 or 3 of the CCB re~ister 412 identified as bits CCBl, CCB2 and CCB3 respectively. When any
7~

one of these bits is a logical 1, a logical 0 i5 generated at the output of NOR gate 1040 and consequently the output of inverter 1042 goes high. The CC~1+2+3 clock signal is fed as an input to register 1002 of FIGURE 12 and generates a "DISSDICLK"
~disable SDI. clock~ signal on the rising edge of the shift clock pulse ~SHFTCLK)~ Th.e DISSDICLK signal is in turn fed to an input of register 100Q and is utilized to generate a "DISSDICKDLY"
or delayed DISSDICLK signal on the rising edge of PH2. The DISSDICLKDLY pulse is utilized in FIGURE 14B to disable the CLKSDI pulse (by keeping it high) which clocks the SDI register 410 (eight bit shift register 882 of FIGURE 9) during a master . turnaround test mode or operation.

As seen in FIGURE 14B, t:he CLKSDI clock signal for shift-ing the SDI register is suppliecl by the output of an OR gate 1050 which has a lower input fed by a CLK CCB/ACB clock signal and an upper input fed by a "DSCLK" signal from an AND gate 1052.
The lower input o~ AND gate 1052 is fed from the DSISDICLKDLY
signal from register 1000 (FIGURE 12) initially generated from the CC~1~2~3 signal of FIGURE 14A. The upper input of AND gate 1052 is fed by the output of a NAND gate 1054 whose inputs are tied to the recei~er control bits RCl-RC3 of Tables 3 and 4~
The output of N~ND gate. 1054 will be a logical 1 ~normal ORed ~rea data operationl unless the rece.iver control bits are all in a logical 1 state indicating a turn-aro~ld test mode of opera-tion. Conseq.uently, during a normal operation in which the data from the area controlle~s is ~i.re ORed or in wh.ich a particular area controller is selected, the upper input to AND gate 1052 will ~e a logical 1. As a result,. the output of AND gate 1052 will ~e 1 after DISSDICLDDLY goes high. thereby inhibiting further trans~tions of CL~$DI,. ~hus stopping th.e SDI shirt.

The reason for providing a separate CLKSDI pulse to SDI
register 410 is simply that the amount of shifting required for the master turn-around test mode of operation is different (larger) than the amount required during normal operations when data is received from the area controllers (see FIGURE 6). If in fact th.e turn-around mode is utiliæed,then the upper input of AND gate lQ52 is low (FIGURE 14B) so that the output o AND
gate lQ52 is. low and the SDI register clock is the same as the CLK CCB/ACB clock. In this case, the turn-around bit stream will be shi.fted through the CCB and SDI registers stopping when CCBQ goes to a logical 1. If~ however, the normal mode of operation is utilized, then the output of NAND gate 1054 is high and DISSDICLKD~Y (which depends upon CCBl+2+3) will ~e high whenever a logical 1 is in CCBl or CCB 2 or CCB3 thereby produc-ing a logical 1 at th.e output of AND gate 1052. Thus, CLRSDI
cannot go from lo~ to high.but is held at a high state effec-tively dis:ahlin~ the clock pulse to SDI ~hree SHFTC~X pulses s.ooner than in turn-~round mode. The result, ho~ever, is that the Data--In ~yte. ~rom the seIected area controller is now present in hits SDI0-SDI7 as de~ired at the end of a transmission.

.
: Address Decoder The address decoder which forms part of the control logic 424 of FIGURE 4 is illustrated in detail in FIGURE 15. Effec-tively, incoming address lines are decoded to ascertain whether the master I/O interface 4 is required to participate in data control for the ins.truction being executed. The address range s.pecifically reserved for the mas.ter I/O interface and its I/O
operations as well as its.status read and write operations are HEX addresses EDFC-EDFS (Table 1). If the address bus con-tains an address within this range the address decoder will pro-vide an output signal which will permit the appropriate read or write operation to take place within the master I/O inter-face-4.

The address decoder comprises NAND gates 1072 and 1074 having the respective address line inputs as shown and providing : a logical 0 output only if all of the respective inputs are a logical 1. The address decoda range is datermined by means of the NAND gates 1072-1074 as well as NOR gate 1078. If the decode addr~s is that of th.e master I/O interface 4 then the output o~ NOR gate 1078 goes to a logical l.represented by a high for th.e signal AHERE. The AHERE signal is then utilized to provide a NREADY~TS si~nal to the master micxoprocessor 3Q0 of the.ma~ter controller 2. This signal is effectively th.e "READX" signal for the C~U indicating that data in the input registers ~such as the SDI register 410) is ready to be read by the master microprocessor 300. The NREADY-TS signal is condi-tione~ by logic circuit 1080 comprising NOR gate 1082, AND gate 1086, NAND gate 1088, NAND gate 1090 and tri-state driver 1092.
Input to NOR gate 1082 is provided by the NMEMREAD and NME~RITE
signals from the master controller 2 and are effectively the memory read and memory write siganls provided during a status indication along the data lines of the master microprocessor l300. The output of NOR gate 1082 is provided to the lower in-Iput of AND gate 1086 whose upper input is fed by a signal from NOR gate 1078 indicating that the address is that of the master , I/O interface 4. A true output of AND gate 1086 is indicative of a memory cycle to an address allocated to the master I/O
interface 4, and this output is fed as an upper input to the three input NAND gate 1088. The second two inputs to NAND
gate 1088 correspond to the ready enable signal from the master controlier 2 (FIGURE 7) and a power normal signal from the powex supply 312 (FIGURE 3). These two signals, the ready ~nable signal and power normal signal are also utilized together with ~the interrupt acknowledge - I/O signal, INTAIO (FIGURE 7) as inputs to NAND gate 1090. NAND gate 1090 controls tri-state driver 1092 which is tied to the output of a second tri-state driver 1094 supplying the NREADY-TS signal to the master micro-processor 300. A logical high on the inverted input pin to Z5 the tri-state driver effects a high impedance output of the driver, and a 0 on the inverted input pin will enable 7~

the output of the driver to logical.ly follow the input signal.
Logic circuit 1080 consequently insures that the ready signal sent to the master microprocessor 300 occurs only if power is stabilized (power normal signal true) and the master I/O inter-face 4 has been properly addressed and receiyed both the ready enable signal and the interxuPt acknowledge-I/O signal from the master microprocessor 3Q0.

The register decoder is illustrated in FIGURE 16 and also forms part of the control logic 424 of FIGURE 4. The register decoder is utilized to provide control signals indi-cative of an address read or address write instruction involving the master I/O illterface 4. These control signals are fed to control the loading and shifting of the various registers of FIGURES 8, 9, 10 and 12.

The address decoder of FIGURE 16 is seen to comprise NAND gates. 112~-1126, inverters 1128 and 1130, NOR gates 1132-1136, OR gates 1138 and 114~ and demultiplexer 1142. The demultiplexer 1142 may be, for example, model no. 74155 and is effectively two demultiplexers t each being a one line-to-four line decoder, The upper input line carrying signal NENLD (not enable load) is passed to one of the. selected upper four output lines, and the second input line carrying the NENRD (not enable read~ si~nal is. used to feed one of the lower four output lines.

The particular output line is governed by the select inputs which are connected to the address bits AOl and AO0 of the ad-dress bus (via buffers of FIG. 7). The demultiplexer is seen to discriminate between two types of signals, those involving memory read functions and those involving memory write func-tions. In both cases, the memory read and memory write signals are conditioned by the AHERE signal indicative oE a master I/O
interface address provided from NOR gate 1078 of FIGURE 15.
The upper three outputs of the demultiplexer 1142 are generated as decodes for the instructions LOAD SDO AND START TRANSMISSION, LOAD MCB AND START TRANSMISSION and WRITE STATUS. The lower four output signals from the demultiplexer 1142 are generated as decodes for the instructions READ CCB, READ STATUS, READ SDI, and READ SDI AND START TRANSMISSION~, In reference to Table 1, the above enumerated seven instructi~ons leave only two addres~ decodes undetermined. These instructiorls are the READ MCB instruction and the LOAD MCB instruction. Decodes for these instructions are provided by NAND gates 1125 and 1126 respectively. It is noted that one input to each of these NAND gates is supplied by the address line A02 and the other input is pro~ided by the respective xead enable or load enable (write enable) signal from inverters 1128 and 1130 respectively.

The ST pulse is generated at the output of NOR gate 1134 and is generated as a consequence of either of three signals being low as follows: (1) NLDSDO+ST, the not LOAD SDO AND START

TRANSMISSION, (2) NLDMCB+ST, the not LOAD MCB AND START
TRANSMISSION, and ~3) NRDSDI+ST, the not READ SDI AND START
TRANSMISSION, Consequently, whenever an instruction involving a start transmission is executed t~e ST signal goes high and the signal is utilizea as an input to NAND gate 1004 as seen a~ove in FIGURE 12 to initiate the control and clocking of the input and output registers of th~ master I~O interface 4.
Oth.er control signals are generated by the register decoder of FIGURE 16. These signals include the not load SDO signal, NLDSDOI fed from OR gate 1138 to the lower input of NOR gate 868 of logic circuit 862 (FIGURE 8), and the not load MCB sig-nal NLDMCB from OR gate 1140 fed to the clock input of registers 856 and 858 of MCB register 416 (FIGURE 8). NRDMCB (not .read MCB) and NLDSTAT (not load status) are also generated in FIGURE
16 and these signals are used in status read and write circuitry as set forth hereinafter.

~tatus- Input and Output Control The master I/O interface 4 may be utilized to provide status information to the master microprocessor 300 and addi-tionall~ to write certain status data for controlling the opera tion of the M~5 system. FIGURE 17 illustrates a status write reg ister 1150 which comprises two four bit shiftregisters (model no.
74194) utilized to store status bytes from the master data bus 414. Bits D7-D4 are fed to four bit register 1152 and bits D3-D0 are fed to four bit register 1154. Each register is clocked to load data bits D0-D7 from the data bus by means of the NLDSTAT signal (the load status signal) coming from NOR
gate 1136 of the register decoder shown in FIGURE 16~ The select terminals S0 and Sl of each of the registers 1152 and 1154 are maintained at a logical 1 level so that data on the output lines follows the input line data on a positive transi-tion of the clock pulse. Each register 1152 and 1154 is reset initially by the NRESET signal during a power-up sequence. The output of registers 1152 and 1154 are seen to correspond to Table 3 ~herein the various status write bits are defined. The CLKEN signal along line 1156 is fed to NAND gate 974 of FIGURE
11 and inhibits th~ area shift clock signal ~SHFTCLK along line 428 to the area controllers if CLKEN is a logical 0.

Receiver control bits RC3-RCl are provided on output lines 1158a-c of registers 1152 and 1154, and are fed to the register select inputs of multiplexer 406 of FIGURE 9. The signal CFOK along line 1160 and MTOK along line 1162 are used in area controller and master controller diagnostic tests and are fed to power LED displays on a control panel (not shown) to provide the operator with an indication of a successful diagnostic test AS controlled by the diagnostic software. The parity flip (PARITYFLP) signal along line 911 is fed to an in-put of odd/even parity generator 900 of FIGURE 10 as set forth above~ The values in registers 1152 and 1154 drive the output lines until these registers are reset when the NRESET pulse goes to 0 or until a new Status Write Byte is generated along the data lines D0-D7 and loaded into t:he status write register via the NLDSTAT decode from the write status instruction.

The status read function is implemented by means o~ an input multiplexer and control logic as shown in FIGURE 18.
2~ In addition to status information, the input multiplexer and control logic of FIGURE 18 is used to effect the readin~ of the MCB register 416, SDI register 410 and CCB register 41~. FIGURE
18 illustrates an input multiplexer 1170 coupled to control logic 1172 and tri-state driyer arrays 1174 and 1176. The output of each tri-state driver array is connected directly to thR tri-state master data bus as indicated by data lines DO-TS
through D7-TS. The input multiplexer 1170 essentially comprises ~ ~ v t'Z 7 ,.

eight separate multiplexers, each a four-to-one data selector designated 1184a-1184h. The eight data selectors may be imple-mented by four model no. 74153 multiplexers operable with the input stro~e lines tied to ground and the input select terminals connected to the control logic 1172 via lines 118Q and 1182, Line 1180 controls the seIect A multiplexer input whereas line 1182 is connected to the select B input, Data selector 1184a has four inputs identified as RC (reserve command), CLKFT, SDI 7 and CCB9. These four inputs correspond to (1) the reserve command bit of the MCB register (see FIGURES 5 and 8); t2) the CLKFT ~it of the Status Read ~yte (see TABL~ 2) derived from line 984a of the clock generator 426 of FIGURE 11; (3) the SDI-7 or seventh bit of the SDI registex 410; and (4) CCB9 or the ninth bit of the CCB register 412, In a similar fashion data selector 1184b has four input signals corresponding to bit CS3 of the MCB register, clock signal ASHFTCLK (area shift clock) from line 428 of the clo~_k generator, SDI6 data bit from the SDI register and CCB8 data bit from the CCB register. Simi-larly labeled lines are shown for the remaining data selectors 1184c-1184h so that the groups of lines allow an input read operation from the MCR register, status read operation, SDI
register and CCB register respectively.

Control logic 1172 comprises NOR ~ates 1190 and 1192 and NAND gates 1194 and 1196. NOR gate 1190 provides an output decode for the seIect A terminal of the multiplexers 1178 whereas NOR gate 1192 provides the selec-t B input signalO The input data enable function is provided by the NENINDATA signal as an output of NAND gate 1194. This signal is fed as the control input to the tri-state driver array 1174 comprising individual tri-state drivers 1198a-h. If the NENINDATA signal is high, the tri-state driver outputs are in the high impedance state whereas if the NENINDATA signal is low, the tri~state driver outputs follow the logical input signal therelo. Consequently, the NENINDATA signal is conditioned by: the address decode indicat ing a master I/O interface address (AHERE), a memory read function of the CPU (MEMREA~), a power normal condition (PN) and a DBIN
(data in) signal which is the memory input strobe provided by the master microprocessor 300 (see FIGURE 7). A low signal for the NENINDATA signal consequently allows the output of the tri-state driver 1198a-h to follow their input logical signals to put the appropriate data on the master data bus.

Tri-state driver array 1176 comprises a plurality of tri-state drivers ll99a-h each driver controlled by the N~NINTADR
signal representing the enable interrupt address signal fed as an output from NAND gate 1196. The enable interrupt address signal is utilized to place an address vector on the data bus for restarting the program sequence after an interrupt has been received. Effectively, the master microprocessor 300 has a single interrupt line which is tied to the machine clock via line 370 (FIGURE 3)~ Upon receipt of the interrupt signal, the ,7 CPU initiates an interrupt acknowledge signal as part of status information placed on the master system bus alo~g data lines DO-D7. The interrupt acknowledge I/O (INTAIO signal) is derived from the interrupt acXnowledge signal and utilized to provide a restart address of 11111111 by tying the input to the tri-state drivers 1198a-h to a positive or high potential and driv-ing the inverted control lines thereto low (NENINTADR signal lo~ This procedure will restart the system program after an interrupt has ~een received and acknowledged. The master microprocessor 300 would then proceed to read the instruction at location 11111111 which would be the restart address follow-ing the interrupt.

Interrupt Flip-Flop The machine clock signal MCCLK is fed from the active area contxoller lZ Csee FIGURE 3~ via a fiber optic link 370 to the machine clock flip-flop 1220 as shown in FIGURE 19~ The Q
output of flip-flop 1120 pro~ides an interrupt I/O signal N~NTIO which is fed as the interrupt signal to the master micro-processor 3Q0. Flip-flop 1220 is reset or cleared by the NINTAIO signal from the microprocessor (FIGURE 7). Consequently, the master microprocessor 300 is interrupted at each machine clock pulse. The machine clock pulse MCC~K is synchronized by means of a phase lock loop circuit to the rotation of the photographic drum, and once synchronized has a clock rate of 800Hz. At each interrupt signal the master microprocessor lS proceeds to poll the various area controllers to refresh output data latches and to read input data and perfoxm additional calculations and decision m2~ing processes.

Area I/O Interface The area I/O interface 340 is shown in detail in FIGURES
20 and 21. A functional timing chart showing the various control and timing signals used in the area controller interface is illustrated in FIGURE 22. Output data from the master I/O inter-face 4 is fed via the fiber optic interconnecting links 398 o the MACS channels 16 to each of the area controllers 6-14. The apparatus shown in FIGURES 20 and 21 are common to all of the area controllers regardless of whether they are active or passive units. Data Out Bytes from the master I/O interface 4 are received via receiving amplifier 400 and fed to area output register 452. Area output register 452 may comprise for example three shift registers SX, SY and SZ, each an eight bit serial shift register providing parallel outputs as for example model no. 74164. The parallel outputs of register SX are termed SX0-SX7 and similar nomenclature is utilized for registers SY
and SZ. The Data Out Byte (bits Ll-L8 of FIGURE 6) from the SDO
register 418 of the master I/O interface 4 appears in register SX
when the ST bit has been shifted into output stage SZ6 of regis-ter SZn The output data in register SX is strobad to the area I/C
tri-state bus 460 via buffer 1400 comprising ~wo model 8097 HEX
bufers. The buffers are strobed by a logical "1" (the ST bit) appearing on output SZ6 of shift register SZ via inverter 1042.
Once the data has been placed on area I/O tri-state bus 460 it is necessary to properly channel this data to a selected output port.For this purpose, a three line-to eight line decoder 1404 is provided (model no. 74155) with inverting array 1406 to generate OlltpUt strobes OPOSTB-OP7STB to one of eight possible output ports via "
;

~ ~ 6~2l~

strobe lines sïmilarly labeled. The select inputs A, B and C
of decoder 1404 are fed directly from outputs SY0 and SYl of register SY and output SZ7 of register sæ. The decoder 1404 is strobed by an output enable signal OUTEN from N~ND 1408.
The timing is such that the output enable signal is generated at the seIected area controller when the Byte Address bits Cl-C3 are present in outputs SZ7, SY0 and SY1 of the area output register 452. In order to insure that only the selected area controller is operative to transmit or receive data, each area controller is provided with means to decode the Channel Select bits CSl-CS3 to ascertain whether its own internal a~dres~
matches the designated code of the Channel Select bits. If such a match does in fact occur for the particular area, an address equal latch signal, "ADEQL", is generated (set to 1) and provided as a condition signal for the out enable OUTEN
strobe to the decoder 1404. Thu~3, an AND gate 1410 is shown connected to receive the ADEQL s:ignal as well as the output SZ6 signal from the sixth output stage of register SZ. An additiona input to AND gate 1410 comes from the strobe signal STB pro-vided from a clock generator describsd in FIGURE 21 below. If the SZ6, ADEQL and STB signals are all present at the same time a high output is provided at the output of AND ~ate 1410 which is fed to the upper input of NAND ~ate 1408. The lower input of NAND gate 14Q8 is used to condition OUTEN by a parity check on the command word and is provided ~ith a high input signal from parity checking circuit 1412 i~ no parity errors hava occurred.
Parity checking circuit 1412 comprises odd/even parity genera-tor 1414 configured similarly to. odd/eYen parity generator 900 of FIGURE 10. The inputs of the parity generator 1414 are register outputs SZ7, SY0-SY7 corresponding to Byte Address Cl-C3 and ChanneI Select bits CSl-CS3.. The output o~ the parity generator 1414 is significant only when a "1" bit i present at th.e output SZ6 w~ich occurs as a result of the ST, start transmission, pulse. Only when bit ST is at the output SZ6 will AND gate 1410 provide a logical 1 output (provided also that the other conditioning signals are true), inasmuch as registers SX, SY and SZ are reset after each data transmission so that SZ6 output is a 0 during shifting of new output data bytes. Conse-quently, the first (and only) logical "1" signal is generated at SZ6 by the ST bit of the data word. The output of the parity checking circuitl412 is ~ed to one input of AND gate 1416 having its second input supplied by output SY7 of register SY. When the start transmission pulse ST appears at the output SZ6 of register SZ the R/D (read/duplex mode bit) appears at the output SY7. Thus, the AND gate 1416 imposes a condition that a duplex operation must be demanded by the master unit 1 (R/D = 1) in order ~or the output of AND gate 1416 to be a logical 1. The logical 1 output from AND 1416 is fed to the lower input NAND
; gate 1408~ A simultaneous loyical 1 on the upper input of N~ND gate 1408 results in the output enable signal, OUTEN, being low as required to strohe the~decoder 14Q4 for a ~rite or output function.

After the data word from the master controller has been shifted lnto registers SZ, SY and SX in the position such that the ST bit is provided on output SZ6 of register SZJ the next successive clock pulse will reset registers SX, SY and SZ and a new data word will ~e ready to be received and shifted into the area output register 452~ The means for resetting the shift registers SX, SY and SZ is a D flip-flop 1418 having its D input supplied by the SZ6 output. The reset signal NRSTl is derived from the Q output of the flip-flop. The flip-flop is clocked by clock CLKl signal which is the same signal used to shift the data in the area output registers 452. The master I/O inter-face 4 will generate an Area Com~and Byte followed by a Data Output Byte as depicted in FIGURE' 6. After bit L8 of the Data Out Byte, a zero bit is generated as the next bit to separate a subsequent transmission which also will comprise an Area Com-mand Byte and a Data Output Byte. In the area controllers, D
flip-flop 1418 will reset registers SX, SY and SZ in between every data transmission. Thus, while a new ST bit is being first shifted into the SX register, the preceding upstream stages ~ of registers SZ, 5Y and SX will be logically 0. When SZ6 is a 0 the Q output of flip-flop 1418 goes to a logical 1 pre-venting any further reset of registers SX, SY and SZ. Once the ST bit has entered the SZ register and is shifted into stage SZ6, the next succeeding clock pulse (CLK1) will shift the logical 1 output of SZ6 from the D input terminal of flip-flop 1418 to produce a logical 0 output of the Q terminal of flip-flop 1418. This low Q output is the NRSTl reset signal which asynchronously clears all o the registers SX, SY and SZ.

Thus the clearing of the area output register 452 is accomplished during the clock time in which the ST bit would be shifted from stage SZ6 to SZ5 of the SZ register. The data output bit streams are separated by a zero bit in order to insure that no bits of a subsequent data transmission sequence are lost due to the resetting of the area output register 452.

In order to generate the address equal latch signal :~
(ADEQL) decode circuit 1420 is provided having inputs responsive to outputSX6 , SX7 and input line 1401 to register SX. The decode circuit 1420 is essentially always providing a decode signal as an output ADEQ of OR gate 14;22. However, the only time in which the particular ADEQ (address equal) signal is significant is when output SX6 corresponds to Channel Select bit CSl, output SX7 corresponds to Channel Select bit CS2 and the input line signal to register SX corresponds to Channel Select bit CS3. This correspondence occurs when the start transmission bit, ST, is in output SX2 of register SX.

Decode circuit 1420 further comprises AND gate 1424, exclusive OR gates 1426, 1428 and 1430, and NoRsate 1432. One input to each of the exclusi~e OR gates 1426, 1428 and 1430 is supplied ~y a hardwire input terminal 1436, 1438 and 1440 re-spectively wired to provide either a logical 0 or 1 output. As a result of the decode logic, the ADEQ signal from the output . ~4 -?

of OR gate 1422 is a logical 1 only when the address of the particular area controller in q.uestion corresponds to or matches the Ch.annel Select bits CSl-CS3.

As mentioned above, it is only si~nificant to examine th.e`ADEQ signal when the ST bit is in output SX2 of the SX reg-`ister. This condition is implemented by means of a four bit shift register 1444 operable in the parallel load/parallel out-put mode (model no. ~4194~ The select mode terminals S0 and Sl of register 1444 are tied together and supplied by an AND
gate 1446 having its upper input connected to receive the SX2 output.from register SX and its lower input connected to receive the Ql output of register 1444 via an inverter 1448. A clock signal is provided from the clock generating circuit as shown in FIGURE 21, and the reset signal is provided by NRSTl as an output of flip-~lop 1418.

In operation one may initially assume that register 1444 as well as register SX have just been reset by NRSTl~ Thus, both output SX2 and the Ql output of register 1444 are lo~ical 0Is. The output of inverter 1448 is consequently a lo~ical 1 and is ~ed to t~e lo~er input of AND gate 1446. HoweYerl the upper input of AND ~ate 1446 is a 0 until the ST pulse is shlfted into output SX2 Qf register SX~ Consequently~ as lon~ as the upper input of AND gate 1446 is 0 its output will be 0 as will be ~6~

select modes S0, Sl of register 1444. The output of AN~ gate 1446 is. termed the latch.enable slgnal ~TCHEN and whenever this si~nal i5 low the output Ql and Q2 of register 1444 will be retained in their prior state irrespective o~ the number of clock pulses received on input CLK. As soon as the ST pulse reaches output SX2 the latch enahle LTCHEN signal from AND
gate 1446 goes high.which allows the input data to register 1444 to be shi~ted to the Ql and Q2 output stages on the next succeed-ing clock pulse. As a consequence, output terminal Q2 of regis-ter 1444 assumes the vaLue of the ADEQ signal at a time when output SX~ first goes to a logical 1. If the ADEQ signal is high then ADEQL will be high and vice versa. The ADEQL output signal is latched at terminal Q2 of register 1444 inasmuch as the latch enable signal., LTCHEN, is removed by the logical 1 appearing at terminal Ql of register 1444. This logical 1 is supplied by the hardwire logical 1 input to register 1444 which feeds the Ql output t.erminal. When the output terminal Ql is logically 1 a logical 0 is fed to the input of AND gate 1446 which forces LTCHEN to a logical 0 latching the output termi-nals Ql and Q2 of register 1444. The data will remain latched until a new reset signal NRSTl is supplied via flip-flop 1418.

For the particular area controller selected by the ChanneI Select ~its CSl-CS3 ! the ADEQL signal ~ill he a logical 1 and data may b.e directed from the area I/O TS bus 460 of the seIected area controller into the selected output port as strobed by AND gate 1408 whi.ch is conditioned by the ADEQL sig-nal (among othersl.

Th.e inverse si~nal o~ the ADEQL signal is the FLTH sig-nal ~rom inverter 1448~ The FLTH signal is used for controlling Input Data Bytes from the area controller to master I/O inter-face 4. When ADEQL goes high, FLTH goes low~ This low is supplied as the upper input to a NAND gate 1450 forcing the out-put of NAND gate 1450 to a logical 1. The lower input of NAND
gate 1450 is tied to receive output SX2 from register SX. The output of NAND gate 1450 is the INEN ox in-enable signal and is fed to a decoder 1452 ~model no. 74155) similar to decoder 1404. The select terminals o decoder 1452 are provided by outputs SX3, SX4 and SX5 o~ register SX. Inasmuch as the INEN signal is a logical 1 only when the start transmission, ST, bit appears in output SX2 of register SX, the input select terminals SX3-SX5 to decoder 1452 will correspond at this time to the Byte Address Cl-C3 respectivelY. The outPuts of decoder 1452 control the strobinq of inPUt data to be fed from the se-lected area controller to the master I/O interface 4. The out-put lines fxom decoder 1452 are thu~ essentially lnput select lines and control the ~uffers for the input ports. The lines and strobe si~nals are labeIed IPOG-IP5Gt IP6DSl and IP7G. In-put port 5 is treated somewhat diferently as is apparent ~rom the de~ignation of t~e input ports select line inasmuch as in-put port 6 ~IP6~ is reserved for area microprocessor use by those area controllers which are actiye. Essentially, data is latched to the input port designated for area microprocessor us.e whereas data is simpl~ buffered into input ports not dedicated to area microprocessox use.; (Data i5 alwa~s b.uffered into passive area controller input ports~

Once data has ~een placed on the area I~O TS ~us 460 for transmission to the master controller, the data must be strobed into an area input register 450 as shown in FIGURE 20B.
The INEN signal is utilized to first parallel load the data onto the tri-state bus 460 and into input register 450 and subse-~uently to allow a serial shift o:E the data through the register 450 onto the MACS channels 16. A:rea input register 450 may comprise, for e~ample, an eight b.it shift register, model 74166. The shift~load terminal to area input register 450 is fed by the INEN signal which is initially a logical 1 and goes to a logical 0 only when SX2 goes high upon the occurrence of the ST bito As a consequencej while SX2 is a logical 1 data is loaded into area input re~ister 450 and the next clock pulse forces INEN to 0 to permit parallel shifting of the data through and out of the area input register 450.

Input data into the master controller is supplied in serial fashion b~ the area inpu~ register 450 conditioned by the address equal latch signal ADEQL via an AND gate 1454. The lower
- 8~ -input of AND gate 1454 is supplied by the ~DEQL signal whereas the upper input is fed from the output of the area input register 450.
As a result, data is continuously being shifted out of the area input register 450 but none of this data is effectively passed to the MACS channels 16 unless the ADEQL is a logical 1 correspond-ing to the condition that the particular area in question has been selected from the decode circuit 1420. The input data (input for the master I/O interface 4) is fed from the AND gate 1454 to a phase encoding circuit 1470 which comprises "D" flip~flops 1472 (model no. 7474), NAND gates 1474 and 1476 and inverter 1478. The phase encoded input data PHDTIN, is then passed to a delay network 1480 to provide delayed data signals DPHDTIN which are delayed to provide near center of pulse strobing into the master I/O con~rol-ler CCB and SDI registers.
FIGURE 21 illustrates the clock generator 1453 which forms part of the control logic 454 of FIGURE 4. Clock generator 1453 receives the ASHFTCLK signal from line 428 of the master I/O
interface 4 (FIGURE 11). These clock signals are fed along line 1456 to a delay network 1458 and output signals are taken at 200ns and 250ns delay as illustrated. The clock generator 1453 is seen to comprise inverter 1460, AND gate 1462 and inverters 1464 and 1466~ AND gate 1462 provides the STB signal to the lower input of AND gate 1410. The CLKl signal from inverter 1464 is used to clock the area data-out register 452 (registers SX, SY and SZ), the area data-in register 450 and the reset flip-flop 1418.
The CLK signal is used as an input to inverter 1460 and to clock ~the register 1444. It is noted that the pulse is delayed so that it appears approximately in the middle of an outpu-t pulse from the registers SXr SY and SZ as seen by comparing graph f) with graph g) depictiny the SX2 output (FIGURE 22).

...

%~

Area Controller Operation The operation of the area controller may be best descr.bed in relation to.the timing chart of FIGURE 22 taken in conjunction with the detailed circuits of FIGURES 20 and 21.
The area shift clock pulse ASHFTCLK from the clock generator 426 of FIGURE 11 is received by the clock generator 1453 an~ passed along line 1456 into delay network 1458. The area shift clock, ASHFTCLK, is shown in graph a) along with the CLK and CLKl clock pulse shown in graph b), the CLKD
pulse or delayed clock pulse shown in graph c) and the CLK pulse shown in graph d). The phase encoded data out blt stream, DTOUT, is shown in graph e), and, for purposes of illustration, it is assumed that the data out bit stream (command and data) is composed of logical l's. Consequently, DTOUT is always in phase with ASHFTCLK, as may be seen by comparing graphs a) and e). The ou-tput data DTOUT is rec:eived into the shift register SX of the area output register 452 and is clocked in on the rising edge of clock CLKl. It is noted that the rising edge of CLKl occurs in the middle of the high state of DTOUT as is desired to maximize data stabilization. The timing pulse ST~
is generated as shown in FIGURE 21 from the CLK pulse ANDED with the delayed clock pulse CLKD. The CLK pulse is delayed 200ns from the ASHFTCLK signal and the CLKD clock signal is generated 250ns from ASHFTCLK. Consequently, the strobe STB is nominally 50ns wide as shown in graph f).
Craph g) shows the SX2 output of shift register SX.
The area output register 452 is reset between transmitted bit streams so that output SX2 of shift register SX will be a 0 until the rising edge of the 6th CLKl pulse (hereinafter 6-CLKl).
After the ST bit is provided at the output of SX2, the rising edge of the next clock pulse, 7-CLKl is utilized to latch the Q outputs of the register 1444 so that the area equal latch (ADEQL) will be set if indeed the particular area has been selected by a match o~ the Channel Select bits CSl-CS3 with the internal address of the area controller. We will assume that such a match occurred. Consequently, as shown in graph h), ADEQL is set to a logical 1 on the rising edge of 7-CLKl inasmuch as 6-CLKl enabled the register 1444 via ~D gate 1446 and inverter 1448. The FLTH signal shown in graph i) goes to a logical 0 at the same time that the ADEQL signal becomes a logical 1. As a result, the input enable signal, INEN, which is the output of NAND gate 1450 goes to a logical 0 between the 6-CLKl and 7-CLKl as shown in graph j). The INEN signal low strobes the decoder 1452 to permit the selection of input data ~rom any of eight input ports to be passed to the area I/O TS bus 460 for loading into the area input register 450.
It is noted that the S/~ select line for the area input register 450 is fed by the INEN signal so that at the same time IN~N
strobes decoder 1452 data may be parallel loaded from the area I/O TS bus 460 into the area input register 450. After the 7-CLXl, INEN signal goes high which permits ~he serial shifting of data in the area input register 450 via the rising edge of the next clock pulse CLKl (namaly 7-CLKl). As seen in FIGURE 6, the data byte transferred into the master I/O interface 4 is 7~:~

timed such that this input data overlaps the output data byte being received into the selected area controller. The only infor-mation required ~o determine the Input Data Byte is the particular Byte Address information provided by bits Cl-C3 condi~ioned of course by the decode circuit 1420 providing a high address equal signal (ADEQ) indicating that the particular area is the one being selected during this transmission.
At 7-CLKl, the Input Data Byte is shited from the area input register 450 into the MACS channels 16 for reception by the master I/O interface 4. Prior to transmisslon, however, the input data is fixst ~NDed with the ADEQL signal via AND gate 1454, phase encoded via phase encoding circuit 1470 and delayed by delay network 1480. The input data stream from AND gate 1454 is termed DTIN (prior to phase encoding), the phase encoded input data is termed PHDTIN and the de:Layed phase encoded data termed DPHDTIN. Under the assumption that the first five bits in the input data strea~ are a logical 11011, as an example of a "data-in" sequence, (actually eight bits are transmitted to form the Input Data Byte) graph m) and graph n) represent the output of the DTIN and PHDTIN respectively. It is seen that the phase encoding circuit 1470 will place logical 1 data bits in phase with the CLKl clock signal and will place logical 0 data bits out of phase with the CLKl cloc~ signal.
While the area serial in byte is being transmitted to the master I~O interface 4~ the data output byte is being shifted through the area output register 452. Graphs a)-l) have been broken in time sequence so that 16-CLKl is shown to immediately ~ry follow 8-CLKl~ Graphs m) and n) have not been broken. At time 18-CLKl, the output sæ6 of the SZ register goes high indicative of the fact that the ST, start transmission, pulse has been shifted therein. The output enable signal (OUTEN) is generated in part from AND gate 1410 when SZ6 is a logical 1 as well as ADEQL and STB. In time therefore the OUTEN signal is coincident with the STB signal inasmuch as ADEQL has already been set to a logical 1 at 7-CLKl. The OUTEN signal is utilized to strobe the decoder 1404 so that the area output port may be selected as dictated by the code on the select lines SZ7, SYl and 5Y0. Simultaneous with data selection, the Output Data Byte as appears on outputs SX0-SX7 is transferred via buffer 1400 onto the area I/O TS bus 460. Oul:put selection lines from inverting array 1406 are utilized to gate a particular selected output port latch to feed the data which appears on the area I/O TS bus 460. Consequently, the output data transfer to the particular output latch is completed during 18-CLKl. At this time, of course, the input data byte has already been completely shifted through the area input register since the last area linput bit is shifted at a time 14-CLK1. The appearance of the logical 1 at the SZ6 output additionally generates the reset signal NRST1 which forces all outputs of the area output register 452 to a logical 0 at the next succeeding CLK1 pulse, namely, I L9-CLKl. Consequently, graph g) shows that at l9-CLKl the output )f SX2 is 0 as is the output of all stages of the area output ~egister 452.

i~d`:~

Port _tructur FIGURE 23 represents the generaOl port structure for both passive and active area controllers. Shown interconnected to the area I/O TS bus 460 (from left to right in the drawing) are output ports OP7, OP0, OPl, OP5, OP6, OP2, OP3 and OP4.
Output ports OP5 and OP6 are dedicated output ports connected in the active area controllers to an Area Data System bus 1500 (ADS bus~ which forms the data bus portion of the Area System Bus 350 of FIGURE 3. In the passive area controllers output ports 5 and 6 are connected to drivers 1502 for direct connection to the host interface (host machine switches~ relays, sensors, etc.) as indicated by the triangle containing the letter "H".
Output ports 2, 3 and 4 in passi~e area controllers have their inputs connected directly to the area I~O TS bus 460 as indicated in dotted lines. For active arezl controllers output ports OP2, OP3 and OP4 are connected to the ADS bus 1500 as illus-trated b~
~ the solid interconnection lines. Each line from both the input ;~ and output ports actually consist of eight individual lines corresponding to data bits D0-D7.
In a similar fashion the input ports are shown in FIGURE 23 interconnected to ~he area I/O TS bus 460 and to the ADS bus 1500. Input ports 3, 4 and 5 are connected to the ADS
bus 1500 in active area controllers, and input port 6 is a dedicated input port from the ADS bus 1500 to the area I/O TS
bus 460 on active area controllers. In passive area controllers IP6 is connected via a pull up and diode network 1504 to the host interface as are all of the hostconnected inputports inhoth active and passive area controllers. It is noted that all input ports witn the e~ception of IP6, are implemented by means of tri-state buffers (National Model No. DM8097, for example) whereas input port 6 is a data latch wherein data is strobed in and out as demanded by the input and output control mechanism (the master microprocessor and the area microprocessor). For e~ample, the data latch 1508 may be the Intel model no. 8212. In practice, all output ports are also data latches (model no. 8212), and all such latches which interconnect directly to the host inter-face are fed to drivers 1502 (as ~or e~ample model no. 7406).
Output port OP7 is shown interconnected to a multiplexer 1510 which feeds IP7 via a pull up network 1504. One input to the multiplexer 1510 is also supplied from an inverter 1512 which is fed by an Area Microprocessor Response signaL (AMR signal) generated at the interrupt output of the data latch 1508 associated with input port 6. Interrupts are also provided to the area microprocessor via two interrupt signals, one supplied from output port 5 and another from output port 6.
Particularly, data latch 1508 of output port 5 provides an Area Microprocessor Attention-l signal (AM-ATTNl) which is supplied by inverter 1514 to the tri-state buf~er 1506 of input port 5. Similarly, data latch 1508 of output port 6 provides an interrupt signal called Area Microprocessor Attention-2 signal (AM-ATTN2) which is fed to the same tri-state buffer 1506 of input port 5 via an inverter 1515. These two attention bits are utilized to designate to the area micro-processor that data is ready in the data latch 1508 associated with output ports 5 and 6 to be read onto the ADS bus 1500.

'7%:'~

It is pointed out that the data latches 1508 forming the output ports 5 and 6 are effectively "interruptlng input ports" with respect to the area microprocessor/lnterface 348.
As such, data may be strobed into the input texminals of these data latches via an input strobe signal STB (OP5 STB or OP6 STB) at which time an interrupt signal is automatically generated and may be utilized to interrupt the area microprocessor. The interrupt signals are termed AM-ATTNl from output port 5 and AM-ATTN2 from output port 6. Data may be strobed from these data latches onto the ADS bus 1500 upon reception of a low signal at the DSl device select terminal of the data latches 1508. For a more complete description of the data la~ches 1508 reference is made to the Intel 8212 data sheets as appear on pages 5~101 through 5-104 of the Intel 8080 Microprocessor System User Manual referred to above.

Area Microprocessor and Interface A blocked diagram of the area microprocessor 348 showing its interconnection to the area system bus 350 is illustrated in FIGURE 24~ The area microprocessor/interface 348 comprises an area microprocessor 1600 which may be, for example, a single chip controller containing its own program ROM, scratch pad memory and clock generator.

Further, it is evident that one may utilize other microprocessors in place of the area microprocessor 1600, as for example, the Intel 8080 utilized in the master controller 2. The area microprocessor/interface 348 further comprises an external read only memory 1602, clock generating means 1604 and a number of buffer units for data going .into and out of the area microprocessor 1600 and data read out from the external ROM 1602. These buffer units are identified as external ROM buffer 1606, input buffer 1608 and output buffer 1610. The area microprocessor controls the input and output buffers by means of a selection circuit 1612 which receives a number of control lines 1614 from the area microprocessor 1600 and a number of address lines 1616 from the Area Address System bus (AAS bus) 1620. The AAS bus 1620 is a twelve bit address line identified as lines LADRO-LADRll.
The ADS bus 1500 is an eight line data bus identified as DBO-DB7. The sélection cixcuit ~612 provides output signals along lines 1622 to control each of the buffers 1608 and 1610 thereby controlling data to and from the area microprocessor 1600. Selection circuit 1612 also supplies selection signals to the external ROM 1602 which additionally receives part of the address lines from AAS bus 1620. The address lines of AAS
bus 1620 are passed through buffers 1621 as shown.
The area microprocessor/interface 348 further comprises an interrupt circuit 1626 connected to a clock output CLKB of the area microprocessor 1600 and to additional control lines (NRST and NINTA) to provide an external interrupt signal wh~ch is synchronized with the area microprocessor clock (2MHz). The ~ -interrupt circuit provides an interrupt signal along line 1628 to the area microprocessor 1600. A CLK2 detection circuit 1630 is also provided to detect the presence of the CLK2 signal from the area clock generator circuit of FIGURE 21 within each area controller. If the CLK2 signal is not present, the detection circuit provides an NRST signal to the area microprocessor 1600 along line 1632 to maintain the microprocessor in a reset condition. The CLK2 signal would not, for example, be present during a power-off condition or a syst~m malfunction. Both the interxupt circuit 1626 and the CLK2 detection circuit 1630 are supplied by the CLKB signal from the microprocessor via line 1634.
A more detailed schematic drawin~ of the block diagram of FIGURE 24 is illustrated in FIGURE 25. The external ROM 160 comprises, for example, Intel 8708 programmable read only memories wherein the chip select (CS) signal is supplied from a LADRlK and NLADRlK signals from selection circuit 1612. The external ROM buffer 1606 comprises, for example, a model no.
8097 HEX buffer (National ~emiconductor, for example) and the _ 9~ .

device selection inputs thereto are both connected to a not memory read control signal from the area microprocessor 1600 (NMEMRD). Upon reading information from the external ROM 1602 the area microprocessor 1600 generates a logical "0" as the NMEMRD signal to gate the external ROM buffer 1606 and addition-ally generates an appropriate address to lndicate an external memory address. The area microprocessor 1600 contains lK
memory in an internal read only memory and may address 3K
addltional memory bytes in external memory. Consequently, when the address on the AAS bus 1620 is greater than lK, the selection circuit 1612 is utilized as the chip select signal to strobe information from the external ROM into the external ROM buffer 1606.
It is noted that the HEX buffer model no. 8097 forming ROM 1606 is a si~ stage buffer and consequently one full HEX
buffer is utilized and two stages of a second HEX buffer in order to form the eight stage desired buffer. These two groups of buffers are identified as 1606a and 1606b in Figure 25. In a similar fashion it is expedient to utilize portions of other HEX buffers for dif~erent functions and the selection of model no. 8097 penmits such use since four stages of the buffer may be controlled from one input control line and two stages from a separate input control line. Thus, input buffer 1608 is seen to comprise four stages each from two buffers identified as 1608a and 1608b. Similarly, output buffer 1610 comprises a complete ~EX buffer 1610a and two stages of a second buffer identified as 1610b.

_ 99 _ Once data has beén strobed from the external ROM 1602 through the external ROM buffer 1606 it is passed through the input buffer 1608 into the area microprocessor 1600 for pro-cessing. Output data is fed via the output buffer 1610 -to the ADS bus 1500. The selection circuit 1612 which gates the input and output buffers is seen to comprise an OR ga~e 1640, NAND
gates 1642, 1644 and 1646 and inverters 1648 and 1550. The input of OR gate 1640 is fed by the address lines LADR10 and LADRll so that a logical 1 is provided at the outpu~ of OR
gate 1640 whenever the address designated is greater than or equal to lK (1024). The output from OR gate 1640 is the LADRlK signal which is fed to one model 8708 of the external ROM 1602. The LADRlK signal is alc;o inverted via inverter 1650 and fed as a strobe to a second model 8708 external ROM
1602. Address lines LADR0-LADR9 are utilized to select data bytes from the external ROM 1602.
The LADRlK signal from OR gate 1640 is also fed to NAND gate 1644 which provides one of four inputs to NAND gate 1646. A second input to NAND 1646 is provided by NAND gate 1642. One input o~ NAND gate 1642 comes from the ME~RD signal from the area microprocessor 1600. When MEMRD is high the area microprocessor 1600 is executing a memory read instruction.
The second input of NAND gate 1642 comes from a not internal ROM enable signal (NIRO~EN) and this ~ignal i5 high whenever the internal ROM of the area microprocessor is not being addressed. The third and fourth inputs to NAND gate 1646 are from the not I/O read ~NIORD~ and the not interrupt acknowledge (NINTA) signal from the area microprocessor 1600 respectively.
The output of NAND gate 1646 is the load output enable signal, LDGTEN and is fed to the output buffers 1610. The inverted LDGTEN signal is the load input enable signal from inverter 1648 and is fed to the input buffer 1608 as a signal LDINEN.
The CLK2 detection circuit 1630 comprises three "D"
flip-flops 1660, 1662 and 1664. The CLK2 signal from the area controlle.r clock generator 1453 (Figure 21) is fed to the D
input of the first flip-flop 1660. All flip-flops are clocked by tha 2 MHz clock signal provided ~s the CLOUTB output of the area microprocessor 1600. Flip-flops 1660 and 1662 essentially synchronize the CLK2 signal with the area microprocessor clock.
Flip-flop 1664 is utilized together with NAND gate 1666, four bit counter 1668 and inverter 1670 to reset the area micro-processor with a series of 4 microsecond reset signals in the event that the CLK2 signal is not received.
Th~ interrupt circuit 1626 comprises two "D" flip flops 1680 and 1682 together with AND gate 1684 and inverter 1686.
The CLOUTB signal ~rom the area microprocessor 1600 is fed to inverter 1686 and utilized to clock the flip~flop 1682. Flip-flop 1680 and 1682 essentially synchronize the external interrupt NEXINT with the microprocessor clock CLOUTB signal. Inte.rrupt flip-floF
1682 may be reset if both NRST and NINTA signals are high. The NIN~A signal is the not interrupt acknowledge signal supplied rrom the area microprocessor 1600 once an interrupt has been accepted for processing (active when low).

FIGURE 26 illustrates the address decoder for generating the required strobe signals in response to the read and write addresses from the area microprocessor 1600. The address decoder comprises a decode logic circuit 1688 having various inputs such as address lines and the read (NIORD~ and write (NIOWR) strobes - as shown, and two decoders 1690 and 1692 (model no. 74155). The decoders 1690 and 1692 are strobed by the outputs from the decoda logic circuit 1688. The strobe outputs o~ the decoders 1690 and 1692 are determined in response to additional address llnes as shown. The strobe outpu~s are generated to strobe and gate the various output ports and input ports as shown particularly in FIGURE 23B. It is clear that additional input and output ports may be dedicated for use by the area microprocessor 1600 of the active area controllers. In particular, it is contemplated that two input ports as well as two output ports may be so dedi-cated.

Pseudo-Interrupt Oeeration In reference to FIGURE 23, it is noted that each area controller has an output port 7 and input por~ 7 dedicated to pseudo-interrupt operation. The pseudo-interrupt operation is selected by setting CSl-CS3 to octal 7 (Channel Select byte 111).
Upon receipt of the 111 Channel Select byte all axea controllers will be responsive to the Cl-C3 Byte Address. For the simul-taneous mode operation the Byte Address is likewise set at 111 designating the output port 7 and the input port 7. Inasmuch as all of the areas are simultaneously gated for transmitting input data to the master controller, only selected bits from each area controller are enabled so that mutually exclusive bit positions are used with the results wire "ORedl' by the master I/O interface 4. Thus, data recei~ed will not contain any overlapping bit information. FIGURE 27 is a diagram of the output port 7 and input port 7 associated with four of the area controllers which may, for example, be utilized in the simul-taneous mode operation. FIGURE 27 thus illustrates the output port 7 and input port 7 for the paper path controller 6, the control console area controller 8, the servo controller 10 and the process controller 12. The output port OP7 receives the same data bit for all of the area controllers during the pseudo-interrupt (or simultaneous area) operation. In the paper path area controller a plurality of input sense terminals 1701-1708 are provided for feeding sense data as input data bytes to the master con~roller. Terminals 1701 and 1702 may for example be connected to sensors which determine the presence of the main and auxiliary paper trays respectively. Input sense terminal 1703-1706 may be utilized for sensing the leading edge, LE, and trailing edge, TE, of the paper during various stages of its - movement through the copy machine, and input sense terminals 1707 and 1708 may be utilized ~or duplex tray and bi-level transport sensing operations. Each of these input terminals is designated by a triangle containing a "H" therein indicating interconnection to a host machine. Particular bits of OP7 in the paper path area controller 6 are utilized as condition codes during the pseudo-interrupt byte transmission operation. For example, bit position 3 of output port 7 is connected to logic circuit 17~0 for selecting either the input sense terminal 1701 or 1702 ~or interconnection to bit 3 of IP7 via line 1722.
Logic circui~ 1720 comprises inverter 1724, AND ~ates 1726 and 1728 and OR gate 1730. Bits 5 and 6 o~ OP7 are utilized as selection control lines to a four one multiplexer 1732 (model no.
74153) to select one of the four input sensed terminals 1703-1706. Similarly, bit 4 of OP7 is used to condition the presence or a~sence of the duplex tray information from sense ~erminal 1707 via AND gate 1734. All terminals in IP7 not utilized are strapped to 0 volts so as not to interfere with data being transmitted ~rom other area controllers on the unused bits.
The control console area controller 8 utilizes bits 4 and 7 to condition the ADF sensor and RDH leading edge sensor respectively into respective bits 1 and 7 of IP7. AND gates 1736 and 1738 together with inverter 1740 and 17~2 are utilized ~or this purpose. The input sense terminals ~or the control console 8 comprise the RDH leading edge sense terminal 1746, the ADF sense terminal 1747 and the A track sensor terminal 1748.

The servo controller 10 is an active area controller having a.platen leading edge sense terminal 1750 feeding bit 7 of IP7, and also supplies bit 4 of IP7 with the Area Microproces-sor Response signal (AMR signal) from the interrupt output signal of data latch 1508 of IP6 (see FIGURE 23B). The platen leading edge sense signal from 1750 is conditioned via AND gate 1752 from bit 7 of OP7.
Process control area controller 12 will likewise supply the AMR ,signal as bit 5 of IP7. Table 5 below shows a listing of the various pseudo-interrupt lines and the output bit positions corresponding thereto in the four area controllers corresponding to FIGURE 27.

PSEUDO INTERRUPTS

INPUT OUTPUT
BIT AREA BIT
POSITION CONTROLLER PSEUDO-INTERRUPT INPUT POSITION
_ D7 MACAS/Console MACA5 Lead Edge Sensor D7 = O
Servo Platen Lead Edge Sensor D7 = 1 _ _ D6 Paper Path Reg. Lead Edge Sensor D6 = 0 D5 = 0 Paper Path Reg. Trail Edge Sensor 1 = 0 = 1 Paper Path Reg~ Trail Edge Sensor 2 = 1 = 0 Paper Path Reg. Trail Edge Sensor 3 = 1 = 1 ~ . ~ .
D5 Process Contro Process Control ~P Resp. None . e . __ D4 ServoServo ~' Response None . ___ . ~ . ..
D3 Paper Path Main Tray Hold Stn. Senso D3 = 1 Paper Path Aux Tray Hold Stn. Sensor D3 = 0 ._ .
D2 Paper Path Bi-Level Xport Sensor None _ _ . ~_ Dl MACAS/Console ADF D4 = O
Paper Path Dup. Tray Hold Stn. Sensor D4 = 1 _ . _ _ ...... . _ D0 MACAS/Console A Track Sensor None . .

'7 The particularbits selected in the pseudo~interrupt scheme may, of course, be selected to achieve particular design and programming objectives. An alternate assignment for the input bit positions of input port IP7 as a function of the output bit positions is given below in Table 5A. Appropriate logic circuitry (not shown~ may readily be provided similar to that shown in FIGURE 27.

PSEUDO INTERRUPTS
ALTERNATE FORMAT

INPUT OUTPUT
BIT AREA BIT
POSITION CONTROLLER PSEUD~-INTERRUPT INPUT POSITION
_ D7MACAS/Console MACAS Lead Edge SensorD7 = O
Servo Platen Lead Edge Sensor D7 = 1 , _ _ _ D6 Paper Path Reg. Lead Edge SensorD6 = 0 D5 = 0 Paper Path Reg. Trail Fdge Sensor 1 = 0 = 1 Paper Path Reg. Trail Edge Sensor 2 = 1 = 0 Paper Path Reg. Trail Edge Sensor 3 = l = 1 _ D5MACAS Console MACAS A Track None D4 Paper Path Finisher Invert:erDl - 0 D2 = 0 Finishing Station Stapl~ Head Position A = l = 0 Finishing Station Staple Head Position B = 1 = 1 D3 Process Process Control Up _ _ Contro] Response None Servo Control Servo Con rol Up Response None _ D2 Paper Path Main Tray Hold Station D3 = 0 Paper Path Aux. Tray Hold Station D3 = 1 _. _ .
Dl Paper Path Bi-Directional Transport (Jam Recovery) None _ . _ D0 MACAS/Console ADF D4 = 0 _ Paper Path Duplex Tray Hold Station D4 = 1 7' - It is important to note that inasmuch as the output data from all of the area controllers is wire "ORed" at the input to the master I/O interface 4, the data bits are mutually ex-clusive as to the information conveyed therebyO Consequently, as an example, i output bit position 4 (D4) in OP7 is a logical "1" then AND gate 1734 will strobe the information on duplex tray terminal 1707 into bit 1 (Dl) of the input port 7 (IP7~.
At the same time inverter 1740 of FIGURE 27 will prevent the strobing of informatlon on the ADF terminal 1747 into bit position 1 of IP7. Conversely, if bit 4 of the output data byte strobed into OP7 is a 0, then information on the ADF terminal 1747 will be strobed into Dl of IP7 whereas the duplex tray information on te.rminal 1707 will be excluded. The software in the master microprocessor 300 must in fact keep track of the output data byte transmitted during the simultaneous mode operation in order to interpret the received data se:nt on a subsequent transmission from the area controllers under the simultaneous area operation.

~achine Clock Interrupt The pseudo interrupt polling technique outlined above is implemented every time a machine clock interrupt is received.
The machine clock interrupt is derived from the servo controller 10 from a phase lock loop (PLL) circuit whose nominal output frequency is 800 Hz. The PLL provides a continuous clock source which is in phase lock with the machine clock output of a photo-receptive drum encoder whenever the drum is up to speed. The L0 signal from the PLL (LOCK signal) is true whenever the machine ~ock is within a defined speed range of the PLL. The signal is available to the master controller as an input bit accessible through normal ~CS transactions. The machine clock interrupt signal output from the PLL is transmitted from the servo L5 controller to the master controller via a dedicated fiber optic link (line 370 of FIGURE 3).

Real Time Interrupt The real time clock interrupt (RTC) consists of a counter which may be programmatically initialized to provide an RTC
interrupt frequency ranging from 75.1 Hz to 19.23 KHz . The counter is mechanized into stages. The first stage is driven by the free-running 1.25 ~z clock and divides this frequency '5 down by 65 providing a 19.23 KHz output. The 19.23 XHz clock is used as both an input to the second counter stage, as well as the free-running source for the selectable slow cloc~ used in the ~eneration of the reset to the area microprocessor in actiye remotes. The second counter stage is loaded from an 8-bit - 110 ~

programmable register each time -the counter overflows and depending on the value stored in the register, divides down the 19.23 KHz clock from 1 to 256 times further. Thus, the oubput of the second stage is in the range of 75.1 Hz to 19.23 KHz, and controls a flip-flop whose output feeds into a priority circuit which also receives the machine clock interrupt signal.

Software Description and Or~anization The software utilized to control the master micro-processor and area microprocessors is described by way of flow charts and exemplary program~listings as given herein. The major software units are termed "modules" such as, for example, the state checker module (STCK) utilized to monitor background state changes, QTABLE (QTBL) module utilized to build the copy events ~rom the variable and fixed pitch events, the paper path module (PAP) utilized to control the various paper sense and jam conditions, etc. For and understanding of the various instructions utilized, reference is made to the Intel 8080 Microprocessors User's Guide (Septem~er, 1975) published by Intel Cor~oration, Santa Clara, California. The listing as assembled ùtilizes the Xerox Assembly Program "Language and Operations Reference Manual" 1975, published by Xerox Corporation, El Segundo, California.

The software organization of the master microprocessor 7~7 300 is similar in overall philosphy and structure to that de-scribed in U.S. Patent 4,227,798 by Edward Steiner entitled "PROTECTION SYSTE~ FOR ELECTROSTATIC MACHINES"
Software controlled events may be foreground events which are keyed to the machine cycle (photoreceptor drum rotation) or background events which need not be critically synchronized to the machine cycle.
Foreground events have priority over background events. The software is partitioned so that it runs in one of se~eral "states"
which correspond to the status of the machine. In each state a set of subroutines is called repetitively to monitor the machine status and control the changes from state to state. In addition, when the host machine is in the print state, a set of events which are synchronized to the motion of the paper through the machine are called to control the copy process. FIGURE 28 diagramatically illustrates the various states and the permissible transitions between the states. When the system is initialized by power-on or reset, the self test programs are run which check the ROM and RAM memories as well as the non-volatile memory.
~ All flags and variables are initialized and the NOT READY state is entered if the self test programs are successfully passed.
The system is inoperative if any of the memory units fail. The various machine states as illustrated in FIGURE 28 may be summarized as follows:
NOT READY - The machine is not yet ready to run. This state may result from various factors such as interlocks being open, insufficient fuser temperatures, insufficient electrostatic voltages, or faults existin~ in any selected features. The NOT READY state is entered after power up initialization, after a job has run or after a techni~al representative, component ~ 112 -control or remote control diagnostic state is completed. A job may be programmed in this state but not started.

READY - This state is entered from the ~OT RE~DY
state when the machine is ready to run. A job may be programmed.

PRINT - This state is entered when a job is started and is the state in which copies are produced. It always exits to the RUN ~OT PRI~T ~tate.

RUN ~OT PRI~T - This state is entered whenever the PRINT state is terminated and controls the stopping of the machine. When all functions of the machine have stopped, it goes to the NOT
READY state.

TECH ~EP - This state may be entered when the machine is not running and is utilized by the technical representative for operation of special diagnostics ~or components control checking.

COMPO~ENT CONTROL - This state allows selected components of the machine to be exercised.

REMOTE DIAGNOSTICS - This state is entered when the machine is in READY, NOT RE~DY, or TECH REP states and the carrier is detected by a data modum which permits access to the machine via a telephone line.

Referr~ng to FIGURE 29, it may be seen that each state is normally divided into PROLOGUE, LOOP and EPILOGUE sections.
The program responsible forcchecking on the current status of the machine in-'taking care of changes from one state to another is called the state checker routine (STCK), Entry into a given 2~

state (PROL~GUE) normally causes a group of operations to be performed. These PROLOGUE operations consist of operations that are performed only once at the entry into the given state. For comple~ operations, a call is made to an applications subroutine.
Relatively simple operations such as turning on devices, clearing memories, presetting memories, etc. are done directly. Once the PROLOGUE is completed the main body (LOOP) is entered. The state checker routine remains in the LOOP until a change of state is requested and honored. On a change of state request, the state EPILOGUE is entered wherein a group of operations are performed following which the state mo~es into the PROLOGUE
of the next state to be entered.

State Checker FIGURE 30 indicates a flow chart of the state checker routine which is the basic background operating program. State checker (STCK) monitors the current state of the machine and controlschanges from one state to another and executes the various background routines which may be arranged at intervals such - as 10 ms, 20 ms, and 100 ms timeouts. During ~he 20 ms and 100 m~
timeout conditions, a call list is executed to perform certain background operations appropriate to the state of operation of the machine. The real time clock (RTC) may also be utilized to set 10 ms flags or 100 ms flags which are not generally included in call lists and may be performed only under certain specified or desired conditions such as in controlling ~he interactive display (blinking message), paper tray elevator checker, etc.

- 114 ~
'`''`' .

In reference to FIGURE 30, the SB:RQST byte is loaded into the accumulator and rotated left to look at the carry bit (RLC). If the carry condition code is set, then the 10 ms timer has timed out by the real time clock interrupt handler and the appropriate subroutine associated with this timed-out feature is called and executed. ~fter execution, the QTABLE
is updated, and the state checker then checks to see if a new state has been requested (NX:STATE NOT EQUAL PR:STATE)~ If so,the EPILOGUE for the present state is called and then the PROLOGUE for the next state is called. The EPILOGUE is used to change those ~lags,variables,timers or outputs that shouldbe changed beLore leaving a state, and the PROLOGUE is used to change those fla~s, variables, timers or outputs that are initialized when entering the new state.
If the 20 m~ flag has been set by the real time clock, then all of the subroutines in the 20 ms list are called and executed. ~hen all of the 20 ms subroutines have been called, ~he 20 ms flag is cleared-and, if the 100 ms flag has been set by the real time clock, one of the 100 ms calls is executed or one of the 100 ms timeouts is executed.
Key tasks associated with the NOT READY, READY, PRINT, and RUN NOT PRINT states are listed in Table 6 together with the subroutine module controlling the machine operation and the entry subroutine within the given module.
Foreground events have highest priority and are governed by the machine clock interrupt handler (800 Hz) and the real time clock handler (10 ms). These two interrupts are fed to a priority circuit which selects the machine clock over the real time clock in the event of simultaneous interrupts. The real time clock interrupt handler schedules all of the background task through eithex 20 ms or lQ0 ms flags via the call list or by passing a subroutine pointer for any timer that times out. The machine clock interrupt schedules and calls all of the foreground eYents which control the actual copy making process in the PRINT state.

The machine clock interrupt routine increments a counter Cmodulo 256) and checks if the top event in an ordered table (QTABLEl is supposed to be done on this count. If the top event is due, it is removed from the QTABLE and executed. Events are added to the QTABLE by a background subroutine ( ~ PDATE) whenever the last entry in the QTABLE is less than 30 counts from the present count time. The copy table contains the next event to be done for each pitch currently in process. The closest event of those in the copy table is moved to the end of the QTABLE and the cop~ table is updated to the next event in the event table. The event table is a list in RP~I of the master microprocessor of the events that are called ~or the current jo~s. The event table will be dependent, of course, upon the particular job selected by the operator such as, simplex~duple~ operation, magnification, etc. If the new entry in the QTABLE has the same count as the last previous entry/
then the new entry is incremented by one since no two events in the QTA~LE may be scheduled on the same count. Events are added to the end of the QTABLE until the last event is 30 or more counts from the present event time. When a new sheet is added to the programt those events which would be ahead of the last entry in the QTABLE areccounted and the count and event information is ~ept in a catch-up table. These events are sequentially counted down by the machine clock and called at the correct time.

FIGURE 31 diagramatically represents the sequence of events utilized to build the QTABLE. The building of the QTABLE
from an event table through the merger of both fixed and variable pitch events is similar to that described in the above referenced copending application by Edward Steiner and assigned to Xero~ Corporation.

i7~7' Z U~ ~ Z
4 ~ o ~ Z
P; 3 ,e,~ ¢ H 3 ~
z ~ J
l ~ Z ~: Z ~ u~ O ~;~)H a u~ q O O O ~ ~ E~
~ a ~ h E-i ~ E~ H ~
~ I III IIIIIIIIIII

o u~ a ~
P~ ~1 4 1~ 1:4 ~ H 1:4 Cl H H H

U~

U~
~n o Q) ~ O

E~ ~ ~) ~: h 1~H a~
rl ~ O
K l¢l 4 0 C) 3 ~ ~ -rl t/~ E I V ~ 01 ~ ~ O h E~ O ~ a ~9 ~
Z
~:1 Z 1-1 Z ~ ~
~ ;~ K ~ V ,~ ::1 ~ O ~I S
Pl 1:4 K ~1 ~ ~ V
~; K -1 W I 0 u~ O ~ ~ r~
~; O ~ O I 'i O ~1 0 h O ~1 -IJ
~- z ~ o ~1 o m z E~ a v Z ~ o ~
O ~ ~ ~ 0-~1 ~1~ U~ tQ O Ul Q, u~
a) W u~ ~ o U~ ~ ~ O O 0 ~ O I ~ Z r ~3 ~ 3 tq 1~ 0 ~ S~
~ ~ O ~ ~ X Z v ~1 ~ 3 ~ ~ O ~ O
V ~ 4~ h ~ :~ V ~1 al I 0 5~ O ~1 0 0 O ) I
O ~ (~ X ~ 5~ O ~) 1 ~ ~tn ~:1 0 5~ 0 Ql ~ Q~ 3 ~ S-l k u~ u~
'1 ~ ~ ~ ~ X o o q~ ~ o-,l-, 3 ~) ~O ~ ~1 3 ~1 0 ~ O
o u~ a) o ,~ h S~
U~ O ~ ~ ~ ~ O O
s ~~: o o,a ~
o ~:: a) c) o c)~ t) ~ O V ~4-rl-rl 0 o u~ h al v o ~ a~u~ o ~ ~~ s s ~ o a) ~
u~ u~ ~ U K~1 U U E~ U U C.) C) u~ ~ u~ H
.,~ ~1 ~i ~1 .. ~.~rl .......... -o ~1 ~1 o o ,1 , '7 ~n X ~ x ~ ~ ~ ~ C O Z ~ ~ ~
3 ~ , ~ H ~ , H

~ ~ ~ m~ ~ ~ ~ 4 ~ H ~ X H 1~ 14 ~0 ~- C,) U~ 14 ~ E~l P~ H 14 14 1~ H H H H U~ ~4 h s~
~ ~i a) ~rl N h~
.,~ O ~
U~ ~ ` Ul h ~a O
h ~ ~ Q ~ rl O
Z ~ O I ~ ~ 1 -O ~ ~ ~ 3 ul h a) ~-rl o ~ o ~ ~~ ~ ~ ~ o ~ ~ a O ICC Z a) ~)~ 1) r4 ~ ~D ~ ~
1~ p; R ~ n O (U ~ R ~ R

- h ~ h ~ (~ O
I o a) ~ aJ h ~ ~ n h h ~ ~S

R 5:: o O ~ O ~ " H

o ~ ~ ~ ~ o 8 ~ ~ ~ z a~ o ~
8 ~ h ~ ~ ~ O ~d ~ o o o h a~ ¢ ~ h n~ O t~ 3 ~ ~I h aJ ~1 _ o Q~ 3 o ~a h ~ h u~
tr h I :~ ~ h ~ a) ~ h ~ t:: Id o 1~ 0 Oul O ~ ~ ~~ o ~ nhl o ~ ~ 0 o3 o 3 ~
hc~ O C u~w ~ h ~1 0 h h ~ o C aJ ~ i 0 ~
3 ~~a ~ h a) ~ E ~ - h ~;
1 h S~ O ~ ~ ~ h ~ ~ .Y .
O ~ O u~ ~ ~ V t)~
t3-rl ~o t) C) ~ h a) Q) a) a.) ~ O a) Ul h ~ ra-rl aJ o ~ w ~ ~ s 4-1 ~ 4-1 0 ~ ~ C S S ~ 5 ~J rl ~ ~1 ,~ . , . , . ,, ., ~ ..... -~ .------O X u~ ~ a o u~a ~ K u~ Z Z; ~ ~ ~
Z O ~ m ~ m a ~; o ~ o ~-~ o ~
u~ m ~ H`li~ H 5~ X H lL1 m m m m ~ u IIIIIIIIIIIIII
3 ~,) ~ ~ G O U ~ ~ ~ X
W C l H 14 14 li:.~ CY H I I H H 14 1:4 ~4 14 .14 ~4 1 ~i ~a o ~ ~ e o ~ ~
V ` O

a) z u ~ ~ c~ o u~
u~
2 ~ rl ~ ~ u~ ~ ~ x ~ 8 ~ H
C ll; u~ r~ 0 ~ c~ ~ O ~1 Fd O u~ h a~ O
e ~ ~ O
O ~ O ~ 0 , ~ Ia ~ ~ ~ ~
~E~ o ~ o ~1 u~

~: O O O~ Z--1 O O a~ ~ o ~r ~ s~
~ (U ~ V ~ ~ ~ O ~
h 3 ~ ~) U~ ~ _ ~ h a~ -IJ ~ h O 1:: V
h O ~ C O ~) ~ X ~ h ~1 rl rl a) ~ u3 E-~ C) h t~ 15 h V ~ h U~ 1 h Q, V ~1 0 S-~ u~
H h ~ ~ O
~ X O O ~ ~ 0 V ~ O O ~ ` ~15 111 0 U~ ~1 0 ~ ~ ~1 0 ~1 ~ h h ' ~ h (a ~ 3 ~ Q~ . ~ ~ ~ rl ~ U1 ~\ ~ ~r~

O vl Id ~ X 11~ 0 ~ ~ a) ~:: ~1 0 h ~) ~1 U~ ~rl `J ~ ~h E~ Ul ~ 1 h h '~1 h 0 t) ~ D U1 ra a~ E~
u~ O O tJ~ ~1 0 U) h 0 1~ ~ O ~ 1 o ~ h o V -1,LI 1 O ~: V O V V O (~ ~ V C~ V V V ~ V
v ~ h ~ O a) O ~ h ~ rl a) v s o s ~ o ~ ~ ~ ~ O O
U~ (.) ~ U U u~ H H E~ V U U U U U ~ H ~ m m m ~ c.
~1 ~1 O O
O

~ ~ P. o z ~ ~ ~ z ~o ~ ~ ~ m ~ Iq ~ æ ~ ~ z ~ z~ ~ ~ C5 c E~o~ H P~ ~
o m o ~ ~ o ~ x U~ C~ H H ~ I m m ~ i:q ~ ~ H 1:~ IY U~ H 2; X ~I V
1:~ 1 11 1 1 11 1 1 1111111 111111111 i '- Q U~ I H H ~ 4 4 ~4 H 1~ 1 01 H H H 14 P:.

U~
~n ~J
~0 C~ ~ h aJ
~ ~ ~ :~ h ~ u~

4~ o x ~
~ ~ ~ R
~ ~ o a~
r~ O
u ~ ~ a ra a.
U~ C_) ~ r l C) O rl rC O aJ
1 ) ~ 5-1 U
~ ~ a E~ u~ 0 ~9 ~¢ r~l a~ U r~l r~l ~~ r--l au ~ P~ 3 ~1 U H
~ ~I r~l ~ Q r~l ID ~ U~ a) /~1 ~1 j.3 ~ ~ ~-r l ~ ~> h ~ ~ .a r~l rl r I ~ S~ ~ >
1--1 ~ U '-- O 3 ~ r(2 a) r~
m ~ ~ a.l ~ 5, u~:, ra :~ a) ~~ ,~ ~ rc~ r~l a) ~ aJ ra l¢ ~ ~ 5 Z .C U~ Jr ~l ~O U~ (U
h ,¢ ~_ iil ` S u~ ra ra ~ r~ r~
~ ~ ~4 F 3 ~ rJ~ a u P~ ~ ~1 0 0 h a~ a w r5 d ~r3 0 ~ h ~ W t~ U O ~
E~ ~~ ~ hul O O ~ ~ r~ r-l ~ r-lO ;:1 tD
O P; Q~ a) u c~ ra ~Z U~ ~O O tQ ~r ~ ~1 -IJ (~ ~ U~ a) U !~
- O ra i;l (~ w 0 ~ rd ~
ZU~ X ~ ~ _ r~ a ~ ~ r~
O U a~ X ~ F~ r~ D a) O ~O a) S-l { O ~ 1 Z G)--~:1 0 ~ O ~1 ~ O ~ ~ o h l ~I z i-l u n~ O ~1 U a) a) w -1 ~ w t~J
O ~ O C O S ~ U
al a~ I av ~ X ~ ra ~ r~ aJ ~ ~ u~ a~ ~ X

r1 ~ ~ O r~ 3 a ~ o I-~ ~0 ~ ~ ~ ~ a)-r~ a~ o a~ d a~
U ~ ~ P.~ -rl ~ a~ U w S~
3 a~ ra ~ r~ r~ a~ ~ a) O O ~3) 1 a~ U ~X ~ ~4 r~l ~ X O ~ 'a ~ U
r-lo ra 1~ r i ~ C ~ ~ ra ~a ~ ~ C rd ~n a~ o I rf~ a~ ra - a~ rd h ~ ~: a~ 4~ o -~ w f Fi a-) C a c :# W ~ ~ ~ C a _. ~ ra ~ r-l a~ o ~ Ll rl ~rl tl5 5-1 t: u s~ ~ ~ ra a~ o z ~ w O ~ ~ rt ~ U O U~ E~ a~
rl ~ ~ o ~ ~ u u trl a~ (a ~ h rl a) ~ ~ o o rl 3 q-l rt ~ 3 ~ 0 0 3 ~ Ul ~) r-t ~ Ul ~ ~ ~ ra a~ rt ~ rt ~1 o u~ c o ~: a~ O rt r-l O-~t ~~'~ rt t~
r l ~C ' r~i ~1 .4 r-t ra~¢ ~ a~ h a~ O U rt I 11 Qa) a~ d O c a~ a~ r~~l ~ .j ~ ~ a~ ~ a~ h ~ ~ 4 a~
~ ~) ~ rl X ~C ~ W ~rt U~ r~ a ~no ~ o w ~n ~ o ~ o ~ a) a~ a~ W ~ ~ Q
rt W ~r~l rl ~ E~ ~rt rt 4-i ,~ r~l U ~I-rl ~C h O rl ~
ra~ ~ ~a o o OI ~D U U O ~ ~ U t) V C~ U ~I r-t r t rt a~ ~ a~ U U p~ U ri rt ~ U
U~ ~ a~ ~ U ~ o a~ aJ a) ~ rt rt r~ ~) IJ a~ a) o a~ ~ ~ r~ a~
a~U O rC ~S a~ o ~ ~ ~ ~ ,5: ~ ~ ~ r~ ~ O ~I C S ~ IJ S O Q) rt rC
U ~m m m a H H C~ m c~
~r l ~rt rt rt r t ~ r~
r-lr~t t~l ~ ~r rt rt ~ ) r` CO ~ O r~t ~1 ~ ~ L~ ~9 r~ CO cn O r-l r~l r~l r~t r i r-t r i r l rt r t r~
O O
~I O
rt ~ 121 ~

Interrupt Handlex FIGURE 32 is a flow chart o~ the interrupt handler module which is responsible for receiving interrupts from.the machine clock and real time clock, saving the current status of the microprocessor, receiving and filtering the interrupt data and enabling a branch to the appropriate clock interrupt address (DO EVE~TS). Since the interrupt handler is utilized for pseudo-interrupt operations the received data is similar in format to that shown in Table 5 or Table 5A. Data is filtered by means of ~etransmitting the interrupt selection codes for two successive duplex transmissi~n operations foll~wed by a simplex read only instruction. Only bits which have consistent readings for the three data bits received will be utilized as indicative of a bit transition.

Afterrifiltering, the bits that have changed-;since the previous pseudo-interrupt operations are tested as to whether they represent QTABhE events, registration events or events necessitating a platen length calculation and start scan operation. Subsequently, catch-up events are checked and if there is sufficient time to perfoxm these catch-up events, t~e highest priority event is executed and the interrup~ flip-flop is reset. A check is then made to see if any previous interrupts are in process and if not, the interrupts required to be serviced are processed in a loop until all such interxupt flags representing changes in the pseudo-interrupt data word are serviced. The real time clock flag is then checked and any real time events are executed (for example, energizing the inter-active display, motor checks for elevator up/down conditions, platen return time-out checks, etc.).

Set forth below is a description of the passive and active area controllers and their interconnection to the master unit.

Paper Path Area Controller The functions of the paper path area controller are illustrated in block diagram form in FIGURE 33. As shown therein, output data from the data latches and drivers ~data latch 1508 and drivers 1505 of FIGURE 23~ may provide as many as sixty~four output data lines to various system devices within the paper path environment. Similarly, the tri-state buffers 1506 may handle as many as sixty~four input lines each line provided by a pull-up and diode protection network as required. The output latches and drivers are identified by number 2000 in FIGURE 33, and the various input buffers together with any associated pull-up and diode networks are indicated as element 2002. The latch and driver network 2000 supplies for axample six output signals to control various functions of the main/auxiliary tray control unit. Six additional lines are provided for the registration unit 2006, four lines to control the drum mechanism 2008, six lines to control the billing meters 2010, seven lines to control the duplex tray unit 2012, four lines to control various jam sensors and paper path diverters generally designated 2014, one line to control the mirror selection unit 2016 for RDH/platen operation, and five lines connected to a relay panel 2018 for various miscellaneous operation controls. Input lines as shown may alsobe provided from these same above-enumerated units as well as from miscellaneous interlocks identified generally as 2020.

~2~7 A list of the various input and output signals for the paper path area controller 6 is given in Table 7. The input signals are identified by numbers PPIl-PPI45 together with the name of the input signal, the type of input utilized and the S acronym utilized in the computer code for the identified signal.
Similarly, output signals PPOl-PP039 are listed together with the output signal description, output type and computer code acronym.
FIGURE 34 illustrates a more detailed schematic of the paper path within the machine and the position of the various input sensors and output drives associated therewith. The key inputs and outputs are identified in FIGURB 34 by the numbers PPIXX and PPOXX corresponding to the numbers utilized in Table 7. The basic machine elements such as the drum, corona genera-tors, developer unit, and vacuum stripping system are numbered similarly as in FIGURE 2. The abbreviatioll "sol" as used in the drawing indicates generally a solenoid for driving the output device, although clutches or other appropriate driving mechan-ism may well be utilized.

-12~-_ INPUTS

ID ~O. INPUT SIGNAL INPU~ TYPE ACRONYM
_ _ PPIl Main Tray Interlock SwitchMTRY#ITK
PPI2 Mafn Manual Down Switch PPI3 Main Bottom SwitchMTRY#BOT
PPI4 Main Low Paper SwitchMLOW#PAP
PPI5 Special Forms - Main Switch PPI6 Main Hold Station Sensor Photo-Sensor MTRY-HLD
PPI7 Main Feed Head Up Hall Eff. Sw PPI8 Main Feed Head Down Hall Eff. Sw MSTK#HHD
PPI9 ~nput Transport Interlock Switch IXPT#ITK
PPI10 Aux Tray Interlock SwitchATRY#ITK
PPIll Aux Manual Down Switch PPI12 Aux Bottom SwitchATRy#BoT
PPI13 Aux Low Paper SwitchALOW#PAP
PPI14 Special Forms - Aux Switch PPI15 Aux Hold Station Sensor Photo-Sensor ATRY#HLD
PPI16 Aux Feed Head Up Hall E:Ef. Sw PPI17 Aux Feed Head Down Hall Eff. Sw ASTK#HDD
PPI18 Registration Xport Switch RXPT#ITK
Interlock PPIl9 Registration L.E. Sensor. Photo-Sensor REG#LE
PPI20 Registration T.E. Sensor-l Photo-Sensor REG~TEl PPI21 Registration T.E. Sensor-2 Photo-Sensor REG#TE2 PPI22 Registration T.E. Sensor-3 Photo-Sensor REG#TE3 PPI23 Duplex Drawer Interlock Switch DDWR#ITK
PPI24 Duplex Out-of-Paper Switch Switch DTRY#PAP
PPI25 Duplex Hold Station Sen~or Photo-Sensor DTRY~HLD
PPI26 Bi-level Xport Sensor Photo-Sensor PPI27 Stripper Xport Interloc}c Switch SXPT#ITK
PPI28 Misstrip Detector Switch VXPT#PAP
PPI29 Pre-~user Paper Switch Switch PREFUS#S
PPI30 Post-Fuser Paper Switch Switch PSTFUS~S
PPI31 SOS Sensor Photo-Sensor SOS#
PPI32 Cleaning Air Sensor Switch CLNG#AI~
PPI33 Cleaning Filter Full Switch CLNG#FLT
PPI34 Maintenance Interlock Switch PPI35 Compressor Air Switch Switch COMP#AIR
PPI36 Platen Cover Interlock Switch PLTN$ITK
PPI37 Door 2 Interlock Switch DOR2#ITK
PPI38 Door 3 Interlock Switch DOR3#ITK
PPI39 Door 4 Interlock Switch DOR4#ITK
PPI40 Driver Trunaround Check Gate PPR#DRCK
PPI41 ~isc Driver Turnaround Check Gate PPI42 Duplex Drawer Unknown 1 PPI43 Duple~ Drawer Unknown 2 PPI44 MACAS Mirror Position Sw Switch MIR~ITKM
PPI45 Platen Mirror Position Sw Switch MIR#ITKP

OUTPUTS

ID NO. OUTPUT SIGNAL OUTPUT T~PE ACRONYM
~ . _ ......... _ . _ _ . . _ . _ .. . _ _ _ _ . _ PPOl Main Feed Clutch Clutch MAIN$FD
PPO2 Main Elevator Up AC Motor-Triac CKT ELYUP$MN
PPO3 Main Elevator Down AC MotQr-Triac CKT ELVDN$MN
PPO4 Aux Feed Clutc~ Clutch AUX$FD
PPOS A~x Elevator Up AC MQtor-Triac CKT ELVUP$AX
PPO6 Aux Elevator Down AC Motor-Triac CKT ELVDN$AX
PPO7 Reg. Pinch Release Sol Rot. Sol. RPIN$REL
PPO8 Reg. Gate Clutch Clutch REG$GATE
PPO9 Set Separator Solenoid Solenoid PPO10 Normal Force Applicator Clutch NORM$FOR
PPOll Duplex Feed Clutch DC Motor DUP$FD
PPO12 Side Guide Motor - CW DC Motor-Relay SGMT$CW
PPO13 Side Guide Motor - CCW Via Relays SGMT$CCW
PPO14 Jam Recovery Diverter Solenoid Sol PPO15 Jam Recovery Motor - AC Motor-Triac CKT JA~REC$F
Forward PPO16 Jam Recovery Motor - AC Motor-Triac CKT JAMREC$R
Rev.
PPO17 Exit/Duplex Diverter Solenoid Sol.
PPO18 Stripper Finger Sole- Solenoid noid PPOl9 Cleaning/Vacuum Blower AC Motor-Relay CLG$~AC
PPO20 Cleaning Brush Motor AC Motor-Relay CLG$BRH
PPO21 Stand-~y Power Relay Relay STBY$RLY
PPO22 Print Relay Relay PRNT$RLY
PPo23 Start Capacitor Relay Re]Lay START$CA
PPO24 Mirror Drive Motor AC Motor-Triac CKT MIR$DRIV
PPO25 Billing Meter #l MTR. Coil PPO26 Billing Meter #2 MTR. Coil PPO27 Billing Meter #3 MTR. Coil PPO28 Billing Meter #4 MTR. Coil PPo29 Billing Meter ~5 MTR~ Coil PPO30 Billing Meter ~6 MTR~ Coil PPO31 Inter-Document EL Strip-Triac CKT
Fade-Out EL Strip PPO32 Erase EL Strip EL Strip-Triac CKT ERASE$
PPO33 Pre~Clean EL Strip EL Strip-Triac CKT PRECLN$
PPO34 Duplex Tray-Spare 1 Triac CKT
PPO35 Duplex Tray-Spare 2 Triac CKT
PPO36 Reg. Xport Spare 1 PPO37 Reg. Xport Spare 2 PPO38 Reg. Xport Spare 3 PPO39 Reg. Xport Spare 4 ~126-.

2~

RDH/ADF Control Console - Controller 8 An overall block diagram of the input and output lines for the RDH/ADF control console 8 is illustrated in FIGURE 35.
As can be seen, a plurality of input and output lines are connect~d to provide function controls for the RDH/ADF operating modes.
These function controls may include, for example, sensing and controlling vacuum sources, scroll position, various pinch rolls and the like. The functions controlled by these input and output lines do not typically include servo functions which are separate ly controlled by the active area controller 10. It may also be seen that various input and output lines are connected to an interactive display which is located on the OperatQr console for displaying various jam conditions. Additionally, the interactive dis-play may provide sequential step information ~or various non-jam modes of operation in the machine. An audible alarm is also provided by means of control lines to an auditro~ as indi-cated.
A plurality of front panel input and output lines are also provided as a means to allow operator control of machine modes and job requirements. For example, the operator may select a num~er of copies for a multiple copy run, whether the machine is to be operated in the RDH or platen mode, the magni-fication deslred, contrast information, simplex/duplex informa-tion paper size and the like. Various LED and seven-se~gment displays are provded to assist the operator in programming the particular jo~ as required. Table 8 shows input and output signals utilized in the area controller 3, namely, those signals utilized as the function controls for the RDH/ADF mechanism as ,: , . s ~- -127-well as for the interactive display. It is noted in Table 8 that the input signals for the function controls and the inter-active display are identified by the labels CCIl-CCIlg (Control Console Inputs). Similarly, outputs are labeled CC01-CC016 (Control Console Outputs)~ It is also noted that the ~erm RDH
(recirculating document handler) is interchangeable with the term MACAS
FIGURE 36 shows in more detail the key input sensors and output devices under the control of the RDH/ADF Control Console 8. Elements corresponding to those of FIGURE 2 are similarly labeled. The web 132 is rolled around scrolls 133a and 133b. Scroll 133a may be moved into different positions to allow manual or automatic (ADF3) loading, and for run positioning.
The Automatic Document Feeding (ADF) apparatus may be provided on the machine as an optional feature and is shown in dotted lines.
Also illustrated in FIGURE 36 are three vacum blower motors 2040a-c used to hold the docu~lent securely against web 132. A~--shutter 2042 reduces the e~fect o~ vacum motor 204b to allow ease of document loading. Pinch rollers 2044 provide the driving means for web 132. A gate 2046 is utilized for initial do~ument registration during document loading, and sensors are utilized to indicate the gate finger up or down position. Sensors are also provided to monitor registration aperatures positioned alonggthe edge of web 132. These "tracks"
(A and B) are used to provide pos~ion and speed information to the servo control area controller 10 as explained more fully below. Signals which are used in connection with the servo control area controller 10 are identified as SRI (Servo Remote Inputs) and SRO (Servo Remote Outputs). Signals controlled by the process control area controller 12 have a prefix PCI
(process control inputs) and PCO (process control outputs).

- FUNCTION CONTROLS
INPUTS

ID NO. INPUT SIGN;AL ACRONYM
CCIl Vac~ Sensor #l Vac. # Sen 1 CCI2 Vac. Sensor #2 Vac. # Sen 2 CCI3 Vac. Sensor #3 Vac. # Sen 3 CCI4 Vac. Shutter Position CCI5 ADF Feed Tray ADF # TRYE
CCI6 ADF Feed Head ADF # FDHD
CCI7 Mirror For/Rev MMIR # FOR
CCI8 Scroll Position #l MROL #l CCI9 Scroll Position #2 MROL #2 CCIlO MACAS # Track CCIll Track Bl MTRK # Bl CCI12 Track B2 MTRK # B2 CCI13 Pinch Roll Sense ADF # Sense CCI14 Gate Sense CCIl5 MACAS Lead Edge CCI16 Multi-sheet Feed ADF Multi # FD
CCIl7 ~CAS Cover ILK MCVR # ILK

INTERACTIVE DISPLAY
INPUTS
CCIl8 Orientation Request Learn # RQ
CCIl9 Index Re~erenc~e ID # REF
;

FUNCTION CONTROLS
OUTPUTS

CCO1 Front Blower FRNT ~ V~C
CC02 Middle Blower MID # VAC
CC03 Rear Blower REAR # VAC
CC04 Mirror For/Rev MIR # REV
CC05 Vac. Shutter Vac.# SHUT
CC06 MACAS Patch MAC # SOL
CC07 ADF Pinch Roll ADF ~ PNCH
CC08 MACAS Pinch Roll MAC # PNCH
CCO9 MACAS Gate MAC # REG
CCOlO ADF Reverse ADF # REV
CCOll MACAS Cover Detent CVR # DTNT
CC012 MACAS Cover Lock CVR # Lock CC013 ADF Motor Control ADF # Mot TABLE 8 (~Cont' d~

INTERACTIVE DISPLAY
OUTPUTS

ID NO. INP:UT SIGNAL ACF~ONYM
, , .
CC014 Lamp Driver #1 ID # Lamp 1 CC015 Lamp Driver ~2 ID # Lamp 2 CCOl 6 Motor ID # Mo~

RDH/Platen Servos - Controller 10 The area controller lO governs the RDH and platen servos as diagramatically illustrated in FIGURE 37. The prime purpose of the servo remote controller lO is to control four motors, namely, the RDH motor 3000, the platen motor 3002, the reduction optics motor 3004 and the scroll motor 3006. The RDH motor 3000 controls the movement of web 132 when utilizing the pre-collating feature available for the recirculating document handler. A
tachometer 3U10 and an encoder 3012 provide various input signals to the area controller lO as shown. A similar tachometer 3014 and encoder 3016 are associated with the platen motor 3002 and additionally provide input signals to the area controller lO.
The platen motor 3002 is utilized to drive the scanning lamp 124 (FIGURE 2) for platen scan mode operation of the machine.
Reduction optics motor 3004 provides the drive means for positioning lens 130 (FIGURE 2) enabling use o~ the variable magnification feature of the machine. Encoder 3020 is utilized to provide position signals to the area controller 10 which signals are indicative of the position of lens 140.
Scroll motor 3006 is utilized to position the scroll carrying web 132 to provide paper feed input, run position, ADF eed positioning and the like.
The various input and output signals utilized in the servc controller lO are listed in Table 9. An understanding of the function of the various input and output signals is apparent from Table 9 taken in conjunction with FIGURES 2, 3~, 36, 37 and 38.
FIGURE 38 shows the major optical scanning elements of -1~2-the machine which are used during platen scan operations. The stand-by position for the scanning lamp 124 (which is physically connected to a carriage together with mirror 126 as indicated ~y dotted lines) is shown as position A, and is used during RDH
operations as well as machine stand-by. Position A is termed the home or garage position. In utilizing the platen scanning mode of operation, the operator selects the desired copy paper size, the desired magnification and initiates platen scan by pushing the start scan button. From the copy paper size and magnification information, the master unit calculates the required velocity (BRM$0-BRM$11 data) and end of scan ~EOS) position of the lamp 124. This information is fed to the servo controller 10 to control the lamp motion. Prior to a document scan an initialization or dummy scan is made while other machine devices are preparing for the platen scan mode tcopy paper feed, etc.). During this initialization scan, the carriage moves to the leading edge (LE) sensor, position B. A document pre-scan takes place from position B
to position C after which follows the document scan proper from left to right in FIGURE 38. The distance between position B and C is quite small and the LE sensor will remain active, generating the P~LE signal until the lamp moves off the sensor going from left to right (docu~ment scan) in FIGURE 38. The end of scan (EOS~ occurs at position D which, of course, is variable depending on the copy paper size and magnification selected~ The lamp 124 remains at the EOS position until the end of the initialization step after which a true document scan takes place, e.g. position D to position C for retrace and pre-scan and position C to position D for document scan.
After scanning, the lamp 124 remains at position D until 7~

another document scan is requested, and, if none occurs within a particular time-out alloted, the lamp 124 moves back to the home or garage position A.
The lens 130 is controlled by the reduction optics motor 3004. A lens home signal (LNHM#PST) is generated by a fixed sensor which, together with encoder signals, enables control of the position of lens 130 to enable selection of the desired magnification.

y~J1~

TABL~ 9 SERVO CONTROLLER
Master Output Direct to Machine Byte Name Port Acron~m Description SYS$SLT O TST$BT MACS Turn Around Test Bit O$AFD Address Fault Detection MUX Control PLT$SLT Platen System Select -Relay Drivers MCS$SLT MACAS System Select -Relay Drivers SCL$SLT Scroll System Select -Relay Drivers RDCT$SLT Reduction System Select -Relay Drivers INT$EN 7 PLE$EN Platen Lead Edge Interrupt Enable BRM$PTl 1 BRM$0-BRM$7 Binary Rate Multiplier Bits 0-7 BRM$PT2 2 BRM$7-BRM$11 Binary Rate Multiplier Bits 7-1 Lo$TST Input port low - test HI$TST Input port high test Master Input Direct From Machine TATST~BT O TST~BT MACS Turnaround Test B.it DR~TST Relay Driver Test Bit BRM#TA BRM Input Test Bit . PSD#INT 7 GR#IN Grounded at Input SCR#RESP Servo Microprocessor Station Return Bit P#LE Platen Leading Edge Pseudo-Int.
FLG#IN 1 LNHM#PST Lens Home Posikion Switch BRM$1 Address Fault Dekection Test Bit P~RGT Platen Righ~ Overtravel POVT#LFT Platen Left Overtravel PA#TMP Power AMP Over Temp Sense Input SVLP#LK Servo Phase Loop Locked Bit MCLP#LK Machine Phase Loop Locked Bit REMOTE CONTROLLER OUTPUT TO MACHINE

DAC$DATA 1 DAC$0-7 DrA Converter Input Bits 0-7 INT$SLT 2 DAC$PaL D-A Converter Polarity INTSLT$1-5 Interrupt Select Line 1-5 DR$LSB InterruptDivide Rate Least Sig~ ~t DR$MSB Interrupt Divide Rate MostSign~B~t TABLE 9 (Cont'd) REMOrrE CONTROLLER OUTPUT TO MACHINE

Port Acronym Description .
SW$CNTL 3 MCAP$LP MACAS Capture Loop Enable PCAP$LP Platen Capture Loop Enable RTVL$0N Retrace Velocity Gain Enable SP$SW Spare Analog Switch Enable INT$CLR Interrupt FF Clear AFD$MUX Remote Address Fault Detec-tion Control Bit REMOTE CONTROLLER INPUT FROM MACHINE

INT#DATA 1 INTDT#0-7 Interrupt Data Bits 0-7 (TTL) SLW#FLG 2 MVL#CMP MACAS Velocity Compare PVL#CMP Platen Velocity Compare P#OVTRGT Platen Overtravel Right POVT#LFT Platen O~ertravel Left LNM#PST Lens Home Position FST#FLG 3 CHAN~A Encoder Channel A Clock ~HAN#B Encoder Channel B Clock ENC#DRT Encoder Direction D#PLE Remote Platen Lead Edse PHS#DRT Encoder Phase Direction (LED/LAG) INT#ATTN Interrupt Attention (Data Latch Rdy) ATTN#l Area Microprocessor Attention (Command Present) ATTN#2 Area Microprocessor Attention (Data Present~

~ J2 Master/Servo ~oftware Communications The servo controller 10 is an active area controller and is similar in overall structure to the process control controller 12 illustrated in FIGURE 3. As such, a number of input sense signals and output drive signals go through the controller and are not specifically controlled by the area microprocessor 1600 of the active servo controller 10. other input and output signals, are however controlled by the area microprocessor 1600. Thus, control of the functions of the servo contro~ler 12 is divided in that some functions are passed to the master unit 1 for control and other functions are con-trolled directly by the area microprocessor 1600. The area and master microprocessors are programmed to cooperatively function to produce all of the necessary control signals which are within the realm of the servo controller 10. Table 9 lists the various input and output signals.

Communications between the area microprocessor 1600 and the master I o interface 4 is illustrated in EIGURE 39. Figure 39 is silnilar to Fi~ure 23B except that two input ports and two output ports are dedicated to master microprocessor~area microprocessor communications.
The servo controller/master connumications instruction set consists of a group of single-byte and two-byte instructions.
The instructions set is also divided into command instructions and data instructions. The command instructions result in a ~ J.~7~

load motion change, i.e. RDH stop, platen start scan, etc. The data instructions determine a speed or position for the appropriat~
load instruction.
All of the command instructions and some of the data instructions are single-byte in length. These are called command bytes and are read by the area microprocessor from its command byte input port (the area microprocessor input port is effectivel~
the master output port, e.g. the area microprocessor command byte is present on OP6 of Figure 3~.) The data instructions which require a calculation by the master microprocessor 300 are two by~es long. The first byte is the command byte which identifies the particular servo system (scroll, RDH, reduction or platen) and tells what the data represents. The second byte, the data byte, contains the actual data that gets stored into the area microprocessor memory. In the case of the two-byte instructions, the command byte is read from the command byte input port (OP6 of Figure 3~), and the data byte is read from the data byte input port (OP5 of Figure 39). The command byte comprises eight bits.
Bits 0-3 are identified as Il-I4 and designate the particular instruction field designating the desired instruction. Bits 4 i and 5 are utilized to designate a normal operation/diagnostic mode instruction and a data/command instruction, respectively.
For example, when bit 5 is set the particular instruction is a command instruction; otherwise, it is a data instruction.
Bits 6 and 7 comprise the system or "S" field. These bits identify the particular servo to which the instruction pertains.
Bit 6 is designated Sl, and bit 7 is designated S2. The following code is utilized:
S2 Sl Servo ._ _ 0 0 Scroll O 1 RDH (MACAS) 1 0 Reduction 1 1 Platen -13~-The instruction set and the operational code assisned for each instruction set using the format outlined above is listed in Table 10.

SERVO COM~IUNICATIONS INSTRUCTION SET
COMMAND COMMAND
BYTE (HEX) ONE-BYTE COMMAND BYTE (HEX) TWO-BYTE COMMA~
00 Send Status 94 Reduc. Length LS Byte FF System Stop 98 Reduc. Length M5 Byte 32 Scroll Reverse Dl Velocity LS Byte 34 Scroll Forward D2 Velocity MS Byte 38 Scroll Stop D4 Platen Length LS Byte 14 Scroll Slow D8 Platen Length MS Byte 18 Scroll Fast 54 RD~ 15 IPS
58 RDH Creep 71 RDH Reverse 7 2 .RDH Forward 74 RDH Stop 78 - RDH Jam Stop B0 Reduction Data B2 Reduction Initialize B4 Reduction Reverse B8 Reduction ~orward F0 Platen Data Fl Platen Initlalize F2 Seek Garage F4 Seek EOS
F8 Staxt Scan -13g--yl~

The ~ata byte ~ormat is quite strai~htforward,D7~D0 corresponding to bits 7 and Q, respectively, in the data field with bit 7 being the most significant bit and bit 0 being the least significant ~it.
Statuc return information, as seen in FIGURE 39, is fed from the area microprocessor to the master microprocessor via input ports IP5 and IP6. The status return byte is used by the servo c~ntroller to communicate to the master unit the present status of the servo system progr~m. When the status of one of these systems changes, the appropriate bits of the byte are changed. The change is initiated in response to an instruction from the master unit with the correspondlng execution of the servo controller microprocessor. The new status~is loaded into the status return port (IP6) which initiates,when polled,a pseudo-interrupt for the master unit.
The format of the status return byte is similar to the command byte format. Bits 0-3 are designated SO-S3 and corresp~nd to the I-field in the command instructions. Bit 4, S4, represe~ts the r~ady/busy (not ready to receive instructions), status o~ ~he servo controller microprocessor. Bit 5, S5, is cleared if the error checking routine within the servo con~roller micropr~c~ssor detects a transmission fault. Bits 7 and 6, S7 S6, correspond with the S-field of the command bytes and represent the particular servo system that that has been selected by the master microprocessor.
The communications routine is entered in the servo controiler microprocessor when the AM-ATTNl input bit is set. This occurs when the master mlcroprocessor writes informa-tion into OP6 of the servo controller. The area miCrOproce~SQr of the servo controller then reads both the command and data information stored at OP6 and OP5. After this command nd data in~ormatlon is read, transmission error checking is performed and the received instruction is then tested to see if it is one of two special types of instructions.
These instructions are independent of the system being operated.
If the instruction is not special, an internal flag, D~TA MODE, is checked. If the area microprocessor is iII the DATA MODE, the~
the instruction is decoded as a data instruction. If the area microprocessor is not in DATA MODE, then the instruction is decoded as a command instruction. At the end of each decision branch, the appropriate servo controller status is loaded in the status return output ports for input to the master. The communications routine flow chart is shown in Figure 4D.
The error checking scheme is essentially a double transmission system. The maste~ unit sends the command instructiolns twice, and the area microprocessor reads these instructions and compares them for equality. The result of theequality check is indicated by transmission of the error status bit in the status return byte or the master to re~ad ~bit 55~. Further, the two bytes received by the active controller are added together and the sum is loaded in thQ data return output port for the master to read. The master will similarly check the sum data to aid in error detection of two-byte instructions.

-14~-~hase ~ock ~oo~ Con~rol A major function of the area microprocessor 1600 for the servo controller 10 is to implement a phase lock loop control of the platen servo motor 3002 and the RDH servo motor 3000. Some special hardware is utilized in the area controller 10 to assist the area microprocessor in such control. As indicated in FIGURE 37, this hardware may also be utilized to provide the 800 ~z clock signals to the master I~O
interface 4. FIGURE 41 illustrates the overall PLL control scheme for the platen servo motor 3002. A similar circuit may, of course, be utilized for the RDH servo motor 3000.
As seen in FIGURE 41 the servo control circuit utilizes a rate loop or minor loop which is connected to provide signals from the tachometer 3014 to a adder 3050. The adder additionally lS receives a reference voltage which :Ls compared with the voltage from the tachometer to generate an error signal.
The error signal is fed to a pre-amplifier 3052 and a power amplifier 3054 to correct the servo motor 3002. A major or position loop is also provided in the servo control circuit utilizing encoder 3016 to derive position signals termed MOT ENCODER signals. The MOT ~NCODER signals are fed to the down input of an up~down counter 3056, which has its up input terminal connected to receive the servo reference frequency. The counter 3056 may be pre-loaded to a desired 2; nominal count rate corresponding to the reference voltag~
desired for input to the adder 3050. ~he output of counter 3056 is converted to analog form via D/A converter 3058 to provide the desired reference analog voltage.
The software utiliæed in the servo controller 10 effectively replaces the up/down counter 3056 and allows more sophisticated and elaborate control of the digital value which is sent to the ~/A converter for use as the reference voltage to adder 3050.
FIGURE 42 illustrates a schematic diagram of the clock generating circuits utilized as part of the special area circuits for the servo controller 10. The basic input to FIGURE 42 is the encoder output signals from the drum which are nominally 9600 Hz at 15 IPS. The encoder signals, DRMENC, are fed to a free running phase lock loop circuit 4060 (Model No. LM565), which is connected in a feed back path via amplifier 4062 and divide by 32 circuit 4064.
The effect of the phase lock loop circuit is to produce a frequency at the output of amplifier 4062 which is 32 times the DRMENC signal frequency. This output si~nal is phase locked to the DRMENC signals. The output of amplifier 4062 is fed to a binary rate multiplier (BRM) circuit 4065 which may comprise, for example, two Model 7497 chips. Each of these chips receives a six bit data code, and the composite twelve bit code is simply the servo velocity data BRM$0-ll from the master microprocessor. The velocity data is generated from the master in response to the operator's selection of a particular copy size and a particular desired magnification.
If N represents the integral decimal value of the BRM$ data then the output of binary rate multiplier 4065 is simply N/(64x64) multiplied by the input frequency (output of amplifier 4062).
The output of binary rate multiplier 406S is fed to a divide by 16 circuit 4066 which provides the servo reference frequency utilized as the up input to counter 3056 (See FIGURE 41). It may thus be seen that the output of the divide by 16 circuit 4066 may effectively by utilized by provide a large number of -~3 different servo reference frequencies for use in controlling the platen servo motor 3002. Additionally, it is seen that these frequencies may not necessarily be integral harmonics or sub-harmonics of the drum encoded output signals, DRMENC
signals. The binary rate multiplying circuit permits fractional multiplication of the drum encoded output signals to thus provide a wide range of possible frequencies for phase lock control. Thus, a large number of magnifications may be selected by the operator and the required platen scan velocity may be implemented with phase lock control for all such selections. ~ffectively, the operator may select magnifications at imperceptable magnification increments.
FIGURE 42 also illustrates the generation of the master machine clock signal, MCH#CLK which has a frequency of 800 Hz. This signal is generated from a 9600 ~z output of the divide by 32 circuit 4064 via a divide by 12 circuit 4068. Phase lock signals (LOCK) are also provided by com-paring the 9600 Hz output of the divide by 32 circuit 4064 with the DRMENC signals from the drum encoder. The comparison is made in an exclusive OR circuit 4070 which feeds an inverter which in turn supplies a phase error ~ignal to a fine phase lock comparison circuit 4072 and a coarse phase lock comparison circuit 4074. The fine phase lock comparison circuit 4072 provides an output signal MCLP#LK which tells the master microprocessor if the drum is running close to the desired speed. The coarse phase lock comparison circuit 4074 tells the master microprocessor if the drum is in fact running at all.
FIGURE 43 illustrates the logic circuitry utilized to provide the area microprocessor 1600 with the necessary interrupt data indicative of the phase lock error to allow proper servo control. The motor encoder signals from FIGURE
41 together with the servo reference frequency signals from ~IGURE 42 are fed to an exclusive OR circuit 5000. The output of exclusive OR circuit 5000 is high only for a period of time representing the phase difference between the servo reference frequency and the actual motor encoder frequency. The output of exclusive OR circuit 5000 is utilized to provide an enable signal to counter 5002 which counts a high frequency clock signal via a logic circuit 5004. The high frequency clock signal may be the area microprocessor clock or a signal divided down therefrom to provide multiple resolution ability. The counter utilized may, for example, be a eight bit counter fabricated from Model 74161 chips.
The counter is designed to stop after reaching the maximum count number and does not recycle. The logic circuitry simply clears counter 5002 aftex the next clock pulse subsequent to the disappearance of the enable pulse. The counter contents are fed to the area microprocessor as interrupt data bits INTDT#0-7. Additionally, the clear signal is utilized to provide the interrupt flag or the interrupt attention si~nal to the area microprocessor. The data from the counter 5002 is first latched via tri-state buffers as indicated in FIGURE 23B. The area microprocessor utilizes the data from counter 5002 as indicative of the amount of phase difference between the servo reference frequency and the motor encoder frequency. The interrupt data is processed in the area microprocessor, and a digital value is derived which is subsequently converted to analog form (D/A converter 3058 of FIGURE 41) for use in providing a reference voltage for the rate loop in the servo control circuit. The D/A
conversion circuitry (not shown) may be fabricated utilizing Motorola chip Model No. NC1408SL8 current switches together with a current voltage converter as for example, Model MC1723C.
Provision is also made in the circuitry of FIGURE
43 to utilize the MOT ENCQDER signal itself on the enable for counter 5002. In this fashion the width of the motor encoder signal corresponds to the motor velocity and the interrupt data byte I~TDT# then provides such velocity informa-tion to the servo area controller. The selection of the enable signal is made by data selectors within the logic circuit 5004 which are responsive to the interrupt select byte INT$SLT
from the area controller.
Servo Controller Software FIGURE 44 illustrates an overall flow chart for the operation of the area microprocessor for the servo controller 10. After an initalization process which includes a self~test o~ memory units, the area microprocessor enters into an executive routine, which is utilized to select one of a number of different states defined in relation to the RDH, scroll, reduction optics and platen. The program proceeds through each state and returns to the executive program. Thexe are effectively no loops within the entire process except for the main loop exiting from the state and returning to the top of the executive program. The various states for the scroll and platen are listed below:

SCROLL STATES
Forward Fast SFDFST
Forward Slow SFDSLO
Reverse Fast SRVFST
Reverse Slow SRVSLO
Stop SSTOP
SACTIVE

PLATEN STATES
+Initialize (Seek Lead Edge) PLINIT PLINITl*
Home (Seek Storage) PLHOME PLHOMEl*
+Seek EOS PLEOS PLEOSl*
Stop PLSTOP PLSTOPl Accelerate PLACL PLACLl*
Phase Lock PLOCK PLOCKl*
+Retrace PRTN PRTNl*
Ready PRDY PRDYl*
+Seek Garaye PLGARGl PLGARGl*

* Indicates state where status is returned ; to Master.

; + Indicates states entered as result of command from Master.

A flow charge of the executive program is shown in FIGURE 45. The executive routine is entered and the FST#FLG byte is read. If the AM-ATTN#l bit is set, the area microprocessor knows that there is input data sent from master. The command and data bytes are read and their sum is returned in the status return byte to the master. The command information from master is always sent twice, first in the command word and identically in the da-ta word. The servo controller then compares these two bytes and if they are equal, it recognized the byte as a command and jumps to the state table. At the same time, the servo controller goes into the data mode expecting data to be sent from the master during the next transmis~sion. The next transmission will againsset the attention flag and t~ data and command information will be compared but this time they will not be equal. If the previous command instruction placed the area micxoprocessor in the data mode, then the command is removed to the T register and a jump made to the state table. If the previous command did not place the area microprocessor in the data mode, then an error condition must exist and the error is transmitted as part of the return status word to the master. A jump is then made to the state table and the master~,will repeat the data transmission. When the executive rvutine is entered and the attention flag is not set, QUtpUt handlers are called to provide refresh output data. The next state is that which was set by the previous command instruction~ A jump is made to the state table and then an indirect jump is made to the next state.
FIGURE 46 i~lustrates a block diagram for the phase lock control. If the interrupt flag is set, then the interrupt is cleared and a check is made to see if the l~S ~

platen leading edge sensor is on or off. If the lamp is off a posltion increment is added to the position counter and a test is made to see if the new position is greater than or equal to the end of sc~n position. If the new position is greater or equal to ~he end of scan position, appropriate counters are zeroed and the next state is set to the stop state, PLSTOP, and a call is made to the output. If the lamp is not yet at the end of scan position, the direction of lamp movement is detec~ed. If a lag condition exists indicating a phase lag between the reference and motor encoder signals the data byte from counter 5002 (FIGURE
43) is read and compared to the max.Lmum counter value of counter 5002 t256 or some other predetermined value). An appropriate increment or "step" may be added to the countPr controlling reference voltages in the rate loop and additionally, a correction or "adder" value may be set to its mid~range figure. The adder ~alue is simply a small correction to the counter which would be utilized if the error read from the ; interrupt data byte (counter 5002) is not greater th~n the 23 maximum prerdetermined value desired. The adder value is thus an amplitude modulation on the counter value permitting ~ an instantaenous correction for phase lork vaxiations. The ; counter value is operative to effect a ~ore constant velocity change, namely, those changes which require a long term correction because of a relatively large phase error. ~he step size added to counter as well as the value added may, of course, be tailored to the specific servo motors selected, calculated velocity of scan and end scan position.
A similar calculation for the adder and counter is provided if the phase direction leads instead of lags.

FIGU~ES 47 through 54 illustrate the state diagram flow charts for various other scroll and platen states utilized and under control of the servo area controller.
Similar flow diagrams apply for the RDH servo and reduction optics control.

..

~.~LG~ .

Pro_ess Controller 12 The area process controller 12 (PCR) is an active area controller and contains an area microprocessor 1600.
The process controller cooperates with the master micro-processor in providing process control of various devices within the copier~duplicator. The process controller may be located in the power supply unit and is utilized for all A/D
conversions, control of the developer unit (ADC control) electrometer, high voltage corotron outputs, lamp outputs and various developer outputs including the toner dispenser motor. The process controller also provides D/A conversions in order to generate the needed analog signals to control various voltages and currents. The PCR may be incorporated in a closed loop system. In particular, analog data is digitized and pro~essed either in the PCR microprocessor or in the master microprocessor. The processed data is sub-sequently converted into analog form via the D/A converters in the PCR. The analog data is then applied to control the very devices which were sensed thus completing the closed loop control. Other devices may, o~ course, be operated in open loop control systems.
A detailed listing of the input and output signals, both analog and digital, is set forth in Table 11.
FIGURE 55 illustratas the process control area microprocessor 1600 and its interconnection to the various output and input ports. The various signals associated with each port may be found from Table 11. A letter "M" is utilized as a prefix to the OP or IP port designation to indicate a master input or output port. For example, the master output -~51 ~16~27 port 5, MOP5, is an input port 5, IP5, with respect to the area processor 1600.

Master/PCR Software Communication FIGURE 56 shows a flow chart for the PCR communication with the master unit. The attention flag is set when the master loads information into the command and data ports.
The PCR reads the data byte first and then reads the command byte following which the attention flip flop is reset. The command and data bytes are added together and echoed to the master for a communication error check. Upon receipt of an acknowledge command from the master, the instruction is executed by the PCR.
The various command operational codes and format data are shown listed in Table 12. The master may command the PCR to per~orm an A/D reading or to read and store a setpoint for the internal RAM o~ the area microprocessor.
The digital value of the setpoint is converted into an analog signal to provide appropriate analog voltage or current control. The PCR periodically checks analog voltages or currents, compares their value to the setpoint value and provides new data for the output registers if required (with subsequent D/A conversion) to maintain the setpoint value.
The PCR also provides digital output signals ta turn on and off device power and voltages as per Table 12. The master also transmits acknowledge signals and "OK to send" signals to the PCR. The PCR may communicate to the master by providing three basic responses: the A/D reading response (the digital value of the analog signal requested), a fault code response -~52 ~6~2'7 (indicating which of a plurality of circuit boards has a fault therein), and the communications response (the echo sum of the data and command bytes).
When the master communicates to the PCR for a A/D
reading, the master may designate which of three separate filter techniques should be employed. The PCR will then sample the analog values, convert them to digital form and provide the appropriate filtering requested. FIGURE 57 illustrates the three types of filtering utilized in the PCR, namely, the pitch event ~iltering, the noisey signal filtering and the fast read and negative peak filtering. The pitch event filtering is essentially a sum of sight separate readings; the noisey signal filtering is essentially the sum of sixteen separate readings; and the fast reading or negative peak reading is a single analog reading. The master unit may `~ also specify the range utilized in the A/D and D/A conversions.
A lX range corresponds to a 32mv/bit conversion factor while a lOX range corresponds to a 3.21nv/bit factor. The lX
range of course has a very large dynamic range (08 volts) as compared to the lOX dynamic range (0-0.8 volts).

-15'-ii7~

Analog Input Signals Acronym Description CHG##CV Charge Coronode Voltage CD##CV Com~ined Coronode Voltage CHG~#CI Charge Coronode Current CD$#CI Combined Coronode Current CHG$~SV Charge Shield Voltage PTRA##SV Pretransfer Shield Voltage TRAN~#SV Transfer Shield Voltage DETK##S~ Detack Shield Voltage PCLG##S~ Preclean Shield Voltage CHG##SI Charge Shield C~rrent PTRA##SI Pretransfer Shield Current TRAN##SI Transfer Shield Current DETK##sI Detack Shield Cur~ent PCLG Preclean Shield Current +40##VDC +4OVDC
-40##VDC -40VDC
+24##VDC +24VDC
+24V##I +24VDC Current ~12##VDC +12VDC
-12##VDC -12VDC
~S~$VDC +SVDC
SL~##I Sodium Lamp Arc Current DEV##BV Developer Bias Voltage DA##DIAG D/A Diagnostic Test ~D##ST ~4VREF A/D Self Test PLMP##TH Platen Lamp Thermistor MLMP#~TH MACAS Lamp Thermistor FUS##TH Fuser Thermistor DHTR#~I Drum Htr. Current ~onitor LI-2##V Line 1-2 Voltage Monitor TON##AMP Toner Power Amp Monitor SER##AMP Servo Power Amp Monitor E~TR#~V Electrometer Voltage Sense ADC#~RD ADC 5ensor Reading MAIN~#W Main Tray Width Pot AUX#~W Aux Tray Width Pot DPX#~W Duplex Tray Width Pot TRIAC##I AC Triac Load Current Monitor LINE l##I AC Relay Current Monitor ZERO##RæF A/D Zero Offset STCX##~ Stacker Output Tray Width Pot SERV##DA Servo D/A Output Monitor .~D##SPl Spare 1 AD#~SP2 Spare 2 AD#~SP3 Spare 3 AD##SP4 Spare 4 AD~#SP5 Spare 5 AD##SP6 Spare 6 TABLE ll (Cont'd) -- ~. ...

Analog Output Signals Acronym Description CHG$$SV Charge Shield Voltage PTRA$$SV Pretxansfer Shield Voltage TRAN$$SI Transfer Shield Current DETK$$SV Detack Shield Voltage PCLG$$SV Preclean Shield Voltage SLMP$$I Sodium Lamp Arc Current DEV$$BV Developer Bias Voltage CHG$$CI Charge Coronode Current : CD$$CI Combined Coronode Current ToN$$MoT Toner Dispense Motor Control MD$$SET A/D Offset :. DA$$SPl Spare 1 . DA$$SP2 Spare 2 DA$$SP3 Spare 3 Master Digital Inputs Byte Name Port Acronym D:escription E~DATA 5 EDATA#DO-7 Data Out to Master E#COMAND 6 ECOMD#DO-7 Command Out to Master COM~TA 0 FUS#ITLK Fuser Drawer Interlock MIP#SPl Spare 1 MIP#SP2 Spare 2 MIP#SP3 Spare 3 P~MP~HTR Address Fault Turnaround TRANS~SH Address Fault TA MOP2-2 MOUT#TA Master O.C. Turnaround COMM~HK Communications Turnaround FUS~DEV 4 PIRIS#OT Platen Iris Overtravel Switch FUS~PWR Fuser Heater Power Monitor OVER#TMP Fuser Overtemperature Thermostat PIRIS#UP Address Fault TA MOP4-4 MIRIS~OT MA QS Iris Overtravel Switch LOW#TON Lo~ Toner Sensor TON#ITLK Toner Bottle Interlock Switch : DEV#ITLK Developer Interlock Switch E#INT 7 EINT#TST Address Fault TA MOPO-l E#INTBET PC Response Psuedo-Interrupt TABLE 11 (Cont'd) Master Digital Outputs Byte Name Port ' Acronym Des'cription __ _ _ M$DATA 5 MDATA$D7 Master Data Out Communications MDATA$D0-7 Master Data Out to Process Controller (PC~
M$CoMAND 6 MCoMD$D0-7 Master Command Out to PC
XERo$PS 2 CO$CORON Combined Coronodes Current On/Off CHRG$CoR Charge Coronode Current On/Off DEV$BIAS Developer Bias Voltage On/Off PRCLG$SH Preclean Shield Voltage On/Off DETAC$S~I Detack Shield Voltage On/Off TRANS$SH Transfer Shield Voltage on/Off PRTRA$SH Pretxansfer Shield Voltage On/Off CHRG$SH Charge Shield Voltage On/O~f LMPS$FUS 3 INP$GND Open Input Signals Ground FUS$CTL Fuser Temperature Control FUS$ENG Fuser Rolls Engage (24v 500MA) DEV$CLUT Developer Clutch (24v ~OOMA) PL~P$HTR Platen Lamp Heater MLMP$HTR MACAS Lamp Heater LMP$SEL M~CAS/Platen Lamp Select SCN$LMPS Sodium Lamp On/O~f ELT$STAT' 4 INP$PS Open Input Signals Power Supply MIRIS$UP IRIS
MIPIS$DN IRIS
PIPIS$UP IRIS
PIRIS$DN XRIS
TON$LED Toner Bottle LED On/Off (lOOMA) DRM$SOL Drum Patch ELT$SHLD Electrometer Shield Solenoid ELT$CoMM 0 ELTR$ST Electrometer Self Test ELTR$RNG Electrometer Range ELT$ZERO Electrometer Zero MOUT$SPl Spare l MoUT$SP2 Spare 2 MOUT$SP3 Spare 3 EINT$TST Address Fault TA MIP7-6 &
Spare O.C. Output CO~$CHX Communications Check Bit ~7 .~

TABLE ll (Cont'd) _ . .

PC Digital Inputs By:te Name P _ Acron:ym De~scription DA#TA 0 DA#DOTA-DA#7TA D/A0-7 Turnaround ACO#DIAG l EIN#SPl Spare l AD#MUXTA Diagnostic Multiplexor Select Turnaround AD#NEOC A/D End of Conversion (Active Low) EOUT#TA O.C. LCC Output Turnaround DA#SW3TA D/A Switch 10 Turnaround - DA#SW2TA D/A Switch 3 Turnaround DA#SWlTA D/A Switch 8 Turnaround DA#SW0TA D/A Switch 7 Turnaround AD#DATA 2 AD7#ST A/D Bit 7 Or 5tart ~/D
Conversian Turnaround AD6#~NG A/D ~it ~ or A/D Range Turn-around : AD5$SW5 A/D Bit 5 or A/D Mux Switch ~ 6 Turnaround : AD4#SW4 A/D Bit 4 or A/D Mux Switch 5 Turnarcund AD3#SW3 A/D Bit 3 or A/D Mux Switch 3 Turnaround AD2#SW2 A/D Bit 2 or A/D Mux Switch 2 Turnaround ADl#SWl ~/D Bit l or A/D Mux Switch 1 Turnaround AD0#SW0 A/D Bit 0 or A/D Mux Switch 0 Turnaround M#~SP 3 EIN#sp2 Spare 2 EIN~SP3 Spare 3 EIN#SP4 Spare 4 EIN#SP5 Spare 5 ADDR3#CK Address Fault TA OP3-3 EIN~SP6 Spare 6 M#RSP2 Master Response 2 M~RSPl Master Response 1 . M#DATA 5 MDATA#D0-7 Master Data Out to PC
M~COMAND 6 MCOMD#D0-7 Master Command Out to PC

PC Digi~al Outputs DA$SATA 0 DA$D0-7 D~A Data 0-7 DA$SWS l EOUT$SPl Spare 1 AD$MUX Diagnostic Multiplexor Select (0 A/D Readings) EOUT$SP2 Spare 2 EOUT$SP3 Spare 3 TABLE 11 (Contld) .

Byte Name Port Acronym Description DA$SW3 l DA~SW3 , D/A Mux Switch 10 DA#SW2 D/A Mux Switch 9 DA~SWl D/A Mux Switch 8 DA$5W0 D/A Mux Switch 7 AD$SWS 2 AD#SW0~5 A/D Mux Switch 1-6 ADC$WDT 3 EOUT$SP4 Spare 4 EOUT$SP5 SPare 5 ADC$LED2 ADC LED 2 On/Off (400MA) ADC$LEDl ADC LED l On/Off (400MA) ADDR3~CK Address Fault TA IP3-3 EoUT$SP6 Spare 6 LCC~WDT LCC Watch Doa Timer EOUT$SP7 Spare 7 E$DATA 5 EDATA$D0-7 PC Data Out to Master E$COMAND 6 ECOMD$D0-7 PC Command Out to Master TABLE l PROCESS CONTROL REMOTE (PCR)/MASTER COMMUNICATION FORMAT
. ~

Master to PCR - A/D Reading Command ... .. _ . _ , . _ _ Command Byte - M$COMAND
- D7 = 0 ~
D6 = O ~ Command Code D5 = 0 J
D4 Spare D3 = 1 A/D Neg. Peak Detect D2 = 1 ADC Read No LED Current Dl = 1 Fast READ
D0 = 1 PITCH Event Data Byte - M$DATA
D7 Spare D6 Range (0 = lX; 1 = 10X) D5 - D0 Analog MUX Change Number Master to PCR - D/~ A t-oint C~n ~rd Command Byte M$COMAND
D7 = 0 ~
D6 = 1 Command Code D5 = 0 D4 - D0 D/A MUX Switch Number Data Byte - ~$DATA
D7 - D0 D/A RAM Setpoint Data PCR to Master _ - A/D Readin~_Command Command Byte - E$COMAND
D7 - O ~ Command Code D5 - D0 A/D Switch Number Data Byte - E$DATA
D7 D0 - Encoded A/D Value TABLE 12 (Cont'd.) ~ . _ .

. PCR to Master ~ Fault Code Number _ ___ . _. _ .

Command Byte - E$CoMAND
~7 ~ 1 } Command Code D5 = l Signal Too Noisy D4 - D0 Spare : Data Byte - E$DATA
D7 - D0 Fault Code Number PCR to Master - Communications Response Command Command Byte 7 E$CoMAND
D7 - 1 } Command Code D5 - D4 Spare Data Byte - E$DATA
D7 - D0 Communications Echo -Sum o M$CoMAND and M$DATA

~27 PCR So~tware _ _ It is the function of the PCR microprocessor to control all of the A/D conversions and D/A converstions for communications with the master~sand host machine. Additionally, the PCR reads analog values, converts them into digiral form, and compares them with setpoint values given by master.
An event scheduler for the overall operating program of the PCR is shown in FIGURE 5~. The routine is executed every 1 ms. Consequently, if there are 13 analog outputs then each analog output will be refreshed every 13 milliseconds.
After re~ersed, a watch dog timer is toggled to send a bit to master used for communication checking purposes. A
communication handshaking is then implemented between the master and PCR to obtain the command and data bytes from the master unit. I~ the command instruction is newly received, a branch is made to a decode and execute routine and the program exits.
If the instruction ahs already been received and A/D conversi~n is performed and ~he appropriate ~ilter mode requested is implemented as per FIGURE 57.
The deaode and instruction execute routine is illustrated in FIGURE 59 for both a A/D and D/A command byte.

It will be appreciated by those skilled in the art that various modifications and improvements may be made to the detailed embodiment set forth herein without departing from the spirit and intent of the invention as defined in the appended claims. It may additionally be appreciated that numerous features of the disclosed invention have applicability outside of the photocopy machine environment as for example the utilization of the pseudo-interrupt scheme in general for data communications or in controlling machines other than a reproduction machine. It is additionally clear that the pseudo-interrupt scheme set forth herein is not necessarily tied to a distributive processor system wherein active remote controllers are employed, bu~ may find applicability in systems wherein only passive (not programmable) controllers lS are utilized.

-16~-

Claims (4)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A distributed processing system for reproduction machine, said machine producing copies of original documents and having a plurality of operating stations and a plurality of devices for controlling operational tasks within said oper-ating stations, comprising:
a. a master programmable controller having pro-gram storage means for storing an operational program for controlling said machine, b. at least one programmable area controller said programmable area controller being distinct from said master controller, said programmable area controller having program storage means for storing an operational program for controlling at least one of said devices, c. at least one non-programmable area controller for controlling at least one of said devices; and d. bus means coupling said programmable area controller and said non-programmable area controller with said master controller for transmitting and receiving data between said master controller and said programmable and non-program-mable area controllers to control said operating tasks of said operating stations whereby to enable said machine to produce copies.
2. The distributed processing system as recited in Claim 1 wherein said machine includes:
a. a document exposure station, b. a recirculating document handler including document transport means for transporting original documents to and from said document exposure station, and c. drive means for said document transport means, d. said programmable area controller controlling said drive means to control the speed of said transport means.
3. The distributed processing system as recited in Claim 2 wherein said programmable area controller controls the acceleration and deceleration of said drive means.
4. The distributed processing system as recited in Claim 2 wherein said programmable area controller comprises a servo control circuit for controlling said drive means speed.
5. The distributed processing system as recited in Claim 2 wherein said machine includes:
a. photoreceptor means for receiving images of said documents, b. document imaging means including a platen for supporting documents to be imaged, platen scanning means, and c. means for variably magnifying the document image onto said photoreceptor means, said programmable area controller controlling the length of scan of said scanning means for each variable magnifi-cation.
6. The distributed processing system as recited in Claim 5, wherein said area controller further controls the speed of scanning of said platen scanning means.
7. The distributed processing system as recited in Claim 6 wherein said programmable area controller comprises a servo circuit for controlling said scanning speed.
8. The distributed processing system as recited in Claim 7 wherein said scanning speed servo circuit includes a shaft encoder connected to said scanning means.
9. The distributed processing system as recited in Claim 8 wherein said programmable area controller controls said variable magnifying means to produce variable document magnification.
10. The distributed processing system as recited in Claim 5 in which said document handler includes web transport means for securing documents to be transported and scroll means for winding and unwinding said web transport means, said programmable area controller controlling said scroll means for loading and unloading said document.
11. The distributed processing system as recited in Claim 5 wherein said programmable area controller controls said variable magnifying means to produce variable document magnification.
12. The distributed processing system as recited in Claim 1 wherein said machine further comprises:
a. photoreceptor means for receiving images of said documents, b. document imaging means including a platen for supporting documents to be imaged, platen scanning means, and c. means for variably magnifying the document image onto said photoreceptor means, said programmable area controller controlling the length of scan of said scanning means for each variable magnifi-cation.
13. The distributed processing system as recited in Claim 12 wherein said programmable area controller further controls the speed of scanning of said platen scanning means.
14. The distributed processing system as recited in Claim 13 wherein said programmable area controller comprises a servo circuit for controlling said scanning speed.
15. The distributed processing system as recited in Claim 14 wherein said scanning speed servo circuit comprises a shaft encoder connected to said scanning means.
16. The distributed processing system as recited in Claim 15 wherein said programmable area controller controls said variable magnifying means to produce variable document magnification.
17. The distributed processing system as recited in Claim 1 wherein some of said programmable area controllers comprise a microprocessor.
18. The distributed processing system as recited in Claim 17 wherein said master controller comprises a micro-processor.
19. The distributed processing system as recited in Claim 18 wherein said machine comprises:
a. a document exposure station, b. a recirculating document handler having means for transporting said original documents to and from said document exposure station, c. a platen for supporting documents to be imaged, d. platen scanning means, e. drive means for said document transporting means and said platen scanning means, f. photoreceptor means for receiving an image of said document from either said document exposure station or said platen, and g. means for variably magnifying said document image onto said photoreceptor means, h. said programmable area programmable controllers including a servo area controller for controlling said drive means to control the speed of said document transporting means and the servo controlled circuit means.

20. The distributed processing system as recited in Claim 19 wherein said servo controlled circuit means comprises tachometer means for generating an analog signal indicative of the operating speed of said document transporting means and said platen scanning means.
21. The distributed processing system as recited in Claim 20 wherein said servo controller includes analog-to-digital conversion means for receiving said analog signal and converting said analog signal to digital signals.
22. The distributed processing system as recited in Claim 19 wherein said servo controller includes means for controlling the length of scan of said platen scanning means for each variable magnification selected.
23. The distributed processing system as recited in Claim 22 wherein said servo controller includes means for controlling the acceleration and deceleration of said document transporting means.
24. The distributed processing system as recited in Claim 1 wherein said machine comprises:
a. a document exposure station, b. a recirculating document handler having document feeding means for transporting said document to and from said exposure station, and c. said programmable area controller controlling the speed of transport of said document feeding means.
25. The distributed processing system as recited in Claim 24 wherein said machine further comprises:
a. a platen for imaging said document, b. platen scanning means, c. photoreceptor means for receiving an image of said document, d. means for variably magnifying the document image onto said photoreceptor means, and e. said programmable area controller controlling the length of scan of said scanning means for each variable magnification.

26. A control system for a copier/duplicator comprising:
a. a master microprocessor controller having program storage means for storing an operational program controlling some portions of said copier/duplicator, b. at least one active area controller, said active area controller distinct from said master controller and having a separate microprocessor and a separate stored operational program controlling other portions of said copier/
duplicator, c. at least one passive area controller distinct from said master controller but controlled by said master operational program, and d. said active and passive area controllers having a plurality of ports for inputing copier/duplicator data to said master controller upon command of said master controller, said active and passive area controllers having means for sensing said copier/duplicator data.

27. A control system as recited in Claim 26 wherein said master controller selectively addresses each of said area controllers for inputing and outputing data to and from said master controller.
28. A control system as recited in Claim 26 wherein said master controller comprises:
a. a command register for storing an address corresponding to an area controller desired to be selected for transmission of an output data word, b. an output data register for storing said output data word, c. an input data register for storing input data from said selected area controller, d. means for bit-serially transmitting said output data word from said output data register to said selected area controller, and e. means for bit-serially recieiving said input data from said selected area controller in said input data register.
29. A control system as recited in Claim 28 wherein said master controller further comprises a command check register connected to receive said address for testing same.

30. A control system as recited in Claim 29 wherein said master controller comprises a clock generator for generating clock signals and means for transmitting said clock signals to each of said area controllers for synchronizing same to said master controller.
31. A reproduction machine having a plurality of operating stations and a plurality of devices for controlling operational tasks within said operating stations, said machine comprising:
a. a master controller including:
1. master program memory storage means for storing program words defining an operating program for controlling some of said devices, 2. means for addressing said program words of said master program memory storage means, 3. an arithmetic and logic unit for processing said program words of said master program memory storage means, 4. means for generating data words for controlling said some devices, said data generating means operatively connected to said arithmetic and logic unit of said master controller, b. an area controller including:
1. area program memory storage means for storing program words defining an operating pro-gram for controlling other of said devices,
2. means for addressing said program words of said area program memory storage means,
3. an arithmetic and logic unit for processing said program words of said area program memory storage means,
4. means for generating data words for controlling said other devices, said data generating means operatively connected to said arithmetic and logic unit of said area controller, c. means connected to said master controller and area controller for sensing operational parameters associated with said plurality of devices, d. said some devices and said other devices receiving said data words from said master controller and said area controller respectively and responsive thereto for controlling operational tasks within said operating stations, and e. said master controller and said area controller cooperatively operative in response to said sensing means to control said devices.
CA000309794A 1977-08-30 1978-08-22 Distributed microprocessor control system for a copier/duplicator Expired CA1116727A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US05/829,015 US4190350A (en) 1977-08-30 1977-08-30 Distributed microprocessor control system for a copier/duplicator
US829,015 1977-08-30

Publications (1)

Publication Number Publication Date
CA1116727A true CA1116727A (en) 1982-01-19

Family

ID=25253297

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000309794A Expired CA1116727A (en) 1977-08-30 1978-08-22 Distributed microprocessor control system for a copier/duplicator

Country Status (2)

Country Link
US (1) US4190350A (en)
CA (1) CA1116727A (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999672A (en) * 1983-08-15 1991-03-12 Lex Systems Southeast Computer control of photocopiers
US5127057A (en) * 1988-12-22 1992-06-30 Ford Motor Company Integral sound system having interchangeable modules with separate microcontrollers
US5175926A (en) * 1988-12-22 1993-01-05 Ford Motor Company Method of manufacturing an automotive sound system
US5243518A (en) 1991-05-03 1993-09-07 Xerox Corporation Document services architecture
JP3869863B2 (en) * 1993-12-28 2007-01-17 キヤノン株式会社 Image forming system and control method therefor, and image forming apparatus and control method therefor
US5528375A (en) * 1994-04-20 1996-06-18 Xerox Corporation Apparatus for and method of scheduling and printing a job in a printing machine
US20020069214A1 (en) * 1999-12-02 2002-06-06 Smith John M. Document services architecture
US6600971B1 (en) * 2000-03-29 2003-07-29 Signature Control Systems, Inc. Distributed control network for irrigation management
US7080274B2 (en) * 2001-08-23 2006-07-18 Xerox Corporation System architecture and method for synchronization of real-time clocks in a document processing system
KR101217968B1 (en) * 2006-10-09 2013-01-02 엘지전자 주식회사 Method for controlling heater for dryer
JP5383296B2 (en) * 2009-04-10 2014-01-08 キヤノン株式会社 Image reading apparatus and method, and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3829209A (en) * 1971-06-11 1974-08-13 Xerox Corp Image registration in a multiple magnification photocopying system
US4054380A (en) * 1974-02-22 1977-10-18 Xerox Corporation Control system for high speed copier/duplicators
US3940210A (en) * 1974-08-12 1976-02-24 Xerox Corporation Programmable controller for controlling reproduction machines
US4000943A (en) * 1975-02-13 1977-01-04 Xerox Corporation Two speed, duel purpose document handling system
US3963345A (en) * 1975-03-24 1976-06-15 Xerox Corporation Pre-collation copying

Also Published As

Publication number Publication date
US4190350A (en) 1980-02-26

Similar Documents

Publication Publication Date Title
US4283773A (en) Programmable master controller communicating with plural controllers
US4144550A (en) Reproduction machine using fiber optics communication system
US4314334A (en) Serial data communication system having simplex/duplex interface
US4170791A (en) Serial data communication system for a reproduction machine
US4306803A (en) Microprocessor and control apparatus in a photocopier
US4183089A (en) Data communications system for a reproduction machine having a master and secondary controllers
CA1116727A (en) Distributed microprocessor control system for a copier/duplicator
US4589093A (en) Timer manager
EP0104091B1 (en) Self testing system for reproduction machine
US4589765A (en) Sheet feeder control for reproduction machines
US4509851A (en) Communication manager
US3940210A (en) Programmable controller for controlling reproduction machines
US4035072A (en) Programmable controller for controlling reproduction machines
US4058850A (en) Programmable controller
US3944360A (en) Programmable controller for controlling reproduction machines
JPS6260708B2 (en)
US4120034A (en) Programmable controller for controlling reproduction machines
US4550382A (en) Filtered inputs
GB1604761A (en) Control systems for a copier-duplicator
US4588284A (en) Control system
CA1075757A (en) Programmable controller for controlling reproduction machines
US4824090A (en) Automatically setting the paper path components of a reproduction machine in accordance with the size copy sheet being processed
US4014609A (en) Programmable controller for controlling reproduction machines
US4104726A (en) Programmable controller for controlling reproduction machines
US4737907A (en) Multiprocessor control synchronization and instruction downloading

Legal Events

Date Code Title Description
MKEX Expiry