The DIA20 IBus Adapter Control (IBC) is a KL10 controller designed to connect KA10/K110 I/O devices, which operate on the IBus, to a KL10 system via the EBus. Its primary function is to extend EBus operations to these IBus devices by translating EBus signals and commands into IBus equivalents and performing necessary voltage level conversions between the two buses (EBus: 0V/+3V; IBus: 0V/-3V).
Key functions and operations of the DIA20 include:
- Default Command Handling: The IBC responds by default to EBus commands (like CONO/DATAO, CONI/DATAI) that are not addressed to any other KL10 controller. This prevents EBox timeouts and ensures these commands are relayed to the IBus.
- Data Transfer: It provides a 36-line bidirectional data path. For EBus-to-IBus transfers (DATAO), data is gated directly. For IBus-to-EBus transfers (DATAI, API responses), data is first stored in an internal 36-bit buffer.
- Priority Interrupt (PI) Control:
- It relays priority interrupt requests from IBus devices to the EBus.
- When a PI SERVED command is issued by the EBox, the IBC compares the served channel number with active IBus requests and, if a match occurs, asserts its physical number (15) on the EBus data lines.
- For PI ADR IN commands, it relays the served channel number to the IBus, synchronizes KI10 devices to provide an API response (interrupt function code and address) on the IBus data lines, captures this, and transmits it to the EBus. If no API response, it generates a standard KA10 interrupt function code.
- Bus Level Conversion and Discharge: It performs voltage level conversion and discharges the IBus data lines to -3V after most commands (excluding PI SERVED).
- Physical Configuration: The IBC consists of three double-height hex-boards, uses TTL circuitry (except at the IBus interface), and provides two IBus outputs with a maximum length of 100 feet. It can operate in "fast" or "slow" modes, selectable via a jumper.