El SCC , abreviatura de Serial Communication Controller , es una familia de circuitos integrados de controladores de puerto serie fabricados por Zilog . Los miembros principales de la familia son el Z8030 / Z8530 y el Z85233.
Desarrollado a partir de los dispositivos Zilog SIO anteriores (Z8443), el SCC agregó varios modos de serie a paralelo que permitieron la implementación interna de una variedad de protocolos de capa de enlace de datos como Bisync , HDLC y SDLC .
El SCC podría configurarse como un puerto RS-232 convencional para controlar sistemas heredados, o alternativamente como un puerto RS-422 para un rendimiento mucho mayor, hasta 10 Mbit / s. Los detalles de implementación generalmente limitaron el rendimiento a 5 Mbit / so menos.
Uno de los usuarios más famosos del SCC fue la línea de computadoras Apple Macintosh , que usaba el Z8530 para implementar dos puertos seriales en la parte posterior de los primeros diseños, etiquetados como "módem" e "impresora".
Descripción
Las comunicaciones en serie tradicionales se implementan normalmente mediante un dispositivo conocido como UART , que traduce los datos del formato paralelo interno del bus de la computadora a serie y viceversa. Esto permite que la computadora envíe datos en serie simplemente colocando los datos en la memoria en su propio formato interno, digamos little-endian de 16 bits , y la UART lo convertirá a forma serial y lo enviará. Generalmente, había diferentes UART para cada arquitectura de computadora, con el objetivo de ser lo más económico posible. Un buen ejemplo es el Zilog Z-80 SIO de 1977, diseñado para funcionar con el Zilog Z-80 ampliamente utilizado para proporcionar dos puertos serie con velocidades relativamente altas de hasta 800 kbit / s. [1]
El SCC es esencialmente una versión actualizada del SIO, con más lógica interna para permitirle implementar directamente una serie de protocolos de capa de enlace de datos comunes . Para empezar, el SCC incluyó una implementación de hardware de la verificación de redundancia cíclica (CRC), que le permitió verificar, marcar y rechazar datos incorrectos sin el apoyo de la computadora host. Los protocolos de nivel superior incluían BiSync , HDLC y SDLC . HDLC es más conocido por su implementación en el protocolo LAPM orientado a módem , parte de V.42 . Al trasladar la implementación de estos protocolos al hardware, el SCC facilitó la implementación de sistemas de redes de área local , como el SNA de IBM , sin la necesidad de que la CPU host manejara estos detalles.
Cuando se usa en el modo serial tradicional, el SCC puede configurarse para usar 5, 6, 7 u 8 bits / carácter, 1, 1/5 o 2 bits de parada, paridad impar, par o sin paridad, y señales de interrupción detectadas o generadas automáticamente. En los modos síncronos, los datos podían enviarse opcionalmente con codificación NRZ, NRZI o FM, así como decodificación Manchester, aunque la codificación Manchester tenía que manejarse en lógica externa.
La velocidad de transmisión del SCC podría cronometrarse desde tres fuentes. Para comunicaciones básicas de estilo RS-232, el SCC incluía un reloj interno de 300 Hz que se podía multiplicar por 1, 16, 32 a 64, proporcionando velocidades de datos entre 300 y 19.200 bit / s. Alternativamente, podría usar el reloj en el bus proporcionado por la plataforma de host, y luego dividir ese reloj entre 4, 8, 16 o 32 (los dos últimos solo en la implementación NMOS original ). Cuando se utiliza en una máquina que funciona con el reloj común de 8 MHz, esto permite velocidades de hasta 2 Mbit / s. Finalmente, el SCC también incluyó entradas para la provisión de un reloj externo. Esto funcionó de manera similar al reloj del host, pero podría usarse para proporcionar cualquier señal de reloj de referencia, independientemente de la plataforma del host. En este modo, el reloj podría dividirse como en el caso interno, o multiplicarse por 2 para velocidades aún mayores, hasta 32,3 Mbit / s en algunas versiones. El uso del reloj externo facilitó la implementación de adaptadores LAN, que normalmente funcionaban a velocidades independientes de la computadora host.
Las primeras implementaciones usaban búferes de recepción que tenían solo 3 bytes de profundidad y un búfer de envío con un solo byte. Esto significaba que el rendimiento en el mundo real estaba limitado por la capacidad de la plataforma host para vaciar continuamente los búferes en su propia memoria. Con comunicaciones de tipo red, el propio SCC podría hacer que el remitente remoto detuviera la transmisión cuando los búferes estuvieran llenos y, por lo tanto, evitar la pérdida de datos mientras el host estaba ocupado. Con el serial asincrónico convencional esto no era posible; en Macintosh Plus, este rendimiento de RS-232 limitado a aproximadamente 9600 bit / so menos, y tan solo a 4800 bit / s en modelos anteriores.
La mayoría de los modelos SCC estaban disponibles en versiones de paquete dual en línea (DIP) o portador de chip (PLCC).
Versiones
- Z8030
Modelo original implementado en NMOS con una interfaz multiplexada "Z-Bus" que coincidía con los Zilog Z8000 / Z16C00 / 8086 CPUs
- Z8530
Funcionalmente idéntico al Z8030, pero usando un "Universal-Bus" no multiplexado diseñado para permitir su uso con cualquier CPU o plataforma de host, incluido el Z-80
- Z8031 y Z8531
Versiones de Z8030 y Z8530 con el soporte síncrono eliminado, produciendo un diseño que se asemeja más al SIO original [2]
- Z80C30 y Z85C30
Implementaciones CMOS de Z8030 y Z8530. Plug compatible con las primeras versiones, agregando la velocidad 2x cuando se usa con el reloj externo, y una serie de correcciones de errores y mejoras en los protocolos de la capa de enlace.
- Z80230 y Z85230
Implementaciones CMOS actualizadas de Z80C30 y Z85C30, también conocidas como ESCC
- Z85233
Versión actualizada del Z85230 (solo), también conocido como EMSCC
Referencias
- ^ "Controlador de entrada / salida serie Zilog Z8440" , Zilog, 1977
- ^ "8530, 8531, Z8530, Z8531 Controlador de comunicaciones serie Zilog"
enlaces externos
- Resumen del producto Z80C30
- Resumen del producto Z85C30
- Especificaciones de producto de controladores de comunicaciones serie Z80C30 / Z85C30
- Z80C30 / Z85C30 / Z80230 / Z85230 / Z85233 SCC / ESCC Manual del usuario
- Controlador FreeBSD scc (4)