Protocole KISS

Un article de Wikipédia, l'encyclopédie libre.

Le protocole KISS est le protocole RS232 le plus utilisé pour communiquer avec les TNC, notamment radio. Son nom vient du principe Keep it Simple, Stupid, respecté par ce protocole qui ne fait que transférer les trames AX.25 sans modification.

Ainsi, le protocole AX.25 est pris en charge par l'ordinateur, mis à part quelques fonctionnalités relatives aux temporisations et étroitement liées au modem radio (Échange réception/transmission).

Ce protocole transmet les données en huit bits sur une interface asynchrone. Le début et la fin des trames AX.25 sont repérées avec des caractères FEND ($C0). Quand un caractère FEND apparait à l'intérieur d'une trame AX.25, il est remplacé par la séquence FESC, TFEND ($DB, $DC). Le caractère FESC s'il apparait dans une trame, est alors remplacé par la séquence FESC, TFESC ($DB, $DD).

Par définition, le protocole KISS n'utilise pas les lignes de contrôle RS232 comme RTS/CTS (Request to Send/Clear to Send). Les trames KISS ont un caractère de contrôle additionnel au début de la trame AX.25. Cet octet de contrôle permet la sélection de jusqu'à 16 ports radios sur un TNC multi-port (Quatre bits de poids fort). Quelques paramètres peuvent être codés pour chaque canal radio sur les quatre bits de poids faible.

Une trame AX.25 est identifiée par les quatre bits de poids faible a zéro, tandis qu'une valeur différente de zéro sert à positionner certains paramètres TNC. Une exception est cependant l'octet de contrôle $FF qui est habituellement utilisé à basculer le TNC dans un autre mode opératoire.

Les paramètres qui peuvent être positionnés sont entre autres:

  • TX tail time, exprimé souvent en dizaines de millisecondes.
  • persist value, dans l'intervalle 0 à 255.
  • slottime exprimé souvent en dizaines de millisecondes.
  • TX delay exprimé souvent en dizaines de millisecondes.

Sous Linux, le programme kissattach permet de mettre un TNC en mode KISS, et la commande kissparms de modifier ses paramètres.

Liens externes[modifier | modifier le code]