CMOS Priority Interrupt Controller: Features
CMOS Priority Interrupt Controller: Features
82C59A                                                                                                                        FN2784
CMOS Priority Interrupt Controller                                                                                           Rev 6.01
                                                                                                                         Jan 22, 2020
Ordering Information
                                                                              Frequency                                   TEMP          PKG.
                PART NUMBER                         PART MARKING                (MHz)                 PACKAGE           RANGE (°C)     DWG. #
IS82C59A (No longer available, recommended IS82C59A                                            28 Ld PLCC                 -40 to +85   N28.45
replacement: IS82C59AZ)
ID82C59A (No longer available, recommended ID82C59A                                            28 Ld CERDIP               -40 to +85   F28.6
replacement: IS82C59AZ)
NOTE: Pb-free plus anneal products employ special Pb-free material sets; molding compounds/die attach materials and 100% matte tin plate
termination finish, which are RoHS compliant and compatible with both SnPb and Pb-free soldering operations. Pb-free products are MSL classified
at Pb-free peak reflow temperatures that meet or exceed the Pb-free requirements of IPC/JEDEC J STD-020.
Pinouts
                  82C59A (PDIP, CERDIP)                                                        82C59A (PLCC, CLCC)
                       TOP VIEW                                                                     TOP VIEW
                                                                                                                                       INTA
            CS 1                      28 VCC
                                                                                                                        VCC
                                                                                                          WR
                                                                                                  RD
                                                                                                                CS
                                                                                          D7
                                                                                                                                 A0
            WR 2                      27 A0
                                                                                           4       3      2      1      28       27    26
            RD 3                      26 INTA
                                                                                  D6 5                                                        25 IR7
            D7 4                      25 IR7
                                                                                  D5 6                                                        24 IR6
            D6 5                      24 IR6
                                      23 IR5                                      D4 7                                                        23 IR5
            D5 6
            D4 7                      22 IR4                                      D3 8                                                        22 IR4
            D3 8                      21 IR3                                      D2 9                                                        21 IR3
            D2 9                      20 IR2                                      D1 10                                                       20 IR2
            D1 10                     19 IR1
                                                                                  D0 11                                                       19 IR1
            D0 11                     18 IR0
                                                                                          12      13      14    15      16       17    18
          CAS 0 12                    17 INT
GND
SP/ EN
INT
                                                                                                                                       IR0
                                                                                          CAS 0
CAS 1
                                                                                                                CAS 2
          CAS 1 13                    16 SP/EN
           GND 14                     15 CAS 2
                                                  PIN             DESCRIPTION
                                          D7 - D0         Data Bus (Bidirectional)
                                          RD              Read Input
                                          WR              Write Input
                                          A0              Command Select Address
                                          CS              Chip Select
                                          CAS 2 - CAS 0   Cascade Lines
                                          SP/EN           Slave Program Input Enable
                                          INT             Interrupt Output
                                          INTA            Interrupt Acknowledge Input
                                          IR0 - IR7       Interrupt Request Inputs
Functional Diagram
                                                                INTA                                            INT
                             DATA
          D7-D0              BUS
                                                                               CONTROL LOGIC
                            BUFFER
                                                                                                                                              IR0
                  RD        READ/                                                                                                             IR1
                  WR        WRITE                            IN -                                               INTERRUPT                     IR2
                  A0        LOGIC                         SERVICE                PRIORITY                        REQUEST                      IR3
                                                            REG                  RESOLVER                           REG                       IR4
                                                            (ISR)                                                  (IRR)                      IR5
                  CS                                                                                                                          IR6
                                                                                                                                              IR7
FIGURE 1.
Pin Description
   SYMBOL        TYPE                                                    DESCRIPTION
VCC I VCC: The +5V power supply pin. A 0.1F capacitor between pins 28 and 14 is recommended for decoupling.
GND I GROUND
      CS           I     CHIP SELECT: A low on this pin enables RD and WR communications between the CPU and the 82C59A. INTA
                         functions are independent of CS.
WR I WRITE: A low on this pin when CS is low enables the 82C59A to accept command words from the CPU.
RD I READ: A low on this pin when CS is low enables the 82C59A to release status onto the data bus for the CPU.
D7 - D0 I/O BIDIRECTIONAL DATA BUS: Control, status, and interrupt-vector information is transferred via this bus.
 CAS0 - CAS2      I/O    CASCADE LINES: The CAS lines form a private 82C59A bus to control a multiple 82C59A structure. These
                         pins are outputs for a master 82C59A and inputs for a slave 82C59A.
    SP/EN         I/O    SLAVE PROGRAM/ENABLE BUFFER: This is a dual function pin. When in the Buffered Mode it can be used
                         as an output to control buffer transceivers (EN). When not in the Buffered Mode it is used as an input to
                         designate a master (SP = 1) or slave (SP = 0).
      INT          O     INTERRUPT: This pin goes high whenever a valid interrupt request is asserted. It is used to interrupt the CPU,
                         thus, it is connected to the CPU's interrupt pin.
   IR0 - IR7       I     INTERRUPT REQUESTS: Asynchronous inputs. An interrupt request is executed by raising an IR input (low to
                         high), and holding it high until it is acknowledged (Edge Triggered Mode), or just by a high level on an IR input
                         (Level Triggered Mode). Internal pull-up resistors are implemented on IR0 - 7.
     INTA          I     INTERRUPT ACKNOWLEDGE: This pin is used to enable 82C59A interrupt-vector data onto the data bus by
                         a sequence of interrupt acknowledge pulses issued by the CPU.
      A0           I     ADDRESS LINE: This pin acts in conjunction with the CS, WR, and RD pins. It is used by the 82C59A to
                         decipher various Command Words the CPU writes and status the CPU wishes to read. It is typically connected
                         to the CPU A0 address line (A1 for 80C86/88/286).
