Programación de puertos LPT en Visual Basic. Uso del puerto de impresora para controlar dispositivos externos

D. ZAKHAROV, Prokopyevsk, región de Kemerovo

Habiendo dominado el control de los puertos de interfaz de la computadora, el radioaficionado puede conectarles varios dispositivos y sensores de señalización y actuación, convirtiendo la computadora en un centro de control electrónica de consumo, sistema de seguridad del apartamento o un dispositivo de medición. Más atractivo para un principiante Puerto paralelo LPT, originalmente diseñado para conectar una impresora a una computadora. De ahí la abreviatura LPT - Line Printer Terminal (las primeras impresoras imprimieron información "línea por línea", línea por línea). Más tarde, el alcance de este puerto se ha expandido significativamente, una variedad de dispositivos periféricos comenzaron a conectarse a él. Desafortunadamente, hoy en día (así como otros puertos de computadora) está siendo reemplazado gradualmente por un universal de alta velocidad bus serial USB.

Conector de puerto LPT encendido unidad del sistema computadora - DB-25F hembra de 25 pines. Las señales lógicas de niveles característicos de los microcircuitos TTL se pueden aplicar a sus contactos y eliminarlos. Lógicamente se considera bajo voltaje 0 ... 0.8 V, alto - 2.4 ... 5 V.Conecte los contactos de salida del conector con un cable común o con una fuente de voltaje que no exceda +5 V, se recomienda solo a través de resistencias con una resistencia de al menos 300 ohmios. No está permitido aplicar voltaje negativo o voltaje positivo de más de 5 V tanto a las entradas como a las salidas del puerto. Puede conectar y desconectar cualquier cosa del puerto solo cuando la computadora esté completamente desconectada de la red de 220 V (la alimentación se quita el enchufe de la toma). Si el dispositivo conectado tiene alimentación de red, también debe estar físicamente desconectado de la red.

El incumplimiento de estos requisitos puede tener graves consecuencias. Si falla el chip del controlador del puerto paralelo dentro de la computadora, será necesario reparar o reemplazar la placa base.

Cuando se enciende una computadora, su puerto paralelo funciona en modo Centronics, el más simple y tradicional para este puerto desde su aparición en las computadoras. Este modo a veces se denomina puerto paralelo simple (SPP). Los modos EPP y ECP más complejos se utilizan, por regla general, para el intercambio de información de alta velocidad con impresoras láser y escáneres. No los consideraremos, porque la programación de trabajar con el puerto en tales modos está disponible solo para programadores experimentados.

Desde el punto de vista del programa, el puerto LPT en el modo Centronics son tres registros de ocho bits en el espacio de E / S del microprocesador: el registro de datos DR en & H378, el registro de estado de la impresora SR en & H379 y la impresora CR registro de control en & H37A. Las direcciones especificadas se refieren al puerto LPT1, que suele ser el único en la computadora. Si tiene otros puertos paralelos, también se les asignan tres registros de direcciones secuenciales. Por ejemplo, los registros del puerto LPT2 suelen tener direcciones & H278- & H27A.

Las entradas y salidas de los registros de puerto (aunque no todas) están conectadas a los pines del conector de interfaz, como se muestra en la Fig. uno.

Por lo tanto, al escribir ciertos códigos en estos registros, puede configurar el niveles lógicos voltaje en los contactos de salida del conector, y leyendo los códigos de los registros, determine los niveles de señales externas aplicadas a las entradas.

Puede trabajar con el puerto LPT en casi cualquier entorno de programación y sistema operativo. Los entornos más accesibles son Visual básico y Delphi, y en todo lo que se requiere para programar el puerto, son muy similares. Debe decirse que los sistemas operativos multitarea modernos (incluida la familia Windows) no permiten llamadas directas desde programas de aplicación a puertos de computadora. Esto es para evitar conflictos entre programas que se ejecutan simultáneamente si acceden accidentalmente al mismo puerto al mismo tiempo. La comunicación con los puertos solo es posible a través de programas de controladores especiales que hacen automáticamente todo lo necesario para resolver los conflictos. El programador solo necesita escribir algunos comandos de control.

Usaremos una de las bibliotecas más populares de dichos programas: Inpout32.dll de la segunda versión, que es fácil de encontrar en Internet. Es aplicable en varios entornos de programación y sistemas operativos. En Windows 98, el archivo lnpout32.dll debe copiarse en la carpeta C: \ Windows \ system \ y, en Windows XP, en la carpeta C: \ Windows \ system32 \. En muchos casos, basta con colocar este archivo en la carpeta del programa ejecutable. Para programación DOS Conductores adicionales no son necesarios, los comandos de E / S habituales al puerto proporcionados en el lenguaje de programación utilizado son suficientes.

El resto de la discusión se refiere a trabajar con un puerto paralelo en el sistema de programación Visual Basic 6.0 bajo Windows XP. Se ha desarrollado un programa sencillo para dominarlo. Su proyecto, incluido el archivo ejecutable test.exe y el archivo del formulario principal (y único) Form1.frm, se adjuntan al artículo. Cuando se inicia este programa, la ventana que se muestra en la Fig. 2 aparecerá en la pantalla del monitor. 2.



Al hacer clic en los botones en pantalla e ingresar números en los campos correspondientes, puede establecer los niveles de voltaje en las salidas del puerto y leer el estado de sus entradas (se mostrará como un número en el campo correspondiente). La biblioteca para trabajar con el puerto LPT está "conectada" al programa mediante un fragmento del archivo Form1.frm que se muestra en la tabla.



En primer lugar, veamos el trabajo con el registro de control CR (recuerde que su dirección es & H37A). En este caso, lo ejecuta la subrutina

Subcomando privado4_click ()
out & H37A, Text2.Text
End Sub

Cuando se presiona el botón de bisel Command4, escribe en el registro en & H37A el código binario correspondiente al número decimal ingresado en el campo arriba de este botón.

Para mayor claridad, ensamblaremos y conectaremos el nodo LED al conector LPT de acuerdo con el diagrama que se muestra en la Fig. 3.



Ingrese en el campo requerido el número 4 (binario 00000100) y haga clic en el botón "Enviar". Después de eso, los cuatro LED estarán encendidos. El hecho es que las descargas CR, CR y CR están conectadas a los pines del conector a través de inversores, por lo tanto, cuando se escribe 0 a estas descargas, los niveles en los pines correspondientes a ellas se vuelven altos. Para encender solo el LED HL3, debe ingresar el número 15 (binario 00001111), y cuando ingrese el número 11 (binario 0001011), todos los LED estarán apagados. Los bits más significativos del registro de control (CR-CR) no están conectados a los pines del conector, por lo que su estado en este caso no importa.

Para estudiar el trabajo con el registro de estado SR, conectamos el nodo, cuyo diagrama se muestra en la Fig. cuatro.



