GB1592405A - System for converting analogue signals to multiplexed digital data - Google Patents
System for converting analogue signals to multiplexed digital data Download PDFInfo
- Publication number
- GB1592405A GB1592405A GB37182/77A GB3718277A GB1592405A GB 1592405 A GB1592405 A GB 1592405A GB 37182/77 A GB37182/77 A GB 37182/77A GB 3718277 A GB3718277 A GB 3718277A GB 1592405 A GB1592405 A GB 1592405A
- Authority
- GB
- United Kingdom
- Prior art keywords
- signal
- input
- analog
- module
- lines
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/1205—Multiplexed conversion systems
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/124—Sampling or signal conditioning arrangements specially adapted for A/D converters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/50—Analogue/digital converters with intermediate conversion to time interval
- H03M1/52—Input signal integrated with linear return to datum
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Control By Computers (AREA)
Abstract
A programmable control device (A) supplies digital data depending on analog signals via data lines (D0 - D7). The control device includes a central processing unit (10) in the form of a microprocessor, having address lines (A0 - A15), the data lines, and control lines for outputing a write signal. When the write signal is received, the digital data which is present on the data lines is passed to data recording devices. The central processing unit is connected to an analog-digital conversion module (100). When it receives a conversion signal (ADC), this module converts an analog signal which is fed to it into a digital signal for the data lines. Said module is connected to a number of analog signal input modules (120, 122, 124), to which addresses are output by the central processing unit (10), so that the analog signals to be converted to digital data are passed to the conversion module (100). Analog signals can be particularly simply and reliably converted into digital data using the device described above. <IMAGE>
Description
(54) SYSTEM FOR CONVERTING ANALOG SIGNALS
TO MULTIPLEXED DIGITAL DATA
(71) We, GULF & WESTERN
INDUSTRIES, INC., a Corporation organised and existing under the laws of the State of Delaware, United States of
America, of 1 Gulf & Western Plaza, New
York, New York 10023, United States of
America, do hereby declare the invention for which we pray that a patent may be granted to us, and the method by which it is to be performed, to be particularly described in and by the following statement:
The present invention relates to the art of programmable controllers of the type using a microprocessor for a central processing unit and more particularly to a system for converting analog signals to digital data in such a programmable controller.
The invention is particularly applicable for converting analog input conditions, such as temperature controlled voltages, to digital data for the data lines of a microprocessor programmable controller, and it will be described with particular reference thereto; however, this invention has somewhat broader applications and may be used for converting various analog signals to digital data for use on the data lines of various programmable controllers.
In recent years, there has been developed a series of microprocessors of the type used to process digital data in a manner similar to digital computers. These microprocessors are integrated circuit chips which generally include a series of output address lines, four or eight bi-directional data lines, and a series of command lines, such as READ, WRITE, WAIT, READY,
HOLD and synchronization. With the advent of this type of miniaturized device, digital processing of information for a variety of applications has become possible and relatively inexpensive. Most development work has been directed toward the concept of utilizing the relatively limited terminals of a microprocessor to process the digital data in a series of machine cycles divided into a series of micro cycles.
In accordance with the known art, a microprocessor has been incorporated into a programmable controller in a manner that recognizes the limitations of the microprocessor and provides substantial external hardwire modules to employ the limited functional characteristics of the microprocessor in a total system having the capabilities of inputting and outputting either bit or byte digital data. Consequently, the programmable controller using a microprocessor can control various machines, processes, and other sequential manipulations. This type of system, to be universal in nature, requires the use of a conversion circuit for converting input analog signals into digital information available on the data lines of the microprocessor forming the central part or central processing unit of the programmable controller. Various circuits are known for converting analog to digital information.
These circuits include a device for inputting an analog voltage and converting the magnitude of the voltage into digital data on output terminals to be used by data lines of the system, such as a digital computer. These available converting devices usually employ a multiple bit output data representative of the magnitude of the input analog signal. Generally, the digital data is the output of a binary counter having several stages, such as twelve. Thus a full scale conversion of an input voltage signal by such a converting circuit requires ten output terminals to read between 0 and 999. This would give a full scale conversion of the input signal between 0% and 99.9%. One additional terminal is generally used to show that the counter has started to count. Consequently, eleven or twelve output data terminals are emp loyed at the output of an analog conversion circuit of the general nature used in converting analog input voltage signals into output digital full scale readings. Such a conversion circuit is well adapted for digital computers having a greater number of data lines; however, when using a programmable controller employing a microprocessor, there are insufficient data lines for accepting full scale digital output data for the input analog signal. Thus, if ten output terminals are required for a full scale reading, a micro-processor having only four data terminals can not accept the digital information in its output form from a standard type of conversion circuit. The same is true of the higher capacity microprocessor having eight data lines. For that reason, efforts have been made to provide a standard conversion circuit for use in a microprocessor having a limited number of data lines.
In systems to be controlled by programmable controller, it is often necessary to input a large number of analog signals, such as thermocouple voltages, speed analog signals and position analog signals.
Consequently, any analog system for general purpose use with a programmable controller must have an analog input circuit for accepting a large number of analog signals and converting them to digital data for use on the bidirectional data lines of the microprocessor. This has presented a substantial amount of difficulty in adapting a microprocessor for use in a programmable controller system. As a first proposal for accomplishing this feat, it was suggested that the number of digital converting circuits be increased as the input analog signal increased. This substantially added to the size and cost of a programmable controller, the advantage of which is the reduction in size and a low capital investment. Thus, such an expansion arrangement was counterproductive to the basic concept of using a microprocessor in a programmable controller. The present invention relates to an analog system for inputting analog signals into a programmable controller using a microprocessor, with its inherent limitations, which system allows a large number of input analog signals to be processed using only a single analog to digital conversion circuit.
In accordance with a primary object of the present invention there is provided a system for creating digital data representative of a selected analog signal on the data lines of a programmable controller using a central processing unit, generally of the type employing a microprocessor, which system can selectively process a large number of input analog signals to create representative digital data on a single set of data terminals.
In accordance with one aspect of the present invention, there is provided a system for providing digital data representative of a selected analog signal on the data lines of a programmable controller using a central processing unit employing a microprocessor having output address lines, a selected number of input/output bidirectional data lines, means for creating a write signal in a write line and means responsive to said write signal for writing data from said data lines into selected addressed locations, said system comprising: a conversion module having a conversion circuit for converting an input analog signal to digital data on output data terminals upon receipt by said circuit of a conversion signal on a first input line of said conversion module simultaneously with selected analog signal across second and third input lines of said conversion module and means on said conversion module for creating a completion signal on an output line of said conversion module when said conversion is completed by said conversion circuit; and at least two separate analog input modules, each of said input modules including means for receiving at least two analog voltage signals, decoder means for selecting one of said analog voltage signals, means for shifting said decoder means into a cleared condition selecting no analog voltage signal, and converting means for converting said selected one of said analog voltage signals to an input analog signal for conversion by said conversion circuit; decoding means on each of said input modules for actuating only one of said input modules by a coded actuation signal directed to each of said input modules; module isolating means on each of said input modules, said isolating means having a first condition applying the input analog signal from said signal converting means and corresponding to said selected analog voltage signal across said second and third input lines of said conversion module and a second condition electrically isolating said input module from said second and third input lines; means responsive to said actuation signal for shifting said isolating means of the actuated one of said input modules to said first condition; and means on each of said input modules and responsive to said conversion completion signal on said output line of said conversion module for shifting an isolating means in said first condition on any of said input modules to said second condition.
In accordance with another aspect of the invention there is provided a system for providing digital data representative of a selected analog signal on the data lines of a programmable controller using a central processing unit having output address lines, a selected number of input/output bi-directional data lines, means for creating a write signal in a write line and means responsive to said write signal for writing data from said data lines into selected addressed locations, said system comprising a conversion module having a conversion circuit for converting an input and log signal to digital data on output data terminals upon receipt by said conversion circuit of a conversion signal simultaneously with a selected analog signal and means on said conversion module for creating a completion signal when said analog to digital conversion is completed; and a separate analog input module including means for receiving at least two analog voltage signals; means for converting a selected one of said analog voltage signals to an analog current signal; selecting means for selecting said one analog voltage signal upon creation of said write signal; switching means on said input module for directing an anolog current signal from said signal converting means to said conversion circuit upon being actuated, said signal selecting means including a data latch means with input terminals for receiving a select logic code, output terminals, means for clearing said data latch means to an inoperative state on said output terminals upon creation of a clear signal; means on said data latch means for latching a decoded enabling signal corresponding to said logic code at one of said output terminals upon creation of a latching signal; and, said selecting means also including means for selecting one of said analog voltage signals in response to an enabling signal in a given one of said output terminals; means for actuating said switching means in response to the existence of an enabling signal on any of said output terminals of said data latch means on said input module; means on said input module for creating a conversion signal in response to the existence of one enabling signal on any of said output terminals; means responsive to a single write signal for creating a clear signal and then said latching signal, said clear signal having a duration substantially less than said latching signal; and, means for removing the enabling signal from any of said output terminals in response to creation of said completion signal at said conversion module.
By using this concept, a number of input modules can be incorporated and multiplexed into a single conversion circuit so that a great number of input analog signals can be processed in a programmable controller using this invention and controlled by a central processing unit of the microprocessor type.
Consequently, a single program software command from the microprocessor to the analog input module clears the analog input module of any prior selected analog signal, allows data on the data lines of the microprocessor to settle on the input side of the data latch and then latches the incoming data, in decoded form, onto the output terminals of the data latch. This coded data selects one of several analog input signals controlled by a single analog input module. In this manner, a single command to the programmable controller can be used to clear the latch and then set the latch to the desired current analog signal to be processed.
Other aspects of the present invention will be appreciated from a detailed description of the preferred embodiment of the invention.
Therefore, there is provided a system as set forth above, which can employ readily available analog to digital conversion concepts and can be used on a variety of microprocessors and other digital processing equipment without substantial modification of the equipment.
The system employs an analog current signal at the analog to digital conversion circuit to reduce the effect of circuit parameters on the available analog signal at the conversion circuit and processes digital data having a greater number of bits that the data lines of the programmable controllers.
These and other objects and advantages will become apparent from the following description taken together with the accompanying drawings.
In the drawings of this disclosure:
FIGURE 1 is a schematic wiring diagram illustrating a programmable controller employing a microprocessor as a central processing unit of the type to which the present invention is particularly directed and illustrating, schematically, a manner in which the preferred embodiment of the present invention is incorporated into the programmable controller;
FIGURE 2 is a status chart for a standard 8080 Intel microprocessor of the type using the system illustrated in FIGURE 1;
FIGURE 3 is a standard pulse chart illustrating logic on various lines of an
Intel 8080 microprocessor of the type contemplated for use in the system illustrated in FIGURE 1;
FIGURE 4 is a wiring diagram illustrating the preferred embodiment of the present invention for creating a selected analog output signal;
FIGURE 5 is a pulse and voltage chart illustrating certain pulses and voltages employed in the preferred embodiment of the invention, as shown in FIGURE 4, and some voltages created in the circuit shown in FIGURES 6A, 6B and 6C;
FIGURES 6A, 6B and 6C are taken together to describe an analog to digital conversion circuit of the type contemplated for use in the preferred embodiment of the invention as illustrated in FIGURE 4;
FIGURE 7 is a schematic illustration of an address of the type employed in operation of the preferred embodiment as shown in FIGURE 4;
FIGURE 8 is a simplified logic diagram illustrating how certain pulses in the preferred embodiment of the invention shown in FIGURE 4 control the input data latch of this embodiment; and,
FIGURE 9 is a pulse chart illustrating the clear and enable or write pulse controlling the logic in FIGURE 8 and corresponding logic in the preferred embodiment of the invention, as shown in FIGURE 4.
GENERAL CONTROLLER SYSTEM
Referring now to FIGURES 1, 2 and 3 wherein the showings are for the purpose of illustrating a programmable controller
A for controlling machines, processes and other systems in response to input information from inputs and existing conditions or other parameters. This controller system uses the module and method of the present invention. The inputs, conditions and parameters are directed to the controller A from various external terminals and locations which are capable of providing binary information as single bit or multiple bits, i.e. bytes. These external terminals may be switches, decoded thumbwheels, lights, decoded analog data and binary coded conditions. In accordance with normal practice the controller includes memory locations and is processed in accordance with a program stored as a plurality of steps or instructions in such system memory. Certain random access memories are provided for storing intermediate information or data. This memory can also be used for some program storage although a program read only memory is generally used for storage of the program information or steps.
As illustrated in FIGURE 1, programmable controller A is a digital processing system including a plurality of separate and distinct p ug-in modules interconnected by a plurality of control lines, which are generally in a motherboard connecting system, except for remote input/output modules. The basic modules and control lines therefore are schematically illustrated in FIGURE 1 wherein a central processing unit module (CPU) 10 or module CP711 employs a standard microprocessor as its central control unit. This microprocessor is a known MOS integrated circuit chip which includes internal registers, counters, pointers and associated logic circuitry well known in the art. The microprocessor, has a number of output address terminals, a number of bidirectional data terminals, means for setting the chip into various known states and means for providing a status code on the data lines at the start of each separate command. Although a variety of microprocessors having these standard capabilities could be used, the embodiment illustrated in FIGURES 1, 2 and 3 involves the use of an Intel 8080 microprocessor which has sixteen address terminals and eight bidirectional data terminals. The controller
A incorporates the various concepts relating to the use of a microprocessor for processing input and output information to control a preprogrammed series of events of a machine, process, etc. The input information in the illustrated embodiment is digital information both at the input and output; however, converters for conversion between analog and digital could be used to interface between the system shown in
FIGURE 1 and various analog inputs and/or outputs. The CPU module 10 is communicated with the other modules to process input and output information on lines D,-D7. A brief description of the separate modules will be sufficient to illustrate their intended use with the CPU module 10 and the overall operation of programmable controller A.
To initially program and debug the controller A, there is provided a direct access module 20 which takes over control of several control lines connected to CPU module 10. Thus, it is possible to directly program the memories in controller or system A by an external device, such as a schematically represented digital computer 22. In the illustrated embodiment, the computer is connected to direct access module 20 by schematically represented lines 24. When a HOLD REQUEST signal is directed from module 20 to CPU module 10, computer 22, or other external control devices, obtains control over the address lines, the input designation line
DBINP, the READ WRITE line, and the
Do-D7 data lines, and other lines shown by the arrows in FIGURE 1. When this happens, the CPU module is essentially disconnected from the rest of the controller and computer 22 can load memories, i.e.
to program the controller, and actually operate the controller, as in debugging and troubleshooting. The direct access module is used to load all memories of system A with the desired logic, set inputs and outputs to the desired conditions, selectively read the contents of the memory or the various input and output circuits, reset controller A, provide intermediate stop and run operations for the controller A, and check the status of all the memory positions and registers of controller A including the registers of the microprocessor MP in CPU module 10. The direct access module is used for flow of data to and from system A under the control of an external unit such as a computer, external tape reading devices, teletype, etc.
In order to accomplish transfer of control to module 20, microprocessor MP of module 10 is placed into the HOLD state, which will be explained later. The external programmer, such as a computer or tape reader, sends data to and from controller
A through data lines Do-D7 and the location of the data is controlled by address lines A0-A15. By placing the microprocessor of module 10 in the HOLD condition or state, instead of the HALT state, the functions of the microprocessor can be taken over by a programmed signal or request from module 20. Also, control by the microprocessor can be reestablished by a simple command without complex programming required when the microprocessor shifts to a HALT state. It is not necessary to provide an initiation pulse for again obtaining control over system A by module 10. As soon as the HOLD condition is released, the CPU module 10 again assumes control over the lines illustrated in FIGURE 1. This provides a convenient manner for giving direct access to the controller A for programming and debugging and then for releasing the controller for control, which is isolated from module 20.
CPU module 10 may be interrupted by external conditions to interrupt the program and shift control over the microprocessor to a memory stored subroutine.
This is a standard INTERRUPT feature of most eight bit microprocessors; however, controller A includes a plurality of separate interrupt expansion modules, three of which are schematically illustrated as interrupt expansion modules I, II, III, or 30, 32 and 34, respectively. The difference between the first expansion module and subsequent expansion modules is that the enabled terminal E of module 30 is tied to a logic 1, which in practice is five volts throughout controller or system A. The subsequent modules 32, 34, and any additional modules, include an input enable logic at terminal E which is controlled by the condition of preceding interrupt expansion modules. This connection arrangement provides a priority level system wherein the interrupt inputs of module 30 have a priority over the interrupt inputs of subsequent interconnected expansion modules 32, 34, etc. In each of the interrupt expansion modules, in the illustrated embodiment, there are provided sixteen separate interrupt inputs which are schematically illustrated as a plurality of single pole, grounded switches 30a-30x, 32a-32x and 34a-34x. These interrupt inputs can be logic inputs which contain information requesting a shift of module 10 into the interrupt state for processing of a selected subroutine. Thus, actuation of an input will cause the microprocessor
MP of module 10 to interrupt and shift into the subroutine which is to be processed. Then control is returned to the executive program of controller or system A. By using this interrupt expansion arrangement, a great number of selectable subroutines can be provided and called by providing an interrupt request at one of the several schematically represented logic inputs. The executive program of system A requires the processing of a "look" command or sequence for those data or logic inputs and outputs under interrupt control only when an interrupt request is received indicating that a certain terminal or terminals should be scanned and/or updated.
When an interrupt request is received by the CPU module from a terminal of an expansion module, the microprocessor shifts to an interrupt state and data from the expansion module selects or "calls" a given subroutine by an address on lines
Do-D7. Then the calling input or output will be processed according to the desired and requested interrupt subroutine. Thereafter the subroutine will shift command back to the main program. If there is no interrupt request, then the executive program is processed repeatedly without processing the interrupt subroutines. Consequently, the subroutines are called and processed only when needed. The number of expansion terminals of modules 30-34 can be increased to larger values. The only practical limitations are the memory capacity which can be expanded to various capacities and the time available for processing interrupt subroutines.
By providing the interrupt expansion modules, the microprocessor of system or controller A can be interrupted a substantially greater number of times than is available on known microprocessors. Thus, the normal microprocessor interrupt concept of priority evaluation and jumping to a subroutine called by a particular interrupt can be used for many separate inputs or conditions. This saves programming time and allows the use of subroutines which may be stored into the memories of system A for only periodic use. The versatility of system A is thereby greatly expanded while still using a readily available, relatively inexpensive microprocessor.
Module 40 is a programmable read only memory (PROM) module. This PROM module is used in system A for the purpose of retaining permanent logic at various addressed locations determined by the logic on lines Ao-A 15. In practice, the executive program and the various subroutines are generally, permanently stored at various addressed locations within
PROM module 40. This memory module is used for long term or permanent storage of the program and employs MOS memory chips that are erasable upon exposure to ultraviolet light and are programmable by means, such as computer 22 or a tape reading device through direct access module 20. In practice, the PROM module has a capacity of 4,096 eight bit words. The number of words available in the read only memory module 40 may vary according to the desired capacity of system A. In practice, the memory technology used in module 40 is static silicon gate MOS erasable and electrically reprogrammable read only memory chips.
During normal operation of controller
A, data is directed from module 40 on lines Do-D7. The parallel transmission of binary data on these lines provides an eight bit word which is addressed by the logic on lines A0-A15. In FIGURE 1, it is indicated that the data lines Do-D7 are bi-directional at PROM module 40. This is only for the purposes of loading the memory during the programming and debugging operation through direct access module 20. The memory chips of module 40, in practice, are not erasable under normal circumstances; therefore, continuous application of power to this particular module is not required for the purpose of retaining the stored logic. Of course, a variety of different types of read only memories could be used for storing the program information for system A, as schematically illustrated in FIGURE 1.
Referring now more particuarly to the random access memory (RAM) module 50, this memory module can be updated periodically during use of system or controller A. Various random access memory modules could be used in system A. The random access memory module 50 includes a somewhat standard parity checking circuit 52 schematically illustrated in FIGURE 1. In this manner, information to and from the random access memory chips will be checked for parity in accordance with standard practice to determine an error. In practice, module 50 employs random access solid state memory chips with a capacity of 4,096 eight bit words. In this module, an external battery supply is used for retaining the information or data at the several locations on module 50, until the information or data is changed intentionally by operation of controller A. The semiconductor memory technology used in module 50 is static
N-MOS random access technology. The module 50 is addressable for both reading and writing by the logic on lines AO-A15.
which address selects the desired address of the RAM module and directs the eight bit word from that location in parallel onto data lines Do-D7. The DBINP logic and the R/f logic determines whether or not the data is being inserted or read from module 50. Operation of a random access memory in conjunction with a microprocessor or other type of digital programmable controller is known and various systems could be employed.
In addition to the PROM module 40 and the RAM module 50, it is possible to provide additional memory which may be in the form of PROM and/or RAM. The parity circuit 52, in practice, is of the type which provides a nine bit word and circuitry necessary to generate and check one bit of odd parity for each word. When an eight bit word is written into the memory, parity generator tests the word and generates a nine bit which will be either a logic 1 or a logic 0 such that the resulting nine bit word will always contain an odd number of logic 1 conditions. When a word is read from the memory, parity check circuitry checks to be certain that the word still contains an odd number of logic 1 signals. If the check circuit encounters an even number of logic 1 signals, the processor is interrupted in accordance with standard microprocessor practice. Other parity checking circuits or systems could be employed so that errors in the accessed information can be detected.
Programmable controller A employs a standard microprocessor which has eight data terminals and sixteen address terminals. In this manner, an eight bit word or byte can be serviced simultaneously by the mocroprocessor. This capacity provides distinct advantages with respect to a reading of several inputs and writing into several outputs. However, the logic processing of a single bit in an eight bit word such as
ANDing, ORing, or INVERTing, presents substantial difficulty. A substantial amount of software programming is required to logic process a single bit of an eight bit word or byte. This requires memory space and extensive programming. This disadvantage is even more serious in controlling machines and processes because a great number of simple logic functions are required. In duplicating a standard rela single bit information with an eight bit data capacity drastically increases program storage space and control complexity. For instance, when a single input is to be compared with a single output, the use of eight bit input information is a disadvantage.
When memory addresses or binary coded data is being transferred or processed, then the large number of data lines is beneficial. To overcome logic processing disadvantages caused by increasing the capacity of the microprocessor, controller system A provides circuitry for obtaining one bit information which can be logic processed on a preselected data line, such as line D,, in a manner similar to a single bit data processor. Thus, it is a relatively simple process to AND, OR and INVERT logic at various inputs and outputs to provide logic functions which are rendered more complex with the advent of the expanded eight bit microprocessor. To illustrate the use of both the byte and bit modes of operation, there is illustrated a byte input and output module 60 and a bit input and output module 70. Module 60 has a series of input words each of which has eight data bits. These words are created by various inputs, such as thumbwheel network 62. In a like manner, the output words from module 60 are illustrated as display signals in a display unit 64. Thus, module 60 is used to input and output a byte of information as an eight bit word into various input or output locations.
A single bit of information is inputted or outputted from the system driver or module 70 on a single data line Do. Thus, when a bit mode of operation is selected by circuitry, constructed in accordance with the present invention, the logic of line
Do only is processed. The logic on the other bidirectional data lines is ignored.
To determine whether or not there is a single bit of information directed to the output units 80 through system driver 70, the system driver is controlled by the logic on the input line DBINP and the READ/WRITF line R/W. A power supply 12 provides five volts D.C. for operation of the logic in system A and twelve volts D.C. for the operation of certain other components. The 2 volt and 4 volt lines from the power supply 12 are used for retaining the logic of the RAM when power is inadvertently interrupted. These two lines are controlled by rechargeable batteries. Of course, a variety of other power supplies could be provided in accordance with the desired power requirements of programmable controller
A.
CONTROL LINE DEFINITIONS
Referring again to FIGURE 1, a number of control lines are illustrated as communicating between CPU module 10 and the various other modules comprising the programmable controller system A.
These control lines are external of the
CPU module; however, in many instances they correspond to or are logically associated with certain communicating terminals on the 8080 Intel microprocessor used in the illustrated embodiment of a programmable controller using the present invention. To appreciate the general operation of programmable controller system
A, the basic function of each of the lines illustrated in FIGURE 1 will be described separately. Throughout the specification the inverted form of a line designation indicates that a low logic condition, whether pulse or continuous, is the true or "yes" condition. For instance the
READ/WRITE line labeled R/ indi- cates that the read condition is a logic 1 and the write condition is a logic 0. This convention is used in most equipment employing microprocessors and similar digitally controlled numerical processing devices.
The synchronizing signal line SYNC consists of a 100 ns negative or low logic pulse indicating the beginning of each 8080 machine cycle. This pulse is not programmable and is used to latch the status word in each component or module which requires status information from the
CPU for use during a total machine cycle which may contain one or more words.
The external clock pulse < 12 is created by the CPU internal clocking generator and can be used to synchronize the operation of the various modules. The signal may also be used as an accurate time base.
In practice, this clock has either a 2.0
MHz or a 3.0 MHz frequency.
The address lines A0-A15 are all logic 0 true, except for Als. The logic on these lines is used to provide the address to all memories and I/O modules for controller system A. These address lines are generally output lines from module 10; however, when using the direct access module 20, they are bi-directional and allow input of addresses to module 10. Ao is the least significant address bit in the addressing lines.
The DBINP line indicates the direction of communication of the data lines Do-D7.
This control line is used to gate data onto the data bus lines from each of the modules of system A.
The Rev line is used in system A to gate data on the data buses to the addressed locations. In view of the similarity between the DBINP line and the R W line, they are generally used together. The
DBINP line is used to determine the direc tion of data flow and to gate the data onto the data buses. The READrWRITE line R/W is used to determine whether this data is written or read. By providing these two control lines, the data on the data bus or lines Do-D7 is stable during the reading and writing pulse on the R line.
The EXIT line is used in connection with the READY line. These lines are communicated with the microprocessor which allows an additional amount of time for reading slower memory or I/O (input/output) locations. If during an addressed output, the module 10 does not receive a logic 1 condition on the READY line, the microprocessor will enter a WAIT state as long as the READY line is at a low logic. In this state, a logic 0 is created on the WAIT line. As soon as the
READY input is received, the microprocessor passes out of the WAIT state and a logic 1 appears on the WAIT line. This feature is clearly illustrated in FIGURE 2 which relates to the operation of the 8080
Intel microprocessor.
The ill output indicates the content of an internal interrupt enable flip-flop on the 8080 microprocessor chip. This internal flip-flop may be set or reset by enable and disable interrupt instructions and inhibits subsequent interrupt calls from being accepted by the microprocessor when the flip-flop is in the reset condition.
The internal flip-flop which is produced on the chip itself is automatically reset to disable further interrupts at the time T1 of an
Instruction Fetch cycle M1 and when an interrupt has been accepted by the microprocessor.
The HLDA line is the Hold Acknowledge line. This line shifts to a logic 0 when a HOLD REQUEST is acknowledged by the microprocessor MP. This
HOLD REQUEST is from the line
HOLD REQUEST, as shown in FIGURE 1. The HOLD condition or stage of the microprocessor shifts the address and data terminals of the microprocessor to a high impedance state so that these terminals release control over the address lines Ao-Ais and the data lines Do-D7. These lines can be controlled by the access mod ule 20 during programming and debug- ging. The signal on the HLDA line begins at time T3 for a read memory or input cycle. For a write in memory or an output cycle or operation, the F1LL)A line is shifted at the clock period following the T3 clocking period. In practice, it is known that the signal on the HLDA line appears after a rising edge of P)1 of the high impedance on the address lines and data lines occurs after the following edge of 2. The
HOLD REQUEST line indicates that there has been an external request to shift the CPU, and more particularly the microprocessing chip, into the HOLD condition or state. In this HOLD condition or state, external devices can control the address and data lines as soon as the CPU module has completed its use of these lines for processing the existing or current machine cycle. Control is also relinquished by the CPU module over the DBINP line and the R/line. In other words, these lines may be controlled by the direct access module 20 for programming or other external control functions. In summary, when a HOLD state is requested, the microprocessor shifts into the HOLD condition or state and gives an output signal on the HLDA line to indicate this
HOLD condition. This condition occurs after a certain amount of clean-up during a machine cycle being processed. The
HOLD condition or state comes into being at the next machine cycle and holds the existing internal logic on register conditions of the microprocessor chip.
A similar arrangement is used for the reset operation. A Reset Request is created by the power supply 12 or by the direct access module 20 on the RESET
REQUEST line. When this request is received by module 10, the microprocessor is reset. In this condition, the content of the internal program counter of the 8080 microprocessor is cleared. After the reset pulse, the program will start at a location word zero in the memory. The internal
INTE and HLDA flip-flops of the microprocessor chip are also reset. the internal accumulator, stack pointer, and registers are not cleared. When the reset condition is entered, the logic on the RESET line is shifted to reset the various flip-flops and other logics throughout system A. This arrangement is used for starting controller system A into operation.
The bi-directional data buses or lines
Do-D7 provide eight bit data communication to and from CPU module 10. In addition, these lines are communicated with the various memory modules and I/O modules. The modules which perform only bit functions, as opposed to byte functions, utilize only one of these lines, at least for outputting data. In the preferred embodiment, this line is Do. During the first clock cycle of each machine cycle of the microprocessor, the CPU module outputs a status word on the data line or bus Do-D7. This status word is an eight bit word which describes the current machine cycle. In this status word, the Do line, in the preferred embodiment, is the least significant bit.
The present invention relates to a microprocessor of the type utilizing eight bits of data; however, a different number of data bits can be employed without departing from the intended scope of the invention.
With an eight data bit microprocessor the status word can have eight bits generated by the microprocessor according to the instruction or command received from the program.
In microprocessors now available, there is an INTERRUPT capability which is briefly described above. An INTERRUPT capability of the microprocessor allows it to store its present position in a program, jump to a called subroutine, process the subroutine and then jump back to the proper location in the program that was being previously processed. To perform this function, the microprocessor has an
INT input and module 10 has several interrupt request terminals INT -O-INT 7.
Logic on the INT terminal shifts the microprocessor into the interrupt state. At that time, the INTE terminal (INTE line) is energized to prevent subsequent interrupts, until the selected subroutine has reset the INTE terminal at the proper time. A higher priority interrupt can take over operation of the controller before a lower level priority interrupt subroutine is completed, if the INTE has been reset by the processed subroutine. In the past, processing systems utilizing the microprocessor have involved the capability of receiving only a finite, relatively limited number of interrupt requests. This limitation has been dictated by the limitations of the various codes available for subroutine selection or "call". System A employs a system which includes eight interrupt inputs which will shift the microprocessor into the interrupt state. In FIGURE 1, interrupts INT 0-INT 3 and INT 5-INT 7 are illustrated.
In practice, these interrupts are assigned to external conditions, terminals or parameters, which may be inputs or outputs. The priority of the interrupt requests is in reverse order to the numbering, with the highest priority having the lowest number.
The lowest priority has the highest number; therefore, the PWR condition, which is a logic 0 when power has been turned off, is the highest priority interrupt.
In this condition, irrespective of other interrupt conditions, the program will shift into the "power off' subroutine which is found at a selected position in memory, which in practice is octal 010. In practice, the next interrupt input is the BOOT which creates interrupt request INT 2 to a location in memory. In this manner, a minimum program is available for initial operation of system A. This initial minimum program is located at octal 020 of memory and is "called" by various means schematically represented as a pushbutton in FIGURE 1. Interrupt request INT 3 is the module interlock and parity check condition, which is operated in accordance with known practice to maintain continuity of the various modules. The INT 4 interrupt request is a real clock interrupt request, which shifts the program to the octal 040 position in memory. This will be described in more detail with respect to the interrupt functions of system A. INT 5 is a communication interrupt, in the preferred embodiment of the invention. This interrupt generates a location octal 050 in memory. This allows communication from external means, such as the direct access module 20. The interrupt INT 7, which has the lowest priority, places the microprocessor into the interrupt state to read or write from external devices, such as thumbwheels, lights, switches and visual display devices. This leaves INT 6, which is used with modules 30, 32 and 35 to expand the amount of interrupt capability in system A. The IIV6 output acknowledges the receipt and processing of an INT 6 interrupt request. This signal line remains at a low logic while the interrupting device transmits a call from one of the modules 30-34 to the CPU module 10. The call instruction is transmitted synchronously with a 2 clock signal and provides the address in memory to which a call is placed during a selected additional interrupt provided by the add-on modules, only three of which are shown.
This description of the basic lines or command paths directed to and from CPU module 10 will be sufficient for a full appreciation of the invention which contemplates an improved module used with a microprocessor programmable controller of the type schematically shown in FIG
URE 1. These outputs and input lines correspond in nomenclature used by Intel
Corporation for its 8080 microprocessor chip used in the preferred embodiment of the present invention. Corresponding nomenclature is used in other commercially available microprocessor chips which have the characteristics set forth generally herein as background and explanatory information well known in the field. The characteristics of this microprocessor chip are well known. Module 10 could produce an I-STROBE control line for software production of a strobe to the various inputs and outputs, if desired.
STATUS WORD FOR
MICROPROCESSOR
In the microprocessor utilized in module 10, as in most microprocessors, a status word appears on the data terminals at the first of each machine cycle. This status word indicates the operation to be performed by the microprocessor during the current machine cycle. Although a variety of status codes and conditions could be provided, the ten status words of the Intel 8080 microprocessor are illustrated in the chart shown in FIGURE 2. The data terminals have the coding indicated in the vertical columns for each of the various types of machine cycles during the initial part of the cycle. The binary status code on terminals Do-D7 is latched into a status latch at the initial synchronization pulse in the SYNC line.
When the machine cycle is an
INSTRUCTION FETCH, the coding on data lines Do-D7 as latched into the status latch will be 01000101. The binary code on each of the data terminals during the initial part of the cycle indicates a condition, as set forth in the status information column. In accordance with Intel 8080 terminology, the logic of data bus Do is the interrupt acknowledge (INTA). This logic indicates whether an interrupt request has been acknowledged and can be used to gate a restart instruction onto the data buses when the DBIN or DBINP line is active. The logic on the Dl line during the initial part of the machine cycle indicates whether or not there is a writing function. This status is labeled W and is a logic 0 when the machine cycle will write data into memory or into an output location. When a logic 1 appears on the D, instruction line and is latched at the status latch, a memory or input location is read.
A logic 1 on the D2 line during the instruction read portion of the cycle indicates that the address buses Ao-Als hold the push down stack address from the stack pointer of the microprocessor. This status labeled STACK, is active during only a STACK READ or a STACK
WRITE machine cycle.
When a logic 1 appears upon the D3 data line during the initial micro cycle of a machine cycle, this indicates that HALT has been acknowledged. As can be seen in
FIGURE 2, this occurs during a Halt
Acknowledge machine cycle or an Interrupt Acknowledge While Halt machine cycle. Otherwise, during the initial micro cycle, which is labeled T1 in FIGURE 3, this data bus D3 is a logic 0. During an output function, the logic on line D4 is a logic 1. This occurs when the machine cycle is an Output Write cycle. A logic 1 on the D4 data line indicates that the address buses contain the address of an output device and that the data bus will ultimately, during the cycle, contain the output data when the R/W line is at a logic 0. The logic on data line D5 provides a signal to indicate that the microprocessor is in the FETCH cycle for the first byte of an instruction. Thus, a logic 1 on D5 during the initial portion of the machine cycle indicates that an instruction is to be obtained from memory or another location. This is the status M1 illustrated in
FIGURE 2. The status INP is contained upon data line D6. A logic 1 on this line during the status portion of a machine cycle indicates that the address buses contain the address of an input device and the input data should be placed upon the data buses when the DBIN output of the microprocessor is active. This output of course corresponds to the DBINP line of the
CPU module 10. MEMR logic appears upon the D, data bus. A logic 1 on this bus during the status information portion of the cycle designates that the data buses will be used for a memory read operation.
During the status portion of any cycle, the coding upon data lines Do-D7 are the codes indicated in FIGURE 2. This coding is an inherent function of the 8080 microprocessor and is set forth only for the purpose of a more convenient arrangement for understanding the preferred embodiment of the present invention.
BASIC INSTRUCTION CYCLE
FOR CPU MODULE
The microprocessor employed in the preferred embodiment of the present invention has a basic instruction cycle as illustrated in FIGURE 3. The microprocessor is timed by the input pulses 1, 2, the first of which determines the initial portion of a micro cycle labeled T1-T5.
The micro cycle Tw is set forth for the purpose of designating a wait condition which was described earlier with respect to the interplay between the READY logic and the WAIT logic. If a memory is not ready, then the microprocessor goes into a
WAIT state represented by a logic 1 on the WAIT line, i.e. a logic 0 on the WAIT line. When the memory is then ready, the
WAIT line shifts back to a logic 0 and the microprocessor continues into micro cycle
T3. For each machine cycle there is a synchronizing pulse labeled SYNC. This synchronization pulse corresponds essentially to the internal synchronising pulse of the 8080 microprocessor. The pulse has been shaped somewhat. The pulses shown in
FIGURE 3 are those entering and leaving the module 10; however, they are basically the pulses from the microprocessor itself.
During each of the micro cycles, the function set forth at the lower portion of
FIGURE 3 takes place. Sometime three micro cycles are used. In other instances, many micro cycles are required for a particular instruction. For instance, in an Intel 8080 when memory is accessed, as many as eighteen micro cycles may be used in normal operation. During the T, micro cycle of a machine cycle, the logic on lines D,-D, is read. The address on lines Ao-A,S (at the address terminals of microprocessor MP) is provided by either the internal program counter or another register within the microprocessor. This address information is placed into the program counter or register during a prior machine cycle. The DBINP line corresponds to the internal DBIN line. This determines whether or not data is placed on the data lines Do-D7, in a subsequent portion or micro cycle of the machine cycle. During the initial portion, the data at the data terminals of the microprocessor indicates the type of cycle to be processed during the machine cycle which may require several micro cycles. The logic on the lines designated in FIGURE 3 changes according to the type of instruction to be processed in accordance with well known practice in the microprocessing art. These logic conditions will be employed throughout the description of the preferred embodiment of the present invention.
Referring now to FIGURE 1, system A includes an analog to digital conversion module or circuit 100, best shown in
FIGURES 6A, 6B and 6C. This circuit includes somewhat common concepts in converting an input analog voltage to output digital data. In accordance with the preferred embodiment of the invention, the resulting or converted digital data is multiplexed onto data lines Do-D7 of system A, in a manner to be described later.
An analog signal to be converted is imposed across lines 110, 112. A conversion signal ADC is provided in line 114 to start the operation of conversion circuit 100 at the end of this pulse. After the conversion from analog to digital data has been completed by circuit 100, a logic 1 appears in the T.C. RESET line 116.
Thus, an analog signal together with a conversion signal in line 114 is directed to circuit 100. Thereafter, a logic 1 completion signal is created in the T.C. RESET line 116. Multiplexing module 120 is provided in system A, as shown in FIGURE 1. Several of these modules could be used to multiplex a large number of analog input signals to circuit 100. In the illustrated embodiment, module 120 is indicated to be the input module I, which will be explained in detail in FIGURE 4. This module is illustrated schematically in
FIGURE 6A with analog input modules 122 and 124. Of course several modules could be used to increase the analog input capabilities. Each of these modules is the same and includes eight separate analog input circuits TCO-TC7. Of course, any analog signal could be connected to one of the input circuits TCO-TC7 without changing the operation of input module 120.
The input lines or circuits TCO-TC7 direct analog conditions to module 120, which conditions can be temperature, speed, acceleration, position or any other signal that is analog in nature. Referring now to
FIGURE 6A, the other input modules 122, 124 are connected in parallel with lines 110, 112 for directing selected analog signals to the conversion circuit 100 by selectively closing switches 126, 128 of a module. As will be indicated in FIGURE 4, only the input circuits at TC0 and TC7 are illustrated in detail for the purposes of simplicity. However, in practice, eight separate inputs TCO-TC7 are provided on each analog input module.
In operation, referring again to FIG
URE 6A, the several analog inputs TCO
TC7 of analog input modules 120, 122 and 124 are connected to various analog signals to be read and converted into digital data for use in system A. By an appropriate address, of the type shown in
FIGURE 7, one of the modules 120, 122 and 124 is addressed and active. This provides a ADC conversion signal in line 114 extending from the actuated modules 120, 122 or 124 to the analog to digital circuit 100. Input module 120 reads and decodes the logic on data lines Do-D3. This decoded information selects one of the analog inputs TCO-TC7 and applies the selected signal across analog signal lines 110, 112. After conversion has been completed, a logic 1 appears in the T.C.
RESET line 116, which is communicated to all modules 120, 122 and 124. This resets all of the modules for subsequent selection and operation. In this manner, several input modules can be multiplexed to the conversion circuit 100 for creation of digital data corresponding to a selected input analog condition from the addressed analog input modules.
Referring now to FIGURE 4, the preferred embodiment of the analog input modules 120, 122 and 124 is schematically illustrated with only two of analog input circuits TCO-TC7 being shown. A larger number of input modules could be used and each module, in practice, includes eight separate analog input circuitc TCO
TC7 are shown for the purpose of describing the operation of module 120 and the addition of other input circuits in parallel is quite apparent.
Module 120 will be described in connection with a cycle for selecting and directing an analog signal to the conversion circuit 100. This description of the operation of module 120, together with the components used in the preferred embodiment, will clearly illustrate the inventive concepts of the present invention. In FIGURE 7, there is illustrated an address used for selecting a given module and the data lines selecting one of circuitc TCO-TC7.
Address lines A0-A15 are used to select the chassis in which modules 120, 122, 124 are located and the particular module during an input/output command from the system A illustrated in FIGURE 1. The address of the module is determined by its position in the chassis by the use of hardwired digital data provided at the various chassis locations. This is an input/output i.e. I/O address as distinguished from a memory address used to store data from lines D > -lN7. Address lines As-A10, A12, A13 relate to the type of operation for processing data which is not involved in the module 120. Data is provided by system A on the data lines D0-D7 when a
WRITE cycle is activated by the WRITE pulse in the WRITE line R W. A module decoding or addressing circuit 130 is provided at the input side of module 120. The address on lines A4-A7 and All, A14, A15 provides a logic 0 in CE line 132 when the chassis into which module 120 is located is to be activated. The logic on address lines Ao-A3 is compared with hardwired logic in the motherboard at the mounting location of module 120 to provide a comparison at address circuit 130. Assuming that the addressing is proper, a logic 1 appears in the output line 1 34 from addressing circuit 130. This activates module 120. A
WRITE gate 140 is a NAND gate having a first input 142 connected by inverter 144 to the DBINP line. The second input 146 of gate 140 is the output of inverter 148 connected to the RAW line. A pulse in this line produces a WRITE signal to module 120. Assuming that module 120 has been addressed and the CPU of system A has been commanded to process a WRITE to output command, the DBINP line is at a logic 0. Ultimately, the WRITE line R/w shifts to a WRITE signal, i.e. logic 0, at the input of inverter 148. At this time, all input lines to gate 140 are at a logic 1; therefore, output 150 of this gate overall operation of the latch decoder 210.
If D3 is a logic 0, D3, which is the data line of system A at terminal D of latch decoder 210, is at a logic 1. This enables gate 210 to store a logic 1 to one of its outputs. Throughout this discussion of the preferred embodiment of module 120, it is assumed that decoder 210 is enabled by a logic 1 at the E terminal.
If one of the circuits at the output of latch decoder 210 on module 120 is to be deactivated, the logic on lines D3 is set to logic 0 to produce a logic 0 at the selected output of decoder 210. A logic 0 on all output terminals of latch decoder 210 produces a logic 1 at all inputs of select gate 240 and a logic 0 in a select line 170. This logic 0 is created during the CLEAR cycle of decoder 210 also. If one of the output terminals 0-7 has been selected during a
WRITE command by the decoder logic of lines Do-D2, the select line 170 shifts to a logic 1. This logic combines with the logic on line 162 to produce a negative pulse in the ADC line 114. This eventually causes conversion circuit 100 to be actuated for converting the analog signal between lines 110, 112 into a digital output code, in a manner to be described later.
Select line 170 also controls inverter 250 to produce a logic 0 in line 252 when there has been a selection by decoder 210.
This logic 0 maintains a logic 1 in line 182 even though the WRITE pulse in line 150 ultimately disappears during the processing cycle. Thus, during a single WRITE command, one shot device 190 is not clocked again at a negative terminal 1 A controlled by line 186.
When line 170 shifts to a select logic 1 condition during a WRITE address, this logic 1 enables both transistor switches 126, 128 in switching circuit 260. Thus, switches 126, 128 of module 120 are closed to connect the selected analog condition from module 120 to the input of the conversion circuit 100. To obtain the analog signal for use across lines 110, 112, there are provided relay control networks 300, 302. Network 300 controls the circuit input switches CROa, CROb, CR7a and
CR7b. Network 302 controls output switches CRlOa, CRlOb, CR17a, and
CR17b. The transfer of analog data to lines 110, 112 from a selected one of the circuits TCO, TC7 is determined by operation of the relay control networks. In the illustrated embodiment, only two input circuits are shown. Thus, each of the circuits 300, 302 includes only two relay control circuits. However, in practice, eight separate input circuits are used, and each of the networks 300, 302 includes eight separate relay circuits. Referring now to the network 300, this network is used to open a selected set of input switches CROa,
CROb, CR7a and CR7b, on the input circuits TCO, TC7. Relay circuit 310, when energized, opens relay controlled switches
CROa, CROb in input circuit TCO. Relay circuit 312, when energized, opens contacts CR7a, CR7b. Thus, when a given analog input circuit TCO, TC7 is selected by latch decoder 210, a logic 0 appears at the input side of one of the inverters 314, 316. This produces a logic 1 at the output of the inverter and at the input of one of the circuits 310, 312, respectively. Circuits 310, 312 are connected to the + 12 volt line 318. Thus, for the selected circuit TCO or TC7 a logic 1 turns off one of the relay circuits 310, 312. Since the switches of the relay circuits are held closed by a logic 0 or no select condition at inverters 314, 316, the input switches controlled by the deactivated relay circuit opens. In the light relay circuits used in practice and graphically indicated in FIGURE 4, only one relay circuit of network 300 will be deactivated. The remaining will stay activated to hold the input contacts of the non-selected circuit TCO-TC7 in the closed condition.
Relay circuits 320, 322 of network 302 energize the selected relay circuit, instead of deactivating the selected relay circuit.
Inverters 324, 326, invert the logic on lines 320, 322, respectively. Thus, the analog conditions selected by latch decoder 210 produce a logic 0 at the output of one of the inverters 324, 326. This logic 0 activates the selected relay circuits 320, 322 to cause closing of the output switches RClOa, CRlOb or the output switches CRlOa, CRlOb or the output switches CR17a, CR17b. Capacitors 340 of circuits TCO, TC7 are charged to the voltage determined by thermocouple or other transducer controlling circuits TCO, TC7.
When one of the analog conditions is selected, the input switches are opened by de-energizing one of the relay circuits 310, 312. In a like manner, the output switches of the selected circuit are closed by energizing a corresponding one of the relay circuits 320, 322.
The voltage stored in capacitor 340 of input circuit TCO is selectively applied to lines 342, 344 when switches CRlOa,
CRlOb are closed. Output lines 342, 344 are connected in parallel across lines 350, 352 which are the input of the signal creating circuit SC of module 120. Output switches CR17a, CR17b apply the voltage stored across capacitor 360 of input circuit
TC7 to lines 362, 364. These lines are connected to signal creating circuit SC by lines 350, 352. The other six circuits are also connected across lines 350, 352 when selected by decoder 210.
The signal creating circuit can take any form to produce an analog signal of a fixed voltage across circuit 100 during comparison. In practice the fixed analog signal is produced by a constant current signal proportional to the stored voltage on one of the capacitors 340, 360. In the illustrated embodiment, signal creating circuit SC includes differential amplifier 400 which creates a constant output in line 401 proportional to the input voltage of capacitor 340 or capacitor 360. This output line controls the base voltage of transistor Q2 which is coupled with a current controlling circuit 402 and a voltage limiting circuit 404 so that a proportional current is created in the output line 406. This current is proportional to the input analog voltage. Many circuits could be provided for converting an input voltage to an accurately controlled constant output current.
This concept is used in accordance with the present invention so that the resistance or impedance at the output side of module 120 and the input side of conversion circuit 100, together with the interconnecting resistance, will have negligible effect on the signal being received from module 120 by module of circuit 100. The current generating circuit SC, shown in phantom lines in FIGURE 4, has the parameters indicated by the various components.
These parameters are representative in nature to show a system for creating a constant current proportional to input voltage across lines 350, 352. Of course, any number of current signal creating circuits could be used for this purpose. As shown schematically in FIGURE 6A, the input voltage across lines 350, 352 is controlled by differential amplifier 400 and a current control arrangement 402 to produce a selected constant current flow through switches 126, 128 of the selected input analog module 120. Closing the output switches CRlOD, CRlOb and CR17a, CR17b of the selected one of circuits TCO, TC7 is delayed by 1.5 ms through a one shot device 410. In this manner, it is assured that the input switches are opened before the output switches CRlOa, CRlOb or CRl7a, CR l 7b are closed by energizing one of the circuits 320, 322. A variety of arrangements could be used for actuation delay. In the illustrated embodiment, the one shot device 410 is energized by the negative transition in line 186 at the output of inverter 184. Thus, as soon as there is a WRITE signal, a logic 1 appears at the Q terminal of one shot device 410.
This reduces the base voltage on transistor Q1 to prevent the application of the + 12 volt power supply to line 328 at the output side of circuits 320, 322. After the time delay logic 1 pulse at the Q terminal, a full +12 volts is applied to line 328. This allows actuation of circuits 320, 322 to close the output switches of the selected analog input circuit CRO-CR7. Circuits 310, 312 are directly connected to a + 12 volt power supply through line 318. Consequently, circuits 310, 312 are operated as soon as a selection has been made by decoder 210. Circuits 320, 322 are delayed for a known period of time to prevent connection of circuit SC with a measuring voltage source which could produce excessive currents or variable voltages.
The operation of the embodiment of the invention shown in FIGURE 4 is set forth in FIGURE 5 wherein certain pulse forms are shown. As can be seen, the representative input switches CR7 are opened as soon as a select signal has been created by a one shot device 190. After a time delay controlled by one shot 410, the output switches CR17 are then closed. One shot 190 controls the clear pulse for a time less than the operation of gate 140. One shot 160 controls the end of the compare signal
ADC which starts the comparing function in circuit 100.
Referring now to FIGURES 6A, 6B and 6C, one type of analog to digital conversion circuit is illustrated. In this circuit, taking the three figures together, there is provided an analog input resistor 400 which creates a voltage proportional to the constant current supplied across switches 126, 128 of the activated module 120, 122 or 124. Integration circuit 450 having the characteristics shown in the integration voltage chart of FIGURE 5, accepts the constant voltage across resistor 440 to control the ramp of the integrating circuit for a fixed period of time. Referring now to the integration voltage shown in FIGURE 5, between times T1 and T2 the integration circuit (capacitor) charges at a fixed rate determined internally of integration circuit 450. At time T2, the integration voltage curve has reached the capacitor threshold voltage which will cause a logic 1 in line 452 for a purpose to be described later.
Thereafter, the voltage increases in the integrator at a rate determined by the voltage across resistor 440. After a fixed time, T3, the counter is reset and the ramp control changes state to cause discharge of voltage (capacitor) from point M to a lower reference level at time T5. This discharge is at a fixed rate controlled by a constant reference voltage. This fixed rate causes the voltage to reach the threshold voltage at time T4. The spacing between time T2 and T4 is indicative of the magnitude of the voltage across resistor 440.
By operating a fixed frequency controlled counter for the time between T2 and T4 the counter will count to a number propor tional to the voltage across resistor 440.
After reaching time T4, line 452 shifts to a logic 0 for a purpose to be described later.
Line 452 controls one input of AND gate 454. The other input is a fixed frequency oscillator or clock 456 connected to a line 458. Thus, as soon as time T2 is reached, gate 454 is active to create fixed frequency counting pulses in line 455. Between time
T4 and time T5, a logic 1 appears in line 460. The A/D control logic 470 is used to shift the direction of voltage in integration circuit 450 is used to shift the direction of voltage in integration circuit 450 after a fixed time T. A ramp control pulse is created by control 470 and starts at the end of the ADC pulse, as shown in FIGURE 5. Thus, the control logic 470 is controlled by the positive going portion of the AC comparison signal. Control line 472 directs the ramp control logic to integration circuit 450 in a time relationship shown in
FIGURE 5. In accordance with somewhat common practice, clock line 455 causes counting of a counter 480 having a reset line 482. During the ADC pulse, counter 480 is reset and can not count. Thereafter, pulses from oscillator 456 passing through gate 454 are directed to counter 480 by line 455. The counter is a 12 bit counter having output terminals DBO-DB 11. An over scale line 484 can be provided by counter 480 so that if the scale to be read from terminals DBO-DB11 has been exceeded, a logic 1 appears in this line.
This will cause a logic 1 in the T.C RESET line 116, irrespective of the completion of integration which is signalled by the logic on line 460. A logic 1 at the completion of integration or at an overflow condition causes a logic 1 in T.C.
RESET line 116.
Referring now more particularly to the output side of circuit shown in FIGURE 6A, the logic on terminals DBO-DB11 indicates the percentage of maximum scale which has been recorded by the conversion circuit 100. At least ten terminals are required to provide a 100% of scale. The eleventh terminal can indicate over scale and control the logic on line 484. Another line, indicated as Do11, can indicate under range which would occur when no voltage is applied across resistor 440. This can occur when there is an open circuit at the input of an analog input circuit CRO-CR7.
When this happens, a logic on a line, such as DB11, can be read. Of course, other arrangements could be provided for indicating the status of circuit 100 on certain output terminals such as DBO-DB11. It is only necessary that an appropriate digital code be provided indicating the magnitude of the voltage across resistor 440.
The number of output terminals DBO DB11 used by circuit 100 exceeds the available data lines Do-D7 in system A.
For that reason, the output multiplexing circuit 500, shown in FIGURE 6C, is provided for using all digital data from the DBO-DB 11 terminals. A logic 1 in line 116 which indicates that conversion has been completed, activates the latch line 502 to latch the data on terminals DBO DB11 into multiplexing circuit 500.
Thereafter, the multiplexing circuit is enabled by a line 510 controlled by motherboard hardwired addressing at the input to a module select circuit 512, similar to select circuit 130 of FIGURE 4. The address on lines Ao-Al5 is directed to address decoder 516 which passes through the data on lines Ao-A3 to control module select circuit 512. The condition of these address lines is compared with the hardwired code on lines 1, 2, 4 and 8. In addition, decoded information from address lines A0-A15 is passed through line 520 to enable multiplex 550 to select eight bit information from selected terminals DBO-DB11. This data is applied across the Do-D7 bi-directional data lines. A second address then selects the data from remaining terminals DBO-DB11. In practice, the first address selects DBO-DB7 for aqplica- tion on the bi-directional data line DO-D7.
Thereafter, a second address selects the next group of output lines DB8-DB11.
Thus, in a series of two steps, the total data from the conversion circuit can be multiplexed onto the bi-directional data lines Do-D7. By providing two bytes of information from multiplexing circuit 500, the total range of the data information can be provided for use in system A. This use can be employed to change heating elements, change speed, or change other functions which are monitored by measuring the voltage across resistor 440. The circuitry shown in FIGURES 6A, 6B and 6C are taken together to show the general operation and element composition of a conversion circuit 100, which can be employed by the module 120 shown in FIG
URE 4. Of course, modifications of this conversion circuit and its multiplexing could be incorporated, as long as the conversion system accepts analog data in current form, converts this data into digital form at a conversion pulse, provides this data on output terminals after conversion has taken place, and then provides a conversion completion signal for use in deselecting module 120.
Referring again to module 120, upon receipt of a completion pulse in the T.C.
RESET line 116, inverter 550 produces a logic 0 pulse in line 551. This logic 0 pulse is a deselect pulse which actuates one shot device 410. Thus, on de-selection by the
T.C. RESET line, the voltage of line 328 is reduced. This deactivates the activated one of circuits 320, 322. Immediately the closed switches CRlOa, CRiOb, or switches
CR17a, CR17b are opened. The deselecting pulse in line 551 also operates one shot circuit 552, biased as indicated, to produce a 1.5 ms pulse similar to the pulse created at the output of one shot device 410. This pulse appears at the Q output and is a logic 0. Thus, as soon as this pulse disappears, i.e. after 1.5 ms, the positive terminal 1B of one shot circuit 190 is clocked. This again creates a 100 ns output pulse in line 192 to clear the addressable latch decoder 1 20 by a logic 0
CLEAR pulse in line 206. Thus, the deactivated one of relay circuits 310, 312 is activated by the 12 volt power supply at line 318. This then closes input relay switches CROa, CROh or input relay switches Cur7., CR7b, according to which of these switches had been opened during an input select operation. Thus, no voltage is applied across lines 350, 352 of module 120. In addition, lines 230, 232 are now at a logic 1. This produces a logic 0 in the select line 170. Switches 126, 128 are opened. Gate 164 is disabled and gate 180 is unlatched by a logic 1 in line 252 for receiving a subsequent WRITE pulse in line 150. After deselection, any of the modules 120, 122 and 124 can be selected for inputting another analog condition through the module and to the conversion circuit 100. Only one conversion circuit need be used for all the modules.
Although three modules have been used for inputting analog information in the illustrated embodiment, in practice, sixteen modules can be decoded by the information on address lines Ao-A3.
The module, together with conversion circuit ]00, is a hardwired self stopping component for use in system A. After a selection has been requested, module 120 and circuit 100 perform their functions and then wait. The decoded information remains in the latched lines DB0-DB1 1 for reading by subsequent cycles until unlatched by a new WRITE cycle address to an input module together with a circuit selected code on lines Do-D3.
For the purpose of biasing one shot devices 160, 410 and 552, a constant 5 volt power supply circuit 560 is provided to fix a logic 1 or + 5 volt condition in control line 562. In the illustrated embod imcnt, + 5 volt control is used for the logic and the + 12 volt power supply is used for operating the relay control circuits 310, 312, 320 and 322.
As indicated during the description of the preferred embodiment, various modifications may be made in the circuitry employed to produce the various parameters and conditions employed in the operation of the module 120 constructed in accordance with the present invention.
In accordance with the illustrated embodiment of the present invention, the system employs automatic communication between the analog to digital conversion circuits and the analog input circuits by lines ADC and T.C. RESET to reduce the number of programmed commands necessary to obtain a digital representation, at terminals, DBO-DB11, of the analog input signal.
Also, the system employs automatic communication between the analog to digital conversion circuits and the analog to digital conversion circuits and the analog input circuit T.C. RESET, to automatically return the selected analog input to the deselected state independent of programmed commands, thereby increasing the number of times a given input may be accessed while maintaining a desired conversion accuracy.
WHAT WE CLAIM IS:
1. A system for providing digital data representative of a selected analog signal on the data lines of a programmable controller using a central processing unit employing a microprocessor having output address lines, a selected number of input/output bi-directional data lines, means for creating a write signal in a write line and means responsive to said write signal for writing data from said data lines into selected addressed locations, said system comprising: a conversion module having a conversion circuit for converting an input analog signal to digital data on output data terminals upon receipt by said circuit of a conversion signal on a first input line of said conversion module simultaneously with selected analog signal across second and third input lines of said conversion module and means on said conversion module for creating a completion signal on an output line of said conversion module when said conversion is completed by said conversion circuit; and at least two separate analog input modules, each of said input modules including means for receiving at least two analog voltage signals, decoder means for selecting one of said analog voltage signals, means for shifting said decoder means into a cleared condition selecting no analog voltage signal, and signal converting means for converting said selected one of said analog voltage signals to an input analog signal for conversion by said conversion circuit; decoding means on each of said input modules for actuating only one of said input modules by a coded actuation signal directed to each of said input mod
**WARNING** end of DESC field may overlap start of CLMS **.
Claims (15)
1. A system for providing digital data representative of a selected analog signal on the data lines of a programmable controller using a central processing unit employing a microprocessor having output address lines, a selected number of input/output bi-directional data lines, means for creating a write signal in a write line and means responsive to said write signal for writing data from said data lines into selected addressed locations, said system comprising: a conversion module having a conversion circuit for converting an input analog signal to digital data on output data terminals upon receipt by said circuit of a conversion signal on a first input line of said conversion module simultaneously with selected analog signal across second and third input lines of said conversion module and means on said conversion module for creating a completion signal on an output line of said conversion module when said conversion is completed by said conversion circuit; and at least two separate analog input modules, each of said input modules including means for receiving at least two analog voltage signals, decoder means for selecting one of said analog voltage signals, means for shifting said decoder means into a cleared condition selecting no analog voltage signal, and signal converting means for converting said selected one of said analog voltage signals to an input analog signal for conversion by said conversion circuit; decoding means on each of said input modules for actuating only one of said input modules by a coded actuation signal directed to each of said input mod
ules; module isolating means on each of said input modules, said isolating means having a first condition applying the input analog signal from said signal converting means and corresponding to said selected analog voltage signal across said second and third input lines of said conversion module and a second condition electrically isolating said input module from said second and third input lines; means responsive to said actuation signal for shifting said isolating means of the actuated one of said input modules to said first condition; and means on each of said input modules and responsive to said conversion completion signal on said output line of said conversion module for shifting an isolating means in said first condition on any of said input modules to said second condition.
2. A system as defined in claim 1, including means responsive to said write signal for enabling said decoder.
3. A system as defined in claim 1 or 2, including means responsive to said write signal for creating a clear signal generally simultaneous with a start write signal and having a duration substantially less than said write signal and means for clearing said decoder with said clear signal.
4. A system as defined in claim 1, 2 or 3, wherein said signal converting means creates said conversion signal in response to said write signal.
5. A system as defined in claim 4, including a time delay device having an input controlled by said write signal and a time delayed output signal and means responsive to said output signal for creating said conversion signal.
6. A system as defined in claim 5, including decoder clearing means responsive to said completion signal for clearing said decoder means.
7. A system as defined in claim 6, including a time delay circuit having an input controlled by said completion signal and a time delayed output signal and means responsive to said time delayed output of said time delay circuit for actuating said decoder clearing means.
8. A system as defined in claim 7, wherein said signal converting means converts said analog signals to current signals having variable values.
9. A system as defined in claim 8, including means on said conversion circuit for converting said current signals into voltage amplitude signals.
10. A system as defined in any one of claims 1 to 9, wherein said conversion circuit includes means for creating digital data having more bits than said selected number of input/output lines and an output data terminal for each of said bits and means for connecting some of output data terminals to said data lines during a first reading cycle and means for connecting the remainder of said output data to said terminals to said data lines during a second reading cycle.
11. A system for providing digital data representative of a selected analog signal on the data lines of a programmable controller using a central processing unit having output address lines, a selected number of input/output bi-directional data lines, means for creating a write signal in a write line and means responsive to said write signal for writing data from said data lines into selected addressed locations, said system comprising a conversion module having a conversion circuit for converting an input analog signal to digital data on output data terminals upon receipt by said conversion circuit of a conversion signal simultaneously with a selected analog signal and means on said conversion module for creating a completion signal when said analog to digital conversion is completed; and a separate analog input module including means for receiving at least two analog voltage signals; means for converting a selected one of said analog voltage signals to an analog current signal; selecting means for selecting said one analog voltage signal upon creation of said write signal; switching means on said input module for direction an analog current signal from said signal converting means to said conversion circuit upon being actuated, said signal selecting means including a data latch means with input terminals for receiving a select logic code, output terminals, means for clearing said data latch means to an inoperative state on said output terminals upon creation of a clear signal; means on said data latch means for latching a decoded enabling signal corresponding to said logic code at one of said output terminals upon creation of a latching signal; and, said selecting means also including means for selecting one of said analog voltage signals in response to an enabling signal in a given one of said output terminals; means for actuating said switching means in response to the existence of an enabling signal on any of said output terminals of said data latch means on said input module; means on said input module for creating a conversion signal in response to the existence of one enabling signal on any of said output terminals; means responsive to a single write signal for creating a clear signal and then said latching signal, said clear signal having a duration substantially less than said latching signal; and, means for removing the enabling signal from any of said output terminals in response to creation of said completion signal at said conversion mod ule.
12. A system as defined in claim 11, wherein said clear signal and enabling signal are concurrent for at least a portion of said clear signal and said enabling signal and said clear signal takes precedence over said enabling signal.
13. A system as defined in claim 11 or 12, including means for creating a second clear signal in response to said completion signal.
14. A system as defined in claim 13, including means for delaying said second clear signal for a selected time after said completion signal.
15. A system for providing; digital data representative of a selected analog signal substantially as hereinbefore described with reference to the accompanying drawings.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72779276A | 1976-09-29 | 1976-09-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
GB1592405A true GB1592405A (en) | 1981-07-08 |
Family
ID=24924087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB37182/77A Expired GB1592405A (en) | 1976-09-29 | 1977-09-06 | System for converting analogue signals to multiplexed digital data |
Country Status (10)
Country | Link |
---|---|
AU (1) | AU511841B2 (en) |
CA (1) | CA1118901A (en) |
CH (1) | CH626480A5 (en) |
DE (1) | DE2743952C2 (en) |
FR (1) | FR2366745A1 (en) |
GB (1) | GB1592405A (en) |
IL (1) | IL52979A (en) |
IT (1) | IT1090405B (en) |
NZ (1) | NZ185139A (en) |
SE (1) | SE7710847L (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4578767A (en) * | 1981-10-02 | 1986-03-25 | Raytheon Company | X-ray system tester |
CN107911176A (en) * | 2017-12-27 | 2018-04-13 | 长沙深之瞳信息科技有限公司 | A kind of mini signals solution tuned plate and its operating method |
CN114938547A (en) * | 2022-05-24 | 2022-08-23 | 皖江工学院 | Automatic household sewage reuse device and working method thereof |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112012006775B4 (en) * | 2012-10-26 | 2018-12-27 | Mitsubishi Electric Corporation | Analog conversion device and programmable controller system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3761889A (en) * | 1972-02-24 | 1973-09-25 | Foxboro Co | Computer directed process control system with analog input multiplexer |
US3806916A (en) * | 1972-10-06 | 1974-04-23 | Westinghouse Electric Corp | Analog data acquisition system |
US3781824A (en) * | 1972-11-20 | 1973-12-25 | Gen Motors Corp | Solid state crash recorder |
-
1977
- 1977-09-06 GB GB37182/77A patent/GB1592405A/en not_active Expired
- 1977-09-08 NZ NZ185139A patent/NZ185139A/en unknown
- 1977-09-19 CA CA000287011A patent/CA1118901A/en not_active Expired
- 1977-09-21 IL IL52979A patent/IL52979A/en unknown
- 1977-09-23 IT IT51132/77A patent/IT1090405B/en active
- 1977-09-28 FR FR7729183A patent/FR2366745A1/en active Granted
- 1977-09-28 SE SE7710847A patent/SE7710847L/en not_active Application Discontinuation
- 1977-09-29 DE DE2743952A patent/DE2743952C2/en not_active Expired
- 1977-09-29 AU AU29242/77A patent/AU511841B2/en not_active Expired
- 1977-09-29 CH CH1193377A patent/CH626480A5/en not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4578767A (en) * | 1981-10-02 | 1986-03-25 | Raytheon Company | X-ray system tester |
CN107911176A (en) * | 2017-12-27 | 2018-04-13 | 长沙深之瞳信息科技有限公司 | A kind of mini signals solution tuned plate and its operating method |
CN114938547A (en) * | 2022-05-24 | 2022-08-23 | 皖江工学院 | Automatic household sewage reuse device and working method thereof |
Also Published As
Publication number | Publication date |
---|---|
CA1118901A (en) | 1982-02-23 |
SE7710847L (en) | 1978-03-30 |
AU511841B2 (en) | 1980-09-11 |
CH626480A5 (en) | 1981-11-13 |
FR2366745B1 (en) | 1982-12-03 |
AU2924277A (en) | 1979-04-05 |
DE2743952A1 (en) | 1978-04-06 |
NZ185139A (en) | 1981-04-24 |
IL52979A (en) | 1979-11-30 |
FR2366745A1 (en) | 1978-04-28 |
IL52979A0 (en) | 1977-11-30 |
DE2743952C2 (en) | 1982-08-12 |
IT1090405B (en) | 1985-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4078259A (en) | Programmable controller having a system for monitoring the logic conditions at external locations | |
US4093998A (en) | Programming module for programmable controller using a microprocessor | |
US4006464A (en) | Industrial process controller | |
US4303990A (en) | Programmable controller using microprocessor | |
US4138732A (en) | Data transfer control system | |
US4107785A (en) | Programmable controller using microprocessor | |
US4058711A (en) | Asynchronous dual function multiprocessor machine control | |
US4672534A (en) | Integrated circuit device incorporating a data processing unit and a ROM storing applications program therein | |
US4564913A (en) | Flexible transfer machine | |
US4291370A (en) | Core memory interface for coupling a processor to a memory having a differing word length | |
US4200916A (en) | Programmable controller using microprocessor | |
US4204252A (en) | Writeable control store for use in a data processing system | |
US3286236A (en) | Electronic digital computer with automatic interrupt control | |
EP0034634B1 (en) | Microcomputer arranged for direct memory access | |
US4153941A (en) | Timing circuit and method for controlling the operation of cyclical devices | |
US4180862A (en) | Programmable controller using microprocessor | |
EP0048825A2 (en) | Microprocessor controlled machine | |
US3411147A (en) | Apparatus for executing halt instructions in a multi-program processor | |
US4188617A (en) | System for converting analog signals to multiplexed digital data | |
US4338662A (en) | Microinstruction processing unit responsive to interruption priority order | |
US4592010A (en) | Memory-programmable controller | |
GB1592405A (en) | System for converting analogue signals to multiplexed digital data | |
US4748556A (en) | Variable tracking word recognizer for detecting the occurrence of a dynamic-variable address | |
US3226684A (en) | Computer control apparatus | |
US3427592A (en) | Data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PS | Patent sealed [section 19, patents act 1949] | ||
PCNP | Patent ceased through non-payment of renewal fee |