fbpx
Wikipedia

MOS CIA

El Adaptador de interfaz compleja (CIA por sus siglas en inglés Complex Interface Adapter) 6526/8520 es un circuito integrado fabricado por MOS Technology. Sirvió como un controlador de puerto de E/S para la familia de microprocesadores 6502, proporcionando capacidades de E/S en paralelo y en serie, así como temporizadores y un reloj de hora del día (TOD). El uso más destacado del dispositivo fue en el Commodore 64 y el Commodore 128 (D), cada uno de los cuales incluía dos chips CIA. Las unidades de disquete Commodore 1570 y Commodore 1571 contenían una CIA cada una. Además, las computadoras domésticas Amiga y la unidad de disquete Commodore 1581 empleaban una variante modificada del circuito de la CIA llamada 8520. 8520 es funcionalmente equivalente al 6526, excepto por el circuito TOD simplificado.

MOS CIA
Información
Tipo Controlador de E/S
Fabricante MOS Technology
Datos técnicos
Frecuencia de reloj de CPU 1, 2 y 3 MHz
Configuración de pin del 6526 CIA
A principios de 6526, la CIA todavía estaba en un costoso paquete de cerámica con contactos de oro. Las versiones posteriores se produjeron en envases de plástico más baratos.

E/S paralelas

La CIA tenía dos puertos de E/S paralelos bidireccionales de 8 bits. Cada puerto tenía un registro de dirección de datos correspondiente, que permitía que cada línea de datos se configurara individualmente en modo de entrada o salida. Una lectura de estos puertos siempre devuelve el estado de las líneas individuales, independientemente de la dirección de datos que se haya establecido.

E/S en serie

Un registro de desplazamiento interno bidireccional de 8 bits permitió a la CIA manejar E/S en serie. El chip podría aceptar entradas en serie sincronizadas desde una fuente externa, y podría enviar salidas en serie sincronizadas con uno de los temporizadores programables incorporados. Se generaba una interrupción cada vez que se completaba una transferencia en serie de 8 bits. Fue posible implementar una simple " red" conectando el registro de desplazamiento y las salidas de reloj de varias computadoras juntas. La tasa de bits máxima es de 500 kbit/s para la versión de 2 MHz.

La CIA incorpora una solución a un error en el registro de desplazamiento en serie en el 6522 anterior. Originalmente, la CIA tenía la intención de permitir una comunicación rápida con una unidad de disco, pero al final no se pudo utilizar debido al deseo de mantener la compatibilidad de la unidad de disco con el VIC-20; en la práctica, la unidad 1541 tuvo que hacerse aún más lenta que su predecesora VIC-20 porque el procesador del C64 está apagado durante 40 microsegundos cada 512 microsegundos para admitir video.[1]

Temporizadores de intervalo

Dos temporizadores de intervalo programables estaban disponibles, cada uno con una precisión de menos de un microsegundo. Cada temporizador constaba de un contador descendente predefinible de solo lectura de 16 bits y un pestillo de solo escritura de 16 bits correspondiente. Cada vez que se iniciaba un temporizador, el temporizador se copiaba automáticamente en su contador, y el contador disminuía con cada ciclo de reloj hasta el desbordamiento, en el cual se generaría una interrupción.

El temporizador podría funcionar en modo "one-shot", deteniéndose después de la primera interrupción, o en modo "continuo", volviendo a cargar el valor de retención e iniciando nuevamente el ciclo del temporizador. Además de generar interrupciones, la salida del temporizador también podría conectarse al segundo puerto de E/S.

Según lo configurado en el Commodore 64 y el Commodore 128, la sincronización de la CIA fue controlada por el reloj del sistema de fase dos, nominalmente un MHz . Esto significaba que los temporizadores disminuían a intervalos de aproximadamente un microsegundo, y el período de tiempo exacto se determinaba si el sistema usaba el estándar de video NTSC o PAL. En el C128, se empleó el alargamiento del reloj para que la sincronización de la CIA no se viera afectada por si el sistema funcionaba en modo SLOW o FAST.