Cuando los interruptores SA1-SA5 están abiertos, se suministra un voltaje de nivel lógico alto a los contactos del conector a través de las resistencias R1-R5. Su fuente puede ser cualquier adaptador de red con una tensión de salida de 5 V, una batería de tres celdas galvánicas, e incluso una de las salidas del puerto LPT, en la que se establece el nivel de tensión requerido de la forma anteriormente descrita. En muchas computadoras, ya están disponibles resistencias similares a las de R1-R5; en tales casos, no es necesario instalar resistencias externas.

Cuando presione el botón "Aceptar", se ejecutará la subrutina

Subcomando privado5_c1ick ()
Text3.Text = Inp (& H379)
End Sub

Aparecerá en el campo sobre el botón un número que indica el contenido del registro SR. Si todos los interruptores (fig. 4) están abiertos, será 126 (binario 01111110), y si están cerrados, será 134 (10000110). Los valores de los bits SR-SR corresponden a los niveles aplicados a los pines correspondientes del conector, y el valor de los bits SR es inverso al nivel en el pin 11. Dado que los bits menos significativos del SR-SR son no emiten al conector, sus valores no dependen de las señales aplicadas a sus pines.

El registro principal del puerto es el registro de datos DR en la dirección & H378. Es a través de él que la información impresa se transmite byte a byte a la impresora. Los ocho bits del registro están conectados a los pines del conector y sin inversores. Estas ocho redes a menudo se denominan bus de datos. EN estado original solo funciona con la abstinencia. Sin embargo, en casi todos computadoras modernas es posible cambiarlo a la entrada en paralelo de códigos binarios de ocho bits. Para hacer esto, basta con escribir uno en el bit CR del registro de control.

Desafortunadamente, en el modo Centronics, no se envían a su conector señales sobre la dirección en la que funciona el bus de datos del puerto LPT. Por lo tanto, se debe tener especial cuidado al aplicarlo a este neumático. señales externas, solo después de asegurarse de que se realiza el cambio de software "para recibir". De lo contrario, los microcircuitos de interfaz tanto de la computadora como de la fuente de señal conectada al puerto pueden resultar dañados. Este inconveniente se elimina en los modos EPP y ECP, donde se proporciona un conjunto completo de señales para controlar la dirección de la transferencia de información a través del bus de datos del puerto paralelo.

En el programa de prueba considerado, una subrutina trabaja con el registro de datos

Subcomando privado3_Click ()
Fuera y H378, Text1.Text
Text1.Text = Inp (& H378)
End Sub

Cuando presiona el botón "Aceptar", escribe en el registro de datos el número del campo sobre el botón, y luego lee el contenido del registro y lo muestra en el mismo campo. Naturalmente, si el registro funciona como un registro de salida (el elemento "Transferir" está marcado en la pantalla), el número en el campo sigue siendo el mismo. Para asegurarse de que los niveles lógicos en los pines 2-9 del conector del puerto en este caso correspondan al número ingresado en el campo manualmente y escrito en el registro de datos, conecte al conector un nodo similar al que se muestra en la Fig. 3, pero con un mayor número de LED y resistencias a ocho.

La operación de conmutación del bus de datos a entrada se realiza mediante un

Opción secundaria privada1_Click ()
Fuera y H37A, 32
End Sub

Se llama presionando el botón de opción "Recibir". El botón "Transferir" se denomina subrutina similar, que se diferencia sólo en que escribe en el registro de control no 32 (binario 00100000), sino cero, devolviendo así el bus de datos al modo de salida.

Cuando el bus de datos está en modo de entrada, el procedimiento de salida en la subrutina OK discutida anteriormente no funciona realmente. Sin embargo, la función Inp devuelve un valor correspondiente a los niveles en los pines 2-9 establecidos por los circuitos externos conectados a ellos. Aparece como un número decimal en el campo encima del botón Aceptar. Puede establecer niveles lógicos en las líneas del bus de datos utilizando un nodo similar al utilizado para trabajar con el registro de estado (Fig. 4).

Para no complicar el programa, no se proporciona la visualización en el campo de entrada encima del botón "Enviar" de los cambios en el estado del registro de control utilizando los botones "Recibir" y "Transferir".

Habiendo dominado los ejemplos dados en el artículo, aprendimos cómo emitir a través del puerto 12 desde la computadora y emitir 5 señales lógicas, o (en otro modo) emitir 4 e ingresar 13 señales de este tipo. Ahora es posible desarrollar programas y dispositivos mucho más complejos conectados a través del puerto LPT a la computadora.

Del editor. Los archivos mencionados en el artículo y otros archivos necesarios para trabajar con el programa de prueba se encuentran en nuestro servidor FTP en ftp://ftp.radio.ru/pub/2007/09/testlpt.zip

¿Qué es el puerto LPT?

El puerto LPT es el lugar de la computadora donde está conectada la impresora. Pero puedes poner muchas cosas más interesantes allí. Incluyendo los esquemas que inventaste. Por ejemplo, para mí, a través del puerto LPT, se encendió la luz de la habitación, se abrió la cerradura de la puerta y se apagó la radio.

Así es como se ve el conector en una computadora.

Tiene 25 conclusiones:

norte Dirección Señal
1 Producción Estroboscopio de datos
2 Producción Datos 0
3 Producción Datos 1
4 Producción Datos 2
5 Producción Datos 3
6 Producción Datos 4
7 Producción Datos 5
8 Producción Datos 6
9 Producción Datos 7
10 Entrada Reconocer
11 Entrada Ocupado
12 Entrada Sin papel
13 Entrada Seleccione
14 Producción Alimentación automática
15 Entrada Error
16 Producción En eso
17 Producción Seleccionar entrada
18-25 Suelo

Para esquemas de control simples, necesitamos conclusiones:
2 - 9 son salidas Data0-7.
18 - 25 es la tierra (menos). Por lo general (no siempre) están conectados a la carcasa de la computadora.
Este es el conjunto básico de contactos necesarios para hacer sus propios circuitos.

También quiero llamar la atención sobre la conclusión. 1 es "Data Strobe". Según tengo entendido, una señal positiva en esta salida le dice al dispositivo que lea el siguiente comando. Si no alimentamos esta salida mediante programación, la impresora simplemente no prestará atención a las otras salidas.

Los pines se utilizan para ingresar información en el puerto 10-13, 15 ... Más detalles más adelante.

Las salidas de puerto solo pueden aceptar 2 estados: log0 y log1... Cuando la computadora está encendida, los estados de las salidas cambian rápidamente, luego pasan a log0. Dependiendo del tipo de placa base, una o dos salidas pueden ir a log1. Además, cuando Windows arranca, los estados de entrada pueden volver a cambiar. Una vez finalizada la descarga, el sistema no toca las salidas hasta que se inicia la impresión o la "búsqueda de hardware".

Uno de los puertos más antiguos de una computadora es el puerto LPT o puerto paralelo. Y aunque el puerto LPT ahora se puede ver lejos de todas las placas base, los lectores podrían estar interesados ​​en saber qué es.

