Home
  Academia
    Sist.Tiempo Real
      Modulo

  Introducción
  Protocolo
    Escape
    Flujo
  Uso
  16550
  Indicaciones

Resultados
  Mód. óptico
  Mód. térmico
  Mód. motor

Watermark

Módulos didácticos para procesos de Tiempo Real

Protocolo de comunicación

La comunicación se realiza a una velocidad de 38400 Baudios, sin paridad, y con 8 bits de datos y 1 bit de 'stop', o sea, '38400N81'. Se utiliza el siguiente protocolo:

La definición de los comandos es como sigue:

Inicialización

PC -> Módulo Módulo -> PC


Paquete de inicialización: <ch> es el código de identificación que el módulo tendrá que utilizar como el propio. El módulo retransmite el paquete de datos, con el código de identificación incrementado en 1 (y la suma de control corregida). De esta forma, el próximo módulo lo interpretará como comando de identificación.

Envio de comando (excitación)

PC -> Módulo Módulo -> PC


Paquete de 'comando': el valor de cm será utilizado para la entrada del sistema a controlar, por ejemplo la intensidad de la fuente de luz, o la velocidad del motor. Paquete de confirmación: el mismo de entrada, sin el valor de comando.

Pedido de medición

PC -> Módulo Módulo -> PC


Paquete de 'pedido': el módulo tiene que responder con el valor de salida del proceso, por ejemplo, la medición de la intensidad de la luz o medición de temperatura. Paquete de resultado: el mismo de entrada, pero contiene el valor de la medición pedido.

Algunas aclaraciones sobre los códigos usados:

Código Descripción
C0 Código de inicio y terminación de paquete (Hex 0xC0)
s1
s2
s3
Códigos de comando. La 's' indica el 'canal interno' en módulo: cada módulo está previsto (aunque no implementado todavía) para controlar varios procesos simúltaneamente. El número del canal está codificado en los 4 bits superiores.

(s=0, s=1, s=2: Entradas analógicas. s=4: medidor de velocidad para el motor)

ch Número del módulo a controlar
cs Suma de control. La suma de todos los bytes, excepto los 0xC0 iniciales y finales, tiene que dar 0xFF. Nota: Esto es sin los códigos de escape!
cm Valor del comando (0 - 255) (excitación)
md Valor de respuesta (0 - 255) (medición).

Un obervador atento habrá detectado una falla en el diseño de este protocolo: Qué pasa cuando uno de los datos enviados es actualmente 0xC0? En este caso sería imposible de sincronizar correctamente. Para esta caso existe un sistema con secuencias de escape.


(c) John Coppens ON6JC/LW3HAZ correo