Fue posible generar intervalos de tiempo relativamente largos programando el temporizador B para contar los desbordamientos del temporizador A. Si ambos temporizadores se cargaran con el valor de intervalo máximo de 65.535, se obtendría un intervalo de tiempo de una hora, 11 minutos y 34 segundos.

Reloj de hora del día (TOD)

Se incorpora un reloj de tiempo real en la CIA, que proporciona un dispositivo de cronometraje más propicio para las necesidades humanas que la precisión de microsegundos de los temporizadores de intervalo. La hora se mantiene en el formato estadounidense de 12 horas AM/PM. El reloj TOD consiste en cuatro registros de E/S: horas (con el bit 7 actuando como el indicador AM/PM), minutos, segundos y décimas de segundo. Todos los registros se leen en formato BCD, lo que simplifica el proceso de codificación/decodificación.

La lectura de los registros siempre devolverá la hora del día. Para evitar un error de acarreo mientras se recupera el tiempo, leer el registro de horas detendrá inmediatamente la actualización del registro, sin afectar la precisión del cronometraje interno. Una vez que se haya leído el décimo registro, se reanudará la actualización. Es posible leer cualquier registro que no sea el registro de horas "sobre la marcha", haciendo que el uso de un reloj TOD en funcionamiento como temporizador sea una aplicación práctica. Sin embargo, si se lee el registro de horas, es esencial leer posteriormente el registro de décimas. De lo contrario, todos los registros TOD permanecerán "congelados".

Establecer el tiempo implica escribir los valores BCD apropiados en los registros. Un acceso de escritura al registro de horas detendrá completamente el reloj. El reloj no volverá a comenzar hasta que se haya escrito un valor en el registro de décimas. Debido al orden en que aparecen los registros en el mapa de memoria del sistema, todo lo que se requiere para escribir los registros en el orden correcto es un bucle simple. Está permitido escribir solo en el registro de décimas para "empujar" el reloj a la acción, en el cual, después de un reinicio de hardware, el reloj comenzará a la 1: 00: 00.0.

Además de sus funciones de cronometraje, el TOD se puede configurar para que actúe como un reloj de alarma, organizando para que genere una solicitud de interrupción en cualquier momento deseado. Debido a un error en muchos 6526s (vea también las erratas a continuación), la IRQ de alarma no siempre ocurriría cuando el componente de segundos de la hora de alarma es exactamente cero. La solución alternativa es establecer el valor de décimas de la alarma en 0.1 segundos.

Los circuitos internos del reloj TOD están diseñados para funcionar con una frecuencia de reloj de 50 o 60 Hz, que puede derivarse a bajo costo de la fuente de alimentación de CA, lo que da como resultado un cronómetro estable con poca deriva a largo plazo. La capacidad de trabajar con ambas frecuencias de línea de alimentación permitió usar una sola versión del 6526 en computadoras operadas en países con líneas de alimentación de 50 o 60 Hz. Es importante tener en cuenta que, contrariamente a la creencia popular, los estándares de video NTSC o PAL no están directamente relacionados con la frecuencia de la red eléctrica. Además, algunas computadoras no obtuvieron su frecuencia de reloj TOD de la fuente de alimentación principal. Por ejemplo, las variantes NTSC y PAL de Commodore SX-64 usan 60 Hz TOD reloj suministrado por un cristal dedicado. El sistema operativo KERNAL en Commodore 64, por ejemplo, determinará el estándar de video durante el inicio del sistema, pero no intenta identificar la frecuencia de reloj TOD suministrada ni inicializar las CIA correctamente en 50 Hz. Por lo tanto, es responsabilidad de cualquier software de aplicación que desee utilizar la función TOD de la CIA para determinar la frecuencia suministrada y establecer la bandera de la CIA en consecuencia. De lo contrario, el reloj puede desviarse rápidamente de la hora correcta.

La revisión 8520 de la CIA, como se usa en la unidad de disco Amiga y Commodore 1581, modifica el reloj de la hora del día para que sea un contador binario de 24 bits, reemplazando el formato BCD del 6526. Sin embargo, otro comportamiento fue similar.

Versiones

La CIA estaba disponible en versiones de 1 MHz (6526), 2 MHz (6526A) y 3 MHz (6526B). El factor de forma fue un JEDEC estándar de 40 pines de cerámica o de plástico DIP. El 8520 CIA, con su reloj modificado de la hora del día, se utilizó en las computadoras de Amiga.