En primer lugar, averigüemos el nombre del puerto. Quizás no todo el mundo sepa qué significa la abreviatura LPT. De hecho, LPT es la abreviatura de Line Print Terminal. Por lo tanto, queda claro que el puerto LPT se diseñó principalmente para conectar impresoras. Es por eso que el puerto LPT tiene otro nombre: el puerto de impresora. Aunque teóricamente también se pueden conectar otros dispositivos a LPT.

El puerto LPT tiene una larga historia. Fue desarrollado por Centronics (razón por la cual este puerto a menudo se llama puerto Centronics), que produjo impresoras matriciales de puntos incluso antes de la era de las PC, a principios de la década de 1970. Y a principios de la década de 1980, IBM comenzó a usar el puerto LPT en sus computadoras y durante algún tiempo se convirtió en el puerto estándar para conectar dispositivos de alta velocidad (en ese momento).


La apariencia del puerto paralelo en la parte posterior de la computadora.

La interfaz LPT existió en varias ediciones. En la versión original, el puerto LPT era unidireccional, es decir, podía transmitir datos solo en una dirección: a un dispositivo periférico. Por supuesto, esta situación no se adaptaba a los usuarios, ya que había impresoras que requerían transferencia de datos en ambas direcciones. Por lo tanto, la interfaz LPT se mejoró posteriormente varias veces hasta que se desarrolló su estándar internacional IEEE 1284. De acuerdo con este estándar, la interfaz de puerto paralelo admitía varios modos de operación y también era compatible con estándares antiguos. Además, la versión final de la interfaz admitía velocidades de transferencia de datos relativamente altas, hasta 5 Mb / s.

Cómo funciona el puerto paralelo

El puerto LPT se llama paralelo porque en el cable conectado a él, los datos se transmiten en paralelo, es decir, simultáneamente a través de varios conductores. Esta propiedad difiere un puerto paralelo de otro puerto en una computadora: Puerto serial COM.

Hay 8 conductores que transmiten los datos en un cable Centronics Además, hay varias líneas en el cable a través de las cuales se transmiten las señales de control.

Aunque el puerto paralelo se usa principalmente para conectar impresoras, hubo otros usos. En primer lugar, utilizando el puerto LPT, puede conectar directamente dos ordenadores, utilizando un cable Interlink especial. Antes de la adopción generalizada de las tarjetas de red Ethernet, dicha conexión, aunque no proporcionaba al usuario una alta velocidad de transferencia de datos, era a menudo, sin embargo, la única forma de conectar dos computadoras. También hay llaves electrónicas diseñadas para conectarse al puerto LPT.


Cable de datos entre computadoras - Interlink

Al igual que con muchos otros dispositivos en la placa base, los modos de funcionamiento del puerto paralelo a menudo se pueden configurar a través de Configuración del BIOS... Por lo general, las opciones de BIOS como el puerto paralelo, el puerto paralelo IRQ, el puerto paralelo DMA, etc. se utilizan para esto.

Conector paralelo en placa base y cable Centronics

El conector del puerto LPT generalmente se ubica directamente en la placa base, aunque hasta mediados de la década de 1990. generalmente estaba presente en la llamada tarjeta múltiple insertada en la ranura de expansión, en la que también se ubicaban otros puertos de la computadora. La salida del puerto es un conector hembra de 25 pines llamado conector DB25.


Multitarjeta ISA con LPT (DB25 - "madre") y puerto de juego a bordo.

Se utiliza un cable especial para conectarse a la impresora: el cable Centronics. Un extremo (enchufe) del cable Centronics se conecta a un puerto, el otro (también un enchufe) a un conector especial de la impresora. El último conector tiene 36 pines. De ahí que la peculiaridad del cable Centronics es que tiene diferentes conectores en ambos lados.


Exterior del cable Centronics.

Aunque el conector del cable de la placa base a menudo se denomina conector Centronics, estrictamente hablando, un conector Centronics es solo un conector de 36 clavijas para conectarse a una impresora, no a la placa base. El conector del cable para conectarse al puerto se llama conector Amphenolstacker, por el nombre de la empresa estadounidense Amphenol que lo desarrolló, que produce conectores.

Características del puerto paralelo

Debido al hecho de que el puerto LPT admite la transferencia de datos en paralelo, en las primeras PC este puerto se consideraba uno de los puertos más rápidos de una computadora. La transmisión de datos a través de varias líneas en muchos aspectos acerca la interfaz LPT en arquitectura a buses de computadora... Sin embargo, esta circunstancia también impone una limitación a la longitud del cable, que debido a la interferencia que se produce en el cable, no puede superar los 5 m.

El voltaje máximo utilizado en las líneas de señal del puerto es de +5 V.Para una transferencia de datos simple, solo se requieren diez líneas de señal: se trata de 8 líneas de datos, una línea de señal estroboscópica, es decir, una señal de que el puerto está listo para transmitir datos y una línea ocupada ... El resto de las líneas se utilizan por compatibilidad con el estándar Centronics.


Puerto LPT hembra con numeración de pines.

Disposición de pines del conector DB25 paralelo:

  • 1 - Estroboscopio de datos
  • 2-9 - Datos, bits 0-7
  • 10 - Reconocer
  • 11 - Ocupado
  • 12 - Sin papel
  • 13 - Seleccione (Impresora activa)
  • 14 - Alimentación automática
  • 15 - Error
  • 16 - Inicial
  • 17 - Seleccionar entrada
  • 18-25 - Tierra

Conclusión

El puerto LPT es una interfaz computadora personal que actualmente se considera obsoleto y no cuenta con un apoyo significativo de los fabricantes de hardware y software. Sin embargo, el puerto paralelo todavía se usa con éxito en muchas computadoras e impresoras heredadas.

El puerto LPT, a menudo llamado puerto paralelo, es uno de los puertos más antiguos de una PC. Aunque, en estos días, dicho puerto no está disponible en absoluto placas base sin embargo, todavía tiene algo de distribución, por lo que muchos usuarios de computadoras y equipos de oficina, en particular, impresoras, están muy interesados ​​en conocer de qué se trata.

Primero debe comprender qué significa la abreviatura puerto lpt. Entonces, LPT significa una abreviatura de una combinación de varias palabras en inglés, a saber: Line Print Terminal. En ruso, LPT significa terminal de impresora línea por línea. Según el nombre, queda claro que está destinado principalmente a una impresora. Pero desde un punto de vista teórico, algunos otros dispositivos se pueden conectar a LPT. Para ello, se utiliza un adaptador especial: el adaptador lpt. Cabe agregar que tiene otro nombre, aceptado en los círculos de usuarios: el puerto de impresora.

En general, el puerto lpt tiene una historia de desarrollo bastante larga. Fue desarrollado por empleados de la empresa Centronics, que a principios de los 70 del siglo pasado se especializó en la producción de impresoras matriciales. A principios de la década de 1980, este puerto de impresora pasó a ser ampliamente utilizado por IBM, que lo utilizó en sus PC. En esa década, el puerto lpt incluso logró convertirse en la opción estándar requerida para conectar dispositivos a las altas velocidades disponibles en esos años.

