Ruud's Commodore Site: 6522 Home Email

6522




What is it?

The 6522 is an IC of the 65xx-family supplying a system with 20 I/O lines, two timers, a serial-to-parallel/parallel-to-serial shift register and input latching on the peripheral ports. The 6522 is also called VIA: "Versatile Interface Adapter".


Description

Control of peripherals is primarily through two 8-bit bidirectional ports. Each of these ports can be programmed to act as an input or and output. Peripheral I/O lines can be selectively controlled by the Interval Timers to generate programmable frequency square waves and/or to count externally generated pulses. Control of these functions is gained through its internal registers: Interrupt Flag Register, Interrupt Enable Register, and two Function Control Registers.


Control lines

These lines, CA1, CA2, CB1 and CB2 can act as interrupt inputs or handshake outputs. They can perform a number of different functions determined by the Peripheral Control Register (PCR). CA2 and CB2 can act as inputs or outputs in a number or modes discussed later, whereas CA1 and CB1 can only act as inputs.


The internal registers

A 6522 has 16 internal registers:
Register        Designation             Function
--------        -----------             --------------------------------------
  0             ORA or IRB              Output or input register B
  1             ORA or IRA              Output or input register A
  2             DDRB                    Data direction register B
  3             DDRA                    Data direction register A
  4             T1C-L                   T1 low-byte latch or T1 low-byte
                                        counter
  5             T1C-H                   T1 high-byte counter
  6             T1L-L                   T1 low-byte latch
  7             T1L-H                   T1 high-byte latch
  8             T2C-L                   T2 low-byte latch or T2 low-byte
                                        counter
  9             T2C-H                   T2 high-byte counter
 10             SR                      Shift Register
 11             ACR                     Auxiliary Control Register
 12             PCR                     Peripheral Control Register
 13             IFR                     Interrupt Flag Register
 14             IER                     Interrupt Enable Register
 15             ORA or IRA              Identical to register 1 but no handshake
Out/input Registers
Whether a pin is an input or output depends the Data Direction Register. The data from as input defined pins is latched in the so called Input Registers (IRA, IRB) at the moment of an active transaction of CA1 or CB1. Whether these Input Registers are read or the actual data is outputted at the pins, depends on bit 0/1 of ACR.


Data Direction Registers
These registers determine the direction of each pin of port A or B and are interpreted as follows:
A '1' defines the corresponding pin as an output. A '0' defines the corresponding pin as an input.


Pin outs

          +---------------------+
   GND   -+  1               40 +-   CA1 
          |                     |
   PA0   -+  2               39 +-   CA2
          |                     |    
   PA1   -+  3               38 +-   RS0 
          |                     |    
   PA2   -+  4               37 +-   RS1 
          |                     |
   PA3   -+  5               36 +-   RS2
          |                     |
   PA4   -+  6               35 +-   RS3
          |                     |    ___
   PA5   -+  7               34 +-   RES
          |                     |
   PA6   -+  8               33 +-   D0
          |                     |
   PA7   -+  9               32 +-   D1
          |                     |
   PB0   -+ 10               31 +-   D2
          |        6522         |
   PB1   -+ 11               30 +-   D3
          |                     |
   PB2   -+ 12               29 +-   D4
          |                     |
   PB3   -+ 13               28 +-   D5
          |                     |
   PB4   -+ 14               27 +-   D6
          |                     |
   PB5   -+ 15               26 +-   D7
          |                     |
   PB6   -+ 16               25 +-   PHI2
          |                     |
   PB7   -+ 17               24 +-   CS1
          |                     |    ___
   CB1   -+ 18               23 +-   CS2
          |                     |      _
   CB2   -+ 19               22 +-   R/W
          |                     |    ___
   +5V   -+ 20               21 +-   IRQ
          +---------------------+
  
PA0..PA7  =  Port A, 8 programmable I/O lines
PB0..PB7  =  Port B, 8 programmable I/O lines
CA1..2
CB1..2    =  control lines
D0..D7    =  data bus
RS0..3    =  address bus
PHI2      =  Clock of the processor, also known as PHI2
R/W       =  Read/Write line
RES       =  Reset line
IRQ       =  Open Collector outputs, to be connected with IRQ input of CPU CS0..2    =  Three chip select lines




Having questions or comment? You want more information?
You can email me here.