Commodore incluyó una lógica similar a la CIA reducida (solo 4 registros) para el Commodore 1571 de costo reducido dentro del C128DCR (Ver Commodore 128) en una matriz de puerta llamada 5710 que también contiene otras funciones. El 5710 CIA tiene el reloj en serie para la interfaz en serie rápida conectada a un valor de temporizador A equivalente CIA6526 de 5, lo que lleva a un tiempo por bit de 5 μs en la transmisión. Esto es diferente de lo que solía ser un valor de temporizador A de 6 en el 6526 CIA en el Commodore 1571 original. El 5710 CIA no contiene registros de control de temporizador o temporizador. Solo contiene dos registros de puerto y el registro para controlar el desplazador en serie y su evento.

Errata

Además del error de interrupción del reloj de alarma mencionado anteriormente, muchas CIA exhibieron un defecto en el que la parte no generaría una interrupción de hardware del temporizador B si el registro de control de interrupción (ICR) se leía uno o dos ciclos de reloj antes del momento en que la interrupción debería En realidad han ocurrido. Este defecto, así como los errores lógicos en el sistema operativo provisto por Commodore (8 bits), causaron frecuentes errores pseudo -RS-232 en las computadoras Commodore 64 y Commodore 128 cuando se ejecutaban a velocidades de transmisión más altas.

Referencias

  1. Perry, Tekla S.; Wallich, Paul (March 1985). . IEEE Spectrum: 48-58. ISSN 0018-9235. Archivado desde el original el 13 de mayo de 2012. Consultado el 12 de noviembre de 2011. 

Enlaces externos

  • Hoja de datos de MOS 6526 CIA (formato GIF, comprimido)
  • Hoja de datos de MOS 6526 CIA (formato PDF)
  •   Datos: Q350467
  •   Multimedia: MOS Technology CIA