Inicialmente, la interfaz LPT se presentó en varias ediciones diferentes. Además, en la versión original, era unidireccional, es decir, con su ayuda, fue posible transferir información exclusivamente a un dispositivo periférico. Por supuesto, este tipo de situación no se adapta a muchos usuarios, tk. ya en esos años se produjeron dispositivos de impresión que requerían la implementación de transferencia de datos en dos direcciones. Es por eso que algún tiempo después, los desarrolladores tuvieron que mejorar la interfaz LPTl varias veces. Este proceso duró hasta que se presentó su estándar, que se denominó IEEE 1284. Así, los desarrolladores presentaron el diagrama de puertos final. El nuevo estándar poseía soporte para varios modos diferentes de operación. Además, era compatible con estándares más antiguos. En su versión final, la interfaz de la impresora podría soportar una tasa de transferencia de información suficientemente alta en ese momento, ¡que alcanzó los 5 Mb / s!

¿Cómo funciona el puerto paralelo?

El nombre LPT paralelo se debe a que la transmisión de datos en el cable conectado a él se realiza de forma paralela, para lo cual se utilizan varios conductores simultáneamente. Es por esto que se diferencia significativamente del bagre, que es consistente. El número de conductores en un cable que se conecta a LPT suele ser ocho. Además, puede contener varias líneas para transmitir señales de control. Entonces usando puerto com en comparación con LPT, tiene una serie de fuertes limitaciones y desventajas.

A pesar de que el puerto Centronics se utilizó en mayor medida para organizar la conexión entre la impresora y la PC, se utilizó para otros fines. Por ejemplo, al usar LPT, puede conectar directamente dos computadoras personales entre sí; generalmente se usa un cable Interlink para esto. Hasta que tarjetas de red Ethernet no se generalizó, este tipo de conexión fue muy popular. Por supuesto, no podía proporcionar a los usuarios tasas de transferencia de datos realmente altas, pero, a pesar de esto, esta forma de conectar dos computadoras entre sí en esos años era casi la única posible. Cabe agregar que incluso hay llaves electrónicas especiales que están diseñadas específicamente para conectarse al puerto paralelo.

Acerca de las características del trabajo LPT

Como se mencionó anteriormente, a diferencia de com, LPT admite la transferencia de datos en paralelo. En los primeros modelos de computadoras personales, fue uno de los más rápidos. Su interfaz, debido a la posibilidad de transferir información a través de varias líneas, es en muchos aspectos similar en arquitectura a los buses utilizados en una PC. Pero es precisamente este tipo de circunstancia la que limita la longitud del cable, que no puede superar los 5 metros. De lo contrario, habrá una interferencia constante en la conexión entre la PC y la impresora.

Por lo general, se necesitan 10 líneas de señal para organizar la transmisión de datos normal. En cuanto al resto de líneas, se utilizan por compatibilidad con el estándar de cable Centronics. El ajuste de voltaje máximo que se aplica a las líneas de señal LTP suele ser +5 V.

Conector de puerto y cable Centronics

Si hablamos del conector de puerto paralelo, entonces está ubicado en la propia placa base, aunque hasta mediados de los 90 del siglo pasado este elemento solía ubicarse en el llamado. multitarjeta, que se insertó en la ranura de expansión. La salida LPT es un conector DB25 de 25 pines.

Para establecer una conexión entre una computadora personal y un equipo de oficina de impresión mediante un puerto personal, debe usar un cable Centronics. En este caso, el conector del equipo de oficina es de 36 pines. Así, la principal característica de este cable es que dispone de dos conectores distintos en ambos lados.
También tenga en cuenta que, con bastante frecuencia, el conector Centronics se refiere al conector del cable que está destinado a la placa base de una computadora personal, pero de hecho es el conector para la impresora, es decir, uno que incluye 36 contactos. En cuanto al conector destinado directamente a LPT, se denomina Amphenolstacker. Estas diferencias en los nombres deben conocerse para poder llamar a todas las cosas por sus nombres propios.

Salir

En conclusión, podemos decir que el puerto paralelo del Line Print Terminal es una interfaz de PC, que a estas alturas se ha vuelto bastante obsoleta. A pesar de su amplia distribución en las últimas décadas del siglo pasado, hoy este puerto no cuenta con mucho apoyo de muchas empresas que producen equipos informáticos, equipos de oficina y software... A pesar de esto, LPT todavía se usa con éxito en muchos modelos de PC y dispositivos de impresión que están desactualizados en nuestro tiempo. Pero, con bastante frecuencia, se requiere un adaptador lpt para organizar una conexión entre una computadora y una impresora antigua. Hoy, en principio, se pueden encontrar a la venta, pero si tiene los conocimientos y las habilidades necesarios, puede dormir un adaptador de este tipo de forma absolutamente independiente.

Puerto paralelo y RnR

Más moderna dispositivos periféricos, conectado a LPT-nop-tu, admite el estándar 1284 y las funciones PnP. Para soportar estas funciones, una computadora desde el punto de vista del hardware, es suficiente tener un controlador de interfaz que cumpla con el estándar 1284. Si el dispositivo conectado es compatible con PnR, es capaz de "negociar" con el puerto que representa los "intereses "de la computadora sobre posibles modos de intercambio usando el protocolo de negociación de modo 1284. Además, para que PPP funcione, el dispositivo conectado debe informar al sistema operativo de toda la información necesaria sobre sí mismo. Como mínimo, se trata de identificadores de fabricantes, modelos y un conjunto de comandos compatibles. La información más detallada sobre el dispositivo puede contener un identificador de clase, Descripción detallada y la ID del dispositivo para que sea compatible. Según la información aceptada para apoyar este dispositivo sistema operativo puede realizar los pasos necesarios para instalar el software necesario.

Los dispositivos con soporte para РпР son reconocidos por el sistema operativo en la etapa de su carga, si, por supuesto, están conectados al puerto con un cable de interfaz y están encendidos. Si Windows detecta un dispositivo PnP conectado que es diferente de lo que está escrito en su registro para este puerto(o simplemente un dispositivo nuevo), intenta instalar los controladores necesarios para el dispositivo desde el kit de distribución del sistema operativo o desde el paquete con un dispositivo nuevo. Si Windows no quiere notar el dispositivo PnP recién conectado, esto puede indicar un problema con el puerto o el cable. El sistema PpP no funciona si el dispositivo está conectado con un cable "no bidireccional" barato que no tiene una conexión de línea Selectln # (pin 17 del puerto LPT y pin 36 del conector Centronics).

Normalmente, el puerto LPT se utiliza para conectar una impresora (consulte la página 8.3.1), pero esto no se limita a su uso.

