PROTOCOLO DE COMUNICACIONES

La comunicación es un factor muy importante para nuestro robot, ya que una de sus aplicaciones será la robótica cooperativa en la cual es esencial la comunicación, además el robot debe ser monitoreado y en algunas aplicaciones controlado desde un PC. Por lo tanto la red y el protocolo de comunicación están desarrollados pensando en este tipo de aplicaciones.

La red debe permitir la comunicación entre todos los robots incluyendo la estación base, cada individuo debe estar en capacidad de transmitir datos y de recibir información de cualquier otro individuo, esto exige que la todos los robots transmitan información en la misma frecuencia y por lo tanto la comunicación debe ser halfduplex, es decir un robot no puede transmitir y recibir información al mismo tiempo y por lo tanto dos individuos no pueden transmitir información al mismo tiempo.

La red debe ser confiable, debe permitir detectar errores o colisiones provocadas cuando varios robots hablan al tiempo y además debe ser extensible para permitir la entrada y perdida de robots en el sistema.

Para cumplir con estos requisitos se ha desarrollado un protocolo de comunicaciones propio donde se transmite toda la información necesaria para monitorear o controlar un robot y para compartir información entre individuos.

Llamaremos individuo a cualquier cosa capaz de transmitir y recibir información en la red, en nuestro caso tenemos a los robots y a la estación central.
El protocolo de comunicaciones se encuentra dividido en dos niveles, un nivel físico que incluye el modulo de RF y el mecanismo para transmitir y recibir bytes y un segundo nivel, en el cual se define la forma en que se va a transmitir los datos, es decir la estructura de la trama de información.

Protocolo a nivel físico:

El protocolo de comunicaciones usado para la comunicación serial a nivel físico es el protocolo estándar que usa el puerto serial del computador (RS-232). El formato de los datos es el estandar NRZ (no retorno a cero). El nivel de voltaje para un alto que transmite y recibe el puerto serial del PC es de 12V, mientras que el nivel de voltaje para un alto que admiten el receptor y transmisor de RF, así como el microcontrolador es 5V, por lo tanto se debe usar un MAX232 como interfaz que se encarga de hacer el acople entre los dos niveles de voltaje.

Para la comunicación con el microprocesador se usa el modulo SCI (Serial Comunications Interface), el cual va integrado en el microcontrolador y utiliza los pines PTE0 para transmisión y PTE1 para recepción. El SCI permite una comunicación Full-duplex (aunque nuestro protocolo utiliza una comunicación Half-duplez) y asincrónica. El formato de los datos es NFZ, además se transmite un bit de start y y un bit de stop cada que se transmite un byte.

Protocolo de segundo nivel:

Nuestro protocolo de comunicaciones de segundo nivel, consiste en una trama de 4 bytes, esta trama contiene la identificación de quien transmite y de quien recibe, dos banderas que indican el tipo de trama, dos bytes para enviar los datos y un ultimo byte de verificación para identificar errores en la transmisión.

Hay dos tipos de trama, la trama de comandos y trama de mensaje. Una trama es de comandos cuando lo que se va a transmitir es una orden a un individuo y una trama es de mensaje cuando lo que se va a transmitir es una respuesta o un mensaje para monitoreo (indica el estado de los sensores o de algún registro del individuo).

Los bytes transmitidos en la trama son los siguientes:

  • IDENTIFICACIÓN:
  • Bits 7, 6 Y 5 - Whose: Contienen la identificación del individuo que esta transmitiendo la trama.

    Bits 4, 3 y 2 - Whom: Indican el individuo al que va dirigida la información.

    Los códigos de identificación tanto para whose como para whom son los siguientes:
    000: estación central
    001: Robot 1
    010: Robot 2
    011: Robot 3
    100: Robot 4
    101: Robot 5
    110: Robot 6
    1111: Todos (broadcast)

    Bit 1 (Unimplemented).

    Bit 0 - Identification flag (IF):
    1 = Se va a transmitir una orden
    0 = Se va a transmitir un mensaje

  • DATA 1 Y DATA 2
  • :

    En estos dos bytes se transmite la información, es decir los comandos, estos pueden ser una orden o un mensaje, si desea conocer los comandos de click aqui.

  • ACKNOLEDGE:

  • Este es un byte para verificación de la trama y controlar los errores que se puedan cometer a transmitir la información. En este byte se transmite el resultado de una operación aplicada a los 3 primeros bytes de la trama.


     








     

     

       
     
       

    Hosted by www.Geocities.ws

    1