Diamond Systems RUBY-MM-1612 user manual 82C55A Functional Description, Data Bus Buffer

Page 22

82C55A

Functional Description

I/O

PA7-

Data Bus Buffer

This three-state bi-directional 8-bit buffer is used to interface the 82C55A to the system data bus. Data is transmitted or

POWER

+5V

GROUP A

SUPPLIES

GND

 

 

CONTROL

GROUP A

PORT A

(8)

PA0

I/O

received by the buffer upon execution of input or output instructions by the CPU. Control words and status informa- tion are also transferred through the data bus buffer.

Read/Write and Control Logic

The function of this block is to manage all of the internal and external transfers of both Data and Control or Status words. It accepts inputs from the CPU Address and Control busses and in turn, issues commands to both of the Control Groups.

(CS) Chip Select. A “low” on this input pin enables the communcation between the 82C55A and the CPU.

(RD) Read. A “low” on this input pin enables 82C55A to send

BI-DIRECTIONAL

 

DATA BUS

 

 

DATA

 

D7-D0

BUS

 

BUFFER

8-BIT

 

 

 

INTERNAL

 

 

DATA BUS

RD

READ

GROUP B

WR

WRITE

A1

CONTROL

CONTROL

A0

 

LOGIC

 

RESET

 

 

 

CS

 

 

PC7-

GROUP A PC4 PORT C

UPPER

(4) I/O

PC3-

GROUP B

PC0

PORT C

 

LOWER

 

(4)

 

 

I/O

 

PB7-

GROUP B

PB0

 

PORT B

 

(8)

 

the data or status information to the CPU on the data bus. In essence, it allows the CPU to “read from” the 82C55A.

(WR) Write. A “low” on this input pin enables the CPU to write data or control words into the 82C55A.

(A0 and A1) Port Select 0 and Port Select 1. These input signals, in conjunction with the RD and WR inputs, control the selection of one of the three ports or the control word register. They are normally connected to the least significant bits of the address bus (A0 and A1).

82C55A BASIC OPERATION

 

 

 

 

 

INPUT OPERATION

A1

A0

RD

WR

CS

(READ)

 

 

 

 

 

 

0

0

0

1

0

Port A Data Bus

 

 

 

 

 

 

0

1

0

1

0

Port B Data Bus

 

 

 

 

 

 

1

0

0

1

0

Port C Data Bus

 

 

 

 

 

 

1

1

0

1

0

Control Word Data Bus

 

 

 

 

 

 

 

 

 

 

 

OUTPUT OPERATION

 

 

 

 

 

(WRITE)

 

 

 

 

 

 

0

0

1

0

0

Data Bus Port A

 

 

 

 

 

 

0

1

1

0

0

Data Bus Port B

 

 

 

 

 

 

1

0

1

0

0

Data Bus Port C

 

 

 

 

 

 

1

1

1

0

0

Data Bus Control

 

 

 

 

 

 

 

 

 

 

 

DISABLE FUNCTION

 

 

 

 

 

 

X

X

X

X

1

Data Bus Three-State

 

 

 

 

 

 

X

X

1

1

0

Data Bus Three-State

 

 

 

 

 

 

FIGURE 1. 82C55A BLOCK DIAGRAM. DATA BUS BUFFER, READ/WRITE, GROUP A & B CONTROL LOGIC FUNCTIONS

(RESET) Reset. A “high” on this input initializes the control register to 9Bh and all ports (A, B, C) are set to the input mode. “Bus hold” devices internal to the 82C55A will hold the I/O port inputs to a logic “1” state with a maximum hold current of 400μA.

Group A and Group B Controls

The functional configuration of each port is programmed by the systems software. In essence, the CPU “outputs” a con- trol word to the 82C55A. The control word contains information such as “mode”, “bit set”, “bit reset”, etc., that ini- tializes the functional configuration of the 82C55A.

Each of the Control blocks (Group A and Group B) accepts “commands” from the Read/Write Control logic, receives “control words” from the internal data bus and issues the proper commands to its associated ports.

Control Group A - Port A and Port C upper (C7 - C4)

Control Group B - Port B and Port C lower (C3 - C0)

The control word register can be both written and read as shown in the “Basic Operation” table. Figure 4 shows the control word format for both Read and Write operations. When the control word is read, bit D7 will always be a logic “1”, as this implies control word mode information.

3

Image 22 Contents
RUBY-MM-1612 Table of Contents Description Signal Name Definition O Header PinoutBase Address Configuration Header J5 Position Hex Decimal Board ConfigurationBase Address On-Board Reference Full-Scale Voltage Selection Analog Output Range ConfigurationAdjustable Reference Voltage Full-Scale VoltageAnalog Output Configuration Header J4 Range RUBY-MM-1612 Board Drawing Ruby-MM-1612 I/O Map Reset informationBase + Write Function Read Function Base + 0, Write DAC LSB register Base + 0 or 1, Read Update DACsRegister Definitions Base + 1, Write DAC MSB registerBase + 3, Write External trigger register 82C55 Register Map Configuration Register82C55 Digital I/O Chip Operation DefinitionsFull Scale 1LSB Analog Output Ranges and ResolutionFull Scale 10. D/A Code Computation LSB = 1/2048 x Full-Scale Voltage Offset Binary Coding for bipolar output rangesOutput Code Explanation Output Voltage for ±5V Range Hardware Update Command HOW to Generate AN Analog OutputTo generate an analog output on one or more channels Examples Single channel output Two channel outputCalibration Procedure Specifications MiscellaneousDescription FeaturesOrdering Information PinoutsFunctional Diagram 82C55A Pin DescriptionRead/Write and Control Logic 82C55A Functional DescriptionData Bus Buffer Group a and Group B ControlsOperational Description Mode Selection82C55A Ports A, B, and CInterrupt Control Functions Single Bit Set/Reset Feature FigureOperating Modes Inte Flip-Flop DefinitionMode 0 Basic Output Mode 0 Basic InputMode 0 Configurations Control Word #4 Control Word #8 STB Strobe Input Input Control Signal DefinitionIBF Input Buffer Full F/F Output Control Signal Definition Intr Interrupt RequestOutput Operations Mode 2 Strobed Bi-Directional Bus I/OBi-Directional Bus I/O Control Signal Definition Input OperationsMode Control Word Mode 2 Combinations Special Mode Combination Considerations Current Drive CapabilityApplications of the 82C55A Reading Port C Status Figures 15