adaptador, interfaz, compleja, siglas, inglés, complex, interface, adapter, 6526, 8520, circuito, integrado, fabricado, technology, sirvió, como, controlador, puerto, para, familia, microprocesadores, 6502, proporcionando, capacidades, paralelo, serie, así, co. El Adaptador de interfaz compleja CIA por sus siglas en ingles Complex Interface Adapter 6526 8520 es un circuito integrado fabricado por MOS Technology Sirvio como un controlador de puerto de E S para la familia de microprocesadores 6502 proporcionando capacidades de E S en paralelo y en serie asi como temporizadores y un reloj de hora del dia TOD El uso mas destacado del dispositivo fue en el Commodore 64 y el Commodore 128 D cada uno de los cuales incluia dos chips CIA Las unidades de disquete Commodore 1570 y Commodore 1571 contenian una CIA cada una Ademas las computadoras domesticas Amiga y la unidad de disquete Commodore 1581 empleaban una variante modificada del circuito de la CIA llamada 8520 8520 es funcionalmente equivalente al 6526 excepto por el circuito TOD simplificado MOS CIAInformacionTipoControlador de E SFabricanteMOS TechnologyDatos tecnicosFrecuencia de reloj de CPU1 2 y 3 MHz editar datos en Wikidata Configuracion de pin del 6526 CIA A principios de 6526 la CIA todavia estaba en un costoso paquete de ceramica con contactos de oro Las versiones posteriores se produjeron en envases de plastico mas baratos Indice 1 E S paralelas 2 E S en serie 3 Temporizadores de intervalo 4 Reloj de hora del dia TOD 5 Versiones 6 Errata 7 Referencias 8 Enlaces externosE S paralelas EditarLa CIA tenia dos puertos de E S paralelos bidireccionales de 8 bits Cada puerto tenia un registro de direccion de datos correspondiente que permitia que cada linea de datos se configurara individualmente en modo de entrada o salida Una lectura de estos puertos siempre devuelve el estado de las lineas individuales independientemente de la direccion de datos que se haya establecido E S en serie EditarUn registro de desplazamiento interno bidireccional de 8 bits permitio a la CIA manejar E S en serie El chip podria aceptar entradas en serie sincronizadas desde una fuente externa y podria enviar salidas en serie sincronizadas con uno de los temporizadores programables incorporados Se generaba una interrupcion cada vez que se completaba una transferencia en serie de 8 bits Fue posible implementar una simple red conectando el registro de desplazamiento y las salidas de reloj de varias computadoras juntas La tasa de bits maxima es de 500 kbit s para la version de 2 MHz La CIA incorpora una solucion a un error en el registro de desplazamiento en serie en el 6522 anterior Originalmente la CIA tenia la intencion de permitir una comunicacion rapida con una unidad de disco pero al final no se pudo utilizar debido al deseo de mantener la compatibilidad de la unidad de disco con el VIC 20 en la practica la unidad 1541 tuvo que hacerse aun mas lenta que su predecesora VIC 20 porque el procesador del C64 esta apagado durante 40 microsegundos cada 512 microsegundos para admitir video 1 Temporizadores de intervalo EditarDos temporizadores de intervalo programables estaban disponibles cada uno con una precision de menos de un microsegundo Cada temporizador constaba de un contador descendente predefinible de solo lectura de 16 bits y un pestillo de solo escritura de 16 bits correspondiente Cada vez que se iniciaba un temporizador el temporizador se copiaba automaticamente en su contador y el contador disminuia con cada ciclo de reloj hasta el desbordamiento en el cual se generaria una interrupcion El temporizador podria funcionar en modo one shot deteniendose despues de la primera interrupcion o en modo continuo volviendo a cargar el valor de retencion e iniciando nuevamente el ciclo del temporizador Ademas de generar interrupciones la salida del temporizador tambien podria conectarse al segundo puerto de E S Segun lo configurado en el Commodore 64 y el Commodore 128 la sincronizacion de la CIA fue controlada por el reloj del sistema de fase dos nominalmente un MHz Esto significaba que los temporizadores disminuian a intervalos de aproximadamente un microsegundo y el periodo de tiempo exacto se determinaba si el sistema usaba el estandar de video NTSC o PAL En el C128 se empleo el alargamiento del reloj para que la sincronizacion de la CIA no se viera afectada por si el sistema funcionaba en modo SLOW o FAST Fue posible generar intervalos de tiempo relativamente largos programando el temporizador B para contar los desbordamientos del temporizador A Si ambos temporizadores se cargaran con el valor de intervalo maximo de 65 535 se obtendria un intervalo de tiempo de una hora 11 minutos y 34 segundos Reloj de hora del dia TOD EditarSe incorpora un reloj de tiempo real en la CIA que proporciona un dispositivo de cronometraje mas propicio para las necesidades humanas que la precision de microsegundos de los temporizadores de intervalo La hora se mantiene en el formato estadounidense de 12 horas AM PM El reloj TOD consiste en cuatro registros de E S horas con el bit 7 actuando como el indicador AM PM minutos segundos y decimas de segundo Todos los registros se leen en formato BCD lo que simplifica el proceso de codificacion decodificacion La lectura de los registros siempre devolvera la hora del dia Para evitar un error de acarreo mientras se recupera el tiempo leer el registro de horas detendra inmediatamente la actualizacion del registro sin afectar la precision del cronometraje interno Una vez que se haya leido el decimo registro se reanudara la actualizacion Es posible leer cualquier registro que no sea el registro de horas sobre la marcha haciendo que el uso de un reloj TOD en funcionamiento como temporizador sea una aplicacion practica Sin embargo si se lee el registro de horas es esencial leer posteriormente el registro de decimas De lo contrario todos los registros TOD permaneceran congelados Establecer el tiempo implica escribir los valores BCD apropiados en los registros Un acceso de escritura al registro de horas detendra completamente el reloj El reloj no volvera a comenzar hasta que se haya escrito un valor en el registro de decimas Debido al orden en que aparecen los registros en el mapa de memoria del sistema todo lo que se requiere para escribir los registros en el orden correcto es un bucle simple Esta permitido escribir solo en el registro de decimas para empujar el reloj a la accion en el cual despues de un reinicio de hardware el reloj comenzara a la 1 00 00 0 Ademas de sus funciones de cronometraje el TOD se puede configurar para que actue como un reloj de alarma organizando para que genere una solicitud de interrupcion en cualquier momento deseado Debido a un error en muchos 6526s vea tambien las erratas a continuacion la IRQ de alarma no siempre ocurriria cuando el componente de segundos de la hora de alarma es exactamente cero La solucion alternativa es establecer el valor de decimas de la alarma en 0 1 segundos Los circuitos internos del reloj TOD estan disenados para funcionar con una frecuencia de reloj de 50 o 60 Hz que puede derivarse a bajo costo de la fuente de alimentacion de CA lo que da como resultado un cronometro estable con poca deriva a largo plazo La capacidad de trabajar con ambas frecuencias de linea de alimentacion permitio usar una sola version del 6526 en computadoras operadas en paises con lineas de alimentacion de 50 o 60 Hz Es importante tener en cuenta que contrariamente a la creencia popular los estandares de video NTSC o PAL no estan directamente relacionados con la frecuencia de la red electrica Ademas algunas computadoras no obtuvieron su frecuencia de reloj TOD de la fuente de alimentacion principal Por ejemplo las variantes NTSC y PAL de Commodore SX 64 usan 60 Hz TOD reloj suministrado por un cristal dedicado El sistema operativo KERNAL en Commodore 64 por ejemplo determinara el estandar de video durante el inicio del sistema pero no intenta identificar la frecuencia de reloj TOD suministrada ni inicializar las CIA correctamente en 50 Hz Por lo tanto es responsabilidad de cualquier software de aplicacion que desee utilizar la funcion TOD de la CIA para determinar la frecuencia suministrada y establecer la bandera de la CIA en consecuencia De lo contrario el reloj puede desviarse rapidamente de la hora correcta La revision 8520 de la CIA como se usa en la unidad de disco Amiga y Commodore 1581 modifica el reloj de la hora del dia para que sea un contador binario de 24 bits reemplazando el formato BCD del 6526 Sin embargo otro comportamiento fue similar Versiones EditarLa CIA estaba disponible en versiones de 1 MHz 6526 2 MHz 6526A y 3 MHz 6526B El factor de forma fue un JEDEC estandar de 40 pines de ceramica o de plastico DIP El 8520 CIA con su reloj modificado de la hora del dia se utilizo en las computadoras de Amiga Commodore incluyo una logica similar a la CIA reducida solo 4 registros para el Commodore 1571 de costo reducido dentro del C128DCR Ver Commodore 128 en una matriz de puerta llamada 5710 que tambien contiene otras funciones El 5710 CIA tiene el reloj en serie para la interfaz en serie rapida conectada a un valor de temporizador A equivalente CIA6526 de 5 lo que lleva a un tiempo por bit de 5 ms en la transmision Esto es diferente de lo que solia ser un valor de temporizador A de 6 en el 6526 CIA en el Commodore 1571 original El 5710 CIA no contiene registros de control de temporizador o temporizador Solo contiene dos registros de puerto y el registro para controlar el desplazador en serie y su evento Errata EditarAdemas del error de interrupcion del reloj de alarma mencionado anteriormente muchas CIA exhibieron un defecto en el que la parte no generaria una interrupcion de hardware del temporizador B si el registro de control de interrupcion ICR se leia uno o dos ciclos de reloj antes del momento en que la interrupcion deberia En realidad han ocurrido Este defecto asi como los errores logicos en el sistema operativo provisto por Commodore 8 bits causaron frecuentes errores pseudo RS 232 en las computadoras Commodore 64 y Commodore 128 cuando se ejecutaban a velocidades de transmision mas altas Referencias Editar Perry Tekla S Wallich Paul March 1985 Design case history the Commodore 64 IEEE Spectrum 48 58 ISSN 0018 9235 Archivado desde el original el 13 de mayo de 2012 Consultado el 12 de noviembre de 2011 Enlaces externos EditarHoja de datos de MOS 6526 CIA formato GIF comprimido Hoja de datos de MOS 6526 CIA formato PDF Datos Q350467 Multimedia MOS Technology CIA Obtenido de https es wikipedia org w index php title MOS CIA amp oldid 126591531, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos