WO1980002754A1 - Interface unit between a computer and a hardcopy output device - Google Patents

Interface unit between a computer and a hardcopy output device Download PDF

Info

Publication number
WO1980002754A1
WO1980002754A1 PCT/GB1980/000095 GB8000095W WO8002754A1 WO 1980002754 A1 WO1980002754 A1 WO 1980002754A1 GB 8000095 W GB8000095 W GB 8000095W WO 8002754 A1 WO8002754 A1 WO 8002754A1
Authority
WO
WIPO (PCT)
Prior art keywords
status
computer
interface
microprocessor
buffer
Prior art date
Application number
PCT/GB1980/000095
Other languages
French (fr)
Inventor
T Neave
Original Assignee
Micronology Ltd
T Neave
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 Micronology Ltd, T Neave filed Critical Micronology Ltd
Publication of WO1980002754A1 publication Critical patent/WO1980002754A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4269Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a handshaking protocol, e.g. Centronics connection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1279Controller construction, e.g. aspects of the interface hardware

Definitions

  • This invention relates to interface units for connection between computers and hardcopy output devices.
  • ICL 1900 There is a class of computers, for example the ICL 1900, that have a standard output interface based on a principle of a timed transfer and response.
  • Such an output interface requires an output device to transmit certain signal responses to output signals from the computer within fixed time periods.
  • output devices which operate on a different principle: they have an input interface operating on the so called 'handshake' principle whereby the computer sends instruction to the output device and then waits for a response before initiating the next step; there being no rigid time control of the signalling.
  • an interface unit is called for which can emulate the respective interfaces to the computer and output device. To construct such a unit from hardware alone generally would require an excessive number of components, and so it is to be preferred to use a microprocessor in combination with hardware.
  • the types of devices to which interface units according to the present invention are connected are as follows:- Computers of the kind having an output interface including output paths which comprise respectively, a data path along which is transmitted instructional and command data for an output hardcopy device, an address-line along which is transmitted the address of the output device and a line along which timing signals are transmitted, and including respective input paths along the first of which data is transmitted indicating the present status condition of the output device, the second comprising an interrupt path for data indicating that the output device is ready for service and the third a request path indicating that data is required from the computer by the output device.
  • the computer output interface operates on a timed transfer basis wherein once information is requested by the computer from the output device it must be actioned in a predetermined short time period and an appropriate response sent back to the computer.
  • the status of the output device is transmitted along said line and this status information must not be changed during the period of transmission.
  • Such computers are hereinafter referred to as computers of the kind specified.
  • Hardcopy output devices of the kind including input paths which respectively include a print data path and a strobe path along which signals indicative that data is available are sent, and including output paths which respectively include an acknowledgement path along which signals are transmitted acknowledging that data has been utilised by the output device, and a status path along which the status of the printer is indicated.
  • the status indicated on this path may change without reference to timing constraints that may be present in the computer.
  • the output device is characterised in that it acts on a handshake principle with regard to print data transfer, that is to say that it utilises data sent along the print data path in its own time and then acknowledges the data. Upon such acknowledgement it can then be sent more print data.
  • an interface unit for connection between a computer of the kind specified and a hardcopy output device of the kind specified, the interface unit including a microprocessor and first and second hardware units connected between the microprocessor and respectively, the computer and the hardcopy output device, characterised in that:- the first hardware unit includes a status buffer store for storing data indicative of the actual or proposed operational status of the hardcopy output device, the status buffer store having first and second parts, the first part being interrogatable by both the microprocessor and the computer but updatable directly on by the computer, and the second part being updatable by the microprocessor, the second part of the status buffer store being operative to transfer the status information stored therein to the first part except when it is prevented from doing so by a disenabling signal produced by the first hardware unit when the first part of the status buffer unit is interrogated by the computer; the first hardware unit further including a status change detection means operative to detect that the first part
  • FIG. 1 is a block diagram of the functional elements included in the interface unit
  • Figure 2 is a circuit diagram of part of a status buffer unit included in the interface unit.
  • the interface unit will be described with reference to the connections of a typical computer of the kind specified, the ICL 1900, and a typical hardcopy output device of the kind specified, a parallel, handshaking interfaced printer.
  • (i) 1900 INTERFACE The Interface associated with a Main Central Processing Unit that operates on a timed transfer principle, e.g. the ICL 1900.
  • PRINTER INTERFACE specifying it logical disconnection.
  • the steps undertaken during a single line transfer between the 1900 INTERFACE and the PRINTER INTERFACE are as follows:-
  • the PRINTER INTERFACE must update the OPERATIONAL STATUS within 400 nano seconds. (iv) After a minimum delay of 2.4 micro seconds from the issue of the WRITE COMMAND, the 1900 INTERFACE sends PAPER MOVEMENT and PRINT
  • PRINTER INTERFACE must reset the WRITE STATUS within 400 nano seconds of the last character transfer.
  • the 1900 INTERFACE may request the OPERATIONAL STATUS at any time.
  • the PRINTER INTERFACE must respond within 750 nano seconds.
  • the 1900 INTERFACE may request the updating of the OPERATIONAL STATUS between single line transfers.
  • the PRINTER INTERFACE must respond within 750 nano seconds and must further update the OPERATIONAL STATUS within an additional 400 nano seconds.
  • the DISCONNECT COMMAND requires the 1900 INTERFACE to interrogate the OPERATIONAL STATUS for acceptability: Response is required within 750 nano seconds. If acceptance is given the DISCONNECT COMMAND is issued and the
  • PRINTER STROBE LINE A communication line us to indicate to the PARALLEL INTERFACE the presence of information on the DATA BUS.
  • ACK/REQUEST LINE A communication line used to indicate to the COMPUTER INTERFACE that the information on the DATA BUS has been fully actioned.
  • the PARALLEL INTERFACE does not need to distinguish between the types of data character sent by the COMPUTER INTERFACE. It is the PRINTING DEVICE which actions each character in its context. In general each data character is transferred by a handshaking protocol as follows:- (i) The COMPUTER INTERFACE sets the DATA BUS to the required character value. (ii) The COMPUTER INTERFACE actions the PRINTER STROBE LINE for a period of not less than 1.0 micro seconds after a delay of not less than 1.0 micro seconds after the DATA BUS has been set to the required value. This indicates to the PARALLEL INTERFACE the presence of data on the DATA BUS.
  • the PARALLEL INTERFACE does not take any further action until the data has been successfully utilised by the PRINTING DEVICE.
  • the PARALLEL INTERFACE actions the ACK/REQUEST LINE to indicate to the COMPUTER INTERFACE that the data character has been successfully utilised. This indication may take the form of an acknowledgment strobe or a request for more data.
  • the PARALLEL INTERFACE permanently holds information relating to the availability and operational capability of the PRINTING DEVICE.
  • the information is held in the ENVIRONMENTAL STATUS, whose components when set in isolation or in combination reflect the following conditions:-
  • PRINTING DEVICE i.e. READY status.
  • the status of physical conditions of the PRINTING DEVICE with regard to e.g. paper availability and position, character set utilisation and vertical form Unit condition.
  • Each component of the ENVIRONMENTAL STATUS is available for interrogation by the COMPUTER INTERFACE on an independent STATUS LINE. These STATUS LINES permanently hold the Operational Status of the PRINTING DEVICE.
  • the present invention illustrated in the Figures comprises an interface unit that enables the 1900 INTERFACE to be connected to the PARALLEL INTERFACE so that the two interfaces see respectively appropriate printer and computer interfaces.
  • the interface unit includes a microprocessor 1 which is able both to communicate and interact with the hardware necessary to implement both the COMPUTER INTERFACE and the PRINTER INTERFACE. In addition it is capable of manipulating and storing a complete line of print data between the two interfaces in such a way as to emulate an appropriate printer.
  • the microprocessor 1 is suitably an INTEL 8748 single chip microprocessor and together with a number of support devices forms the interface unit. The functions of the support devices are twofold:- (i) Provision of basic microcomputer functions, e.g. bulk storage and standard bus communication.
  • the microprocessor 1 provides the major intelligence for the Interface unit both by virtue of its hardware capability and the software implemented within it.
  • the software drives not only the microprocessor 1 but also the other support devices to provide the complete simulation of a printer appropriate to the timed transfer computer interface.
  • the object codes of the programme for the microprocessor are set out on the following pages. Each page represents one memory page within the microprocessor and the description is in hexadecimal. As will be appreciated by those skilled in the art this provides complete instructions enabling the microprocessor to run the interface unit.
  • the hardware support device are in general standard blocks such as can be implemented by a skilled person in this art, their interconnections and arrangement have been devised in the present invention to overcome the difficulties which are present even with microprocessor control.
  • a major difficulty in this area is the relatively slow instruction time of the microprocessor 1 in relation to the time periods required by the PRINTER INTERFACE.
  • the minimum instruction time for the INTEL 8748 microcomputer is 2.5 microseconds. Instruction times may be further extended in cases where communication with standard support devices is concerned.
  • the printer interface presented by the interface unit is formed from the following functional elements:- a Main Character Buffer 2, an Auxilliary Character Buffer 3, a Status Buffer 4, a Command Recognition Unit 5, an Interface Control Unit 6, a Data Transfer Control Unit 7, a Status Control Unit 8.
  • the computer sends two types of data to the interface unit, firstly there is Command Data which is information which is a directive to the interface unit and is not printed.
  • Command Data which is information which is a directive to the interface unit and is not printed.
  • the commands recognised are:
  • the Main Character Buffer 2 is the primary character input buffer which receives both Command Data and Print Data from the computer interface.
  • Control information from the Interface Control Unit 6 or the Data Transfer Control Unit 7 defines the. validity of the character being input from the computer interface.
  • Information from the Main Character Buffer 2 to both the Interface Control Unit and the Data Transfer Control Unit 7 specifies the completion of processing of that character by the microprocessor 1. Until such processing is complete input to the Main Character Buffer 2 is inhibited.
  • the Main Character Buffer 2 has the capability to accept a character from the computer interface within 400 nano seconds of receipt of the request from either the Interface Control Unit 6 or the Data Transfer Control Unit 7.
  • the Auxilliary Character Buffer 3 is the secondary character input buffer which is used for the receipt of PAPER MOVEMENT and PRINT CONTROL information directly from the computer interface. These are combined as single character called a Qualifier, Control information from the Interface Control Unit 6 determines the validity of such a transfer re ⁇ uest.
  • the Data Transfer Control Unit 7 inhibits the Auxilliary Character Bu
  • This buffer is required because the time necessary for processing the Command Data accepted by the Main Character Buffer 2 may exceed the minimum time imposed by the protocol of the 1900 INTERFACE.
  • the protocol allows the completion of both Command Data processing from the Main Character Buffer 2 and Qualifier processing from the Auxilliary Character Buffer 3 before any data transfers are initiated.
  • the Auxilliary Character Buffer 3 like the Main Character Buffer 2 has the capability to accept a character from .the computer interface within 400 nano seconds of receipt of the request from the Interface Control Unit 6.
  • the Status Buffer 4 holds all status information pertinent to the total Operational Environment of the Interface Unit and the Printer. Due to the problems associated with the fact that status information cannot be updated while it is being interrogated, the Status Buffer 4 is divided into two sub-buffers.
  • the first sub-buffer, the Current Status Buffer 9 is used for two purposes:- (i) Interrogation by the computer interface via a
  • Status Buffer 9 is recorded in a Buffer Store 13a located in a Feed Back Path 13 to the microprocessor. Provided that no change is recorded in the Buffer Store 13a and interrogation by the computer has ceased, - indicated by the removal of the address from the address line to the Interface Control Unit 6 then transfer of information from the New Status Buffer 10 to the Current Status Buffer 9 occurs. If the Current Status Buffer 9 is modified by the computer via the Command Recognition Unit 5 and the Interface Control Unit 6 while the New Status Buffer 10 is attempting to update the
  • This updating is inhibited by a lock-out mechanism in the Status Buffer Store.
  • the lock-out also causes the updated status to be fed from the Buffer Store 13a to the microprocessor which releases lock-out and enables the microprocessor to choose between what may be conflicting requirements of the computer and microprocessor for the status to be registered.
  • the mechanism whereby transfer between the new and current status buffers, 10 and 9 is controlled includes an AND gate 40 having inverters on both input terminals.
  • One input terminal is connected to the line A from the Interface Control Unit 6.
  • This line has a logic '1' signal when the computer is interrogating or updating the current status buffer, i.e. when the dressing signal is present on the line from the computer to the Interface Control Unit.
  • the other input terminal to the AND gate 40 is an output line 41 from the new status buffer which registers a logic '0' when data is present in the new status buffer for transfer.
  • the '1 ' signal on line A causes the output of AND gate 40 to be at logic '0' irrespective of the signal on line 41.
  • data transfer is inhibited during interrogation.
  • the output terminal of the AND gate 40 is connected to an inverting gate 42, whose output is connected to an inverted input of a further AND gate 43 and back along a line 44 to the new status buffer.
  • the output of the ANDgate 40 is only at logic '1' when data is present and there is no computer interrogation, when this happens the inverter produces a logic '0' output signal. This output signal indicates to the new status buffer that the new status has been used and the output on line 41 will be reset after 500 nano seconds.
  • the other input terminal to the AND gate 43 also has an inverter and is connected to a line 45 from the status feedback buffer. A logic '1' signal is put on this line when the feed back buffer registers that the computer has updated the current status buffer.
  • the output of the AND gate 43 is connected to an input to the Current Status Buffer 9.
  • the output of the inverter 42 is a logic '0' - indicating data and no computer interrogation, and the signal on line 45 is a logic '0' indicating no computer update
  • a logic '1' signal is transmitted from the AND gate 43 to the Current Status Buffer in the form of a 500 nano second pulse which constitutes a signal to transfer status.
  • a logic '1' signal occurs in line 45 thus locking the AND gate 43 to a '0' output.
  • the Command Recognition Unit 5 performs six functions:-
  • Control Unit 6. (iii) Informs the Auxilliary Character Buffer 3 that an available Qualifier is not invalid. The validity of the Qualifier relative to the operational environment can only be determined by the microprocessor.
  • the Command Recognition Unit 5 operates under the control of the Interface Control Unit 6.
  • the Data Transfer Control Unit 7 may, however, override the Interface Control Unit 6 by inhibiting the Command
  • the Interface Control Unit 6 contains the main hardware intelligence of the units simulating the Printer interface and as such has overriding control over all other functions in this part of the unit.
  • the Control Unit 6 is responsible for the resolution of the disparity in operational requirement between the 1900 interface protocol and the hardware comprising the Printer interface. Its specific functions are discussed in detail below:- (i) Receipt of Information from the computer interface via an Address Line 11. This alerts the Interface Control Unit 6 to the presence of information from the computer. The Interface Control Unit passes this information in turn to the Status Control Unit 8.
  • Transfer Control Unit 7 of a pending transfer (viii) The 1900 Interface upon receipt of an acceptable response from the Status Control Unit 8, issues a request for either Command Data transfer or Print Data transfer. The request is sent via a Strobe Line 12 from the computer to the Interface Control Unit 6.
  • the Interface Control Unit In the case of a valid WRITE COMAND the Interface Control Unit directs the Main Character Buffer 2 to accept the Command Data. At the same time the Interface Control Unit directs the Status Buffer to reset the appropriate status conditions.
  • (x) In the case of a valid Qualifier the Interface Control Unit directs the Auxilliary Character Buffer 3 to accept the Qualifier.
  • the appropriate status conditions are reset in the Status Buffer 4.
  • the microprocessor 1 detects the acceptance of a DISCONNECT COMMAND via the change in Status recorded in the Current Buffer 9. As previously described this change is registered in the Buffer Store 13a in the Feedback Line 13 and is transmitted automatically to the microprocessor during the lock-out process.
  • the appropriate part of the OPERATIONAL STATUS is only reset by a hardware condition initiated by the acceptance of a valid DISCONNECT COMMAND and thus the microprocessor is informed and the status changed by hardware only so that the timing constraints of the 1900 Interface can be accommodated.
  • the Interface Control Unit 6 In the case of a Print Data transfer the Interface Control Unit 6 directs the Main Character Buffer 2 to accept the print character. If the data character has been recognised as the last to be transferred then the Interface Control Unit directs the Status Buffer 4 to reset the appropriate status conditions.
  • the function of the Data Transfer Control Unit 7 is the co-ordination of the actual Print Data transfers within the control of the Interface Control Unit 6.
  • the Data Transfer Control Unit 7 performs no relevant function until it is informed by the microprocessor 1 that Print Data transfers are required.
  • the functions performed during this period are as follows :-
  • Print Data transfer request Receipt of this information causes the Data Transfer Control Unit 7 to temporarily withdraw the request to the 1900 Interface.
  • the Print Data transfer request to the 1900 Interface is not reset until the Main Character Buffer 2 informs the Data Transfer Control Unit 7 that the microprocessor has completed processing of the previous Print Data character.
  • the Data Transfer Control Unit 7 permanently withdraws the request to "the 1900 Interface. The request is reset only by specific instruction from the microprocessor 1 as discussed below.
  • the Data Transfer Control Unit 7 has the capability of withdrawing the Print Data transfer request to the 1900 Interface within 20 nano seconds of the receipt of the information relating to the servicing of the request by the Interface Control Unit 6, and its subsequent transfer to the Data Transfer Control Unit 7. This time delay is sufficiently short to be termed 'immediate'.
  • the Status Control Unit 8 co-ordinates the various Status Conditions which are sent to the 1900 Interface under the control of the Interface Control Unit 6.
  • the Unit 8 is in effect a switching system which selects the appropriate status information from the Status Buffer 4 and channels it to the computer. The precise status information transferred is controlled by the Interface Control Unit 6 as previously described.
  • the Unit is the co-ordination of an Interrupt Line 14 to the 1900 Interface.
  • the Interrupt Line 14 is activated under independent control of the Status Control Unit 8. This occurs only when the operational environment, in conjunction with the current status, demands an interrupt request to be sent to the 1900 Interface in order to satisfy the protocol requirements.
  • the Status Control Unit 8 receives information from the Interface Control Unit 6 relating to the servicing of any function of the PRINTER INTERFACE, the Status Control Unit withdraws the interrupt request from the 1900 Interface. The interrupt request is, however, reinstated by the Status Control Unit 8 provided that the circumstances which gave rise to the original interrupt have not been adequately handled during the service period.
  • the Status Control Unit has the capability of withdrawing the interrupt request to the 1900 Interface within 20 nano seconds of the receipt of the information relating to the servicing of the request by the Interface Control Unit and its subsequent transfer to the Status Control Unit. This time delay is again sufficiently short to be termed 'immediate'.
  • the Blocks illustrated in Figure 1 which constitute the hardware content of the COMPUTER INTERFACE are as follows:- a Printer Data Buffer 20, a Strobe Control Unit 21, an Ack Control Unit 22, a Printer Status Buffer 23, a Status Sense Unit 24.
  • the Printer Data Buffer 20 is an intermediate Buffer between the microprocessor 1 and the PARALLEL interface.
  • the microprocessor writes any data to the Printer Data Buffer 20 from whence it is placed on a DATA BUS 25 to the PARALLEL interface.
  • the Printer Data Buffer 20 indicates to the Strobe Control Unit 21 that the data is available.
  • the Strobe Control Unit is used to construct a correctly timed strobe via a Printer Strobe Line 26 to the PARALLEL interface. This is actioned by the indication of available data from the Printer Data Buffer 20.
  • the timing sequence consists of a delay of at least 1.0 microseconds followed by a strobe of at least 1.0 microseconds.
  • the Strobe Control Unit 21 may be inhibited from operating by a strobe lock-out signal from the Ack Control Unit 22 as will be described.
  • the function of the Ack Control Unit 22 is to inform the microporcessor that the data it has transferred to the Printer Data Buffer 20 has been fully utilised by the PARALLEL interface.
  • the Ack Control Unit 22 realises this condition in one of two ways:-
  • the Ack Control Unit 22 interrogates the ENVIRONMENTAL STATUS to determine the operational capability of the PRINTING DEVICE. If the PRINTING DEVICE is not operational any further strobes are inhibited by a strobe lock-out signal along the line 29 and the microprocessor is informed via a strobe lock-out status line 30 if a transfer via the Printer Data Buffer is attempted.
  • the microprocessor decides that a transfer to the PARALLEL INTERFACE is required even if the PRINTING DEVICE is inoperable.
  • the microprocessor directs the Ack Control Unit 22, via a printer strobe force line 31 to withdraw any strobe lock-out that may exist.
  • data sent from the computer is completed before the hardcopy output device is rendered finally inoperative. That is to say the microprocessor forces the output device to become operative and print, say if the operator switches if off line, whereas if the output device runs out of paper, say, the microprocessor cannot force the output device to be operative and data may be lost.
  • the Printer Status Buffer 23 accepts the ENVIRONMENTAL STATUS from the PARALLEL interface on an indication from the Status Sense Unit 24.
  • the ENVIRONMENTAL STATUS is transferred to the microprocessor as required.
  • the Printer Status Buffer 23 inhibits the Status Sense Unit 24 during the period it holds an ENVIRONMENTAL STATUS which has not been transferred to the microprocessor.
  • the Status Sense Unit 24 detects an adverse ENVIRONMENTAL STATUS condition from the printer interface This indication is passed to the Printer Status Buffer 23.
  • the Status Sense Unit 24 may be inhibited by the Printer Status Buffer 23 as is discussed above.
  • the microprocessor 1 is the centre of intelligence for the whole unit and in this embodiment is a basic INTEL 8748 chip. It is programmed in a fully interrupt driven fashion to provide three general functions:-
  • PARALLEL Interface (ii) The Status Path from the PARALLEL Interface to the 1900 Interface. (iii) Self Test Routines. The Data Path from the 1900 Interface to the PARALLEL Interface passes first through the PRINTER INTERFACE and after processing within the microprocessor it then passes to the COMPUTER INTERFACE. The following description is of the Data Path of a single print line and also of a
  • the microprocessor translates and sends the internally stored line of data to the PARALLEL Interface for printing. This transfer may be locked out as aforesaid due to changes in the ENVIRONMENTAL STATUS. The microprocessor is however notified via the line 30. Appropriate action is taken within the status path upon interrogation of the ENVIRONMENTAL STATUS. (v) The microprocessor adjusts the OPERATIONAL
  • the microprocessor INTERFACE is accepted and recognised by the microprocessor, (ii) The microprocessor sends a 'Deselect' Command to the PARALLEL Interface.
  • the Status Path from the PARALLEL Interface to the 1900 Interface passes first through the COMPUTER INTERFACE under the control of the microprocessor. After processing within the microprocessor it then passes to the 1900 Interface.
  • the overall sequence of events for Status processing is as follows:-
  • PRINTER INTERFACE The Driving of the PARALLEL Interface with Standard Test Patterns. This provides test data for both the PRINTING DEVICE and the COMPUTER INTERFACE to PARALLEL Interface link. There is a man-machine interface which needs to be actioned in order to activate the Self Test Routines.
  • a set of eight switches and eight associated LED's are provided on the unit in order to allow the operator to select the required tests and observe the results.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

An interface unit for connection between computers having a timed transfer output interface and hardcopy output devices operating on a parallel handshaking principle comprises a microprocessor (1) connected between the computer and the output device by respective hardware units. The hardware unit connected to the computer includes a Status Buffer (4) divided into two parts (9) and (10) one of which (10) is an intermediate transfer area between the microprocessor and the computer interrogated Status Buffer (9). Transfer from part (10) to part (9) is controlled so that the computer can control status and so that timing restrictions are met. Means are provided for avoiding loss of data when the output device is rendered inoperable.

Description

INTERFACE UNIT BETWEEN A COMPUTER AND A HARDCOPY OUTPUT DEVICE
DESCRIPTION
This invention relates to interface units for connection between computers and hardcopy output devices.
There is a class of computers, for example the ICL 1900, that have a standard output interface based on a principle of a timed transfer and response.
Such an output interface requires an output device to transmit certain signal responses to output signals from the computer within fixed time periods. There is a class of output devices which operate on a different principle: they have an input interface operating on the so called 'handshake' principle whereby the computer sends instruction to the output device and then waits for a response before initiating the next step; there being no rigid time control of the signalling. To allow such output devices to function with such computers an interface unit is called for which can emulate the respective interfaces to the computer and output device. To construct such a unit from hardware alone generally would require an excessive number of components, and so it is to be preferred to use a microprocessor in combination with hardware. However, this then presents a problem because the time periods in which microprocessor operations take place are longer thanthose required in the timed transfer operation of the types of computers likely to benefit from such a unit. More specifically the types of devices to which interface units according to the present invention are connected are as follows:- Computers of the kind having an output interface including output paths which comprise respectively, a data path along which is transmitted instructional and command data for an output hardcopy device, an address-line along which is transmitted the address of the output device and a line along which timing signals are transmitted, and including respective input paths along the first of which data is transmitted indicating the present status condition of the output device, the second comprising an interrupt path for data indicating that the output device is ready for service and the third a request path indicating that data is required from the computer by the output device. The computer output interface operates on a timed transfer basis wherein once information is requested by the computer from the output device it must be actioned in a predetermined short time period and an appropriate response sent back to the computer. The status of the output device is transmitted along said line and this status information must not be changed during the period of transmission.
Such computers are hereinafter referred to as computers of the kind specified.
Hardcopy output devices of the kind including input paths which respectively include a print data path and a strobe path along which signals indicative that data is available are sent, and including output paths which respectively include an acknowledgement path along which signals are transmitted acknowledging that data has been utilised by the output device, and a status path along which the status of the printer is indicated. The status indicated on this path may change without reference to timing constraints that may be present in the computer. The output device is characterised in that it acts on a handshake principle with regard to print data transfer, that is to say that it utilises data sent along the print data path in its own time and then acknowledges the data. Upon such acknowledgement it can then be sent more print data.
Such hardcopy output devices are hereinafter referred to as of the kind soecified. According to the present invention there is provided an interface unit for connection between a computer of the kind specified and a hardcopy output device of the kind specified, the interface unit including a microprocessor and first and second hardware units connected between the microprocessor and respectively, the computer and the hardcopy output device, characterised in that:- the first hardware unit includes a status buffer store for storing data indicative of the actual or proposed operational status of the hardcopy output device, the status buffer store having first and second parts, the first part being interrogatable by both the microprocessor and the computer but updatable directly on by the computer, and the second part being updatable by the microprocessor, the second part of the status buffer store being operative to transfer the status information stored therein to the first part except when it is prevented from doing so by a disenabling signal produced by the first hardware unit when the first part of the status buffer unit is interrogated by the computer; the first hardware unit further including a status change detection means operative to detect that the first part of the status buffer store has been updated by the computer and to transmit to the microprocessor the new status information stored in the first part of the status buffer store.
An embodiment of the invention will now be described, by way of example only, with reference to the accompanying drawings. In the drawings Figure 1 is a block diagram of the functional elements included in the interface unit, and Figure 2 is a circuit diagram of part of a status buffer unit included in the interface unit. In this embodiment the interface unit will be described with reference to the connections of a typical computer of the kind specified, the ICL 1900, and a typical hardcopy output device of the kind specified, a parallel, handshaking interfaced printer.
The Computer Outout Interface
The required information transfer characteristics across the output interface of the ICL 1900 computer will now be illustrated by a description of the steps undertaken during a transfer of a single line of print from the computer to a printer.
The terminology used in the ensuing description is as follows:-
(i) 1900 INTERFACE The Interface associated with a Main Central Processing Unit that operates on a timed transfer principle, e.g. the ICL 1900.
(ii) PRINTER INTERFACE An Interface which is able to communicate with the
1900 INTERFACE.
(iii) WRITE COMMAND A data transfer to the
PRINTER INTERFACE requesting the initiation of printer action.
(iv) PAPER MOVEMENT A data transfer to the
PRINTER INTERFACE requesting carriage movement.
(v) PRINT CONTROL A data transfer to the
PRINTER INTERFACE requesting printing action.
(vi) WRITE STATUS Information relating to the acceptability of a WRITE
COMMAND to the PRINTER
INTERFACE.
(vii) OPERATIONAL STATUS Information relating to the operational status of the
PRINTER INTERFACE.
(viii) DISCONNECT COMMAND A data transfer to the
PRINTER INTERFACE specifying it logical disconnection. The steps undertaken during a single line transfer between the 1900 INTERFACE and the PRINTER INTERFACE are as follows:-
(i) The 1900 INTERFACE interrogates the printer WRITE STATUS for permission to issue a WRITE
COMMAND which initiates printer action, (ii) The PRINTER INTERFACE must respond within
750 nano seconds. (iii) If the WRITE STATUS is acceptable then the 1900 INTERFACE issues the WRITE COMMAND.
The PRINTER INTERFACE must update the OPERATIONAL STATUS within 400 nano seconds. (iv) After a minimum delay of 2.4 micro seconds from the issue of the WRITE COMMAND, the 1900 INTERFACE sends PAPER MOVEMENT and PRINT
CONTROL information to the PRINTER INTERFACE. (v) If the PRINT CONTROL specifies that no printing is required then the OPERATIONAL STATUS must be reset within 400 nano seconds. The 1900 INTERFACE may optionally send a
DISCONNECT COMMAND after a minimum delay of 2.4 micro seconds from the transfer of PAPER MOVEMENT and PRINT CONTROL information. (vi) If the PRINT CONTROL specifies that printing is required then the PRINTER INTERFACE requests data one character at a time at its own pace. Each individual character transfer, however, must be completed within 750 nano seconds once the request has been serviced by the 1900 INTERFACE. (vii) At the termination of print data transfer the
PRINTER INTERFACE must reset the WRITE STATUS within 400 nano seconds of the last character transfer.
Additional timing and communication problems occur between the 1900 INTERFACE and the PRINTER INTERFACE and these are outlined below:
(i) The 1900 INTERFACE may request the OPERATIONAL STATUS at any time. The PRINTER INTERFACE must respond within 750 nano seconds. (ii) The 1900 INTERFACE may request the updating of the OPERATIONAL STATUS between single line transfers. The PRINTER INTERFACE must respond within 750 nano seconds and must further update the OPERATIONAL STATUS within an additional 400 nano seconds. (iii) The DISCONNECT COMMAND requires the 1900 INTERFACE to interrogate the OPERATIONAL STATUS for acceptability: Response is required within 750 nano seconds. If acceptance is given the DISCONNECT COMMAND is issued and the
OPERATIONAL STATUS must be reset within 400 nano seconds. (iv) Before transfer of any data character the request which has been issued from the PRINTER
INTERFACE must withdrawn 'immediately' upon the start of service by the 1900 INTERFACE. (v) The WRITE STATUS and the OPERATIONAL STATUS cannot be updated during interrogation. Changes to the status must, therefore, be held until interrogation is complete. (vi) There is a requirement to generate an interrupt request to the 1900 INTERFACE whenever certain status information is reset. The interrupt request must, however, be withdrawn 'immediately' upon the start of interrupt service by the
1900 INTERFACE.
The Parallel Handshaking Printer Interface The operation of a typical printer interface based upon a handshaking transfer principle will now be described. Information concerning the actual status of the printer may be passed via independent channels with no associated handshaking or timing restrictions. The following describes the transfer of data to the printer and the generation of status information by the printer. The terminology used in the ensuing discussion as follows:-
(i) PARALLEL INTERFACE A Printer Interface operating on a handshaking principle.
(ii) COMPUTER INTERFACE Any computer interface which is able to communicate with the PARALLEL INTERFACE.
(iii) PRINTING DΞVICϊ That part of the Printer which implements the printing action transferred to it by the PARALLEL INTERFACE.
(iv) DATA BUS A combination of communication lines used to transfer information from the COMPUTER INTERFACE to the PARALLEL INTERFA
(v) PRINTER STROBE LINE A communication line us to indicate to the PARALLEL INTERFACE the presence of information on the DATA BUS. (vi ) ACK/REQUEST LINE A communication line used to indicate to the COMPUTER INTERFACE that the information on the DATA BUS has been fully actioned.
(vii ) ENVIRONMENTAL STATUS Information relating to operational capability of the PRARLLEL INTERFACE.
(viii) STATUS LINE A single independent communication line associated with one condition of the ENVIRONMENTAL STATUS .
The PARALLEL INTERFACE does not need to distinguish between the types of data character sent by the COMPUTER INTERFACE. It is the PRINTING DEVICE which actions each character in its context. In general each data character is transferred by a handshaking protocol as follows:- (i) The COMPUTER INTERFACE sets the DATA BUS to the required character value. (ii) The COMPUTER INTERFACE actions the PRINTER STROBE LINE for a period of not less than 1.0 micro seconds after a delay of not less than 1.0 micro seconds after the DATA BUS has been set to the required value. This indicates to the PARALLEL INTERFACE the presence of data on the DATA BUS.
(iii) The PARALLEL INTERFACE accepts the character from the DATA BUS during the 1.0 micro second period.
(iv) The PARALLEL INTERFACE does not take any further action until the data has been successfully utilised by the PRINTING DEVICE. (v) The PARALLEL INTERFACE actions the ACK/REQUEST LINE to indicate to the COMPUTER INTERFACE that the data character has been successfully utilised. This indication may take the form of an acknowledgment strobe or a request for more data.
A single exception to the handshaking protocol outlined above is the reception by the PARALLEL INTERFACE of a 'Deselect' Command. This is an instruction to logically disconnect the PRINTING DEVICE from the PARALLEL
INTERFACE. The effect of this action inhibits the ACK/REQUEST LINE response to. the COMPUTER INTERFACE. The ENVIRONMENTAL STATUS is, however, reset to reflect this condition. Parallel Hankshaking Interface Status Information
The PARALLEL INTERFACE permanently holds information relating to the availability and operational capability of the PRINTING DEVICE. The information is held in the ENVIRONMENTAL STATUS, whose components when set in isolation or in combination reflect the following conditions:-
(i) The logical connection of the PRINTING DEVICE to the PARALLEL INTERFACE, i.e. SELECT status. (ii) The fully operational capability of the
PRINTING DEVICE, i.e. READY status. (iii) The status of physical conditions of the PRINTING DEVICE with regard to e.g. paper availability and position, character set utilisation and vertical form Unit condition.
Each component of the ENVIRONMENTAL STATUS is available for interrogation by the COMPUTER INTERFACE on an independent STATUS LINE. These STATUS LINES permanently hold the Operational Status of the PRINTING DEVICE.
The present invention illustrated in the Figures comprises an interface unit that enables the 1900 INTERFACE to be connected to the PARALLEL INTERFACE so that the two interfaces see respectively appropriate printer and computer interfaces. The interface unit includes a microprocessor 1 which is able both to communicate and interact with the hardware necessary to implement both the COMPUTER INTERFACE and the PRINTER INTERFACE. In addition it is capable of manipulating and storing a complete line of print data between the two interfaces in such a way as to emulate an appropriate printer. The microprocessor 1 is suitably an INTEL 8748 single chip microprocessor and together with a number of support devices forms the interface unit. The functions of the support devices are twofold:- (i) Provision of basic microcomputer functions, e.g. bulk storage and standard bus communication.
(ii) Standard hardware functions associated with the implementation of the COMPUTER INTERFACE and the PRINTER INTERFACE. The microprocessor 1 provides the major intelligence for the Interface unit both by virtue of its hardware capability and the software implemented within it. The software drives not only the microprocessor 1 but also the other support devices to provide the complete simulation of a printer appropriate to the timed transfer computer interface. The object codes of the programme for the microprocessor are set out on the following pages. Each page represents one memory page within the microprocessor and the description is in hexadecimal. As will be appreciated by those skilled in the art this provides complete instructions enabling the microprocessor to run the interface unit.
Figure imgf000017_0001
Figure imgf000018_0001
Figure imgf000019_0001
Figure imgf000020_0001
Figure imgf000021_0001
Figure imgf000022_0001
Figure imgf000023_0001
Figure imgf000024_0001
Whilst the hardware support device are in general standard blocks such as can be implemented by a skilled person in this art, their interconnections and arrangement have been devised in the present invention to overcome the difficulties which are present even with microprocessor control. A major difficulty in this area is the relatively slow instruction time of the microprocessor 1 in relation to the time periods required by the PRINTER INTERFACE. The minimum instruction time for the INTEL 8748 microcomputer is 2.5 microseconds. Instruction times may be further extended in cases where communication with standard support devices is concerned.
The printer interface presented by the interface unit is formed from the following functional elements:- a Main Character Buffer 2, an Auxilliary Character Buffer 3, a Status Buffer 4, a Command Recognition Unit 5, an Interface Control Unit 6, a Data Transfer Control Unit 7, a Status Control Unit 8. The computer sends two types of data to the interface unit, firstly there is Command Data which is information which is a directive to the interface unit and is not printed. In general the commands recognised are:
WRITE COMMAND, STATUS INTERROGATION COMMAND and DISCONNECT COMMAND. Secondly there is Print Data which is that data which is to be transferred to paper by the PRINTING DEVICE.
The Main Character Buffer 2 is the primary character input buffer which receives both Command Data and Print Data from the computer interface. Control information from the Interface Control Unit 6 or the Data Transfer Control Unit 7 defines the. validity of the character being input from the computer interface. Information from the Main Character Buffer 2 to both the Interface Control Unit and the Data Transfer Control Unit 7 specifies the completion of processing of that character by the microprocessor 1. Until such processing is complete input to the Main Character Buffer 2 is inhibited. The Main Character Buffer 2 has the capability to accept a character from the computer interface within 400 nano seconds of receipt of the request from either the Interface Control Unit 6 or the Data Transfer Control Unit 7. The Auxilliary Character Buffer 3 is the secondary character input buffer which is used for the receipt of PAPER MOVEMENT and PRINT CONTROL information directly from the computer interface. These are combined as single character called a Qualifier, Control information from the Interface Control Unit 6 determines the validity of such a transfer reαuest. The Data Transfer Control Unit 7 inhibits the Auxilliary Character Buffer 3 during Print Data transfer.
This buffer is required because the time necessary for processing the Command Data accepted by the Main Character Buffer 2 may exceed the minimum time imposed by the protocol of the 1900 INTERFACE. The protocol allows the completion of both Command Data processing from the Main Character Buffer 2 and Qualifier processing from the Auxilliary Character Buffer 3 before any data transfers are initiated. With the exception of
'DISCONNECT' the Command Data transfers are also inhibited. These transfers are discussed fully below.
The Auxilliary Character Buffer 3 like the Main Character Buffer 2 has the capability to accept a character from .the computer interface within 400 nano seconds of receipt of the request from the Interface Control Unit 6.
The Status Buffer 4 holds all status information pertinent to the total Operational Environment of the Interface Unit and the Printer. Due to the problems associated with the fact that status information cannot be updated while it is being interrogated, the Status Buffer 4 is divided into two sub-buffers.
The first sub-buffer, the Current Status Buffer 9 is used for two purposes:- (i) Interrogation by the computer interface via a
Status Control Unit 8. (ii) Interrogation by the microprocessor 1 whenever the Interface Control Unit 6 updates the Current Status Buffer 9. This process is called Status Feedback. The Status Feedback process is fully controlled by the Interface Control Unit 6. Further more it may reset certain status information when directed by the Command Recognition Unit 5 as is further described below. This is necessary because the processing time required by the microprocessor to update the Status Buffer 4 directly would exceed the timing limitations imposed by the protocol of the 1900 INTERFACE. The second sub-buffer, the New Status Buffer 10, is used as an intermediate transfer area. Its major purpose is to hold the latest Status as issued by the microprocessor while the Current Status Buffer 9 is under interrogation. The content of the New Status Buffer 10 is copied into the Current Status Buffer 9 only if the Current Status Buffer 9 remains unmodfied or is not under interrogation by the 1900 INTERFACE. A change in the status of the Current
Status Buffer 9 is recorded in a Buffer Store 13a located in a Feed Back Path 13 to the microprocessor. Provided that no change is recorded in the Buffer Store 13a and interrogation by the computer has ceased, - indicated by the removal of the address from the address line to the Interface Control Unit 6 then transfer of information from the New Status Buffer 10 to the Current Status Buffer 9 occurs. If the Current Status Buffer 9 is modified by the computer via the Command Recognition Unit 5 and the Interface Control Unit 6 while the New Status Buffer 10 is attempting to update the
Current Status Buffer 9, this updating is inhibited by a lock-out mechanism in the Status Buffer Store. The lock-out also causes the updated status to be fed from the Buffer Store 13a to the microprocessor which releases lock-out and enables the microprocessor to choose between what may be conflicting requirements of the computer and microprocessor for the status to be registered.
Referring to Figure 2, the mechanism whereby transfer between the new and current status buffers, 10 and 9 is controlled includes an AND gate 40 having inverters on both input terminals. One input terminal is connected to the line A from the Interface Control Unit 6. This line has a logic '1' signal when the computer is interrogating or updating the current status buffer, i.e. when the dressing signal is present on the line from the computer to the Interface Control Unit. The other input terminal to the AND gate 40 is an output line 41 from the new status buffer which registers a logic '0' when data is present in the new status buffer for transfer. Thus, when the computer is updating or interrogating the current status buffer the '1 ' signal on line A causes the output of AND gate 40 to be at logic '0' irrespective of the signal on line 41. Thus data transfer is inhibited during interrogation.
The output terminal of the AND gate 40 is connected to an inverting gate 42, whose output is connected to an inverted input of a further AND gate 43 and back along a line 44 to the new status buffer. The output of the ANDgate 40 is only at logic '1' when data is present and there is no computer interrogation, when this happens the inverter produces a logic '0' output signal. This output signal indicates to the new status buffer that the new status has been used and the output on line 41 will be reset after 500 nano seconds.
The other input terminal to the AND gate 43 also has an inverter and is connected to a line 45 from the status feedback buffer. A logic '1' signal is put on this line when the feed back buffer registers that the computer has updated the current status buffer.
The output of the AND gate 43 is connected to an input to the Current Status Buffer 9. When the output of the inverter 42 is a logic '0' - indicating data and no computer interrogation, and the signal on line 45 is a logic '0' indicating no computer update then a logic '1' signal is transmitted from the AND gate 43 to the Current Status Buffer in the form of a 500 nano second pulse which constitutes a signal to transfer status. However when the Current Status Buffer has been updated by the computer a logic '1' signal occurs in line 45 thus locking the AND gate 43 to a '0' output. It will be appreciated that when the computer ceases to interrogate the '1' on line 45 remains even though the output from the inverter 42 is a logic '0' when data is available. This causes that data to be lost since the signal on 'line 44 will now be sent to reset. In this way the computer is given priority over the Current Status Buffer so that other status directives are now removed.
When the Status Feedback Buffer 13a communicates the new status information to the microprocessor the signal on line 45 is removed thereby removing the lockout condition.
Status information from the Current Status Buffer to the Command Recognition Unit and Interface Control Unit can inhibit relevant operations within these units. The Command Recognition Unit 5 performs six functions:-
(1) Recognises and validates Commands and Qualifiers from the comuuter interface. (ii) Informs the Main Character Buffer 2 of the availability of the valid WRITE COMMAND to be transferred at the discretion of the Interface
Control Unit 6. (iii) Informs the Auxilliary Character Buffer 3 that an available Qualifier is not invalid. The validity of the Qualifier relative to the operational environment can only be determined by the microprocessor.
(iv) Informs the Interface Control Unit 6 of the availability and type of valid Command Data and this includes a DISCONNECT Command.
(v) Informs both the Data Transfer Control Unit 7 and the Interface Control Unit 6 that the final character of a line of Print Data is available for transfer.
(vi) Informs the Current Status Buffer 9 that status information may be updated under the control of the Interface Control Unit 6.
The Command Recognition Unit 5 operates under the control of the Interface Control Unit 6. The Data Transfer Control Unit 7 may, however, override the Interface Control Unit 6 by inhibiting the Command
Recognition Unit 5 during Print Data Transfer described below. The Current Status Buffer 9 inhibits the Command Recognition Unit 5 whenever either the previous transfer is complete but remains unprinted or the PRINTING DEVICE is inoperable. The Interface Control Unit 6 contains the main hardware intelligence of the units simulating the Printer interface and as such has overriding control over all other functions in this part of the unit. The Control Unit 6 is responsible for the resolution of the disparity in operational requirement between the 1900 interface protocol and the hardware comprising the Printer interface. Its specific functions are discussed in detail below:- (i) Receipt of Information from the computer interface via an Address Line 11. This alerts the Interface Control Unit 6 to the presence of information from the computer. The Interface Control Unit passes this information in turn to the Status Control Unit 8.
(ii) Interrogation of the Command Recognition Unit 5, the Current Status Buffer and the Data Transfer Control Unit 7 to determine the operational requirements of the available data.
(iii) If a Command or Qualifier is detected by the Command Recognition Unit 5, whether valid or otherwise, the Interface Control Unit 6 informs the Status Control Unit 8 to transmit a suitable status from the Status Buffer 4 to the 1900 interface. (iv) In the case of a valid WRITE COMMAND the Interface Control Unit β informs the Main Character Buffer 2 of the presence of valid Command Data. Invalid Commands are ignored. (v) In the case of a valid Qualifier the Interface Control Unit informs the Auxilliary Character Buffer 3 of the presence of a valid Qualifier, only if the previous Command Data transfer was an acceptable WRITE COMMAND input to the Main Character Buffer 2. Invalid
Qualifiers are ignored although the presence of a previously accepted WRITE COMMAND is still maintained. (vi) In the case of a Operational Status Request no further action is required. This is also true in the case of a valid DISCONNECT COMMAND. (vii) In the case where the Data Transfer Control Unit 7 indicates the requirement for Print Data transfer to the Main Character Buffer 2 the Interface Control Unit informs the Data
Transfer Control Unit 7 of a pending transfer. (viii) The 1900 Interface upon receipt of an acceptable response from the Status Control Unit 8, issues a request for either Command Data transfer or Print Data transfer. The request is sent via a Strobe Line 12 from the computer to the Interface Control Unit 6. (ix) In the case of a valid WRITE COMAND the Interface Control Unit directs the Main Character Buffer 2 to accept the Command Data. At the same time the Interface Control Unit directs the Status Buffer to reset the appropriate status conditions. (x) In the case of a valid Qualifier the Interface Control Unit directs the Auxilliary Character Buffer 3 to accept the Qualifier. In addition, if the Command Recognition Unit indicates that this is the last character (no print data transfer is required in this context) the appropriate status conditions are reset in the Status Buffer 4. (xi) In the case of an Operational Status request the only action is the resetting of the appropriate status conditions in the Status Buffer 4. This is also true in the case of a valid DISCONNECT COMMAND. The microprocessor 1 detects the acceptance of a DISCONNECT COMMAND via the change in Status recorded in the Current Buffer 9. As previously described this change is registered in the Buffer Store 13a in the Feedback Line 13 and is transmitted automatically to the microprocessor during the lock-out process. The appropriate part of the OPERATIONAL STATUS is only reset by a hardware condition initiated by the acceptance of a valid DISCONNECT COMMAND and thus the microprocessor is informed and the status changed by hardware only so that the timing constraints of the 1900 Interface can be accommodated. (xii) In the case of a Print Data transfer the Interface Control Unit 6 directs the Main Character Buffer 2 to accept the print character. If the data character has been recognised as the last to be transferred then the Interface Control Unit directs the Status Buffer 4 to reset the appropriate status conditions.
Throughout that part of the Operation comprising functions (i) to (vii) above the total response time of the Printer Interface does not exceed 750 nano seconds. This conforms to the protocol requirements of the 1900 Interface.
The function of the Data Transfer Control Unit 7 is the co-ordination of the actual Print Data transfers within the control of the Interface Control Unit 6. The Data Transfer Control Unit 7 performs no relevant function until it is informed by the microprocessor 1 that Print Data transfers are required. The functions performed during this period are as follows :-
(i) The request to the 1900 INTERFACE for Print Data transfer. (ii) The request to the Interface Control Unit 6 for Print Data transfer. (iii) The request to the Main Character Buffer 2 for Print Data transfer. (iv) The inhibition of all requests to the Auxilliary Character Buffer 3.
(v) The inhibition of the Command Recognition
Unit 5 in order to simulate the rejection of all WRITE and DISCONNECT COMMANDS, (vi) The acceptance by the Interface Control Unit 6 of information relating to the servicing of any
Print Data transfer request. Receipt of this information causes the Data Transfer Control Unit 7 to temporarily withdraw the request to the 1900 Interface. The Print Data transfer request to the 1900 Interface is not reset until the Main Character Buffer 2 informs the Data Transfer Control Unit 7 that the microprocessor has completed processing of the previous Print Data character. (vii) The Acceptance from the Command Recognition Unit 5 of information specifying that the current Print Data character is the last transfer required for the print line. The Data Transfer Control Unit 7 permanently withdraws the request to "the 1900 Interface. The request is reset only by specific instruction from the microprocessor 1 as discussed below.
The Data Transfer Control Unit 7 has the capability of withdrawing the Print Data transfer request to the 1900 Interface within 20 nano seconds of the receipt of the information relating to the servicing of the request by the Interface Control Unit 6, and its subsequent transfer to the Data Transfer Control Unit 7. This time delay is sufficiently short to be termed 'immediate'.
The Status Control Unit 8 co-ordinates the various Status Conditions which are sent to the 1900 Interface under the control of the Interface Control Unit 6. The Unit 8 is in effect a switching system which selects the appropriate status information from the Status Buffer 4 and channels it to the computer. The precise status information transferred is controlled by the Interface Control Unit 6 as previously described. An additional capability of the Status Control
Unit is the co-ordination of an Interrupt Line 14 to the 1900 Interface. The Interrupt Line 14 is activated under independent control of the Status Control Unit 8. This occurs only when the operational environment, in conjunction with the current status, demands an interrupt request to be sent to the 1900 Interface in order to satisfy the protocol requirements.
At any point where the Status Control Unit 8 receives information from the Interface Control Unit 6 relating to the servicing of any function of the PRINTER INTERFACE, the Status Control Unit withdraws the interrupt request from the 1900 Interface. The interrupt request is, however, reinstated by the Status Control Unit 8 provided that the circumstances which gave rise to the original interrupt have not been adequately handled during the service period.
The Status Control Unit has the capability of withdrawing the interrupt request to the 1900 Interface within 20 nano seconds of the receipt of the information relating to the servicing of the request by the Interface Control Unit and its subsequent transfer to the Status Control Unit. This time delay is again sufficiently short to be termed 'immediate'.
The Blocks illustrated in Figure 1 which constitute the hardware content of the COMPUTER INTERFACE are as follows:- a Printer Data Buffer 20, a Strobe Control Unit 21, an Ack Control Unit 22, a Printer Status Buffer 23, a Status Sense Unit 24. The Printer Data Buffer 20 is an intermediate Buffer between the microprocessor 1 and the PARALLEL interface. The microprocessor writes any data to the Printer Data Buffer 20 from whence it is placed on a DATA BUS 25 to the PARALLEL interface. At this point the Printer Data Buffer 20 indicates to the Strobe Control Unit 21 that the data is available. The Strobe Control Unit is used to construct a correctly timed strobe via a Printer Strobe Line 26 to the PARALLEL interface. This is actioned by the indication of available data from the Printer Data Buffer 20. The timing sequence consists of a delay of at least 1.0 microseconds followed by a strobe of at least 1.0 microseconds.
The Strobe Control Unit 21 may be inhibited from operating by a strobe lock-out signal from the Ack Control Unit 22 as will be described.
The function of the Ack Control Unit 22 is to inform the microporcessor that the data it has transferred to the Printer Data Buffer 20 has been fully utilised by the PARALLEL interface. The Ack Control Unit 22 realises this condition in one of two ways:-
(i) The PARALLEL interface indicates via an
Ack Line 27 that it has utilised the current data.
(ii) The ENVIORNMENTAL STATUS from the PRINTING
DEVICE indicates that the device is inoperable.
In addition the Ack Control Unit 22 interrogates the ENVIRONMENTAL STATUS to determine the operational capability of the PRINTING DEVICE. If the PRINTING DEVICE is not operational any further strobes are inhibited by a strobe lock-out signal along the line 29 and the microprocessor is informed via a strobe lock-out status line 30 if a transfer via the Printer Data Buffer is attempted.
The exception is the circumstance where the microprocessor decides that a transfer to the PARALLEL INTERFACE is required even if the PRINTING DEVICE is inoperable. To achieve this the microprocessor directs the Ack Control Unit 22, via a printer strobe force line 31 to withdraw any strobe lock-out that may exist. In this manner data sent from the computer is completed before the hardcopy output device is rendered finally inoperative. That is to say the microprocessor forces the output device to become operative and print, say if the operator switches if off line, whereas if the output device runs out of paper, say, the microprocessor cannot force the output device to be operative and data may be lost.
The Printer Status Buffer 23 accepts the ENVIRONMENTAL STATUS from the PARALLEL interface on an indication from the Status Sense Unit 24. The ENVIRONMENTAL STATUS is transferred to the microprocessor as required. The Printer Status Buffer 23 inhibits the Status Sense Unit 24 during the period it holds an ENVIRONMENTAL STATUS which has not been transferred to the microprocessor.
The Status Sense Unit 24 detects an adverse ENVIRONMENTAL STATUS condition from the printer interface This indication is passed to the Printer Status Buffer 23. The Status Sense Unit 24 may be inhibited by the Printer Status Buffer 23 as is discussed above.
The microprocessor 1 is the centre of intelligence for the whole unit and in this embodiment is a basic INTEL 8748 chip. It is programmed in a fully interrupt driven fashion to provide three general functions:-
(i) The Data Path from the 1900 Interface to the
PARALLEL Interface. (ii) The Status Path from the PARALLEL Interface to the 1900 Interface. (iii) Self Test Routines. The Data Path from the 1900 Interface to the PARALLEL Interface passes first through the PRINTER INTERFACE and after processing within the microprocessor it then passes to the COMPUTER INTERFACE. The following description is of the Data Path of a single print line and also of a
DISCONNECT COMMAND through the microprocessor. The basic sequence of events for the processing of a single print line of data is as follows:-
(i) A WRITE COMMAND from the PRINTER INTERFACE is accepted and recognised by the microprocessor.
(ii) A Qualifier is then accepted and recognised by the microprocessor. (iii) Due to the Interrupt Driven mode of operation of the microprocessor the following events occur in parallel:
(a) Data Transfer to the PRINTER INTERFACE is requested by the microprocessor. A line of data is then transferred into the internal storage of the microprocessor. (b) The Qualifier is interpreted and the
PARALLEL Interface directed to carry out the appropriate operation. (iv) The microprocessor translates and sends the internally stored line of data to the PARALLEL Interface for printing. This transfer may be locked out as aforesaid due to changes in the ENVIRONMENTAL STATUS. The microprocessor is however notified via the line 30. Appropriate action is taken within the status path upon interrogation of the ENVIRONMENTAL STATUS. (v) The microprocessor adjusts the OPERATIONAL
STATUS and the WRITE STATUS as appropriate during the events (i) and (iv) above. If the hardware determines a timing conflict within the Status Buffer 4 then the microprocessor is informed via the transfer lock-out status line and the updating of the appropriate status is re-evaluated upon interrogation of the Current Status Buffer via status feedback line 13 and the buffer 13a. If the Qualifier specifies 'No Printing' then the operation (iii)
(a) and (iv) are not actioned.
The basic sequence of events actioned during the processing of a DISCONNECT COMMAND is as follows:- (i) The DISCONNECT COMMAND from the PRINTER
INTERFACE is accepted and recognised by the microprocessor, (ii) The microprocessor sends a 'Deselect' Command to the PARALLEL Interface. The Status Path from the PARALLEL Interface to the 1900 Interface passes first through the COMPUTER INTERFACE under the control of the microprocessor. After processing within the microprocessor it then passes to the 1900 Interface. The overall sequence of events for Status processing is as follows:-
(i) The microprocessor accepts an ENVIRONMENTAL
STATUS from the. PARALLEL Interface. (ii) The microprocessor interprets the ENVIRONMENTAL STATUS and adjusts the processing of the Data Path accordingly.
(iii) The WRITE STATUS and the OPERATIONAL STATUS of the PRINTER INTERFACE are reset to reflect the current condition of the PRINTING DEVICE.
Full Software Driven hardware test routines are provided by the microprocessor. These routines have the following capabilities:-
(i) Testing of the Main Data Paths within the microprocessor. (ii) Testing of the Main Data Paths within the
PRINTER INTERFACE. (iii) Testing of most Functional Blocks within the
PRINTER INTERFACE. (iv) The Driving of the PARALLEL Interface with Standard Test Patterns. This provides test data for both the PRINTING DEVICE and the COMPUTER INTERFACE to PARALLEL Interface link. There is a man-machine interface which needs to be actioned in order to activate the Self Test Routines.
Several hardware links need to be manually changed for some Self Test facilities. A set of eight switches and eight associated LED's are provided on the unit in order to allow the operator to select the required tests and observe the results.
The full listings for the programming of the microprocessor have been given previously.

