MOS 6522

circuito integrato prodotto da MOS Technology per la gestione dell'input/output
(Reindirizzamento da MOS 6522 PIA)

Il MOS 6522 Versatile Interface Adapter (VIA) è un circuito integrato prodotto da MOS Technology come controller input/output per la famiglia di microprocessori MOS 65xx che abbina al controllo parallelo offerto dal MOS 6520 PIA un timer e un registro a scorrimento per le comunicazioni seriali. Prodotto inizialmente solo da MOS Technology, fu in seguito concesso in licenza anche ad altri produttori, tra cui Rockwell e Synertek.

Il Rockwell 6522 VIA, equivalente del MOS 6522

Il 6522 fu molto popolare negli home computer degli anni ottanta, soprattutto in quelli prodotti da Commodore, che lo usò anche in alcune periferiche quali l'unità dischi C1541[1], e nell'Apple III e nel Macintosh 128/512K prodotti da Apple e nel BBC Micro e fu praticamente ubiquitario nelle unità di controllo, persino industriale (quelle basate sul 6502 erano particolarmente diffuse tra il 1976 e i tardi anni '80).[senza fonte]

Porte di I/O modifica

Il VIA contiene 20 linee di I/O organizzate in 2 porte bidirezionali (PA e PB) a 8 bit (usabili anche come 16 linee di I/O di uso generico) e 4 linee di controllo (per la generazione dei segnali di handshake e di interrupt). La direzione di tutte le 16 linee di uso generale (PA0-7 e PB0-7) può essere programmata in modo indipendente; le linee di controllo possono essere programmate per generare un interrupt quando attivate (tutte e 4), si può bloccare lo stato della corrispondente porta di I/O (solo le porte CA1 e CB1), si possono generare automaticamente segnali di handshake per i dispositivi, o inviare in output un livello di segnale alto ("HIGH") o basso ("LOW").

 
La piedinatura del MOS 6522 VIA.

Timer modifica

Il VIA fornisce 2 timer/contatori a 16 bit che possono essere utilizzati in modalità monostabile, libera (divisore) o come contatore di impulsi: in questa modalità il contatore controlla il 7° bit della rispettiva porta di I/O (PA6 o PB6) e conta quanti cambiamenti di stato sono effettuati. Ogni contatore può generare un interrupt quando raggiunge il valore zero e generare un'onda quadra sull'8° bit della rispettiva porta di I/O (PA7 o PB7).

Registro a scorrimento modifica

Il registro a scorrimento del VIA è bidirezionale e largo 8 bit. Può scorrere sia con un segnale di clock generato dal 2° timer, sia con il clock della CPU oppure con un segnale esterno letto sulla linea CB1. L'input/output seriale è sulla linea CB2 e la CB1 può essere programmata anche per inviare un clock a dispositivi esterni.

Difetti del chip modifica

Il MOS 6522 VIA è affetto da alcuni bug sul registro a scorrimento.[senza fonte]

Il primo colpiva i chip usati con CPU che non usavano un bus di sistema compatibile con quello della famiglia 65xx, come il Motorola 68000. Se le linee di indirizzo cambiavano mentre il pin di selezione del chip era inattivo ma il pin di input del clock di Φ2 (Phase 2) era attivo, il contenuto del registro poteva essere cambiato nonostante il chip non fosse selezionato.

Un bug più noto riguardava il salto di lettura dei dati su CB1. Se il segnale su CB1 calava nel giro di pochi nanosecondi dalla caduta del segnale di Φ2 (Phase 2) della CPU, lo stato di CB1 veniva ignorato perdendo il bit. Ciò causava la corruzione dei successivi dati.

Questi problemi furono risolti da alcuni produttori nelle proprie versioni CMOS del chip, come California Micro Devices con il suo G65SC22.

Note modifica

  1. ^ Dettagli del MOS 6522 usato nel Commodore 1541 Floppy Disk Drive, su htu.tugraz.at. URL consultato il 22/02/2011 (archiviato dall'url originale il 6 luglio 2011).

Bibliografia modifica

Voci correlate modifica

Altri progetti modifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica