stringtranslate.com

16550 UART

Exar16550

El UART 16550 ( transmisor-receptor asíncrono universal ) es un circuito integrado diseñado para implementar la interfaz para comunicaciones seriales . La versión -A corregida fue lanzada en 1987 por National Semiconductor . [1] Se utiliza con frecuencia para implementar el puerto serial para computadoras personales compatibles con IBM PC , donde a menudo se conecta a una interfaz RS-232 para módems, ratones seriales , impresoras y periféricos similares. Fue el primer chip serial utilizado en la línea IBM PS/2 , que se introdujo en 1987. [2] [3] [4]

La pieza fue fabricada originalmente por National Semiconductor. Otros fabricantes fabrican dispositivos con numeración similar, con distintos niveles de compatibilidad con la pieza original de National Semiconductor. Una función UART que es compatible con el registro del 16550 suele ser una característica de las tarjetas de E/S multifunción para ordenadores compatibles con IBM PC y puede estar integrada en la placa base de otros ordenadores compatibles.

El reemplazo del UART 8250 instalado de fábrica era una actualización común para los propietarios de IBM PC, XT y computadoras compatibles cuando los módems de alta velocidad estuvieron disponibles. Por encima de los 9600 baudios, los propietarios descubrieron que los puertos seriales de las computadoras no podían manejar un flujo continuo de datos sin perder caracteres. El intercambio del 8250 (que tenía solo un búfer de datos recibidos de un byte) por un 16550 (y ocasionalmente parchear o configurar el software del sistema para que tuviera en cuenta la función FIFO del nuevo chip) mejoró la confiabilidad y estabilidad de las conexiones de alta velocidad.

Características

Las características principales del 16550 incluyen:

Tanto el hardware como la interfaz de software del 16550 son compatibles con los anteriores UART 8250 y UART 16450. La versión actual (desde 1995) de Texas Instruments , que compró National Semiconductor, se llama 16550D. [2]

El 16550A y los modelos más nuevos son compatibles con los pines del 16450, pero el programa de diagnóstico de Microsoft ( MSD ) suministrado con MS-DOS 6.x, Windows 9x, Windows Me y Windows 2000 a menudo informa que el chip 16450 es un chip 8250. [2]

El buffer FIFO

Semiconductor nacional NS16550AFN

Una desventaja de los UART 8250 y 16450 anteriores era que se generaban interrupciones para cada byte recibido. Esto generaba altas tasas de interrupciones a medida que aumentaban las velocidades de transferencia. Más grave aún, con un búfer de solo 1 byte existe un riesgo real de que se sobrescriba un byte recibido si se producen demoras en el servicio de interrupción. Para superar estas deficiencias, los UART de la serie 16550 incorporaron un búfer FIFO de 16 bytes con un disparador de interrupción programable de 1, 4, 8 o 14 bytes.

El 16550 también incorpora un FIFO de transmisión, aunque esta característica es menos crítica ya que las demoras en el servicio de interrupción solo darían como resultado velocidades de transmisión subóptimas y no una pérdida real de datos.

La versión 16550A(F) era imprescindible para utilizar módems con una velocidad de transmisión de datos de 9600 baudios. Se producían cortes con unidades de 14,4 kbit/s ( V.32bis y superiores) y, a medida que se añadía compresión con V.42, obtener más datos por interrupción era fundamental a medida que la velocidad de los datos seguía aumentando.

Problema con el buffer

El 16550 original tenía un error que impedía utilizar este FIFO. Posteriormente, National Semiconductor lanzó el 16550A, que corrigió este problema. Sin embargo, no todos los fabricantes adoptaron esta nomenclatura y siguieron haciendo referencia al chip fijo como 16550. [5]

Según otra fuente, el problema de FIFO se corrigió solo en el modelo 16550AF, y el modelo A aún presenta errores. (Los modelos C y CF también están bien, según esta fuente). El modelo 16550AFN agregó transferencias DMA. [6]

Véase también

Referencias

  1. ^ Michael, Martin (1987). "Una comparación de las series de UART INS8250, NS16450 y NS16550A". Libro de datos de elementos de microcomunicación . AN-493. Santa Clara, CA, EE. UU.: National Semiconductor . págs. 4 . Consultado el 7 de febrero de 2020 . La principal diferencia entre estas dos partes está en el funcionamiento de los FIFO. El NS16550 a veces transferirá caracteres adicionales cuando la CPU lea el FIFO RX. Debido a la naturaleza asincrónica de esta falla, no hay solución alternativa y el NS16550 NO debe usarse en el modo FIFO. El NS16550A no tiene problemas para operar en el modo FIFO y debe usarse en todos los diseños nuevos.
  2. ^ abc Actualización y reparación de PC. Que Publishing . 2003. pág. 965. ISBN 9780789729743. Recuperado el 16 de abril de 2016 .
  3. ^ Van Gilluwe, Frank (1997). PC indocumentado (2.ª edición). Addison Wesley . ISBN 0-20147950-8.
  4. ^ Paul, Matthias R. (6 de abril de 2002). "Re: [fd-dev] ANUNCIO: CuteMouse 2.0 alpha 1". freedos-dev . Archivado desde el original el 7 de febrero de 2020 . Consultado el 7 de febrero de 2020 .(NB. Tiene diversa información sobre errores del chip 8250).
  5. ^ "¿Qué son los UART y cómo afectan al rendimiento?". Archivado desde el original el 7 de febrero de 2020. Consultado el 7 de febrero de 2020 .
  6. ^ Nickalls, Richard WD; Ramasubramanian, R. (1995). Interfaz entre el IBM-PC y el equipo médico: el arte de la comunicación en serie . Cambridge University Press . Págs. 25-26. ISBN. 978-0-521-46280-8.

Lectura adicional

Enlaces externos