Functional Description
                                                                                                                          CPU - DRIVEN
Interrupts in Microcomputer Systems                                                                                       MULTIPLEXER
                                                                                                        CPU
Microcomputer system design requires that I/O devices such
as keyboards, displays, sensors and other components
receive servicing in an efficient manner so that large
amounts of the total system tasks can be assumed by the
                                                                                        RAM                           I/O (1)
microcomputer with little or no effect on throughput.
A more desirable method would be one that would allow the                    The Programmable Interrupt Controller (PlC) functions as an
microprocessor to be executing its main program and only                     overall manager in an Interrupt-Driven system. It accepts
stop to service peripheral devices when it is told to do so by               requests from the peripheral equipment, determines which of
the device itself. In effect, the method would provide an                    the incoming requests is of the highest importance (priority),
external asynchronous input that would inform the processor                  ascertains whether the incoming request has a higher
that it should complete whatever instruction that is currently               priority value than the level currently being serviced, and
being executed and fetch a new routine that will service the                 issues an interrupt to the CPU based on this determination.
requesting device. Once this servicing is complete, however,
                                                                             Each peripheral device or structure usually has a special
the processor would resume exactly where it left off.
                                                                             program or “routine” that is associated with its specific
This is the Interrupt-driven method. It is easy to see that                  functional or operational requirements; this is referred to as a
system throughput would drastically increase, and thus,                      “service routine”. The PlC, after issuing an interrupt to the
more tasks could be assumed by the microcomputer to                          CPU, must somehow input information into the CPU that can
further enhance its cost effectiveness.                                      “point” the Program Counter to the service routine
                                                                             associated with the requesting device. This “pointer” is an
                                                                             address in a vectoring table and will often be referred to, in
                                INT
                                                                             this document, as vectoring data.
                            CPU
                                                                             82C59A Functional Description
                                                                             The 82C59A is a device specifically designed for use in real
                                           PIC                               time, interrupt driven microcomputer systems. It manages
                                                                             eight levels of requests and has built-in features for
                                                                             expandability to other 82C59As (up to 64 levels). It is
                                                                             programmed by system software as an I/O peripheral. A
          RAM                             I/O (1)
                                                                             selection of priority modes is available to the programmer so
                                                                             that the manner in which the requests are processed by the
                                                                             82C59A can be configured to match system requirements.
                                                                             The priority modes can be changed or reconfigured
          ROM                             I/O (2)
                                                                             dynamically at any time during main program operation. This
                                                                             means that the complete interrupt structure can be defined
                                                                             as required, based on the total system environment.
                                          I/O (N)
INTA INT
                                        DATA
                D 7 - D0                BUS
                                       BUFFER                                        CONTROL LOGIC
                                                                                                                          IR0
                           RD           READ/                                                                             IR1
                           WR           WRITE                          IN                                 INTERRUPT       IR2
                           A0           LOGIC                      SERVICE             PRIORITY            REQUEST        IR3
                                                                     REG               RESOLVER              REG          IR4
                                                                     (ISR)                                   (IRR)        IR5
                           CS                                                                                             IR6
                                                                                                                          IR7
Write (WR)
A LOW on this input enables the CPU to write control words
(lCWs and OCWs) to the 82C59A.
CONTROL BUS
CS A0 D7 - D 0 RD WR INT INTA
                          CASCADE             CAS 0
                             LINES            CAS 1                           82C59A
                                              CAS 2       IRQ    IRQ    IRQ       IRQ   IRQ     IRQ        IRQ             IRQ
                                                SP/EN      7      6       5        4     3       2             1            0
These events occur in an 8080/8085 system:                               4. The 82C59A does not drive the data bus during the first
                                                                            INTA pulse.
1. One or more of the INTERRUPT REQUEST lines
   (IR0 - IR7) are raised high, setting the corresponding IRR            5. The 80C86/88/286 CPU will initiate a second INTA pulse.
   bit(s).                                                                  During this INTA pulse, the appropriate ISR bit is set and
                                                                            the corresponding bit in the IRR is reset. The 82C59A
2. The 82C59A evaluates those requests in the priority                      outputs the 8-bit pointer onto the data bus to be read by
   resolver and sends an interrupt (INT) to the CPU, if                     the CPU.
   appropriate.
                                                                         6. This completes the interrupt cycle. In the AEOI mode, the
3. The CPU acknowledges the lNT and responds with an                        ISR bit is reset at the end of the second INTA pulse. Oth-
   INTA pulse.                                                              erwise, the ISR bit remains set until an appropriate EOI
4. Upon receiving an lNTA from the CPU group, the highest                   command is issued at the end of the interrupt subroutine.
   priority lSR bit is set, and the corresponding lRR bit is             If no interrupt request is present at step 4 of either sequence
   reset. The 82C59A will also release a CALL instruction
                                                                         (i.e., the request was too short in duration), the 82C59A will
   code (11001101) onto the 8-bit data bus through D0 - D7.
                                                                         issue an interrupt level 7. If a slave is programmed on IR bit
5. This CALL instruction will initiate two additional INTA               7, the CAS lines remain inactive and vector addresses are
   pulses to be sent to 82C59A from the CPU group.                       output from the master 82C59A.
6. These two INTA pulses allow the 82C59A to release its
   preprogrammed subroutine address onto the data bus.                   Interrupt Sequence Outputs
   The lower 8-bit address is released at the first INTA pulse
   and the higher 8-bit address is released at the second                8080, 8085 Interrupt Response Mode
   INTA pulse.
                                                                         This sequence is timed by three INTA pulses. During the first
7. This completes the 3-byte CALL instruction released by                lNTA pulse, the CALL opcode is enabled onto the data bus.
   the 82C59A. In the AEOI mode, the lSR bit is reset at the
   end of the third INTA pulse. Otherwise, the lSR bit                   First Interrupt Vector Byte Data: Hex CD
   remains set until an appropriate EOI command is issued                               D7          D6         D5          D4       D3       D2   D1       D0
   at the end of the interrupt sequence.
                                                                          Call Code      1          1          0            0           1     1    0       1
The events occurring in an 80C86/88/286 system are the
same until step 4.
                                                                         During the second INTA pulse, the lower address of the
                                                                         appropriate service routine is enabled onto the data bus.
When interval = 4 bits, A5 - A7 are programmed, while               slave if so programmed) will send a byte of data to the
A0 - A4 are automatically inserted by the 82C59A. When              processor with the acknowledged interrupt code composed
interval = 8, only A6 and A7 are programmed, while A0 - A5          as follows (note the state of the ADI mode control is ignored
are automatically inserted.                                         and A5 - A11 are unused in the 86/88/286 mode).
   7      A7     A6     1         1          1        0    0   0
                                                                    1. Initialization Command Words (ICWs): Before normal
                                                                       operation can begin, each 82C59A in the system must be
   6      A7     A6     1         1          0        0    0   0       brought to a starting point - by a sequence of 2 to 4 bytes
   5      A7     A6     1         0          1        0    0   0       timed by WR pulses.
During the third INTA pulse, the higher address of the                 d. Polled mode.
appropriate service routine, which was programmed as byte 2         The OCWs can be written into the 82C59A anytime after
of the initialization sequence (A8 - A15), is enabled onto the      initialization.
bus.
                                                                    Initialization Command Words (lCWs)
         CONTENT OF THIRD INTERRUPT VECTOR BYTE
  D7       D6      D5        D4        D3        D2       D1   D0   General
  A15      A14    A13       A12        A11       A10      A9   A8   Whenever a command is issued with A0 = 0 and D4 = 1, this
                                                                    is interpreted as Initialization Command Word 1 (lCW1).
80C86, 8OC88, 80C286 Interrupt Response Mode
                                                                    lCW1 starts the initialization sequence during which the
80C86/88/286 mode is similar to 8080/85 mode except that            following automatically occur:
only two Interrupt Acknowledge cycles are issued by the
                                                                    a. The edge sense circuit is reset, which means that follow-
processor and no CALL opcode is sent to the processor. The
                                                                       ing initialization, an interrupt request (IR) input must make
first interrupt acknowledge cycle is similar to that of 8080/85        a low-to-high transition to generate an interrupt.
systems in that the 82C59A uses it to internally freeze the
state of the interrupts for priority resolution and, as a master,   b. The Interrupt Mask Register is cleared.
it issues the interrupt code on the cascade lines. On this first    c. lR7 input is assigned priority 7.
cycle, it does not issue any data to the processor and leaves
                                                                    d. Special Mask Mode is cleared and Status Read is set to
its data bus buffers disabled. On the second interrupt
                                                                       lRR.
