El documento describe el formato de las tramas AX.25 utilizadas en APRS, incluyendo los campos de la trama, sus funciones y un ejemplo de trama de reporte meteorológico. Explica cómo se generan y transmiten las tramas desde un sistema mínimo y cómo se demodulan las tramas recibidas para extraer la información.
2. Formato de trama AX.25
TRAMA AX.25 UI TIPO
Campo Flag
Dirección
de destino
Dirección
de origen
Direcciones de
digipeaters (0-8)
Campo de
control
(UI)
ID de
protocolo
Campo de
información
FCS Flag
Bytes 1 7 7 0-56 1 1 1-256 2 1
Los campos ‘dirección de destino’, ‘dirección de origen’ y
‘dirección de digipeaters’ conforman el denominado
‘campo de direcciones’.
Los mensajes intercambiados en el modo APRS
consisten en tramas de datos que responden al formato
AX.25 y que poseen la siguiente estructura:
3. FLAG
• El flag se ubica al inicio y final de cada trama.
• Permite delimitar cada trama.
• Corresponde a un byte y su valor en
hexadecimal es 0x7E.
• Al inicio de la trama es comun enviar multiples
flags (32 por ejemplo) para permitir que el
receptor se pueda sincronizar a la trama y para
esperar el retardo de PTT del TX (Txdelay).
MSB FLAG en binario LSB
0 1 1 1 1 1 1 0
4. Campo de direcciones
• El campo de direcciones se compone de la
direccion de destino, la de origen y hasta 8
direcciones de digipeaters.
• El formato de cada dirección es de seis
caracteres (bytes) para la señal distintiva y un
byte de SSID.
• Si la señal distintiva ocupa menos de seis
caracteres los restantes deben completarse con
espacios.
5. SSID
MSB SSID LSB
0 1 1 S3 S2 S1 S0 X
X
0 No es la ultima dirección del campo de direcciones
1 Es la ultima dirección del campo de direcciones
S3 S2 S1 S0 SSID en binario
El final del campo de direcciones se indica cuando el ultimo bit
del SSID es igual a 1.
Para asegurar de que solo el SSID pueda terminar en 1 (y evitar
un falso “fin de campo de direcciones”) a todos los caracteres de
las direcciones se les hace un SHIFT a izquierda y así siempre
terminaran en 0.
6. Dirección de destino
• Este campo puede contener una señal distintiva de
destino específica o información APRS (software y
versión o TNC empleados).
• Ejemplo:
• En el ejemplo se observa que se completan dos
caracteres que sobran con espacios y el byte de
SSID termina en cero porque no es la ultima
dirección del campo de direcciones.
Dirección de destino
A P R S SSID=0
0x41 0x50 0x52 0x53 0x20 0x20 0x01100000b = 0x60
0x82 0xA0 0xA4 0xA6 0x40 0x40 0x01100000b = 0x60
7. Dirección de origen
• Este campo contiene la señal distintiva de la
estación que transmite la trama.
• Ejemplo:
Dirección de origen
L U 8 D B W SSID=0
0x4C 0x55 0x38 0x44 0x42 0x57 0x01100000b = 0x60
0x98 0xAA 0x70 0x88 0x84 0xAE 0x01100000b = 0x60
8. Direcciones de digipeaters
• En este campo pueden incluirse hasta 8 direcciones
de digipeaters específicas.
• Pueden emplearse modos de direccionamiento más
genericos como el WIDEn-N.
• Ejemplo: WIDE2-2
• En este caso el SSID vale 2 (queda -2) y como es la
ultima dirección del campo de direcciones el ultimo
bit del SSID vale 1.
Dirección de digipeaters
W I D E 2 SSID=2
0x57 0x49 0x44 0x45 0x32 0x20 0x01100101b = 0x65
0xAE 0x92 0x88 0x8A 0x64 0x40 0x01100101b = 0x65
9. Campo de control e ID de protocolo
• Para la mayoria de las aplicaciones adoptan
los siguientes valores:
– Campo de control: 0x03 (trama UI).
– ID de protocolo: 0xF0.
MSB Campo de control LSB
0 0 0 0 0 0 1 1
MSB ID de protocolo LSB
1 1 1 1 0 0 0 0
10. Campo de información
• Este campo contiene la información de la
trama.
Campo de información tipo
Campo
ID de tipo
de datos
Datos
APRS
Extención de
los datos APRS
Comentarios
Bytes 1 N 7 N
11. Campo de información
• Identificador de tipo de datos (DTI): Indica el
tipo y formato del campo de información.
• Ejemplos:
DTI Campo de información
@ Posición con horario (con menasajeo APRS)
= Posición sin horario (con menasajeo APRS)
/ Posición con horario (sin menasajeo APRS)
! Posición sin horario (sin menasajeo APRS)
12. Campo de información
• Datos APRS: Conforman la información de la
trama, los tipos principales de información son:
– Posicionamiento
– Datos meteorológicos
– Telemetría
– Anuncios y boletines
– Otros
• Algunos de estos datos pueden tener una
extesión para proveer datos adicionales.
13. Campo de información
• Comentarios: se incluyen inmediatamnete
despues de los datos APRS y consisten en
texto (menos los caracteres “|” y “~”) en forma
de mensaje (diciendo algo de nuestra
estación, por ejemplo) o datos APRS
adicionales (altitud, rumbo, velocidad, datos
meteorológicos, entre otros).
• La cantidad de caracteres que se pueden
emplear para los comentarios varia segun el
tipo de información APRS de la trama.
14. Ejemplo: Reporte de posición con hora
• El campo de información para este ejemplo es:
• Se agrega a los datos de hora y posición la
extension 270/021 que indica; curso (270º) y
velocidad (21kts).
Campo de información para trama de posición con hora
Campo DTI Hora UTC Latitud Tabla Longitud
Simb
.
Extensión Comentarios
Trama @ H H M M S S h D D M M . M M S/N "" o "/" D D D M M . M M
E/
W
Simb
.
E E E E E E E C C C C C C C C C C C C C
Bytes 1 7 8 1 9 1 7 0-36
Ejemplo @ 2 0 1 5 5 5 h 3 8 3 2 . 9 9 S / 0 5 8 4 4 . 7 8 W > 2 7 0 / 0 2 1 G P S F I X = 1 T = 2 3
15. Ejemplo: Reporte meteorológico
Reporte meteorológico con posición y horario 1/3
Campo DTI Hora (DHM/HMS) Latitud Tabla Longitud Simb. Viento DIR/VEL
Trama
@ H H M M S S h
D D M M . M M S/N "" o "/" D D D M M . M M E/W Simb. D D D / V V V
/ D D H H M M z
Bytes 1 7 8 1 9 1 7
Ejemplo @ 2 0 1 5 5 5 h 3 8 3 2 . 9 9 S / 0 5 8 4 4 . 7 8 W _ 2 2 0 / 0 0 4
• La primer parte de la trama es analoga a la de reporte de
posición con hora.
• El campo de extension de datos se emplea para reportar
dirección y velocidad del viento:
• D: Dirección del viento (en grados).
• V: Velocidad del viento (en mph) sostenida en un minuto.
16. Ejemplo: Reporte meteorológico
Reporte meteorológico con posición y horario 2/3
Datos meteorologicos
g
Rafaga
t
Temperatura
r
Lluvia (1h)
p
Lluvia (24h)
P
Lluvia (desde 0h)
h
Humedad
b
Pres. Atmosférica
g g g t t t r r r p p p P P P h h b b b b
28
g 0 0 5 t - 0 7 r 0 0 0 p 0 0 0 P 0 0 0 h 5 0 b 1 0 0 2
• g: Rafaga (gust) en mph registrada en los ultimos 5 minutos.
• t: Temperatura en grados Fahrenheit (ºF).
• r: Precipitaciones (en centesimas de pulgada) registrada en
la ultima hora.
• p: Precipitaciones (en centesimas de pulgada) registrada en
las ultimas 24 horas.
• P: Precipitaciones (en centesimas de pulgada) registrada
desde la medianoche.
• h: Humedad relativa (en %) donde 00 = 100%.
• b: Presión atmosférica (en milibares).
17. Ejemplo: Reporte meteorológico
Reporte meteorológico con posición y horario 3/3
APRS Soft. Unidad WX
S U U U U
1 2 a 4
w R S W _
• APRS Software: Tipo de software APRS empleado en la
estación (w = WinAPRS).
• Unidad WX: Tipo de estación meteorológica (RSW = Radio
Shack).
18. Símbolos
Con un caracter de esta tabla
seleccionamos el icono de la tabla
primaria o secundaria.
Tabla primaria: la usamos
poniendo “/” entre latitud y
longitud.
Tabla secundaria: la usamos
poniendo “” entre latitud y
longitud.
19. FCS (Frame Check Sequence)
• Este campo contiene el resultado de una
cuenta que se realiza con los valores de todos
los campos de la trama (excepto los flags y el
propio FCS).
• Permite al receptor validar una trama recibida
(el RX realiza la misma cuenta con los datos
recibidos y compara el FCS que obtiene con el
de la trama).
20. Generar y transmitir tramas APRS
• Sistema mínimo:
• El receptor GPS nos provee datos organizados
en tramas NMEA (GGA y RMC, por ej.), siendo
de nuestro interes; hora UTC, posición, rumbo y
velocidad.
22. Generar y transmitir tramas APRS
• Sistema mínimo:
• La MCU (MicroController Unit) realiza multiples tareas:
– Recibe y parsea las tramas NMEA para obtener los
datos de interes.
– Arma las tramas AX.25 (bit stuffing y NRZI).
– Genera en conjunto con un DAC la señal de audio
para el TX (modulador).
– Controla otras señales PTT, indicaciones para el
usuario, audio de RX, comunicación con PC, etc.
23. Generar y transmitir tramas APRS
• Sistema mínimo:
• El transceptor es comandado (PTT) y modulado
(Audio TX) con las señales generadas por la MCU,
que tambien toma señal del audio de recepcion
para evitar que no se transmita mientras se esta
recibiendo.
• Ejemplo de este sistema: Tinytrack.
26. Generar y transmitir tramas APRS
• Algunos detalles del modo que emplea el APRS:
FSK con 1200Hz para 1 y 2200Hz para 0.
Velocidad de transmisión de 1200bps.
• Los datos de la trama AX.25 se codifican en
código NRZI (Non Return Zero Inverted), de
modo que si el dato es un 0 se codifica como un
cambio de bit y si es un 1 no cambia el bit.
DATO
0 0 1 1 0 0 0 1
DATO NRZI
1 0 0 0 1 0 1 1
Frecuencia del tono (Hz)
1200 2200 2200 2200 1200 2200 1200 1200
27. Generar y transmitir tramas APRS
• Bit stuffing: es otra modificación que se realiza
a los datos de la trama AX.25 (excepto a los
flags) que consiste en que en caso de que se
tengan 5 bits 1 consecutivos se inserta un 0.
Este 0 agregado no representa ninguna
información y son descartados por el receptor
de la trama.
Datos sin bit stuffing
0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1
Datos con bit stuffing
0 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 1
28. Generar y transmitir tramas APRS
• Bit stuffing: Asegura que solo para los flags se
de la condición de seis bits 1 consecutivos.
Permite ademas y en conjunto con el NRZI
que se produzcan cambios de tonos cada
cinco bits o menos. Estos favorece a los
demoduladores a mantener el sincronismo con
la trama recibida.
• Implementación:
MCU: Microcontrolador (Pic, Atmel, etc.).
Modulador: XR2206, MX614 o MCU+DAC.
30. Demodulación de tramas APRS
• Es el proceso por el cual se decodifica del audio
de recepción la información de la trama recibida.
• Para obtener la información de la trama se debe
demodular el audio de recepción, sincronizarse
con la trama de datos demodulada, extraer los
datos considerando el NRZI, el bit stuffing y
calcular el FCS para verificar la integridad de los
datos recibidos.
31. Demodulación de tramas APRS
• La demodulacion puede implementarse
mediante circuitos integrados especificos como
el XR2211 o el MX614 (modulador-demodulador
o MODEM). Mediante microcontroladores
empleando tecnicas de procesamiento de
señales o con programas para PC (AGWPE).