domingo, 23 de mayo de 2010

...continuando.

Los datos de la trama AX.25, que están delimitados por los Flag 0x7E (bin 01111110) de start y stop, son los siguientes:

1- Destination Address, 7 bytes que continen el indicativo destino o los datos APRS como veremos en detalle más adelante. Tenemos 6 bytes correspondientes al indicativo y el último byte al SSID.

2- Source Address, indicativo de la estación que transmite el paquete, son 7 bytes, el último byte indica el SSID (distintos identificativos que puede tomar nuestra estación)

3- Digipeater Address, hasta 8 indicativos de Digipeater (repetidores digitales o Digis), tamaño máximo 56 bytes. En este campo se indica el número de repeticiones de Digipeater. Los Digis reciben los paquetes y los reenvían descontando 1 unidad al SSID, en el momento que llegan a cero son descartados, son el tiempo de vida (TTL) del paquete. Además cada Digi que repite el paquete lo modifica y añade su indicativo de forma que se puede ver el camino seguido por el paquete APRS hasta llegar a un i-Gate (punto de acceso a Internet).
Existen recomendaciones a la hora de configurar este campo ya que valores muy altos ocasionan repeticiones innecesarias y por tanto QRM (ruido).

4- Control Field, campo de control de 1 byte que en APRS es 0x03 (hexadecimal) e indica que se trata de un paquete UI-frame, especificado dentro del protocolo AX.25. Se trata de unnumbered information (UI), o paquetes no numerados y por tanto en modo no orientado a conexión, similar al UDP de TCP/IP. En APRS el orden de los paquetes se establece por el orden de llegada a no ser que sean fechados, es decir que lleven un Timestump.

5- Protocol ID (PID), en nuestro caso es siempre F0, en AX.25 se especifica el tipo de protocolo de nivel 3, en el caso de APRS es nivel 2 por lo que se indica con 0xF0.

6- Information Field, entre 1-256 bytes. Aquí se envían los datos de usuario que pueden ser de cualquier tipo, en caso de APRS con datos MIC-E Encoded Data se codifican datos en este campo como veremos. El AQM Tracker como lo he bautizado utiliza la codificación MIC-E para enviar la posición, la velocidad, el rumbo y la altitud de la estación móvil.

7- Frame Check Sequence (FCS), son dos bytes que se utilizan para garantizar la integridad de los datos, ya comenté algo al respecto anteriormente. Se aplica el cálculo CRC-16 CCITT a los datos a enviar, de forma que el receptor una vez recibida la trama realiza su cálculo y comprueba que coincide con el FCS de la trama, si está todo correcto la trama se ha recibido sin errores, en caso contrario será descartada. El FCS también es utilizado por los Digis para identificar paquetes repetidos y así evitar reenviarlos de nuevo.

Hasta aquí el final de los diferentes campos, un ejemplo real de trama MIC-E es la siguiente:

1:Fm EA4AQM-9 To TP2UWV Via WIDE2-2 [17:07:09]
`y@:m >/"<+}*QRV:145,300MHz 73*

Se puede observar el indicativo de las estación, en este caso el mío con SSID -9 y el alias del Digi genérico APRS "WIDE2-2", en concreto el -2 establece el número de saltos ya que los Digis iran descontando dicho valor hasta llegar a cero. Se observa la trama tipo UI y el pid o protocol ID que es F0. El resto que aparece de longitud 33 bytes corresponde al Informatión Field, aparecen datos MIC-E codificados (
`y@:m >/"<+}) y una parte de información de usuario: *QRV:145,300MHz 73*, indicando la frecuencia de escucha.
En el campo Information pueden aparecer caracteres no imprimibles.

En la próxima entrada analizaré la codificación MIC-E para seguir avanzando cada vez a más bajo nivel, pondré algunas señales y ejemplos para que sea más ilustrativo...





No hay comentarios: