El bus serie IEEE-488 de Commodore ( bus IEC ) es la interfaz de Commodore para el almacenamiento de datos en disco magnético e impresoras para las computadoras personales / domésticas Commodore de 8 bits , en particular VIC-20 , C64 , C128 , Plus / 4 , [7] C16 y C65 .
![]() | |||
Tipo | Bus periférico | ||
---|---|---|---|
Historial de producción | |||
Diseñador | Commodore International | ||
Diseñado | 1980 [1] | ||
Fabricante | Varios | ||
Producido | 1980-presente | ||
Especificaciones generales | |||
Largo | 1,8 metros como máximo [2] | ||
Conectable en caliente | No | ||
cadena de margaritas | Sí, hasta 31 dispositivos [3] | ||
Externo | sí | ||
Patas | 6 | ||
Conector | Conector DIN | ||
Eléctrico | |||
Señal | Colector abierto 5 V | ||
Max. Voltaje | 5 V | ||
Max. Actual | 3,2 mA [4] | ||
Datos | |||
Señal de datos | sí | ||
Bitrate | 3,2–41,6 kbit / s [5] [6] | ||
Protocolo | De serie | ||
Extender con el rodillo | |||
![]() | |||
Toma hembra desde el frente. | |||
Pin 1 | SRQ | Solicitud de servicio | |
Pin 2 | GND | Suelo | |
Pin 3 | ATN | Atención | |
Pin 4 | CLK | Reloj | |
Pin 5 | DATOS | Datos | |
Pin 6 | REINICIAR | Reiniciar |
Descripción e historia
La interfaz paralela IEEE-488 utilizada en la línea de computadoras Commodore PET (1977) era demasiado costosa, por lo que se desarrolló una versión de costo reducido, que consistía en una versión en serie simplificada de la interfaz IEEE-488, con solo unas pocas señales restantes ; sin embargo, se mantuvo el diseño del protocolo general. Commodore comenzó a usar este autobús con el VIC-20 (1980). La conexión a la computadora utiliza un conector DIN-6 .
Velocidad de transferencia
Configuración | Velocidad | Tasa de bits efectiva |
---|---|---|
Comodoro 64 + 1541 | 400 bytes / s | 3200 bit / s |
Commodore 64 + 1541 con cargador rápido | 2560 bytes / s [5] | 20 480 bit / s |
Comodoro 128 + 1571 | 5200 bytes / s [6] | 41 600 bit / s |
20 µs teóricos [3] | 6250 bytes / s | 50 000 bit / s |
Interfaz
Alfiler | Nombre | Función |
---|---|---|
1 | / SRQIN | Entrada de solicitud de servicio para permitir que la solicitud de periféricos sea atendida por el host (C64). Utilizado por el C128 para transferencias rápidas. [9] |
2 | GND | Tierra [8] |
3 | / ATN | Entrada / salida serial ATN. Establecido bajo por el host (C64) para indicar el comienzo de una transferencia de datos en serie. [9] |
4 | / CLK | Entrada / salida serial CLK. 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 | Restablece los periféricos y también restablece un C64 anterior. [9] |
Descripción del protocolo
Las señales de bus son de colector abierto digital de un solo extremo de 5 voltios TTL y activas cuando están bajas. Los dispositivos de bus deben proporcionar su propia energía.
Debido a que las líneas de bus son de colector abierto eléctricamente, funciona como una puerta OR larga entre todos los controladores de línea de dispositivos. El valor lógico de terreno es verdadero y viceversa. Cualquier dispositivo puede establecer una línea como "verdadero". Una línea solo se vuelve "falsa" si todos los dispositivos señalan como falsa.
La transmisión comienza con el hablante del bus manteniendo la línea del reloj verdadera y el o los oyentes manteniendo la línea de datos verdadera. Para comenzar, el hablante libera la línea Reloj a falso. Cuando todos los oyentes del bus están listos para recibir, liberan la línea de datos a 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 End-or-Identify (EOI). [3]
Si el hablante no reconoce que la línea de datos es falsa (liberada) dentro de 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 haciendo que la línea de datos sea verdadera durante al menos 60 µs y luego soltarla. El hablante puede volver a transmitir de nuevo en 60 µs haciendo que la línea del reloj sea verdadera. [3]
Los datos son ocho bits que comienzan con el bit menos significativo. La línea de datos se establece de acuerdo con el bit a enviar (1 = verdadero = tierra). Una vez que se establece 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 luego reconoce al hablante haciendo que la línea de datos sea verdadera dentro de 1000 µs. Después de esto, el hablante establece la línea del Reloj como verdadera y el oyente establece la línea de Datos como verdadera, por lo que regresa al lugar donde comenzó la transmisión. Si se señala un EOI manteniendo la línea de reloj en falso, 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 en verdadero y los bytes se envían como arriba a todos los dispositivos, pero el byte se interpreta como uno de los comandos "Hablar", "Escuchar", "No escuchar" y "No escuchar". Eso le dice 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 en verdadero y transmitirá los bytes "Número de dispositivo 8, escucha", "Dirección secundaria 2, abierta". A continuación, establecerá la línea ATN como falsa y el anfitrión se convertirá en el hablante, manteniendo la línea del Reloj como verdadera. El dispositivo será el oyente, manteniendo la línea de datos 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 configurará con la línea ATN verdadera, "Dispositivo número 8, no escuchado". Seguido por la línea ATN verdadera y "Número de dispositivo 8, escucha", "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 en verdadero y se envía "Dispositivo número 8, no escuchado". [3]
Cuando es necesario cambiar de roles y hacer que el anfitrión 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 en falsa. El dispositivo espera a que la línea del Reloj se vuelva falsa y luego la pone en verdadero y libera la línea de Datos en falso. Después de esta secuencia, puede seguir la interacción estándar entre hablar y escuchar. [3]
Código | Significado |
---|---|
dispositivo | 0x20 | Escucha, dispositivo (0-30) |
0x3F | No escuchas, todos los dispositivos |
dispositivo | 0x40 | Hablar, dispositivo |
0x5F | Untalk, todos los dispositivos |
canal | 0x60 | Reabrir, canal (0-15) |
canal | 0xE0 | Cerrar, canal |
canal | 0xF0 | Canal abierto |
Para leer un archivo normal desde el disquete número 8, el comando LOAD "filename",8,1
se emite en un Commodore 64 . Eso provoca que se produzca la siguiente comunicación de alto nivel:
Mando | Destino | Significado |
---|---|---|
/ 28 | Dispositivo | Escuche, dispositivo número 8 |
/ F0 | Dispositivo | Canal abierto 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 anfitrión se convierte en el maestro del bus (funcionamiento normal) | ||
/ 5F | Dispositivos | Untalk todos los dispositivos |
/ 28 | Dispositivo | Escuche, dispositivo número 8 |
/ E0 | Dispositivo | Cerrar canal 0 |
/ 3F | Dispositivos | Dejar de escuchar todos los dispositivos |
La unidad de disquete Commodore 1541 usa un modo compatible con Commodore 64 más lento que se puede desactivar para una velocidad más rápida usando el comando OPEN 15,8,15,"UI-":CLOSE 15
. [11]
Numeración de dispositivos
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 | Normalmente dispositivo trazador |
7 | ¿Segundo trazador? |
8-15 | Disco (10: utilizado por algunas interfaces de impresora de serie a paralelo) |
16-30 | Desconocido |
31 | Reservado como comando para todos los dispositivos |
Los números de dispositivo 0–3 no están asociados con el bus Commodore. [10]
Implementación de host
La computadora Commodore VIC-20 y las unidades de disquete Commodore 1540 y 1541 utilizan la tecnología MOS 6522 VIA 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
Dispositivo | Información |
---|---|
Comodoro 1541 | Disquete de 170 KB de 5¼ pulgadas |
Comodoro 1570 | Disquete de 170 KB de 5¼ pulgadas |
Comodoro 1571 | Disquete de 5¼ pulgadas 350–410 KB |
Comodoro 1581 | Disquete de 800 KB de 3½ pulgadas |
MSD SD-1 / SD-2 | Disquete de 170 KB simple / doble de 5¼ pulgadas |
Comodoro MPS 801 | Impresora de matriz de puntos |
Comodoro 1515 [12] | Impresora de matriz de puntos |
Comodoro 1520 | Impresora de bolígrafo |
Comodoro VIC-1525 [13] | Impresora matricial de puntos |
Comodoro VIC-1526 | Impresora matricial de puntos MPS 802 renombrada |
Okimate 10 | Impresora matricial de puntos |
Comodoro DPS-1101 [14] | Impresora de rueda de margaritas |
INTERPOD | Independiente IEEE-488 + RS-232 [15] |
Comodoro VIC-20 | Computadora de 1 MHz 5 KB |
Comodoro 64 | Computadora de 1 MHz 64 KB |
Comodoro SX-64 | Computadora de 1 MHz 64 KB |
Comodoro 128 | Computadora de 2 MHz y 128 KB |
Comodoro 16 | Computadora de 1-2 MHz y 16 KB |
Commodore Plus / 4 | 1.76 MHz 64 KB computadora |
Comodoro 65 | Computadora de 3,54 MHz y 128 KB |
Dispositivos
Unidad de disco Commodore 1541
Unidad de disquete VC 1571
Unidad de disco Commodore 1581
Impresora Commodore MPS 802
Ver también
- Commodore DOS
- Periféricos Commodore 64
- Lista de velocidades de bits del dispositivo
- Comodoro 1541
- Cargador rápido
- Almacenamiento de datos en cinta magnética
- IEEE-488 , la versión paralela original
Referencias
- ^ "Historia del comodoro VIC-20" . Archivado desde el original el 14 de febrero de 2015 . Consultado el 2 de abril de 2016 .
- ^ "Construyendo el cable serial XE1541" . Consultado el 2 de abril de 2016 .
(1) Cable blindado de 4 conductores de 6 'o 1,8 metros (máx.) (Para conexión en serie)
- ^ a b c d e f g h yo "Cómo funciona el bus serie VIC / 64" . 2015-04-17 . Consultado el 28 de abril de 2016 .
- ^ "Adaptador de interfaz compleja 6526 (CIA)" (PDF) . 2016-03-04. Archivado desde el original (PDF) el 10 de abril de 2016 . Consultado el 2 de abril de 2016 .
Salida de baja corriente (hundimiento); VOL <.4 v (PA0-PA7, PC, PB0-PB7, DB0-DB7) LIO 3,2 mA
- ^ a b "Historial de casos de diseño: el Commodore 64" (PDF) (publicado el 16 de abril de 2012). 1985 . Consultado el 2 de abril de 2016 .
Los trucos de programación utilizados por Epyx han producido tasas de transferencia de hasta 2,5 kilobytes por segundo.
- ^ a b "Especificaciones de la unidad de disco Commodore 1571" . Commodore Business Machines, Inc. Octubre de 1986 . Consultado el 27 de abril de 2016 .
- ^ "Utilizando la unidad de disco Commodore 1541 en un Commodore + 4" . 2005-10-03 . Consultado el 15 de mayo de 2016 .
El 1541 funciona bien con el Plus / 4.
- ^ a b "Pinout y cableado de E / S serie C64 @ old.pinouts.ru" . 2013-12-16 . Consultado el 2 de abril de 2016 .
- ^ a b c d e "Taller C-64 / Conexiones Pin" . 2005-12-10 . Consultado el 2 de abril de 2016 .
- ^ a b c "Documentación de bus IEC como se utiliza para el IEC 1541-III disected" (PDF) . 2008-02-24. Archivado desde el original (PDF) el 16 de enero de 2017 . Consultado el 28 de abril de 2016 .
- ^ "VIC-1541" . C64-wiki.com . 2016-03-11 . Consultado el 28 de abril de 2016 .
- ^ "VIC-1515 Manual del usuario Impresora gráfica de Commodore" (PDF) (publicado 2011-11-05). Abril de 1981 . Consultado el 28 de abril de 2016 .
- ^ "Manual del usuario de la impresora gráfica VIC-1525" (PDF) . Computadora Commodore . Consultado el 22 de febrero de 2015 .
- ^ "Impresora de rueda de margaritas Commodore DPS-1101" .
- ^ "Interfaz Interpod IEEE-488" . Abril de 2008 . Consultado el 28 de abril de 2016 .
enlaces externos
- "Ahorro con la longitud del cable 64HDD / XE1541 ..." lemon64.com .
- "Historial de casos de diseño: el Commodore 64" (PDF) . Espectro IEEE . Marzo de 1985.
- "Descripción de la señal del bus serie" . uwaterloo.ca .
- "IEC disected" (PDF) . zimmers.net . 2008-02-24. Archivado desde el original (PDF) el 16 de enero de 2017. - Documentación de bus IEC tal como se utiliza para el IEC 1541-III diseccionado