Claims

1. An interface unit for connection between a computer of the kind specified and a hardcopy device of the kind specified, the interface unit including a microprocessor and first and second hardware units connected between the microprocessor and respectively, the computer and the hardcopy output device, characterised in that:-
the first hardware unit includes a status buffer store for storing data indicative of the actual or proposed operational status of the hardcopy output device, the status buffer store having first and second parts, the first part being interrogatable by both the microprocessor and the computer but updatable directly only by the computer, and the second part being updatable by the microprocessor, the second part of the status buffer store being operative to transfer the status in information stored therein to the first part except when it is prevented from so doing by a disenabling signal produced by the first hardware unit when the first part of the status buffer unit is interrogated by the computer;
the first hardware unit further including a status change detection means operative to detect that the first part of the status buffer store has been updated by the computer and to transmit to the microprocessor the new status information stored in the first part of the status buffer store.
2. An interface unit for connection between a computer of the kind specified and a hardcopy output device of the kind specified, the interface unit including a microprocessor and first and second hardware units, connected between the microprocessor and respectively the computer and the hardcopy output device, characterised in that:-
the first hardware unit comprises:- buffer storage means connected to receive said instructional and command data from the computer, recognition means connected to receive said instructional and command data and operative to distinguish between types of command;
a control unit for controlling the timing of th activities of the components in the first hardware unit and connected to said address line and strobe line from the computer;
a data transfer unit controlling the transfer of data from the computer;
a status buffer store for storing data indicative of the actual or proposed status of the output device, the status buffer having first and second parts, the first part being interrogatable by both the microprocessor and computer but updatable directly only by the computer and the second part being updatable by the microprocessor, the second part of the status buffer store being operative to transfer the status information stored therein to the first part provided that it is not prevented from so doing by a disenabling signal produced by the first hardware unit, this disenabling signal being produced when information addressing the output device is transmitted along said address line from the computer indicating that said first part is being interrogated by the computer;
status change detection means operative to register that the first part of status buffer store has been updated and to transmit to the microprocessor the new status information stored in the first part of the status buffer;
the second hardware unit of the interface unit including:- a printer data buffer for storing data between the microprocessor and hardcopy output device for transmission along said print data path;
a timing control unit for supplying a timing s signal along said strobe path indicating the presence of data in the printer data buffer;
an acknowledgement control unit operative to receive signals from said hardcopy output device along said acknowledgement path and to signal the printer data buffer in response;
a printer status buffer operative to receive information as to the current capability of the hardcopy output device along said status path.
3. An interface unit as claimed in claim 2 characterised in that detection of a change in the status information held in the first part of the status buffer caused by updating by the computer results in a signal to the status buffer preventing transfer of status information from the second part, the transfer facility being re-enabled by the transmission of the new status information to the microprocessor.
4. An interface unit as claimed in claim 3 characterised in that a signal to the first part of the status buffer to transfer data from the second part, is produced by first gating means when both a signal from second gating means occurs and said means for detecting a change in the status information in the first part of the status buffer does not produce a signal indicating that there has been a change, the signal from the second gating means occurring when both a signal from the second part of the status buffer occurs indicating data for transfer and said disenabling signal indicating that interrogation is occurring does not occur;
said signal from the second gating means also being fed to the second part of the status buffer to remove that said signal from the second part of the data buffer which indicates that data is available.
5. An interface unit as claimed in any one of claims 2 to 4 characterised in that, an instruction from the computer for the hardcopy output device to be put in a state of logical disconnection from the computer, is recognised in said recognition means which then updates said first part of the status buffer store;
the presence of this instruction being solely communicated to the microprocessor by means of said transmission of the new status information stored in the first part of the status buffer.
6. An interface unit as claimed in any one of claims 2 to 5 characterised in that:- the second hardware unit includes means for locking the timing control unit to prevent further transmission of said timing signals; the acknowledgement control unit is connected to -receive the signals from said hardcopy output device along said status path and is operative to transmit a signal to the means for locking the timing control unit to effect said locking the timing control unit to effect said locking when the hard copy output device is rendered inoperative and data is presented to the printer data buffer;
the acknowledgement control unit further being arranged to transmit, a signal to the microprocessor indicating that the signal to the means for locking the timing control unit has been transmitted.
7. An interface unit as claimed in claim 6 characterised in that said signal from the acknowledgement control unit is transmitted to the means for locking the timing control unit whenever the hardcopy output device is rendered inoperative.
8. An interface control unit as claimed in claim 6 or claim 7 characterised in that:- the microprocessor is connected to the acknowledgement control unit such that a signal from the microprocessor can inhibit the acknowledgement control unit so as to remove said signal from the timing control unit thereby enabling timing signals to be sent to the hardcopy output device indicates that it is inoperable.
PCT/GB1980/000095 1979-05-31 1980-05-30 Interface unit between a computer and a hardcopy output device WO1980002754A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB7918946 1979-05-31
GB7918946 1979-05-31

