este artículo explicará los siguientes temas en detalles:
1) Paso 1: Comprender la conexión y las señales RS232
2) Paso 2: Aprender sobre el protocolo
3) Paso 3: controlar sus dispositivos RS232 utilizando 232analyzer
después de leer esta página, debería ser capaz de comprender la mayor parte del hardware y el software estándares (protocolo) para RS232., Si tiene la oportunidad de probar sus dispositivos RS232 con el software 232Analyzer, debería poder controlar sus dispositivos RS232 en un corto período de tiempo.
Paso 1: Comprender la conexión RS232 & señales
RS-232C, EIA RS-232, o simplemente RS-232, se refiere al mismo estándar definido por la Asociación de Industrias Electrónicas en 1969 para la comunicación en serie.
DTE y DCE
DTE son las siglas de equipos terminales de datos. Una computadora es un DTE. DCE significa Equipo de comunicación de datos. Un módem es un DCE.,
DTE normalmente viene con un conector macho, mientras que DCE viene con un conector hembra. Sin embargo, eso no siempre es cierto. Use la manera simple a continuación para confirmar: Mida el Pin 3 y el Pin 5 de un conector DB-9 con un voltímetro, si obtiene un voltaje de-3V a-15V, entonces es un dispositivo DTE. Si el voltaje está en el Pin 2, entonces es un dispositivo DCE.
Nota: El resultado de un conector DB-25 está invertido (consulte la tabla de conversión de DB-9 a DB-25 a continuación).
salidas de Pines RS-232 (DB-9)
un conector DB-9 macho visto desde el frente., Vista inversa o posterior del conector macho para el Conector hembra.,div>7
RS-232 Connections
A straight-through cable is used to connect a DTE (e.,g. ordenador) a un DCE (por ejemplo, módem), todas las señales en un lado conectado a las señales correspondientes en el otro lado en una base de uno a uno. Un Cable crossover (Null-modem) se utiliza para conectar dos DTE directamente, sin un módem en el medio., Transmiten y reciben señales de datos cruzadas entre los dos lados y hay muchas variaciones en cómo se conectan las otras señales de control, a continuación se muestra una de ellas:
señales RS-232
el gráfico anterior ilustra una forma de onda lógica típica RS-232 (formato de datos: 1 bit de inicio, 8 bits de datos, sin paridad, 1 bit de parada)., La transmisión de datos comienza con un bit de Inicio, seguido de los bits de datos (LSB enviado primero y MSB enviado último), y termina con un bit «Stop».
el voltaje de la lógica » 1 «(Marca) está entre-3VDC a-15vdc, mientras que la lógica» 0 » (espacio) está entre +3VDC a +15vdc.
RS-232 conecta la tierra de 2 dispositivos diferentes juntos, que es la llamada conexión «desequilibrada». Una conexión desequilibrada es más susceptible al ruido, y tiene una limitación de distancia de 50 pies (que es de alrededor de 15 metros).,
Paso 2: Conozca el protocolo
un protocolo es uno o varios conjuntos de reglas de hardware y software acordadas por todas las partes de comunicación para intercambiar datos de manera correcta y eficiente.
comunicaciones síncronas y asíncronas
La comunicación síncrona requiere que el emisor y el receptor compartan el mismo reloj. El remitente proporciona una señal de tiempo al receptor para que este sepa cuándo «leer» los datos. La comunicación síncrona generalmente tiene tasas de datos más altas y una mayor capacidad de comprobación de errores. Una impresora es una forma de comunicación síncrona.,
La comunicación asíncrona no tiene señal de temporización ni reloj. En su lugar, inserta bits de inicio / parada en cada byte de datos para «sincronizar» la comunicación. Como utiliza menos cables para la comunicación (sin señales de reloj), la comunicación asíncrona es más simple y más rentable. RS-232 / RS-485 / RS-422 / TTL son las formas de Comunicaciones Asincrónicas.
Drilling Down: Bits y Bytes
Las comunicaciones internas de la computadora consisten en electrónica digital, representada por solo dos condiciones: encendido o apagado., Representamos estos con dos números: 0 y 1, que en el sistema binario se denomina un Bit.
un Byte consiste en 8 bits, que representa el número decimal 0 a 255, o el número Hexadecimal 0 a FF. Como se describió anteriormente, un byte es la unidad básica de las comunicaciones asíncronas.
velocidad en baudios, bits de datos, paridad y bit de parada
La velocidad en baudios es la velocidad de comunicación que mide el número de transferencias de bits por segundo. Por ejemplo, 19200 baudios son 19200 bits por segundo.
Los bits de datos son una medida de los bits de datos reales en un paquete de comunicación., Por ejemplo, el gráfico anterior muestra ocho (8) bits de datos en un paquete de comunicación. Un paquete de comunicación se refiere a una sola transferencia de bytes, incluyendo bits de inicio / parada, bits de datos y paridad. Si está transfiriendo un código ASCII estándar (0 a 127), 7 bits de datos son suficientes. Si es un código ASCII extendido (128 a 255), entonces se requieren 8 bits de datos.
La paridad es una forma sencilla de comprobar errores. Hay indicadores pares, impares, de marca y de espacio. También puede usar sin paridad., Para paridad par e impar, el puerto serie establece el bit de paridad (el último bit después del bit de datos) en un valor para garantizar que el paquete de datos tenga un número par o impar de bits lógicos altos. Por ejemplo, si los datos son 10010010, para paridad par, el puerto serie establece el bit de paridad como 1 para mantener el número de bits lógicos altos par. Para paridad impar, el bit de paridad es 0, de modo que el número de bits lógicos altos es impar. Mark parity simplemente establece el bit de paridad en logic-high y Space establece el bit de paridad en logic-low, para que la parte receptora pueda determinar si los datos están dañados.,
Los bits de parada se utilizan para señalar el final de un paquete de comunicación. Esto también ayuda a sincronizar diferentes relojes en los dispositivos serie.
Handshaking (control de flujo)
Handshaking también se llama «control de flujo». El propósito principal del apretón de manos es evitar la sobrecarga del receptor. Mediante el uso de señales de apretón de manos, los receptores podrán decirle al dispositivo de envío que pause la transmisión de datos si el receptor está sobrecargado. Hay tres tipos de protocolo: protocolo de Software, Hardware o Ambos.
el apretón de manos del Software utiliza dos caracteres de control: XON y XOFF., El receptor envía estos caracteres de control para pausar el transmisor durante la comunicación. XON es decimal 17 y XOFF es decimal 19 en el gráfico ASCII. El inconveniente del apretón de manos de Software es que estos dos caracteres de control no se pueden utilizar en los datos. Esto es muy importante cuando está transmitiendo datos binarios, ya que es posible que necesite usar estos dos códigos en sus datos.
el handshaking de Hardware hace uso de líneas de hardware reales, como RTS / CTS, DTR / DSR y DCD / RI (para módem).
en la comunicación DTE / DCE, RTS (Request to Send) es una salida en el DTE y una entrada en el DCE., CTS (Clear to Send) es la señal de respuesta procedente del DCE. Antes de enviar un dato, el DTE pide permiso estableciendo su salida RTS en alto. No se enviarán datos hasta que el DCE otorgue permiso utilizando la línea CTS. El DTE utiliza la señal DTR (Data Terminal Ready) para indicar que está listo para aceptar información, mientras que el DCE utiliza la señal DSR para el mismo propósito. DTR / DSR normalmente están activados o desactivados para toda la sesión de conexión (por ejemplo, Off-hook), mientras que RTS/CTS están activados o desactivados para cada transmisión de datos., DCD (Data Carrier Ready) es utilizado por el módem cuando se ha establecido una conexión con un equipo remoto, mientras que RI (indicador de anillo) es utilizado por el módem para indicar una señal de anillo desde la línea telefónica.
formatos de datos (binario, hexadecimal, Dec, Oct y ASCII)
los dispositivos serie utilizan binario para la comunicación, que consiste en solo dos números únicos: 0 y 1.
binario es el sistema de numeración base-2. Un byte de datos consiste en 8 dígitos binarios, de 0000 0000 a 1111 1111. Hexadecimal es el sistema base-16, que consta de 16 números: 0 a 9 y las letras A A F (número decimal 15).,
el sistema de numeración Hexadecimal es útil porque puede representar cada byte como dos dígitos hexadecimales consecutivos, y es más fácil para los humanos leer números hexadecimales que números binarios. La mayoría de los fabricantes utilizan Hexadecimal en su documentación de protocolo. Es simple convertir un valor de Hexadecimal a binario. Simplemente traduce cada dígito Hexadecimal a su equivalente binario de 4 bits. Por ejemplo, el número Hexadecimal F3 es igual al número binario 1111 0011.
Decimal se refiere a los números en base 10, que es el sistema de numeración que más usamos en la vida cotidiana., No es tan fácil como Hexadecimal y Octal convertir Decimal a número binario, pero es más fácil para nosotros entender Decimal.
Octal se refiere al sistema de numeración base-8, que utiliza solo ocho símbolos únicos (0 a 7). Los programadores a menudo usan el formato Octal porque es relativamente fácil de leer para las personas y se puede traducir fácilmente al formato binario: cada dígito Octal representa 3 dígitos binarios. Por ejemplo, el número Octal 73 es igual al número binario 111 011.
ASCII (American Standard Code for Information Interchange) es una codificación de caracteres basada en el alfabeto Inglés., Los códigos ASCII (tanto legibles como ilegibles) son ampliamente utilizados en comunicaciones, como las comunicaciones por módem. Las letras A A Z y los números 0 a 9 son códigos ASCII legibles. Algunos códigos ASCII son ilegibles, como los códigos de control: XON y XOFF, que se utilizan en el control de flujo de Software.
Checksum
muchos protocolos serie utilizan checksum (bytes adicionales añadidos al final de la cadena de datos) para comprobar la integridad de los datos, ya que pueden producirse errores durante la transmisión de datos. Hay muchos tipos de suma de comprobación, desde los usos más simples de la misma en Modula o BCC hasta el sofisticado cálculo CRC., Usando Modula como ejemplo, aprendemos que antes de la transmisión de datos, el remitente agrega todos los bytes de comando juntos y luego los modula por 255 (decimal) para obtener un byte adicional. Esto se debe agregar al final de la cadena de comandos. Cuando el receptor recibe la cadena de comandos, primero Verificará el byte agregado para ver si los datos permanecen sin cambios o no. Si ese es el caso, aceptará los datos, y si no, pedirá al remitente que vuelva a enviar los datos.
ejemplos de comandos de protocolo
un comando de protocolo es una cadena de datos enviada desde un dispositivo serie (por ejemplo, un ordenador) a otro (p. ej., modem). Estos son algunos ejemplos:
Ejemplo de comando ASCII: ATI1 para consultar la información del fabricante del módem. (Nota: son los códigos de control de retorno de carro y alimentación de línea).,mal y se convierte en: 41 54 49 31 0D 0A
convierte la cadena de comandos anterior a Decimal y se convierte en: 065 084 073 049 013 010
convierte la cadena de comandos anterior a Octal y se convierte en: 101 124 111 061 015 012
convierte la cadena de comandos anterior a binario y se convierte en: 01000001 01010100 01001001 00110001 00001101 00001010
paso 3: controle sus dispositivos RS232 utilizando 232analyzer
232analyzer es un avanzado software analizador de protocolo de puerto serie, que le permite controlar / depurar, monitorear / rastrear dispositivos serie (RS-232 / RS-485 / RS-422 / ttl) desde su PC., 232Analyzer es un shareware, la versión gratuita tiene alguna limitación, pero es más que suficiente para probar y controlar sus dispositivos serie. Haga clic aquí para descargar una copia gratuita.
cálculo de suma de comprobación
232Analyzer viene con una calculadora de suma de comprobación, que le permite calcular el byte de suma de comprobación complicado en segundos, aquí hay un ejemplo:
supongamos que está controlando un proyector, y el protocolo del proyector utiliza xOR para obtener el byte de suma de comprobación adicional, la cadena de comandos para encender el proyector es: «1a 2B 3C» más el byte de suma de comprobación., Utilice los siguientes procedimientos para calcular el byte de suma de comprobación:
- seleccione Hex como un formato de operandos
- seleccione xOr como un operador
- clave en la cadena de comandos y añada una coma (,) después de cada byte del código de comandos: P., 1A,2B,3C,
- haga clic en el botón «Calcular» y obtendrá el resultado de 0D (0 se omite)
seleccione el puerto COM y configure los formatos de comunicación
Nota: Después de haber configurado formatos de comunicación (deben coincidir con la configuración del puerto COM del proyector), haga clic en el botón «conectar» a la izquierda para activar el puerto COM.,
configuración del control de Flujo
Control de sus dispositivos RS232
- Control de la Línea de Estados
232Analyzer permite controlar / supervisar los estados de los puertos COM.
- Los estados de línea de RTS y DTR se alternarán cuando se haga clic en el LED respectivo, puede usar un medidor de voltaje para verificar los cambios, debe obtener +6v a +15V cuando el estado de línea está activado, y-6v a-15V cuando el estado de línea está desactivado.,
- Se pueden supervisar otros estados de línea a través del Ds Virtual, como RX, TX, DSR, CTS, DCD y RI.
- enviar/recibir comandos
Use el ejemplo anterior para controlar un proyector (encienda el proyector), ingrese la cadena de comandos completa «1A,2b,3C,0D» en el Send_Command_Pane como se muestra arriba, y luego haga clic en el botón «Enviar»…
notas:
- en la versión gratuita, el modo hexadecimal no está disponible., Puede usar el formato Decimal para enviar la cadena de comandos:»26,43,60,13,»
- Puede usar cualquier dispositivo RS-232 para probar, siempre y cuando conozca los comandos del protocolo.