# US 5,157,701 A · High speed counter circuit

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,157,701 A
- Document ID: US5157701A
- Status: Granted
- Kind: A
- Application number: 07/676,621
- Filed: 1991-03-28
- Granted: 1992-10-20
- Earliest claimed: 1991-03-28
- Assignees: Allen-Bradley Company, Inc.
- Inventors: Gary Parker
- Web page: https://patentgrep.com/patent/US5157701A

## CPC

- G05B 19/0423: {Input/output}
- H03K 21/00: Details of pulse counters or frequency dividers
- G05B 2219/21012: Configurable I-O
- G05B 2219/21108: Module, I-O module consisting of counters and comparators
- G05B 2219/25432: Multiplex
- Y02P 90/02: Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- H03K: PULSE TECHNIQUE (measuring pulse characteristics G01R; modulating sinusoidal oscillations with pulses H03C; transmission of digital information H04L; discriminator circuits detecting phase difference between two signals by counting or integrating cycles of oscillation H03D3/04; automatic control, starting, synchronisation or stabilisation of generators of electronic oscillations or pulses where the type of generator is irrelevant or unspecified H03L; coding, decoding or code conversion, in general H03M)
- Y02P: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS

## Abstract

A high speed counter employs a number of functional blocks, flexibly interconnected on a bus structure, to provide efficient and high speed implementation of arbitrary range measuring tasks. A set of independent counters blocks are connected by the bus structure to programmable comparator blocks which establish count thresholds. The output of the comparators are paired by switchable AND/OR blocks to create ranges. The division of functions by block and the interconnecting bus structure allows the structure of each counter to be effectively programmed to fit the application at hand.

## Claims

### Claim 1

A high speed counting unit comprising:
a plurality of independent counters each having an input for receiving a count signal and each having a counter output indicating a total count value;
a plurality of first registers each for holding a counter address;
a plurality of multiplexers, each multiplexer having plural multiplexer inputs communicating with each of the independent counters to receive the counter outputs, and address input for receiving a one counter address, and each multiplexer for selectively communicating at least one counter output to a multiplexer output for that multiplexer as designated by one counter address;
a plurality of second registers corresponding in number to the multiplexers, each register for holding a threshold value; and
a plurality of comparators corresponding in number to the multiplexers, each comparator communicating with a second register for receiving the threshold value from that second register as a first input and communicating with the multiplexers for receiving the multiplexer output from that multiplexer as a second input, the comparator for producing a threshold output dependant on the relative magnitudes of the first and second inputs.

### Claim 2 (depends on 1)

The high speed counting unit as recited in claim 1 including:
a plurality of AND/OR gating circuits communicating with at least two comparators for receiving the threshold outputs from those comparators for producing a range output depending on a Boolean combination of the threshold outputs.

### Claim 3 (depends on 1)

The high speed counting unit as recited in claim 1 wherein the comparators comprise:
a magnitude comparator unit for receiving the first and second input and for producing three outputs indicating respectively when the first input is greater than, equal to and less than the second input; and
a gated input three input OR circuit for receiving the three outputs and for producing a signal that is the logical OR of at least one of the three output signals.

### Claim 4 (depends on 1)

The high speed counting unit as recited in claim 1 wherein the counters are variable modulus up/down counters.

### Claim 5

A data structure for controlling a high speed counting unit, the counting unit having:
a plurality of independent counters, each having an input for receiving a count signal and each having a counter output indicating a total count value;
a plurality of first registers each for holding a counter address;
a plurality of multiplexers, each multiplexer having plural multiplexer inputs communicating with each of the independent counters to receive the counter outputs, and each multiplexer for selectively communicating at least one counter output to a multiplexer output for that multiplexer as determined by one first data register;
a plurality of second registers corresponding in number to the multiplexers, each register for holding a threshold value; and
a plurality of comparators corresponding in number to the multiplexers, each comparator communicating with a register for receiving the threshold value from that register as a first input and communicating with the multiplexers for receiving the multiplexer output from that multiplexer as a second input, the comparator for producing a threshold output dependant on the relative magnitudes of the first and second inputs
a plurality of AND/OR gating circuits communicating with each first and second comparator for receiving the threshold outputs from those comparators and for producing a range output depending on a Boolean combination of the threshold outputs, the data structure comprising:
a multi-word data block for each first and second comparator, the data block having a first word indicating a first threshold value for the first comparator and a second word indicating a second threshold value for the second comparator, the second threshold value together with the first threshold value defining the range output, and a third word indicating from which independent counter the counter output will be received by each first and second comparators, the data block for transmission to the plurality of first and second registers of the high speed counter.