Para vincular dos computadoras La interfaz paralela utiliza diferentes cables según los modos de los puertos que se utilizan. El más simple y lento es el modo nibble, que se ejecuta en de todo puertos. Para este modo, es suficiente tener 10 cables de señal y un cable común en el cable. La distribución de pines de los conectores de cable se muestra en la tabla. 1,11. La comunicación de dos PC con este cable es compatible con software estándar como Interlnk de MS-DOS o Norton Commander.

La comunicación de alta velocidad entre dos computadoras también se puede realizar en el modo ECP (el modo EPP es inconveniente, ya que requiere la sincronización de los ciclos de E / S del bus de las dos computadoras).

Conexión escáner al puerto LPT es efectivo solo si el puerto proporciona al menos un modo bidireccional (Bi-Di), ya que se ingresa el hilo principal. Es mejor usar el puerto ECP si este modo es compatible con el escáner (o EPP, lo cual es poco probable).

Conexión almacenamiento externo(Unidad Zip Iomega, CD-ROM, etc.), Adaptadores LAN y otros dispositivos de entrada y salida simétricos tienen sus propias especificaciones. En el modo SPP, junto con la ralentización del funcionamiento del dispositivo, se nota una asimetría fundamental de este modo: lectura de datos está sucediendo dos veces más lento que(muy lento) grabación. Solicitud bidireccional régimen (Bi-Di o PS / 2 Tour 1) eliminará esta asimetría - las velocidades serán iguales. Solo al cambiar a EPP o ECP, puede obtener normal velocidad de trabajo. En el modo EPP o ECP, la conexión al puerto LPT es casi tan rápida como la conexión a través del controlador ISA. Esto también es cierto cuando se conectan dispositivos con una interfaz de bus estándar a puertos LPT a través de convertidores de interfaz (por ejemplo, LPT - IDE, LPT - SCSI, LPT - PCMCIA). Tenga en cuenta que un disco duro IDE conectado mediante un adaptador al puerto LPT se puede presentar al sistema como un dispositivo SCSI (esto es más lógico desde el punto de vista del software).

2. Interfaces seriales

La interfaz en serie para la transmisión de datos utiliza una única línea de señal, a través de la cual los bits de información se transmiten uno tras otro de forma secuencial. De ahí el nombre de la interfaz y el puerto. Términos en inglés - Interfaz de serie y Parte de serie(a veces se traducen erróneamente como "en serie"). La transmisión en serie puede reducir el número de líneas de señal y aumentar el rango de comunicación. Un rasgo característico es el uso de señales no TTL. Varias interfaces seriales utilizan aislamiento galvánico de señales externas (generalmente de entrada) de la tierra del circuito del dispositivo, lo que hace posible conectar dispositivos a diferentes potenciales. A continuación consideraremos las interfaces RS-232C, RS-422A, RS-423A, RS-485, bucle de corriente, MIDI, así como el puerto COM.

2.1. Métodos de comunicación en serie

La transmisión de datos en serie puede ser asíncrona o síncrona. Cuándo asincrónico la transmisión de cada byte está precedida empezar poco señalizar al receptor sobre el comienzo del mensaje, seguido de bits de datos y quizá, bit de paridad(paridad,). Completa el paquete detener un poco, garantizando una pausa entre mensajes (Fig. 2.1). El bit de inicio del siguiente byte se envía en cualquier momento después del bit de parada, es decir, son posibles pausas de longitud arbitraria entre transmisiones. El bit de inicio, que siempre tiene un valor estrictamente definido (0 lógico), proporciona un mecanismo simple para sincronizar el receptor con la señal del transmisor. Se supone que el receptor y el transmisor funcionan a la misma velocidad en baudios. El generador de reloj interno del receptor utiliza un contador divisor de frecuencia de referencia, que se reinicia cuando se recibe el bit de inicio. Este contador genera luces estroboscópicas internas, según las cuales el receptor fija las siguientes señales recibidas.

bits. Idealmente, las luces estroboscópicas se ubican en el medio de los intervalos de bits, lo que permite que los datos se reciban incluso con una ligera discrepancia entre las velocidades del receptor y del transmisor. Obviamente, cuando se transmiten 8 bits de datos, un bit de control y un bit de parada, la diferencia de velocidad máxima permitida, en la cual los datos se reconocerán correctamente, no puede exceder el 5%. Teniendo en cuenta la distorsión de fase y la discreción del contador de sincronización interno, en realidad se permite una desviación de frecuencia menor. Cuanto menor sea el factor de división de la frecuencia de referencia del oscilador interno (cuanto mayor sea la frecuencia de transmisión), mayor será el error al alinear las luces estroboscópicas con la mitad del intervalo de bits, y los requisitos de consistencia de frecuencia se vuelven más estrictos. Cuanto mayor sea la frecuencia de transmisión, mayor será la influencia de las distorsiones de los bordes en la fase de la señal recibida. La interacción de estos factores conduce a un aumento de los requisitos de coherencia de las frecuencias del receptor y transmisor con un aumento de la frecuencia de intercambio.

El formato de envío asincrónico le permite identificar posibles errores de transmisión:

» Si se recibe una caída, que indica el comienzo de un mensaje, y la luz estroboscópica del bit de inicio fija un nivel de uno lógico, el bit de inicio se considera falso y el receptor cambia al estado de espera nuevamente. Es posible que el receptor no informe de este error.

“Si durante el tiempo asignado para el bit de parada, se detecta un nivel de cero lógico, se registra un error de bit de parada.

Si se usa paridad, luego de enviar el bit de datos se transmite bit de control. Este bit rellena el número de bits de datos individuales a pares o impares, según la convención aceptada. La recepción de un byte con un valor de bit de control incorrecto conduce a la corrección de un error.

El control de formato detecta saltos de línea:

en este caso, se acepta un cero lógico, que primero se interpreta como un bit de inicio, y cero bits de datos, luego se activa el control de bit de parada.

Para el modo asíncrono, se adopta la siguiente serie tipos de cambio estándar: 50, 75, 110, 150,300,600,1200,2400,4800,9600, 19,200, 38,400, 57,600 y 115,200 bps. A veces se utilizan baudios en lugar de bit / s, pero al considerar binarios señales transmitidas Esto es incorrecto. En baudios, es habitual medir la frecuencia del cambio de estado de la línea, y con un método de codificación no binaria (ampliamente utilizado en los módems modernos) en el canal de comunicación, la tasa de bits (bit / s) y el cambio de señal (baudios). puede diferir varias veces (para obtener más detalles, consulte el Apéndice A).

número bit de datos puede ser de 5, 6, 7 u 8 (los formatos de 5 y 6 bits no son muy comunes). Número de detener un poco puede ser 1, 1,5 o 2 ("un bit y medio" significa solo la longitud del intervalo de parada).

Intercambio asincrónico en PC se implementa usando Puerto COM con usando el protocolo RS-232C.

