Autobús Commodore

Bus serie de ordenadores domésticos de la serie Commodore
Número de serie del comodoro
TipoBus periférico
Historial de producción
DiseñadorComodoro Internacional
Diseñado1980 ; hace 44 años [1] ( 1980 )
FabricanteVarios
Producido1980-presente
Especificaciones generales
Longitud1,8 metros máximo [2]
Conectable en calienteNo
Conexión en cadenaSí, hasta 31 dispositivos [3]
Externo
Patas6
ConectorConector DIN
Eléctrico
SeñalColector abierto 5 V
Voltaje máx.5 voltios
Corriente máx.3,2 mA [4]
Datos
Señal de datos
Tasa de bits3,2–41,6 kbit /s [5] [6]
ProtocoloDe serie
Distribución de pines
Toma hembra desde el frente.
Pin 1Pregunta frecuenteSolicitud de servicio
Pin 2TierraSuelo
Pin 3ATENCIÓNAtención
Pin 4ClicReloj
Pin 5DATOSDatos
Pin 6REINICIARReiniciar

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 .

Descripción e historia

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).

Velocidad de transferencia

ConfiguraciónVelocidadTasa de bits efectiva
Comodoro 64 + 1541400 bytes/s3200 bits/s
Commodore 64 + 1541 con cargador rápido2560 bytes/s [5]20 480 bits/s
Comodoro 128 + 15715200 bytes/s [6]41 600 bits/s
20 μs teóricos [3]6250 bytes/s50 000 bits/s

Interfaz

Distribución de pines [8]
AlfilerNombreFunción
1/SRQINEntrada 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]
2TierraTierra [8]
3/ATNEntrada/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/CLKEntrada/salida CLK en serie. Se utiliza para el protocolo de enlace de software. [9]
5/DATOSEntrada/salida de datos en serie. Transferencia de bits de datos. [9]
6/REINICIARReinicia los periféricos y también reinicia un C64 más antiguo. [9]

Descripción del protocolo

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]

Comandos de bus [3]
CódigoSignificado
dispositivo | 0x20Escucha, dispositivo (0–30)
0x3FDejar de escuchar, todos los dispositivos
dispositivo | 0x40Hablar, dispositivo
0x5FUntalk, todos los dispositivos
canal | 0x60Reapertura, canal (0–15)
canal | 0xE0Cerrar, canal
canal | 0xF0Abierto, canal

Para leer un archivo normal desde el disquete número 8, LOAD "filename",8,1se emite el comando en un Commodore 64. Esto hace que se produzca la siguiente comunicación de alto nivel:

Protocolo de alto nivel [10]
DominioDestinoSignificado
/28DispositivoEscucha, dispositivo número 8
/F0DispositivoAbrir canal 0
DispositivoEnviar bytes de nombre de archivo
/3FDispositivosDejar de escuchar todos los dispositivos
/48DispositivoHablar, Dispositivo número 8
/60DispositivoReabrir el canal 0
El dispositivo número 8 se convierte en el maestro del bus.
AnfitriónRecibir datos de bytes
El host se convierte en el maestro del bus (funcionamiento normal)
/5FDispositivosAnular la comunicación con todos los dispositivos
/28DispositivoEscucha, dispositivo número 8
/E0DispositivoCerrar canal 0
/3FDispositivosDejar 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]

Numeración de dispositivos

Numeración de dispositivos según ROM KERNAL Commodore 64 [10]
DispositivoTipo
0Teclado
1Puerto de casete
2RS-232 en el puerto de usuario o segundo casete en PET
3Pantalla
4–5Impresora
6Dispositivo típicamente trazador
7¿Segundo conspirador?
8–15Disco (10 – utilizado por algunas interfaces de impresora serie-paralelo)
16–30Desconocido
31Reservado como comando para todos los dispositivos

Los dispositivos número 0 a 3 no están asociados con el bus Commodore. [10]

Implementación del host

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 .

Dispositivos comunes