Publications (1)

Publication Number Publication Date
WO1980002754A1 true WO1980002754A1 (en) 1980-12-11

Family

ID=10505548

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1980/000095 WO1980002754A1 (en) 1979-05-31 1980-05-30 Interface unit between a computer and a hardcopy output device

Country Status (2)

Country Link
EP (1) EP0029436A1 (en)
WO (1) WO1980002754A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0096407A1 (en) * 1982-06-04 1983-12-21 Computers International Incorporated Universal computer-printer interface
WO1989002127A1 (en) * 1987-09-04 1989-03-09 Digital Equipment Corporation Method and apparatus for interconnecting busses in a multibus computer system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Elektronik; Heft 12, 1976, (Munchen, DE) RICHERT, "IEC-Bus-Interface fur Prozessrechner", pages 58-62, see page 58, right-hand column, line 7, to page 62, right-hand column, line 4. *
IBM Technical Disclosure Bulletin, Volume 20 No. 6, November 1977, (Armonk, New York, US), CALLAHAN, "Device Independent Printer Attachment", pages 2187-2188 se the whole document. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0096407A1 (en) * 1982-06-04 1983-12-21 Computers International Incorporated Universal computer-printer interface
WO1989002127A1 (en) * 1987-09-04 1989-03-09 Digital Equipment Corporation Method and apparatus for interconnecting busses in a multibus computer system

