Autobus del Commodoro - Commodore bus
|
| |||
| genere | Bus periferico | ||
|---|---|---|---|
| Storia della produzione | |||
| progettista | Commodore Internazionale | ||
| Progettato | 1980 | ||
| Produttore | Varie | ||
| Prodotto | 1980-oggi | ||
| Specifiche generali | |||
| Lunghezza | 1,8 metri massimo | ||
| Collegabile a caldo | No | ||
| ghirlanda di margherite | Sì, fino a 31 dispositivi | ||
| Esterno | sì | ||
| spilli | 6 | ||
| Connettore | Connettore DIN | ||
| Elettrico | |||
| Segnale | Collettore aperto 5 V | ||
| massimo voltaggio | 5 V | ||
| massimo attuale | 3,2 mA | ||
| Dati | |||
| Segnale dati | sì | ||
| Bitrate | 3,2–41,6 kbit /s | ||
| Protocollo | Seriale | ||
| Pin out | |||
| |||
| Presa femmina dalla parte anteriore. | |||
| Pin 1 | SRQ | Richiesta servizio | |
| Pin 2 | GND | Terra | |
| Perno 3 | ATN | Attenzione | |
| Perno 4 | CLK | Orologio | |
| Perno 5 | DATI | Dati | |
| Perno 6 | RIPRISTINA | Ripristina | |
Il bus seriale Commodore IEEE-488 ( IEC Bus ), è l'interfaccia del Commodore principalmente per l'archiviazione di dati su disco magnetico e stampanti per i computer domestici/personali Commodore a 8 bit , in particolare il VIC-20 , C64 , C128 , Plus/4 , C16 e C65 .
Descrizione e storia
L' interfaccia parallela IEEE-488 utilizzata sulla linea di computer Commodore PET (1977) era troppo costosa, quindi è stata sviluppata una versione a costi ridotti, che consisteva in una versione seriale ridotta dell'interfaccia IEEE-488, con solo pochi segnali rimasti ; tuttavia, è stato mantenuto lo schema generale del protocollo. Commodore ha iniziato a utilizzare questo bus con il VIC-20 (1980). La connessione al computer utilizza un connettore DIN-6 .
Velocità di trasferimento
| Impostare | Velocità | Bitrate effettivo |
|---|---|---|
| Commodore 64 + 1541 | 400 byte/s | 3 200 bit/s |
| Commodore 64 + 1541 con caricatore veloce | 2560 byte/s | 20 480 bit/s |
| Commodoro 128 + 1571 | 5200 byte/s | 41 600 bit/s |
| Teorico 20 µs | 6250 byte/s | 50 000 bit/s |
Interfaccia
| Pin | Nome | Funzione |
|---|---|---|
| 1 | /SRQIN | Input di richiesta di servizio per consentire alle periferiche di essere servite dall'host (C64). Utilizzato dal C128 per trasferimenti veloci. |
| 2 | GND | Terra |
| 3 | /ATN | Ingresso/Uscita ATN seriale. Impostato basso dall'host (C64) per indicare l'inizio di un trasferimento dati seriale. |
| 4 | /CLK | Ingresso/Uscita CLK seriale. Utilizzato per l'handshaking del software. |
| 5 | /DATI | Ingresso/Uscita DATI seriali. Trasferimento di bit di dati. |
| 6 | /RIPRISTINA | Ripristina le periferiche e ripristina anche un vecchio C64. |
Descrizione del protocollo
I segnali del bus sono digitali single-ended open collector a 5 volt TTL e attivi quando sono bassi. I dispositivi bus devono fornire la propria alimentazione.
Poiché le linee del bus sono elettricamente a collettore aperto, funziona come un lungo gate OR tra tutti i driver della linea del dispositivo. Il valore logico di ground è vero e viceversa. Qualsiasi dispositivo può impostare una linea "true". Una linea diventa "falsa" solo se tutti i dispositivi segnalano falso.
La trasmissione inizia con l' oratore del bus che mantiene vera la linea di clock e l'ascoltatore che mantiene vera la linea dei dati. Per iniziare, l'oratore rilascia la linea dell'orologio su false. Quando tutti i bus listener sono pronti a ricevere, rilasciano la linea dati su false. Se l'oratore attende più di 200 µs senza che la linea di clock diventi vera (stato di inattività), gli ascoltatori devono eseguire End-or-Identify (EOI).
Se la linea dati è falsa (rilasciata) non viene riconosciuta dall'oratore entro 200 µs, l'ascoltatore sa che l'oratore è in fase di EOI, il che significa "questo personaggio sarà l'ultimo". Quando l'ascoltatore rileva il timeout di 200 µs, deve riconoscerlo tirando la linea Data true per almeno 60 µs, quindi rilasciarla. L'oratore può tornare a trasmettere di nuovo entro 60 µs tirando la linea di clock su true.
I dati sono otto bit che iniziano con il bit meno significativo. La linea dati è impostata in base al bit da inviare (1=vero=terra). Una volta impostata la linea Data, la linea Clock viene rilasciata su false. Le linee Clock e Data verranno mantenute fisse per almeno 20 µs (tranne Commodore 64 che necessita di 60 µs). Dopo che sono stati inviati 8 bit, l'oratore rilascia la linea dati su false e l'ascoltatore quindi riconosce l'oratore tirando la linea dati su vero entro 1000 µs. Dopodiché, l'oratore imposta la linea dell'orologio su vera e l'ascoltatore imposta la linea dati su vera, quindi torna al punto in cui è iniziata la trasmissione. Se viene segnalato un EOI tenendo falsa la linea Clock, la trasmissione è terminata e l'ascoltatore lo riconosce tirando la linea Data true per 200 µs.
La linea ATN è impostata su true e i byte vengono inviati come sopra a tutti i dispositivi, ma il byte viene interpretato come uno dei comandi "Parla", "Ascolta", "Annulla conversazione" e "Non ascoltare". Che dicono a un dispositivo specifico di diventare un oratore o un ascoltatore. Solo i dispositivi con numeri di dispositivo corrispondenti passano alla modalità di conversazione e ascolto. Può seguire anche un indirizzo secondario.
A livello logico superiore l'host imposterà la linea ATN su true e trasmetterà i byte "Device number 8, listen", "Secondary address 2, open". Successivamente imposterà la linea ATN come falsa e l'host diventa quindi l'oratore, mantenendo la linea dell'orologio vera. Il dispositivo sarà l'ascoltatore, mantenendo la linea Dati vera. L'host trasmetterà il comando di apertura specifico e lo terminerà con una sequenza di segnali EOI. Dopodiché l'host imposterà con la linea ATN true, "Dispositivo numero 8, non ascoltare". Seguito da linea ATN vera e "Dispositivo numero 8, ascolto", "Indirizzo secondario 2, dati". Quindi l'host imposta la linea ATN su false e invia i dati. Quando l'host ha terminato l'invio dei dati, la linea ATN viene impostata su true e viene inviato "Numero dispositivo 8, non ascoltare".
Quando è necessario scambiare i ruoli e rendere l'host un ascoltatore e il dispositivo un oratore, si verifica dopo che un comando di conversazione è stato inviato al dispositivo. L'host imposta la linea Data su true e rilascia la linea Clock su false. Il dispositivo attende che la linea Clock diventi falsa, quindi la porta su true e rilascia la linea dati su false. Dopo questa sequenza può seguire l'interazione standard parla-ascoltatore.
| Codice | Senso |
|---|---|
| dispositivo | 0x20 | Ascolta, dispositivo (0-30) |
| 0x3F | Non ascoltare, tutti i dispositivi |
| dispositivo | 0x40 | Parla, dispositivo |
| 0x5F | Non parlare, tutti i dispositivi |
| canale | 0x60 | Riapri, canale (0–15) |
| canale | 0xE0 | Chiudi, canale |
| canale | 0xF0 | Apri, canale |
Per leggere un normale file dal dispositivo floppy numero 8 il comando LOAD "filename",8,1viene emesso su un Commodore 64 . Ciò provoca la seguente comunicazione di alto livello:
| Comando | Destinazione | Senso |
|---|---|---|
| /28 | Dispositivo | Ascolta, dispositivo numero 8 |
| /F0 | Dispositivo | Aprire il canale 0 |
| Dispositivo | Invia byte nome file | |
| /3F | dispositivi | Non ascoltare tutti i dispositivi |
| /48 | Dispositivo | Parla, dispositivo numero 8 |
| /60 | Dispositivo | Riapri canale 0 |
| Il dispositivo numero 8 diventa il master del bus | ||
| Ospite | Ricevi dati in byte | |
| L'host diventa il padrone del bus (funzionamento normale) | ||
| /5F | dispositivi | Annulla tutti i dispositivi |
| /28 | Dispositivo | Ascolta, dispositivo numero 8 |
| /E0 | Dispositivo | Chiudi canale 0 |
| /3F | dispositivi | Non ascoltare tutti i dispositivi |
L'unità floppy del Commodore 1541 utilizza una modalità compatibile con Commodore 64 più lenta che può essere disattivata per una maggiore velocità utilizzando il comando OPEN 15,8,15,"UI-":CLOSE 15.
Numerazione del dispositivo
| Dispositivo | genere |
|---|---|
| 0 | Tastiera |
| 1 | Porta cassetta Cas |
| 2 | RS-232 sulla porta utente o seconda cassetta su PET |
| 3 | Schermo |
| 4-5 | Stampante |
| 6 | Tipicamente dispositivo plotter |
| 7 | Secondo plotter? |
| 8–15 | Disco (10 – utilizzato da alcune interfacce stampante da seriale a parallela) |
| 16–30 | Sconosciuto |
| 31 | Riservato come comando a tutti i dispositivi |
I dispositivi numero 0–3 non sono associati al bus Commodore.
Implementazione dell'host
Il computer Commodore VIC-20 e le unità floppy Commodore 1540 e 1541 utilizzano la tecnologia MOS 6522 VIA per gestire le trasmissioni IEC Bus. I computer Commodore 64 e 128 e l' unità Commodore 1571 utilizzano l' adattatore di interfaccia complessa .
Dispositivi comuni
| Dispositivo | Informazioni |
|---|---|
| Commodoro 1541 | Floppy da 5¼ pollici 170 KB |
| Commodoro 1570 | Floppy da 5¼ pollici 170 KB |
| Commodoro 1571 | Floppy da 5¼ pollici 350–410 KB |
| Commodoro 1581 | Floppy da 3½ pollici da 800 KB |
| MSD SD-1/SD-2 | Floppy da 5¼ pollici singolo/doppio da 170 KB |
| Commodore MPS 801 | Stampante a matrice di punti |
| Commodoro 1515 | Stampante a matrice di punti |
| Commodoro 1520 | Stampante con penna a sfera |
| Commodoro VIC-1525 | Stampante ad aghi |
| Commodoro VIC-1526 | Rinominato MPS 802, stampante a matrice di punti |
| Okimè 10 | Stampante ad aghi |
| Commodore DPS-1101 | Stampante a margherita |
| INTERPOD | Standalone IEEE-488 + RS-232 |
| Commodoro VIC-20 | Computer da 1 MHz 5 KB |
| Commodore 64 | Computer da 1 MHz 64 KB |
| Commodore SX-64 | Computer da 1 MHz 64 KB |
| Commodore 128 | Computer 2 MHz 128 KB |
| Commodoro 16 | Computer da 1-2 MHz 16 KB KB |
| Commodore Plus/4 | Computer a 1,76 MHz 64 KB |
| Commodoro 65 | Computer da 3,54 MHz 128 KB |
dispositivi
Guarda anche
- Commodore DOS
- Periferiche Commodore 64
- Elenco dei bit rate del dispositivo
- Commodoro 1541
- Caricatore veloce
- Archiviazione dati su nastro magnetico
- IEEE-488 , la versione parallela originale
Riferimenti
link esterno
- "Salvataggio con la lunghezza del cavo 64HDD / XE1541..." lemon64.com .
- "Case history di design: il Commodore 64" (PDF) . Spettro IEEE . marzo 1985.
- "Descrizione segnale bus seriale" . uwaterloo.ca .
- "IEC sezionato" (PDF) . zimmers.net . 2008-02-24. Archiviato dall'originale (PDF) il 16/01/2017. – Documentazione del bus IEC utilizzata per la sezione IEC 1541-III