Sincrónico el modo de transmisión asume una actividad constante del canal de comunicación. La transmisión comienza con un synchrobyte, seguido inmediatamente por un flujo de bits de información. Si el transmisor no tiene datos para transmitir, llena el vacío enviando bytes de sincronización continuamente. Obviamente, al transferir grandes cantidades de datos, la sobrecarga para la sincronización en este modo será menor que en el modo asíncrono. Sin embargo, en el modo síncrono, es necesaria la sincronización externa del receptor con el transmisor, ya que incluso una pequeña desviación de frecuencia conducirá a la distorsión de los datos recibidos. La sincronización externa es posible utilizando una línea separada para transmitir la señal de sincronización o utilizando una codificación de datos de sincronización automática, en la que se pueden extraer pulsos de sincronización de la señal recibida en el lado del receptor. En cualquier caso, el funcionamiento síncrono requiere costosas líneas de comunicación o equipos terminales. Para las PC, hay tarjetas especiales: adaptadores SDLC (costosos) que admiten el modo de intercambio síncrono. Se utilizan principalmente para la comunicación con grandes máquinas IBM (mainframes) y no se utilizan mucho. De los adaptadores síncronos, actualmente se utilizan adaptadores de interfaz V.35.

Sobre el nivel fisico la interfaz en serie tiene diferentes implementaciones, que difieren en la forma en que se transmiten las señales eléctricas. Hay una serie de estándares internacionales relacionados: RS-232C, RS-423A, RS-422A y RS-485. En la Fig. 2.2 muestra los diagramas de conexión de receptores y transmisores, y también muestra las restricciones en la longitud de la línea (L) y velocidad máxima transmisión de datos (V).

Interfaces de línea no balanceadas RS-232C y RS-423A tienen la inmunidad más baja al ruido de modo común, aunque la entrada diferencial del receptor RS-423A suaviza algo la situación. Los mejores parámetros tiene una interfaz punto a punto. RS-422A y su baúl (bus) analógico RS-485, operando en líneas de comunicación simétricas. Usan señales diferenciales con un par de cables separados (trenzados) para transmitir cada señal.

En los estándares enumerados, la señal está representada potencial. Hay interfaces seriales, donde la corriente que fluye a través del circuito transmisor-receptor común es informativa: "bucle de corriente" y MIDI. Se adoptan estándares de comunicación por infrarrojos inalámbricos para la comunicación en distancias cortas. El más extendido en la PC fue el más simple de los enumerados: el estándar RS-232C, implementado por puertos COM. En la automatización industrial, es ampliamente utilizado. RS-485, así como RS-422A, encontrado en algunas impresoras. Existen convertidores de señal para adaptarse a estas interfaces relacionadas.

2.2. Interfaz RS-232C

La interfaz está diseñada para conectar equipos que transmiten o reciben datos (OOD - equipo terminal de datos o ADF - equipo de transmisión de datos; DTE - Equipo terminal de datos), al equipo terminal de canales de datos (DCE; DCE - Equipo de comunicación de datos). El ADF puede ser una computadora, impresora, trazador y más. equipo periférico... El DCE suele ser un módem. El propósito final de una conexión es conectar dos dispositivos ADF. El diagrama de conexión completo se muestra en la fig. 2.3. La interfaz le permite excluir un canal de comunicación remoto junto con un par de dispositivos ATM conectando los dispositivos directamente usando un cable de módem nulo (Fig. 2.4).

El estándar describe señales de control de interfaz, transferencia de datos, interfaz eléctrica y tipos de conectores. El estándar proporciona modos de intercambio asíncrono y síncrono, pero los puertos COM solo admiten modo asincrónico. Funcionalmente RS-232C equivalente al estándar CCITT V.24 / V.28 y la interfaz C2, pero tienen diferentes nombres de señal.

2.2.1. Interfaz eléctrica

Estándar RS-232C utiliza transmisores y receptores de un solo extremo - la señal se transmite con respecto al cable común - la tierra del circuito (las señales diferenciales balanceadas se utilizan en otras interfaces, por ejemplo, RS-422). Interfaz NO PROPORCIONA AISLAMIENTO GALVÁNICO dispositivos. La unidad lógica corresponde al voltaje a través entrada del receptor en el rango -12 ...- 3 V.Para líneas de señales de control, este estado se llama EN("Activado"), para líneas de datos en serie - MARCOS. El cero lógico corresponde al rango +3 ... + 12 V.Para líneas de señal de control, el estado se llama APAGADO("Desactivado") y para líneas de datos en serie: ESPACIO. El rango es -3 ... + 3 V - la zona muerta, que determina la histéresis del receptor: el estado de la línea se considerará cambiado solo después de cruzar el umbral (Fig. 2.5). Los niveles de señal en las salidas de los transmisores deben estar en los rangos -12 ...- 5 V y +5 ... + 12 V para representar uno y cero, respectivamente. La diferencia de potencial entre las tierras del circuito (SG) de los dispositivos a conectar debe ser inferior a 2 V, con una diferencia de potencial mayor, es posible una percepción incorrecta de las señales. La interfaz asume la presencia TIERRA DE PROTECCIÓN para que los dispositivos se conecten si ambos se alimentan de la red corriente alterna y tienen protectores contra sobretensiones.

Conexión y desconexión de cables de interfaz dispositivos con autoalimentado debería estar hecho con la energía apagada. De lo contrario, la diferencia en los potenciales desequilibrados de los dispositivos en el momento de la conmutación puede aplicarse a los circuitos de interfaz de salida o entrada (que es más peligroso) y dañar el microcircuito.

Para interfaz RS-232C Los microcircuitos tampón de los receptores (con histéresis y transmisor de señal bipolar) se producen especialmente. Si no se siguen las reglas de puesta a tierra y cambio, suelen ser las primeras víctimas de los efectos "pirotécnicos". A veces se instalan en "cunas" para facilitar el reemplazo. Pinout de microcircuitos de acondicionadores de señal RS-232C se muestra en la Fig. 2.6. A menudo, los circuitos de búfer se incluyen directamente en la interfaz LSI. Esto reduce el costo del producto, ahorra espacio en el tablero, pero en caso de accidente resulta en grandes pérdidas financieras. Es poco probable que se dañen los microcircuitos de la interfaz al cerrar los circuitos de señal: la corriente de cortocircuito de los transmisores no suele superar los 20 mA.

Estándar RS-232C regula tipos de conectores utilizados.

En el hardware ADF(incluso en los puertos COM) es habitual instalar tenedores(hombre - "papá") DB-25P o una opción más compacta - DB-9P. Los conectores de nueve pines no tienen pines de señal adicionales necesarios para el funcionamiento sincrónico (la mayoría de los conectores de 25 pines no utilizan estos pines).

En el hardware AKD(módems) instalar enchufes(mujer - "madre") DB-25Swm DB-9S.

Esta regla asume que los conectores AKD se puede conectar a conectores ADF directamente o mediante cables adaptadores "rectos" con toma y clavija, en los que los contactos se conectan "uno a uno". Los cables adaptadores también pueden ser adaptadores de conectores de 9 a 25 pines (Fig. 2.7).

Si el hardware ADF se conecta sin módems, luego los conectores del dispositivo (enchufes) se conectan entre sí cable de módem nulo(Módem cero o módem Z), con enchufes en ambos extremos, cuyos contactos están interconectados de acuerdo con uno de los diagramas que se muestran en la Fig. 2.8.

Si en cualquier dispositivo ADF Hay una toma de corriente instalada: esta es una señal de casi el cien por cien de que debe conectarse a otro dispositivo con un cable recto, similar al cable de conexión del módem. El zócalo generalmente se instala en aquellos dispositivos que tienen conección remota a través de módem no se proporciona.

Mesa 2.1 muestra el propósito de los contactos de los conectores de los puertos COM (y cualquier otro equipo ADF). Los pines del conector DB-25S están definidos por el estándar EIA / TIA-232-E, el conector DB-9S está descrito por el estándar EIA / TIA-574. Para los módems, los nombres de los circuitos y los contactos son los mismos, pero las funciones de las señales (entrada-salida) se invierten.

Subconjunto de señales RS-232C, relacionado con el modo asíncrono, lo consideraremos desde el punto de vista del puerto COM de la PC. Debe recordarse que el estado activo de la señal ("encendido") y unidad lógica los datos transmitidos corresponden potencial negativo(por debajo de -3 V) de la señal de interfaz, y el estado "apagado" y cero lógico - positivo(por encima de +3 V). El propósito de las señales de la interfaz se muestra en la tabla. 2.2.

1 * - Bucle multitarjeta de 8 bits.

2 * - cable plano para múltiples tarjetas de 16 bits y puertos en placas base. 3 *: una variante de un bucle de puerto en las placas base. 4 * - cable plano ancho a conector de 25 pines.

2.2.2. Control de flujo de datos

Para controlar el flujo de datos (Control de flujo), se pueden utilizar dos opciones de protocolo: hardware y software. A veces, el control de flujo se confunde con el protocolo de enlace, pero estos son métodos diferentes para lograr el mismo objetivo: igualar la velocidad de transmisión y recepción. Reconocimiento(Apretón de manos) significa enviar una notificación de recepción de artículo, mientras control de flujo implica el envío de una notificación sobre la imposibilidad de recepción de datos posterior.

Protocolo de control de flujo de hardware RTS / CTS (Control de flujo de hardware) utiliza la señal CTS, que le permite dejar de transmitir datos si el receptor no está listo para recibirlos (Fig. 2.9). El transmisor "libera" el siguiente byte sólo cuando la línea CTS está encendida. Un byte que ya ha comenzado a transmitirse no puede ser retrasado por la señal CTS (esto garantiza la integridad del mensaje). El protocolo de hardware proporciona la respuesta más rápida del transmisor al estado del receptor. Los microcircuitos transceptores asíncronos tienen al menos dos registros en la parte receptora -

desplazar, para recibir el siguiente mensaje, y almacenar, desde el cual se lee el byte recibido. Esto hace posible implementar el intercambio utilizando el protocolo de hardware sin pérdida de datos.

El protocolo de hardware es conveniente de usar cuando se conectan impresoras y trazadores si lo admiten (Figura 2.10). Al conectar dos computadoras directamente (sin módems), el protocolo de hardware requiere un cruce de RTS a CTS.

Si no se utiliza ningún protocolo de hardware, el terminal de transmisión debe tener un estado "encendido" en la línea CTS con el puente RTS - CTS. De lo contrario, el transmisor estará "en silencio".

Protocolo de control de flujo de software XON / XOFF asume la presencia de un canal de transmisión de datos bidireccional. El protocolo funciona de la siguiente manera: si el dispositivo que recibe los datos detecta las razones por las que no puede recibirlos más, envía un símbolo de byte por el canal serial inverso XOFF(13h). El dispositivo contrario, habiendo recibido este carácter, suspende la transmisión. Cuando el dispositivo receptor está listo para recibir datos nuevamente, envía un carácter.

XON(llh), tras la recepción del cual el dispositivo opuesto reanuda la transmisión. El tiempo de respuesta del transmisor a un cambio en el estado del receptor en comparación con el protocolo de hardware aumenta al menos en el momento de la transmisión del símbolo. (XON o XOFF) más el tiempo de respuesta del programa del transmisor para recibir un símbolo (Fig. 2.11). De esto se deduce que los datos sin pérdidas solo pueden ser recibidos por un receptor que tiene un búfer adicional de datos recibidos y señala que no está listo de antemano (que tiene espacio libre en el búfer).

La ventaja del protocolo de software es que no hay necesidad de transmitir señales de control de interfaz; el cable mínimo para el intercambio bidireccional puede tener solo 3 cables (consulte la Fig. 2.8a). La desventaja, además del requisito de un búfer y un tiempo de respuesta más largo (reduciendo el rendimiento general del canal debido a la espera de una señal XON), es la complejidad de la implementación del modo de intercambio full-duplex. En este caso, los caracteres de control de flujo deben extraerse (y procesarse) del flujo de datos recibido, lo que limita el conjunto de caracteres transmitidos. La opción de cable mínima para conectar una impresora (trazador) con un protocolo XON / XOFF se muestra en la Fig. 2.12.

Además de estos dos protocolos estándar comunes admitidos tanto por el CP como por el sistema operativo, existen otros. Algunos trazadores en serie utilizan el control por software pero envían caracteres no estándar XON / XOFF, pero las palabras(Cadenas ASCII). Este tipo de intercambio a nivel de soporte de protocolo del sistema prácticamente no es compatible (estos trazadores "hablan" directamente con el programa de aplicación). Por supuesto, puede escribir un controlador de puerto COM (interceptor INT 14h), pero la necesidad de procesar en él mensajes de texto un dispositivo de salida no suele ser una delicia para un programador de sistemas. El cable de conexión es el mismo que se muestra en la fig. 2.12.

2.3. Interfaz de bucle de corriente

Una interfaz en serie común es el bucle de corriente. En él, la señal eléctrica no es el nivel de voltaje relativo al cable común, sino Actual en la línea de dos hilos que conecta el receptor y el transmisor. Una unidad lógica (estado "encendido") corresponde a un flujo de corriente de 20 mA y un cero lógico corresponde a una falta de corriente. Tal representación de señal para el formato de envío asíncrono descrito permite detectar un salto de línea: el receptor notará la ausencia de un bit de parada (el salto de línea actúa como un cero lógico constante).

El bucle actual generalmente asume aislamiento galvánico circuitos de entrada del receptor desde el circuito del dispositivo. En este caso, la fuente de la corriente en el bucle es el transmisor (esta variante se denomina transmisor activo). También es posible la alimentación desde el receptor (receptor activo), mientras que el interruptor de salida del transmisor también se puede aislar galvánicamente del resto del circuito del transmisor. Hay versiones simplificadas sin aislamiento galvánico, pero este ya es un caso degenerado de la interfaz. El bucle de corriente aislado galvánicamente permite transmitir señales a distancias de hasta varios kilómetros. La distancia está determinada por la resistencia del par de cables y el nivel de interferencia. Dado que la interfaz requiere un par de cables para cada señal, normalmente solo se utilizan dos señales de interfaz. En el caso de la comunicación bidireccional, solo se utilizan las señales de los datos transmitidos y recibidos, y se utiliza el método de software para controlar el flujo. XON / XOFF. Si no se requiere comunicación bidireccional, se usa una sola línea de datos, y para el control de flujo, la línea de retorno se usa para la señal CTS (protocolo de hardware) o la línea de datos opuesta (protocolo de software).