Also Published As

Publication number Publication date
EP0029436A1 (en) 1981-06-03

Similar Documents

Publication Publication Date Title
EP0278264A2 (en) Data processing system with overlap bus cycle operations
EP0458304B1 (en) Direct memory access transfer controller and use
US4381542A (en) System for interrupt arbitration
US5063494A (en) Programmable data communications controller
US4701848A (en) System for effectively paralleling computer terminal devices
EP0205949A2 (en) Emulator for computer system input-output adapters
JPS6048779B2 (en) Modular data processing equipment
KR900018794A (en) Data Processing System and Its Processing Method
JPS6155743A (en) Error detection/separation/recovery unit
US3828326A (en) Adapter for interfacing a programmable controller to a data processor channel
US4415986A (en) Data flow control system
EP0288650B1 (en) Protocol and apparatus for a control link between a control unit and several devices
GB2052813A (en) Interface unit between a computer and a hardcopy output device
US4958271A (en) Transfer control equipment
JP3394268B2 (en) System for communicating between a computing device and a plurality of peripheral devices
WO1980002754A1 (en) Interface unit between a computer and a hardcopy output device
US5630032A (en) Image generating apparatus having a memory for storing data and method of using same
US4371948A (en) Train printer-data link processor
JP2863686B2 (en) Printing device
US5307468A (en) Data processing system and method for controlling the latter as well as a CPU board
JP2000155738A (en) Data processor
JPS6120167A (en) Data storage device
JPH0516496A (en) Image formation apparatus
JPS59177629A (en) Data transfer system
JPH02730B2 (en)

Legal Events

Date Code Title Description
AK Designated states

Designated state(s): AU US

AL Designated countries for regional patents

Designated state(s): AT CH DE FR GB LU NL SE