Retour au menu : Accueil - Index général - Les transmissions numériques |
Pour une
raison inconnue, les bits constituants les octets de la trame
ne sont pas toujours transmis de la même façon et
les spécifications ne sont pas unanimes ou bien ne décrivent
pas précisément la réalité. Format des différents champs 1) champs adresses et information Les bits sont transmis en commençant par les bits de poids faibles mais après avoir effectué un décalage vers la gauche de 1 bit Exemples : - la lettre O dont le code ASCII est 0x4F soit en binaire : "01001111" devient "10011110" puis est transmise "01111001" - la lettre S dont le code ASCII est 0x53 soit en binaire : "01010011" devient "10100110" puis est transmise "01100101" Note : certains caractères en début ou/et en fin de champ peuvent véhiculer un "1" en première position à la place du "0". Exemple : "11100101" pour la lettre "S" 2) champs control et PID Les bits sont transmis en commençant par les bits de poids faibles mais sans décalage de 1 bit Exemple : - les deux octets contigus Control de valeur 0x03 "00000011" et PID de valeur 0xF0 "11110000" sont transmis respectivement "11000000" et "00001111" 3) FCS Les deux octets du FCS sont transmis en commençant par les bits de poids forts. Marquage des débuts et fins de champs Le programme de décodage peut identifier le dernier octet d'un champ en rencontrant le premier octet du champ suivant. Par exemple, lorsqu'il détecte un flag, le logiciel peut conclure que la trame est terminée est que les deux octets précédents constituent le FCS. Cette méthode n'est pas la meilleure façon, surtout pour le champ "Informations". La solution consiste à mettre à "1" le bit de poids fort du dernier octet du champ des "adresses" et de celui des "informations". Ce "1" n'interfère pas lors du décodage du caractère ASCII. Exemple Pour résumer les règles précédentes voici un petit exemple basé sur les champs "adresses" d'une trame émise par un tracker installé sur un ballon. Les caractères transmis sont les suivants : APT3110BALLON;xy Les caractères "x" et "y" symbolisent le champ "Control" et le champ "PID" Le caractère ";" (point-virgule) représente le SSID "-11" Les trois octets dont la transformation est illustrée dans la figure ci-dessous sont, dans l'ordre, le "O", le "N" de l'indicatif "BALLON" et le SSID qui est aussi le dernier octet du champ des adresses. Le zéro inséré à la place du bit de poids faible est remplacé par un "1" pour marquer qu'il s'agit du dernier octet. Lors de la transposition par inversion des bits de poids forts avec les bits de poids faibles, ce "1" se retrouve comme MSB (most significant bit) ou bit de poids fort. Il sera transmis le premier des huit bits du dernier octet. Documentation Sites en français : Documents en anglais : 1200 Baud Packet Radio Details : site de N1VG. How to Send AX.25 UI Frames Using Inexpensive PIC Microprocessors par John Hansen, W2FS AX.25 Amateur Packet-Radio Link-Layer Protocol |