Convertir señales RS-232C en el bucle de corriente utilizando un circuito simple (Fig. 2.13). Aquí, la impresora está conectada mediante un bucle de corriente a un puerto COM con control de flujo de hardware. La energía de la interfaz se usa para obtener la señal bipolar requerida para las señales de entrada del puerto COM.

Con el software adecuado, un bucle de corriente puede proporcionar comunicación bidireccional semidúplex entre dos dispositivos. En este caso, cada receptor "escucha" tanto las señales del transmisor en el lado opuesto del canal como las señales de su propio transmisor. Los paquetes de comunicación los tratan simplemente como un eco. Para una recepción sin errores, los transmisores deben funcionar a su vez.

2.4. Interfaz MIDI

Interfase Digital de Instrumentos Musicales MIDI(Interfaz digital de instrumentos musicales) es una interfaz asíncrona en serie bidireccional con una velocidad de transmisión de 31,25 Kbps. Desarrollada en 1983, esta interfaz se ha convertido en el estándar de facto para conectar computadoras, sintetizadores, dispositivos de grabación y reproducción, mezcladores, dispositivos de efectos especiales y otros equipos de música electrónica.

La interfaz se aplica tal bucle es de 10 mA(5 mA posible) con aislamiento galvánico del circuito de entrada. Esto elimina la conexión de las "conexiones a tierra del circuito" de los dispositivos conectados a través del cable de interfaz, eliminando las interferencias que son altamente indeseables para los equipos de audio. La selección de la frecuencia de transmisión, que coincide con uno de los valores de las frecuencias de cuantificación utilizadas en la grabación de audio digital, también sirve para reducir el ruido de interferencia.

Envío asincrónico contiene un bit de inicio, 8 bits de información y 1 bit de parada, sin paridad. El bit más significativo de la transmisión es un atributo de comando / datos. Su valor de cero indica la presencia de siete bits de datos en los bits menos significativos. Cuando se establece en uno, los bits contienen código de comando, y los bits son numero de canal. Los comandos pueden dirigirse a un canal específico o transmitirse sin dirección. El último grupo incluye comandos de inicio, parada y marcas de tiempo, que aseguran la sincronización de los dispositivos (sistema de sincronización Sincronización MIDI y MTS - Código de tiempo MIDI).

La interfaz define tres tipos de puertos: Entrada MIDI, salida MIDI nMIDI-Thru.

Puerto de entrada Entrada MIDI es una entrada de la interfaz "bucle de corriente 10 mA", aislada galvánicamente del receptor mediante un optoacoplador con una velocidad de al menos 2 μs. El dispositivo monitorea el flujo de información en esta entrada y responde a los comandos y datos dirigidos a él.

Puerto de salida Salida MIDI representa la salida de una fuente de corriente de 10 mA, acoplada galvánicamente al circuito del dispositivo. Las resistencias limitadoras protegen los circuitos de salida de daños en caso de una falla a tierra o una fuente de 5 V. La salida es el flujo de información de este dispositivo. La secuencia también puede contener la secuencia de entrada traducida.

Puerto de paso a través de MIDI(opcional) sirve para retransmitir la señal de entrada.

Los conectores son conectores DIN de 5 pines comunes en los equipos de audio de consumo. Los enchufes están instalados en todos los dispositivos, los enchufes en los cables. Todos los cables de conexión MIDI están unificados (Fig. 2.14). Pin 2 - blindaje del cable - se conecta al cable común solo en el lado del transmisor (en los conectores Salida MIDI y MIDI-Thru).

Hay discrepancias en el etiquetado de las entradas y salidas que se muestran junto a los conectores. Algunos fabricantes escriben "In" o "Out" de acuerdo con la función del conector de este dispositivo (y esto es correcto), luego cualquier cable conecta "In" y "Out". Otros creen que la firma debería indicar la función del dispositivo conectado. Luego, el cable conectará los conectores marcados como "In" - "In" y "Out" - "Out".

La interfaz le permite combinar un grupo de hasta 16 dispositivos en Red de área local... La topología debe obedecer la regla:

Entrada Entrada MIDI un dispositivo debe estar conectado a la salida Salida MIDI o MIDI-Thru otro. Al planificar su red MIDI, debe guiarse por los flujos de información y las comunicaciones del dispositivo. Los dispositivos de control - teclados, secuenciadores (en modo de reproducción), fuentes de sincronización - deben estar delante de los controlados. Si los dispositivos necesitan comunicación bidireccional, están conectados en un anillo. Es posible utilizar multiplexores especiales que le permitan cambiar lógicamente varios flujos de entrada en un flujo de salida. El caso degenerado de un anillo es una conexión bidireccional de dos dispositivos. Varias opciones de conexión se muestran en la Fig. 2.15.

La PC tiene un puerto MIDI en la mayoría de los adaptadores de audio, sus señales se enrutan a los pines no utilizados (12 y 15) del conector del adaptador de juegos. La conexión de dispositivos MIDI requiere adaptador adaptador, implementando la interfaz de "bucle de corriente". Un adaptador adaptador generalmente está integrado en un cable especial, cuyo diagrama se muestra en la Fig. 2.16. Algunos modelos de PC tienen adaptadores integrados y conectores MIDI estándar de 5 pines.

La PC usa puertos MIDI compatibles con el controlador MPU-401(Roland) en modo UART. En el espacio de E / S MPU-401 ocupa dos direcciones contiguas MPU(normalmente 330h) y MPU + 1:

Puerto DATOS(habla a MPU + 0) - escritura y lectura de bytes transmitidos y recibidos a través de la interfaz MIDI. Puerto ESTADO / COMANDO(habla a MPU + 1) - leer comandos de estado / escritura (escritura - solo para el modo inteligente). El byte de estado define los siguientes bits:

Bit 7 - DSR(Conjunto de datos listo) - preparación (DSR-0) datos recibidos para su lectura. El bit se establece en "I" cuando todos los bytes recibidos se han leído del registro de datos.

Bit 6 - RRD(Lectura de datos lista) - preparación (DRR = 0) UART que se escribirá en el registro de datos o comando. La condición de listo para escribir no ocurrirá si el receptor tiene un byte de datos sin leer.

En algunas placas base, se utilizan LSI de controladores de interfaz, en los que el UART utilizado para el puerto COM se puede cambiar al modo de puerto MIDI mediante la configuración a través de BIOS SETUP.

¿Te gustó el artículo? ¡Compartir con tus amigos!