# US 5,708,817 A · Programmable delay of an interrupt

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

- Number: US 5,708,817 A
- Document ID: US5708817A
- Status: Granted
- Kind: A
- Application number: 08/456,114
- Filed: 1995-05-31
- Granted: 1998-01-13
- Earliest claimed: 1995-05-31
- Assignees: Apple Computer, Inc.
- Inventors: Chi-Shing J. Ng; Magnus Karlsson
- Web page: https://patentgrep.com/patent/US5708817A

## CPC

- G06F 13/24: using interrupt (G06F13/32 takes precedence)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A programmable interrupt delay in a communication circuit enables accurate timing of an interrupt delay without tying up processor CPU cycles in the execution of a delay loop. The interrupt delay comprises a memory containing the program delay value. A communication circuit which generates an interrupt output corresponding to the transmission of a communication data stream is coupled to a timing circuit having a time value. This timing circuit also has a timing start input, which triggers timing of the timing value upon receipt of the interrupt output. A comparator coupled to the memory and to the timing circuit compares the time value to the delay value and generates a delayed interrupt when the time value and the delay value are equal.

## Claims

### Claim 1

A programmable interrupt delay comprising:
a memory containing at least one delay value;
a communication circuit which generates an interrupt output corresponding to the communication of a data stream;
a timing circuit having an input coupled to the communication circuit and having an output, and which begins generating and incrementing a timing value in response to the generation of said interrupt output; and
a comparator coupled to the memory and to the output of the timing circuit for comparing one of the at least one delay values to the timing value and generating a delayed interrupt responsive to the comparison.

### Claim 2 (depends on 1)

The programmable interrupt delay of claim 1, further comprising a programming circuit coupled to said memory for storing the at least one delay value to the memory.

### Claim 3 (depends on 1)

The programmable interrupt delay of claim 1, wherein the timing circuit comprises a digital counter.

### Claim 4 (depends on 1)

The programmable interrupt delay of claim 1, wherein a first delay value is contained in the memory if the communication circuit is transmitting data and a different second delay value is contained in the memory if the communication circuit is receiving data.

### Claim 5 (depends on 1)

The programmable interrupt delay of claim 1, wherein the timing circuit comprises a state machine.

### Claim 6 (depends on 1)

The programmable interrupt delay of claim 1, wherein the transmission of the communication data stream is to a network data bus.

### Claim 7 (depends on 6)

The programmable interrupt delay of claim 6, wherein the network data bus operates using a LocalTalk protocol.

### Claim 8 (depends on 1)

The programmable interrupt delay of claim 1, wherein the timing circuit increments the timing value negatively upon receipt of said interrupt output.

### Claim 9 (depends on 1)

The programmable interrupt delay of claim 1, wherein the delayed interrupt is generated when the timing value and the delay value are equal.

### Claim 10

A method for generating a programmable interrupt delay in a communication circuit comprising the steps of:
storing at least one delay value equal to a specific interrupt delay period;
generating an interrupt in response to the transmission of a data stream;
initiating a timer responsive to said generated interrupt;
comparing a timer value in the initiated timer with the stored at least one delay value; and
generating a delayed interrupt responsive to the comparison of the timer value and the stored delay value.

### Claim 11 (depends on 10)

The method according to claim 10, wherein the step of generating a delayed interrupt is performed when the timer value is equal to the received delay value.

### Claim 12 (depends on 10)

The method according to claim 10, further comprising the step of incrementing the timer value in the initiated timer repeatedly until said timer value equals said stored delay value.

### Claim 13 (depends on 10)

The method according to claim 10 wherein the step of storing includes storing a first delay value if the communication circuit is sending data, and includes storing a different second delay value in the memory if the communication circuit is receiving data.

### Claim 14

A circuit for generating a programmable interrupt delay in a communication circuit comprising:
means for storing at least one delay value equal to a specific interrupt delay period;
means for generating an interrupt in response to the communication of a data stream;
means for initiating and incrementing a value in a timer responsive to said generated interrupt;
means for comparing a timer value in the initiated timer with the stored at least one delay value; and
means for generating a delayed interrupt responsive to the comparison of the timer value and the stored delay value.

### Claim 15 (depends on 14)

The circuit according to claim 14, wherein the delayed interrupt is generated when the timer value is equal to the received delay value.

### Claim 16 (depends on 14)

The circuit according to claim 14, wherein said means for initiating and incrementing comprises means for incrementing the timer value in the initiated timer until said timer value equals said stored delay value.

### Claim 17 (depends on 14)

The circuit according to claim 14 wherein a first delay value is stored if the communication circuit is sending data and a different second delay value is stored if the communication circuit is receiving data.