acknowledge cycle in the 86/88/286 mode, the master (or
e. If lC4 = 0, then all functions selected in lCW4 are set to        LTlM:    If LTlM = 1, then the 82C59A will operate in the level
   zero. (Non-Buffered mode (see note), no Auto-EOI, 8080/85                   interrupt mode. Edge detect logic on the interrupt
   system).                                                                    inputs will be disabled.
NOTE:   Master/Slave in ICW4 is only used in the buffered mode.      ADI:    ALL address interval. ADI = 1 then interval = 4; ADI =
                                                                              0 then interval = 8.
                                                                     SNGL: Single. Means that this is the only 82C59A in the sys-
                                    ICW1
                                                                            tem. If SNGL = 1, no ICW3 will be issued.
                                                                     IC4:    If this bit is set - lCW4 has to be issued. If lCW4 is not
                                    ICW2
                                                                              needed, set lC4 = 0.
A5 - A15: Page starting address of service routines. In an           BUF:    If BUF = 1, the buffered mode is programmed. In buff-
                                                                              ered mode, SP/EN becomes an enable output and
8080/85 system the 8 request levels will generate CALLS to 8
                                                                              the master/slave determination is by M/S.
locations equally spaced in memory. These can be
programmed to be spaced at intervals of 4 or 8 memory                M/S:     If buffered mode is selected: M/S = 1 means the
locations, thus, the 8 routines will occupy a page of 32 or 64                 82C59A is programmed to be a master, M/S = 0
bytes, respectively.                                                           means the 82C59A is programmed to be a slave. If
                                                                               BUF = 0, M/S has no function.
The address format is 2 bytes long (A0 - A15). When the
                                                                     AEOI:    If AEOI = 1, the automatic end of interrupt mode is pro-
routine interval is 4, A0 - A4 are automatically inserted by the
                                                                               grammed.
82C59A, while A5 - A15 are programmed externally. When the
routine interval is 8, A0 - A5 are automatically inserted by the     PM:    Microprocessor mode: PM = 0 sets the 82C59A for
82C59A while A6 - A15 are programmed externally.                             8080/85 system operation, PM = 1 sets the 82C59A
                                                                             for 80C86/88/286 system operation.
The 8-byte interval will maintain compatibility with current
software, while the 4-byte interval is best for a compact jump
table.
In an 80C86/88/286 system, A15 - A11 are inserted in the five
most significant bits of the vectoring byte and the 82C59A sets
the three least significant bits according to the interrupt level.
A10 - A5 are ignored and ADI (Address interval) has no effect.
ICW1
          A0        D7            D6          D5          D4         D3             D2         D1     D0
           0         A7           A6          A5          1         LTIM           ADI     SNGL       IC4
                                                                                                                1 = ICW4 needed
                                                                                                                0 = No ICW4 needed
                                                                                                                1 = Single
                                                                                                                0 = Cascade Mode
          A0        D7            D6          D5          D4         D3             D2         D1     D0
                 A15            A14         A13         A12        A11            A10     A9        A8
           1
                           T7         T6           T5         T4             T3
          A0        D7            D6          D5          D4         D3             D2         D1     D0
           1         S7           S6          S5          S4         S3             S2      S1        S0
          A0        D7            D6          D5          D4         D3             D2         D1     D0
           1           0          0            0          0              0          ID2     ID1       ID0
                                                                                                                        SLAVE ID (NOTE)
                                                                                                                0   1     2   3   4   5    6   7
                                                                                                                0   1     0   1   0   1    0   1
                                                                                                                0   0     1   1   0   0    1   1
                                                                                                                0   0     0   0   1   1    1   1
ICW4
          A0        D7            D6          D5          D4         D3             D2         D1     D0
           1           0          0            0        SFNM        BUF            M/S     AEOI      PM
                                                                                                                1 = 8086/8088 mode
                                                                                                                0 = MCS-80/85 mode
                                                                                                                1 = Auto EOI
                                                                                                                0 = Normal EOI
                                                                         0          X     - Non buffered mode
Operation Command Words (OCWs)                                       trailing edge of the last INTA. While the IS bit is set, all
                                                                     further interrupts of the same or lower priority are inhibited,
After the Initialization Command Words (lCWs) are                    while higher levels will generate an interrupt (which will be
programmed into the 82C59A, the device is ready to accept            acknowledged only if the microprocessor internal interrupt
interrupt requests at its input lines. However, during the           enable flip-flop has been re-enabled through software).
82C59A operation, a selection of algorithms can command
the 82C59A to operate in various modes through the                   After the initialization sequence, IR0 has the highest priority
Operation Command Words (OCWs).                                      and IR7 the lowest. Priorities can be changed, as will be
                                                                     explained in the rotating priority mode or via the set priority
              OPERATION COMMAND WORDS (OCWs)
                                                                     command.
  A0     D7      D6     D5     D4      D3     D2      D1     D0
OCW1
1 M7 M6 M5 M4 M3 M2 M1 M0
OCW2
0 R SL EOI 0 0 L2 L1 L0
OCW3
OCW1
        A0          D7         D6       D5         D4         D3          D2            D1      D0
        1           M7         M6       M5        M4          M3          M2           M1       M0
                                                                                                       Interrupt Mask
                                                                                                       1 = Mask set
                                                                                                       0 = Mask reset
    OCW2
        A0          D7         D6       D5         D4         D3          D2            D1      D0
        0           R          SL       EOI         0           0         L2            L1      L0             IR LEVEL TO BE
                                                                                                                ACTED UPON
                                                                                                       0   1    2   3   4   5   6     7
                                                                                                       0   1    0   1   0   1   0     1
                                                                                                       0   0    1   1   0   0   1     1
    0       0   1        Non-specific EOI command                                                      0   0    0   0   1   1   1     1
                                                                    End of interrupt
    0       1   1   † Specific EOI command
    1       0   1        Rotate on non-specific EOI command
    1       0   0        Rotate in automatic EOI mode (set)
    0       0   0                                                   Automatic rotation
                         Rotate in automatic EOI mode (clear)
    1       1   1   † Rotate on specific EOI command
    1       1   0   † Set priority command
                                                                    Specific rotation
    0       1   0        No operation
                                                                               † L0 - L2 are used
    OCW3
        A0          D7         D6       D5         D4         D3          D2            D1      D0
        0           0        ESMM       SMM         0           1          P           RR       RIS
                                                                                                           READ REGISTER COMMAND
                                                                                                       0    1           0                 1
                                                                                                       0    0           1                 1
                                                                                                      1 = Poll command
                                                                                                      0 = No poll command
                                                                                                                SPECIAL MASK MODE
                                                                                                       0    1           0                 1
                                                                                                       0    0           1                 1
  When a mode is used which may disturb the fully nested              There are two ways to accomplish Automatic Rotation using
  structure, the 82C59A may no longer be able to determine            OCW2, the Rotation on Non-Specific EOI Command (R = 1,
  the last level acknowledged. In this case a Specific End of         SL = 0, EOI = 1) and the Rotate in Automatic EOI Mode
  Interrupt must be issued which includes as part of the              which is set by (R = 1, SL = 0, EOI = 0) and cleared by
  command the IS level to be reset. A specific EOl can be             (R = 0, SL = 0, EOl = 0).
  issued with OCW2 (EOI = 1, SL = 1, R = 0, and L0 - L2 is the
  binary level of the IS bit to be reset).                            Specific Rotation (Specific Priority)
  An lRR bit that is masked by an lMR bit will not be cleared by      The programmer can change priorities by programming the
  a non-specific EOI if the 82C59A is in the Special Mask             lowest priority and thus, fixing all other priorities; i.e., if IR5 is
  Mode.                                                               programmed as the lowest priority device, then IR6 will have
                                                                      the highest one.
  Automatic End of Interrupt (AEOI) Mode
                                                                      The Set Priority command is issued in OCW2 where: R = 1,
  If AEOI = 1 in lCW4, then the 82C59A will operate in AEOl           SL = 1, L0 - L2 is the binary priority level code of the lowest
  mode continuously until reprogrammed by lCW4. In this               priority device.
  mode the 82C59A will automatically perform a non-specific
  EOI operation at the trailing edge of the last interrupt            Observe that in this mode internal status is updated by soft-
  acknowledge pulse (third pulse in 8080/85, second in                ware control during OCW2. However, it is independent of the
  80C86/88/286). Note that from a system standpoint, this             End of Interrupt (EOI) command (also executed by OCW2).
  mode should be used only when a nested multilevel interrupt         Priority changes can be executed during an EOI command
  structure is not required within a single 82C59A.                   by using the Rotate on Specific EOl command in OCW2
                                                                      (R = 1, SL = 1, EOI = 1, and L0 - L2 = IR level to receive
  Automatic Rotation (Equal Priority Devices)                         lowest priority).
The difficulty here is that if an Interrupt Request is                        disabling its interrupt input. Service to devices is achieved by
acknowledged and an End of Interrupt command did not                          software using a Poll command.
reset its IS bit (i.e., while executing a service routine), the
                                                                              The Poll command is issued by setting P = 1 in OCW3. The
82C59A would have inhibited all lower priority requests with
                                                                              82C59A treats the next RD pulse to the 82C59A (i.e., RD =
no easy way for the routine to enable them.
                                                                              0, CS = 0) as an interrupt acknowledge, sets the appropriate
That is where the Special Mask Mode comes in. In the                          IS bit if there is a request, and reads the priority level.
Special Mask Mode, when a mask bit is set in OCW1, it                         Interrupt is frozen from WR to RD.
inhibits further interrupts at that level and enables interrupts
                                                                              The word enabled onto the data bus during RD is:
from all other levels (lower as well as higher) that are not
masked.                                                                            D7   D6        D5        D4    D3       D2        D1   D0
Thus, any interrupts may be selectively enabled by loading                         I     -         -        -      -       W2        W1   W0
the mask register.
The Special Mask Mode is set by OCW3 where: ESMM = 1,                         W0 - W2: Binary code of the highest priority level request-
SMM = 1, and cleared where ESMM = 1, SMM = 0.                                          ing service.
                                                                              I:          Equal to a “1” if there is an interrupt.
Poll Command
                                                                              This mode is useful if there is a routine command common to
In this mode, the INT output is not used or the
                                                                              several levels so that the INTA sequence is not needed
microprocessor internal Interrupt Enable flip flop is reset,
                                                                              (saves ROM space). Another application is to use the poll
                                                                              mode to expand the number of priority levels to more than 64.
                                                         D Q                                                     NON-
            IR                                                         MASK LATCH                                MASKED
                                                         C Q                                                     REQ
                                                                            D Q
                       INTA
                                                                            C
       8080/85
        MODE                                                                CLR
                  FREEZE
     NOTES:
      1. Master clear active only during ICW1.
      2. FREEZE is active during INTA and poll sequence only.
      3. Truth Table for D-latch.
C D Q Operation
1 D1 D1 Follow
0 X Qn-1 Hold
The input status of several internal registers can be read to      This mode is programmed using bit 3 in lCW1.
update the user information on the system. The following
                                                                   If LTlM = “0”, an interrupt request will be recognized by a low to
registers can be read via OCW3 (lRR and ISR) or OCW1
                                                                   high transition on an IR input. The IR input can remain high
(lMR).
                                                                   without generating another interrupt.
Interrupt Request Register (IRR): 8-bit register which
                                                                   If LTIM = “1”, an interrupt request will be recognized by a “high”
contains the levels requesting an interrupt to be
                                                                   level on an IR input, and there is no need for an edge detection.
acknowledged. The highest request level is reset from the
                                                                   The interrupt request must be removed before the EOI
lRR when an interrupt is acknowledged. lRR is not affected
                                                                   command is issued or the CPU interrupt is enabled to prevent a
by lMR.
                                                                   second interrupt from occurring.
In-Service Register (ISR): 8-bit register which contains the
                                                                   The priority cell diagram shows a conceptual circuit of the level
priority levels that are being serviced. The ISR is updated
                                                                   sensitive and edge sensitive input circuitry of the 82C59A. Be
when an End of Interrupt Command is issued.
                                                                   sure to note that the request latch is a transparent D type latch.
Interrupt Mask Register: 8-bit register which contains the
                                                                   In both the edge and level triggered modes the IR inputs
interrupt request lines which are masked.
                                                                   must remain high until after the falling edge of the first INTA.
The lRR can be read when, prior to the RD pulse, a Read            If the IR input goes low before this time a DEFAULT lR7 will
Register Command is issued with OCW3 (RR = 1, RIS = 0).            occur when the CPU acknowledges the interrupt. This can
                                                                   be a useful safeguard for detecting interrupts caused by
The ISR can be read when, prior to the RD pulse, a Read
                                                                   spurious noise glitches on the IR inputs. To implement this
Register Command is issued with OCW3 (RR = 1, RIS = 1).
                                                                   feature the lR7 routine is used for “clean up” simply
There is no need to write an OCW3 before every status read         executing a return instruction, thus, ignoring the interrupt. If
operation, as long as the status read corresponds with the         lR7 is needed for other purposes a default lR7 can still be
previous one: i.e., the 82C59A “remembers” whether the lRR         detected by reading the ISR. A normal lR7 interrupt will set
or ISR has been previously selected by the OCW3. This is           the corresponding ISR bit, a default IR7 won’t. If a default
not true when poll is used. In the poll mode, the 82C59A           IR7 routine occurs during a normal lR7 routine, however, the
treats the RD following a “poll write” operation as an INTA.       ISR will remain set. In this case it is necessary to keep track
After initialization, the 82C59A is set to lRR.                    of whether or not the IR7 routine was previously entered. If
                                                                   another lR7 occurs it is a default.
For reading the lMR, no OCW3 is needed. The output data bus
will contain the lMR whenever RD is active and A0 = 1 (OCW1).      In power sensitive applications, it is advisable to place the
Polling overrides status read when P = 1, RR = 1 in OCW3.          82C59A in the edge-triggered mode with the IR lines
                                                                   normally high. This will minimize the current through the
                                                                   internal pull-up resistors on the IR pins.
                                                                         80C86/88/286
                                                                                        8080/85
                          IR
                        INT
                                                                                80C86/88/286
INTA
NOTE:
1. Edge triggered mode only.
                                     FIGURE 10. IR TRIGGERING TIMING REQUIREMENTS
The Special Fully Nested Mode                                                       This modification forces the use of software programming to
                                                                                    determine whether the 82C59A is a master or a slave. Bit 3
This mode will be used in the case of a big system where
                                                                                    in ICW4 programs the buffered mode, and bit 2 in lCW4
cascading is used, and the priority has to be conserved
                                                                                    determines whether it is a master or a slave.
within each slave. In this case the special fully nested mode
will be programmed to the master (using lCW4). This mode                            Cascade Mode
is similar to the normal nested mode with the following
exceptions:                                                                         The 82C59A can be easily interconnected in a system of one
                                                                                    master with up to eight slaves to handle up to 64 priority
a. When an interrupt request from a certain slave is in ser-                        levels.
   vice, this slave is not locked out from the master’s priority
   logic and further interrupt requests from higher priority                        The master controls the slaves through the 3 line cascade
   IRs within the slave will be recognized by the master and                        bus (CAS2 - 0). The cascade bus acts like chip selects to the
   will initiate interrupts to the processor. (In the normal                        slaves during the INTA sequence.
   nested mode a slave is masked out when its request is in
                                                                                    In a cascade configuration, the slave interrupt outputs (INT)
   service and no higher requests from the same slave can
                                                                                    are connected to the master interrupt request inputs. When a
   be serviced.
                                                                                    slave request line is activated and afterwards acknowledged,
b. When exiting the Interrupt Service routine the software                          the master will enable the corresponding slave to release the
   has to check whether the interrupt serviced was the only                         device routine address during bytes 2 and 3 of INTA. (Byte 2
   one from that slave. This is done by sending a non-spe-                          only for 80C86/88/286).
   cific End of Interrupt (EOI) command to the slave and
   then reading its In-Service register and checking for zero.                      The cascade bus lines are normally low and will contain the
   If it is empty, a non-specified EOI can be sent to the mas-                      slave address code from the leading edge of the first INTA
   ter, too. If not, no EOI should be sent.                                         pulse to the trailing edge of the last INTA pulse. Each
                                                                                    82C59A in the system must follow a separate initialization
Buffered Mode
                                                                                    sequence and can be programmed to work in a different
When the 82C59A is used in a large system where bus                                 mode. An EOI command must be issued twice: once for the
driving buffers are required on the data bus and the                                master and once for the corresponding slave. Chip select
cascading mode is used, there exists the problem of                                 decoding is required to activate each 82C59A.
enabling buffers                                                                    NOTE:   Auto EOI is supported in the slave mode for the 82C59A.
The buffered mode will structure the 82C59A to send an                              The cascade lines of the Master 82C59A are activated only
enable signal on SP/EN to enable the buffers. In this mode,                         for slave inputs, non-slave inputs leave the cascade line
whenever the 82C59A’s data bus outputs are enabled, the                             inactive (low). Therefore, it is necessary to use a slave
SP/EN output becomes active.                                                        address of 0 (zero) only after all other addresses are used.
                                                      CONTROL BUS
                                                                                                                                           INT REQ
                                                        DATA BUS (8)
INTERRUPT REQUESTS
                                                                                                           Die Characteristics
                                                                                                           Gate Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1250 Gates
CAUTION: Stresses above those listed in “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress only rating and operation of the
device at these or any other conditions above those indicated in the operational sections of this specification is not implied.
Capacitance TA = +25°C
   SYMBOL                              PARAMETER                                        TYP                        UNITS                            TEST CONDITIONS
       CIN          Input Capacitance                                                    15                         pF            FREQ = 1MHz, all measurements reference to
                                                                                                                                  device GND.
     COUT           Output Capacitance                                                   15                         pF
      CI/O          I/O Capacitance                                                      15                         pF
AC Electrical Specifications VCC = +5.0V 10%, GND = 0V, TA = Operating Temperature Range
AC Electrical Specifications VCC = +5.0V 10%, GND = 0V, TA = Operating Temperature Range (Continued)
AC Test Circuit
                                                                               V1
                                                                                        R1
                                        OUTPUT FROM                                                  TEST
                                        DEVICE UNDER                                                 POINT
                                                TEST               C1                   R2
                                                                   (NOTE)
                                             TEST
                                           CONDITION          V1              R1              R2              C1
                                    INPUT                                                       OUTPUT
                                   VIH +0.4V                                                     VOH
1.5V 1.5V
NOTE: AC Testing: All input signals must switch between VIL - 0.4V and VIH + 0.4V. Input rise and fall times are driven at 1ns/V.
Timing Waveforms
                                  WR                                (6)
                                                                  TWLWH
                                                   (4)                                      (5)
                                                 TAHWL                                    TWHAX
                              CS
                     ADDRESS BUS
                              A0
                                                                        (7)           (8)
                                                                      TDVWH         TWHDX
DATA BUS
                                                                     (3)
                            RD/INTA                                TRLRH
                                                               (18)                      (19)
                                                              TRLEL                     TRHEH
                                  EN
                                                   (1)                                      (2)
                                                 TAHRL                                    TRHAX
                              CS
                     ADDRESS BUS
                              A0
                                                                  (14)                (15)
                                                                 TRLDV               TRHDZ
                          DATA BUS
                                                               (20)
                                                              TAHDV
                             RD
                           INTA                                           (11)
                                                                         TRHRL
                            WR
                                                                        (12)
                             RD                                        TWHWL
                           INTA
                            WR                                            (13)
                                                                         TCHCL
                             RD
                           INTA
                            WR
                                                            (16)
                                                           TJHIH
                                  IR
INT
                               INTA
                                          SEE NOTE 1
                                                                     SEE
                                 DB                                 NOTE 2
                                                                             (10)            (10)
                                                                   TCVIAL                           TCVIAL
                           CAS 0 - 2
                                                                     (17)     (21)
                                                                   TIALCV    TCVDV
NOTES:
1. Interrupt Request (IR) must remain HIGH until leading edge of first INTA.
2. During first INTA the Data Bus is not active in 80C86/88/286 mode.
3. 80C86/88/286 mode.
4. 8080/8085 mode.
                                                         FIGURE 15. INTA SEQUENCE
Burn-In Circuits
                                                              MD82C59A CERDIP
                                                         R1
                                          GND                 1                      28                            VCC
                                                         R1
                                           WR                 2                      27 R1            A0        C1
                                                         R1
                                           RD                 3                      26 R1            INTA
                                                         R1
                                             D7               4                      25 R2            IR7
                                                         R1
                                             D6               5                      24 R2            IR6                VCC
                                                         R1
                                             D5               6                      23 R2            IR5
                                                         R1
                                             D4               7                      22 R2            IR4
                                                         R1                                                                    R3
                                             D3               8                      21 R2            IR3
                                                         R1                                                    A
                                             D2               9                      20 R2            IR2
                                                         R1
                                             D1               10                     19 R2            IR1
                                                                                                                               R3
                                                         R1
                                             D0               11                     18 R2            IR0
                                                         R3
                                         CAS 0                12                     17               A
                                                         R3
                                         CAS 1                13                     16 R3            SP/EN
GND 14 15 R3 CAS 2
Burn-In Circuits
                                                             5962-850160X3A CLCC
VCC C1
                                                      D7      RD WR GND                               A0 INTA
                                                             R1       R1       R1       R1                 R1     R1
                                                      4           3        2        1        28       27        26
                                     R1                                                                                     R2
                             D6                   5                                                                    25        IR7
                                     R1                                                                                     R2
                             D5                   6                                                                    24        IR6
                                     R1                                                                                     R2
                             D4                   7                                                                    23        IR5
                                     R1                                                                                     R2
                             D3                   8                                                                    22        IR4
                                     R1                                                                                     R2
                             D2                   9                                                                    21        IR3
                                     R1                                                                                     R2
                             D1                  10                                                                    20        IR2
                                     R1                                                                                     R2
                             D0                  11                                                                    19        IR1
                                                      12      13       14       15       16           17        18
R1 R1 R1 R1 R4 R2
                                                                                                            IR0
                                                                       GND
                                                                                         SP/EN
                                                      CAS0
CAS1
CAS2
VCC/2
  NOTES:
   1. VCC = 5.5V 0.5V.           7. R3 = 10k 5%.
   2. VIH = 4.5V 10%.            8. R4 = 1.2k 5%.
   3. VIL = -0.2V to 0.4V.        9. C1 = 0.01F min.
   4. GND = 0V.                   10. F0 = 100kHz 10%.
   5. R1 = 47k 5%.              11. F1 = F0/2, F2 = F1/2, ...F8 = F7/2.
   6. R2 = 510 5%.
Die Characteristics
METALLIZATION:
 Type: Si-Al-Cu
 Thickness: Metal 1: 8kÅ  0.75kÅ
             Metal 2: 12kÅ 1.0kÅ
GLASSIVATION:
 Type: Nitrox
 Thickness: 10kÅ  3.0kÅ
D0 D1 D2 D3 D4 D5 D6
CAS0 D7
CAS1 RD
GND WR
                                                                                  CS
                CAS2
SP/EN VCC
INT A0
IR0 INTA
Revision History
The revision history provided is for informational purposes only and is believed to be accurate, but not warranted. Please go to the web to make sure
that you have the latest revision.
These resources are intended for developers skilled in the art designing with Renesas products. You are solely responsible
for (1) selecting the appropriate products for your application, (2) designing, validating, and testing your application, and (3)
ensuring your application meets applicable standards, and any other safety, security, or other requirements. These
resources are subject to change without notice. Renesas grants you permission to use these resources only for
development of an application that uses Renesas products. Other reproduction or use of these resources is strictly
prohibited. No license is granted to any other Renesas intellectual property or to any third party intellectual property.
Renesas disclaims responsibility for, and you will fully indemnify Renesas and its representatives against, any claims,
damages, costs, losses, or liabilities arising out of your use of these resources. Renesas' products are provided only subject
to Renesas' Terms and Conditions of Sale or other applicable terms agreed to in writing. No use of any Renesas resources
expands or otherwise alters any applicable warranties or warranty disclaimers for these products.
Trademarks
Renesas and the Renesas logo are trademarks of Renesas
Electronics Corporation. All trademarks and registered
trademarks are the property of their respective owners.