Si RS-232 define las características eléctricas, ¿cuál es el protocolo de transferencia?

0

De esta respuesta, dice que RS-232 define los niveles de voltaje y qué no de una señal.

Quiero poder leer códigos de barras en mi microcontrolador con algo como this .

La hoja de datos más cercana que pude encontrar a un producto similar fue esta:

La hoja de especificaciones indica que el escáner se ejecuta a 5V. Sin embargo, desde wikipedia :

  

Para las líneas de transmisión de datos (TxD, RxD y sus equivalentes de canal secundario) una lógica se define como un voltaje negativo, la condición de la señal se llama "marca". El cero lógico es positivo y la condición de señal se denomina "espacio".

Si el escáner funciona a 5 V, ¿cómo es este RS-232?

Y, en lo que respecta a mi pregunta, en las hojas de datos no puedo encontrar ninguna información sobre el protocolo de transferencia real y cómo interactuar con el escáner a nivel de software.

¿Se supone que el protocolo de transferencia es UART?

    
pregunta tgun926

2 respuestas

1

Es completamente posible que un dispositivo dos funcione con + 5V, pero se comunique utilizando niveles de señal RS232 (~ -10V / + 10V). Hay chips comunes (max232 es uno típico) que hacen la conversión.

Tenga en cuenta que entre el microcontrolador y el chip max232, la comunicación utiliza el protocolo asynch / uart, pero usa 5V (o 3.3V) y 0V. Esto a veces se denomina 'RS232 a nivel TTL' o 'uart a nivel ttl'. Es un poco tonto convertir de ese nivel a rs232 verdadero, solo para volver a convertir 10 cm más adelante al mismo nivel de ttl, por lo que algunos dispositivos se comunican directamente a este nivel.

Cuando se menciona RS232, generalmente se asume que se utiliza el protocolo asíncrono / UART.

Los lectores de códigos de barras generalmente funcionan insertando el código de barras como caracteres en un flujo de datos. Cuando la conexión es RS232, esto toma la forma de caracteres ASCII. Cuando el lector de código de barras está conectado al teclado (o en la actualidad a través de USB), emula las teclas que se presionan, por lo que puede proporcionar entrada a cualquier programa que acepte la entrada del teclado. Probablemente desee evitar este tipo porque tendría que emular USB y parte de la pila USB en su microcontrolador para que esto funcione.

    
respondido por el Wouter van Ooijen
1

RS-232 especifica más que solo las características eléctricas. Según Wikipedia 1 :

  

El estándar define las características eléctricas y la temporización de las señales, el significado de las señales y el tamaño físico y el pinout de los conectores.

Tomando esto en el contexto del modelo de redes OSI de 7 capas 2 TIA-232-F (como es el estándar actual) ocuparía los dos niveles más bajos de Físico (cables, conectores y voltajes) y Datos (los bits de inicio / parada, 7/8 bits de datos, paridad, etc):

  1. solicitud
  2. Presentación *
  3. sesión
  4. transporte
  5. Red
  6. Data
  7. Físico

Tomar un subconjunto de la especificación TIA-232-F y cambiar los voltajes de la capa física (cambio +/- 10V a 0-5V), pero mantener la capa de datos intacta resulta en lo que comúnmente es denominado TTL Serial o, a veces, RS-232 / TTL, que es lo que habla la mayoría de los microcontroladores.

Con un solo sistema punto a punto como TIA-232-F , gran parte del modelo OSI puede ignorarse, y los niveles 3-5 se vuelven irrelevantes. Así que solo tiene la capa de presentación, que es lo que representan los caracteres y los bytes enviados a través del medio de datos (para texto simple, la presentación podría ser ASCII, por ejemplo), y la aplicación, que es la forma en que interpreta o genera los datos en la presentación. .

* Me enseñaron "Protocolo" para esta capa, no "Presentación" en mis días de universidad. ¿Cómo cambian los tiempos, eh? Sin embargo, el protocolo tiene mucho más sentido para mí.

    
respondido por el Majenko

Lea otras preguntas en las etiquetas