Tipo | Bus periférico | ||
---|---|---|---|
Historial de producción | |||
Diseñador | Comodoro Internacional | ||
Diseñado | 1980 ( 1980 ) | [1]||
Fabricante | Varios | ||
Producido | 1980-presente | ||
Especificaciones generales | |||
Longitud | 1,8 metros máximo [2] | ||
Conectable en caliente | No | ||
Conexión en cadena | Sí, hasta 31 dispositivos [3] | ||
Externo | Sí | ||
Patas | 6 | ||
Conector | Conector DIN | ||
Eléctrico | |||
Señal | Colector abierto 5 V | ||
Voltaje máx. | 5 voltios | ||
Corriente máx. | 3,2 mA [4] | ||
Datos | |||
Señal de datos | Sí | ||
Tasa de bits | 3,2–41,6 kbit /s [5] [6] | ||
Protocolo | De serie | ||
Distribución de pines | |||
Toma hembra desde el frente. | |||
Pin 1 | Pregunta frecuente | Solicitud de servicio | |
Pin 2 | Tierra | Suelo | |
Pin 3 | ATENCIÓN | Atención | |
Pin 4 | Clic | Reloj | |
Pin 5 | DATOS | Datos | |
Pin 6 | REINICIAR | Reiniciar |
El bus serie Commodore ( IEC Bus ) es la interfaz de Commodore principalmente para el almacenamiento de datos en discos magnéticos e impresoras para computadoras hogareñas Commodore de 8 bits : VIC-20 , Commodore 64 , Commodore 128 , Plus/4 , [7] Commodore 16 y Commodore 65 .
La interfaz IEEE-488 paralela utilizada en la línea de ordenadores Commodore PET (1977) era demasiado costosa, por lo que se desarrolló una versión de menor costo, que consistía en una versión en serie reducida de la interfaz IEEE-488, con solo unas pocas señales restantes; sin embargo, se mantuvo el diseño general del protocolo. Commodore comenzó a utilizar este bus con el VIC-20 (1980). La conexión al ordenador utiliza un conector DIN-6 (DIN 45322).
Configuración | Velocidad | Tasa de bits efectiva |
---|---|---|
Comodoro 64 + 1541 | 400 bytes/s | 3200 bits/s |
Commodore 64 + 1541 con cargador rápido | 2560 bytes/s [5] | 20 480 bits/s |
Comodoro 128 + 1571 | 5200 bytes/s [6] | 41 600 bits/s |
20 μs teóricos [3] | 6250 bytes/s | 50 000 bits/s |
Alfiler | Nombre | Función |
---|---|---|
1 | /SRQIN | Entrada de solicitud de servicio para que los periféricos soliciten ser atendidos por el host (C64). Utilizado por el C128 para transferencias rápidas. [9] |
2 | Tierra | Tierra [8] |
3 | /ATN | Entrada/salida de ATN serial. El host lo establece en un nivel bajo (C64) para indicar el comienzo de una transferencia de datos serial. [9] |
4 | /CLK | Entrada/salida CLK en serie. Se utiliza para el protocolo de enlace de software. [9] |
5 | /DATOS | Entrada/salida de datos en serie. Transferencia de bits de datos. [9] |
6 | /REINICIAR | Reinicia los periféricos y también reinicia un C64 más antiguo. [9] |
Las señales del bus son digitales , de colector abierto de un solo extremo , de 5 voltios TTL y activas cuando el nivel es bajo. Los dispositivos del bus deben proporcionar su propia energía.
Debido a que las líneas de bus son colectores abiertos eléctricamente, funcionan como una compuerta OR larga entre todos los controladores de línea de dispositivos. El valor lógico de tierra es verdadero y viceversa. Cualquier dispositivo puede establecer una línea como "verdadera". Una línea solo se vuelve "falsa" si todos los dispositivos señalan que es falsa.
La transmisión comienza cuando el hablante del bus mantiene la línea de reloj en estado verdadero y el o los oyentes mantienen la línea de datos en estado verdadero. Para comenzar, el hablante libera la línea de reloj en estado falso. Cuando todos los oyentes del bus están listos para recibir, liberan la línea de datos en estado falso. Si el hablante espera más de 200 μs sin que la línea de reloj se vuelva verdadera (estado inactivo), los oyentes deben ejecutar la función de fin o identificación (EOI). [3]
Si el hablante no reconoce que la línea de datos es falsa (liberada) dentro de los 200 μs, el oyente sabe que el hablante está en el proceso de EOI, lo que significa que "este carácter será el último". Cuando el oyente detecta el tiempo de espera de 200 μs, debe reconocerlo activando la línea de datos durante al menos 60 μs y luego liberándola. El hablante puede volver a transmitir nuevamente dentro de los 60 μs activando la línea de reloj. [3]
Los datos son ocho bits que comienzan con el bit menos significativo. La línea de datos se configura de acuerdo con el bit a enviar (1=verdadero=tierra). Una vez que se configura la línea de datos, la línea de reloj se libera a falso. Las líneas de reloj y datos se mantendrán estables durante al menos 20 μs (excepto para Commodore 64 que necesita 60 μs). Después de que se hayan enviado 8 bits, el hablante libera la línea de datos a falso y el oyente reconoce al hablante haciendo que la línea de datos sea verdadera dentro de los 1000 μs. Después de esto, el hablante establece la línea de reloj como verdadera y el oyente establece la línea de datos como verdadera, de modo que regresa al punto donde comenzó la transmisión. Si se señala un EOI manteniendo la línea de reloj como falsa, la transmisión finaliza y el oyente lo reconoce haciendo que la línea de datos sea verdadera durante 200 μs. [3]
La línea ATN se establece como verdadera y los bytes se envían como se indica arriba a todos los dispositivos, pero el byte se interpreta como uno de los comandos "Hablar", "Escuchar", "Dejar de hablar" y "Dejar de escuchar". Eso le indica a un dispositivo específico que se convierta en un hablante o un oyente. Solo los dispositivos con números de dispositivo coincidentes cambian al modo de hablar y escuchar. También puede seguir una dirección secundaria. [3]
En un nivel lógico superior, el host establecerá la línea ATN como verdadera y transmitirá los bytes "Dispositivo número 8, escuchar", "Dirección secundaria 2, abrir". A continuación, establecerá la línea ATN como falsa y el host se convierte en el hablante, manteniendo la línea Clock como verdadera. El dispositivo será el oyente, manteniendo la línea Data como verdadera. El host transmitirá el comando de apertura específico y lo finalizará con una secuencia de señal EOI. Después de esto, el host establecerá con la línea ATN como verdadera, "Dispositivo número 8, dejar de escuchar". Seguido por la línea ATN como verdadera y "Dispositivo número 8, escuchar", "Dirección secundaria 2, datos". Luego, el host establece la línea ATN como falsa y envía los datos. Cuando el host ha terminado de enviar datos, la línea ATN se establece como verdadera y se envía "Dispositivo número 8, dejar de escuchar". [3]
Cuando es necesario cambiar de roles y hacer que el host sea un oyente y el dispositivo un hablante, esto ocurre después de que se haya enviado un comando de conversación al dispositivo. El host establece la línea de datos como verdadera y libera la línea de reloj como falsa. El dispositivo espera a que la línea de reloj se vuelva falsa y luego la vuelve verdadera y libera la línea de datos como falsa. Después de esta secuencia, puede seguir la interacción estándar entre el hablante y el oyente. [3]
Código | Significado |
---|---|
dispositivo | 0x20 | Escucha, dispositivo (0–30) |
0x3F | Dejar de escuchar, todos los dispositivos |
dispositivo | 0x40 | Hablar, dispositivo |
0x5F | Untalk, todos los dispositivos |
canal | 0x60 | Reapertura, canal (0–15) |
canal | 0xE0 | Cerrar, canal |
canal | 0xF0 | Abierto, canal |
Para leer un archivo normal desde el disquete número 8, LOAD "filename",8,1
se emite el comando en un Commodore 64. Esto hace que se produzca la siguiente comunicación de alto nivel:
Dominio | Destino | Significado |
---|---|---|
/28 | Dispositivo | Escucha, dispositivo número 8 |
/F0 | Dispositivo | Abrir canal 0 |
Dispositivo | Enviar bytes de nombre de archivo | |
/3F | Dispositivos | Dejar de escuchar todos los dispositivos |
/48 | Dispositivo | Hablar, Dispositivo número 8 |
/60 | Dispositivo | Reabrir el canal 0 |
El dispositivo número 8 se convierte en el maestro del bus. | ||
Anfitrión | Recibir datos de bytes | |
El host se convierte en el maestro del bus (funcionamiento normal) | ||
/5F | Dispositivos | Anular la comunicación con todos los dispositivos |
/28 | Dispositivo | Escucha, dispositivo número 8 |
/E0 | Dispositivo | Cerrar canal 0 |
/3F | Dispositivos | Dejar de escuchar todos los dispositivos |
La unidad de disquete Commodore 1541 utiliza un modo compatible con Commodore 64 más lento que se puede desactivar para lograr una mayor velocidad mediante el comando OPEN 15,8,15,"UI-":CLOSE 15
. [11]
Dispositivo | Tipo |
---|---|
0 | Teclado |
1 | Puerto de casete |
2 | RS-232 en el puerto de usuario o segundo casete en PET |
3 | Pantalla |
4–5 | Impresora |
6 | Dispositivo típicamente trazador |
7 | ¿Segundo conspirador? |
8–15 | Disco (10 – utilizado por algunas interfaces de impresora serie-paralelo) |
16–30 | Desconocido |
31 | Reservado como comando para todos los dispositivos |
Los dispositivos número 0 a 3 no están asociados con el bus Commodore. [10]
La computadora VIC-20 y las unidades de disquete Commodore 1540 y 1541 utilizan el VIA 6522 de MOS Technology para manejar transmisiones de bus IEC. Las computadoras Commodore 64 y 128 y la unidad Commodore 1571 utilizan el adaptador de interfaz compleja .
Dispositivo | Información |
---|---|
Comodoro 1541 | 5+Disquete de 1 ⁄ 4 de pulgada (130 mm) y 170 KB |
Comodoro 1570 | 5+Disquete de 1 ⁄ 4 de pulgada (130 mm) y 170 KB |
Comodoro 1571 | 5+Disquete de 1 ⁄ 4 de pulgada (130 mm) de 350 a 410 KB |
Comodoro 1581 | 3+Disquete de 800 KB y 1 ⁄2 pulgada ( 89 mm ) |
MSD SD-1/SD-2 | 5+Disquete simple o doble de 1 ⁄4 de pulgada (130 mm) de 170 KB |
Comodoro MPS 801 | Impresora matricial de puntos |
Comodoro 1515 [12] | Impresora matricial de puntos |
Comodoro 1520 | Impresora de bolígrafo |
Comodoro VIC-1525 [13] | Impresora matricial de puntos |
Comodoro VIC-1526 | Impresora matricial MPS 802 renombrada |
Okimate 10 | Impresora matricial de puntos |
Comodoro DPS-1101 [14] | Impresora de rueda de margarita |
INTERPOD | IEEE-488 + RS-232 autónomo [15] |
VIC-20 | Computadora de 1 MHz y 5 KB |
Comodoro 64 | Computadora de 1 MHz y 64 KB |
Comodoro SX-64 | Computadora de 1 MHz y 64 KB |
Comodoro 128 | Computadora de 2 MHz y 128 KB |
Comodoro 16 | Computadora de 16 KB y 1-2 MHz |
Comodoro Plus/4 | Computadora de 1,76 MHz y 64 KB |
Comodoro 65 | Computadora de 3,54 MHz y 128 KB |
(1) Cable blindado de 4 conductores de 6' o 1,8 metros (máximo) (para conexión serial)
Corriente de salida baja (descarga); VOL < .4 v (PA0-PA7, PC, PB0-PB7, DB0-DB7) IOL 3.2 mA
Los trucos de programación utilizados por
Epyx
han permitido obtener tasas de transferencia de hasta 2,5 kilobytes por segundo.
El 1541 funciona perfectamente con el Plus/4.