DispositivoInformación
Comodoro 15415+Disquete de 14 de pulgada (130 mm) y 170 KB
Comodoro 15705+Disquete de 14 de pulgada (130 mm) y 170 KB
Comodoro 15715+Disquete de 14 de pulgada (130 mm) de 350 a 410 KB
Comodoro 15813+Disquete de 800 KB y 1 ⁄2 pulgada ( 89 mm )
MSD SD-1/SD-25+Disquete simple o doble de 1 ⁄4 de pulgada (130 mm) de 170 KB
Comodoro MPS 801Impresora matricial de puntos
Comodoro 1515 [12]Impresora matricial de puntos
Comodoro 1520Impresora de bolígrafo
Comodoro VIC-1525 [13]Impresora matricial de puntos
Comodoro VIC-1526Impresora matricial MPS 802 renombrada
Okimate 10Impresora matricial de puntos
Comodoro DPS-1101 [14]Impresora de rueda de margarita
INTERPODIEEE-488 + RS-232 autónomo [15]
VIC-20Computadora de 1 MHz y 5 KB
Comodoro 64Computadora de 1 MHz y 64 KB
Comodoro SX-64Computadora de 1 MHz y 64 KB
Comodoro 128Computadora de 2 MHz y 128 KB
Comodoro 16Computadora de 16 KB y 1-2 MHz
Comodoro Plus/4Computadora de 1,76 MHz y 64 KB
Comodoro 65Computadora de 3,54 MHz y 128 KB

Dispositivos

Véase también

Referencias

  1. ^ "Historia del Commodore VIC-20". Archivado desde el original el 14 de febrero de 2015. Consultado el 2 de abril de 2016 .
  2. ^ "Construcción del cable serial XE1541" . Consultado el 2 de abril de 2016 . (1) Cable blindado de 4 conductores de 6' o 1,8 metros (máximo) (para conexión serial)
  3. ^ abcdefghi "Cómo funciona el bus serie VIC/64". 17 de abril de 2015. Consultado el 28 de abril de 2016 .
  4. ^ "Adaptador de interfaz complejo 6526 (CIA)" (PDF) . 2016-03-04. Archivado desde el original (PDF) el 2016-04-10 . Consultado el 2016-04-02 . Corriente de salida baja (descarga); VOL < .4 v (PA0-PA7, PC, PB0-PB7, DB0-DB7) IOL 3.2 mA
  5. ^ ab "Historia de un caso de diseño: el Commodore 64" (PDF) (publicado el 16 de abril de 2012). 1985. Archivado desde el original (PDF) el 13 de mayo de 2012. Consultado el 2 de abril de 2016. Los trucos de programación utilizados por Epyx han permitido obtener tasas de transferencia de hasta 2,5 kilobytes por segundo.
  6. ^ ab "Especificaciones de la unidad de disco Commodore 1571". Commodore Business Machines, Inc. Octubre de 1986. Consultado el 27 de abril de 2016 .
  7. ^ "Uso de la unidad de disco Commodore 1541 en un Commodore + 4". 2005-10-03 . Consultado el 2016-05-15 . El 1541 funciona perfectamente con el Plus/4.
  8. ^ ab "Pinout y cableado de E/S seriales C64 @ old.pinouts.ru". 16 de diciembre de 2013. Consultado el 2 de abril de 2016 .
  9. ^ abcde "Taller C-64 / Conexiones de pines". 2005-12-10 . Consultado el 2016-04-02 .
  10. ^ abc "Documentación del bus IEC utilizada para el IEC 1541-III diseccionada" (PDF) . 2008-02-24. Archivado desde el original (PDF) el 2017-01-16 . Consultado el 2016-04-28 .
  11. ^ "VIC-1541". C64-wiki.com . 2016-03-11 . Consultado el 2016-04-28 .
  12. ^ "VIC-1515 Manual de usuario Impresora gráfica de Commodore" (PDF) (publicado el 5 de noviembre de 2011). Abril de 1981. Consultado el 28 de abril de 2016 .
  13. ^ "Manual del usuario de la impresora gráfica VIC-1525" (PDF) . Commodore Computer . Consultado el 22 de febrero de 2015 .
  14. ^ "Impresora Daisy Wheel Commodore DPS-1101".
  15. ^ "Interfaz IEEE-488 de Interpod". Abril de 2008. Consultado el 28 de abril de 2016 .
  • "Ahorro con longitud de cable 64HDD / XE1541..." lemon64.com . 5 de julio de 2003.
  • "Historia de un caso de diseño: el Commodore 64" (PDF) . IEEE Spectrum . Marzo de 1985. Archivado desde el original (PDF) el 13 de mayo de 2012.
  • "Descripción de la señal del bus serie". uwaterloo.ca .
  • "IEC diseccionada" (PDF) . zimmers.net . 2008-02-24. Archivado desde el original (PDF) el 2017-01-16. – Documentación del bus IEC utilizada para el IEC 1541-III diseccionado
Obtenido de "https://es.wikipedia.org/w/index.php?title=Autobús_Commodore&oldid=1244026914"