![]() |
AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
Ce module réalise un modem AFSK 1200 bauds utilisant HDLC.
Il sera généralement utilisé comme couche physique pour le module Liaison AX25.
A la compilation, il est possible de dévalider la partie transmission en ajoutant AFSK_TX_DISABLE à la variable AVRIO_CONFIG dans le Makefile. De la même façon, il est possible de dévalider la réception à l'aide de AFSK_RX_DISABLE (mais pas les 2 ensemble...).
Lorsque la partie réception est validée, le module utilise le convertisseur analogique-numérique ADC pour la démodulation ainsi que le TIMER1 pour le cadencement de l'échantillonnage en réception et en émission.
Lorsque la partie réception n'est pas validée, le module utilise un timer 8 bits pour le cadencement de l'échantillonnage en émission.
En émission, le module utilise un convertisseur numérique-analogique DAC à 4 bits, constitué de 4 résistances ou d'un réseau R-2R relié à des broches de ports.
La partie matérielle peut être modifier dans le fichier avrio-board-afsk.h décrite dans Driver
![]() |
Modules | |
Codes d'erreur | |
Configuration | |
Driver | |
Mode de fonctionnement | |
Fonctions | |
bool | bAfskDcd (void) |
bool | bAfskReceiving (void) |
bool | bAfskSending (void) |
uint8_t | ucAfskGetRssi (void) |
uint8_t | ucAfskGetRssiTh (void) |
void | vAfskInit (uint8_t ucMode) |
void | vAfskSetRssiTh (uint8_t ucRssi) |
void | vAfskToneSet (uint16_t usTxPhaseInc) |
Modifie la tonalité en sortie du modulateur. Plus de détails... | |
void | vAfskToneToggle (void) |
Bascule la tonalité en sortie du modulateur. Plus de détails... | |
Variables | |
FILE | xAfskPort |
Fichier permettant l'utilisation du modem avec les fonctions de la libc. Plus de détails... | |
bool bAfskDcd | ( | void | ) |
Indique si le module est synchronisé en réception
bool bAfskReceiving | ( | void | ) |
Indique si le module est en cours de réception
bool bAfskSending | ( | void | ) |
Indique si le module est en cours de transmission
uint8_t ucAfskGetRssi | ( | void | ) |
Retourne la qualité du signal reçu
uint8_t ucAfskGetRssiTh | ( | void | ) |
Lecture du seuil minimal de qualité du signal reçu
void vAfskInit | ( | uint8_t | ucMode | ) |
Initialise le module Afsk
Après cet appel, les interruptions doivent être validées afin que le module puisse fonctionner. Cela peut se faire l'aide de sei().
ucMode | Mode de fonctionnement (Voir Mode de fonctionnement). 0 pour un fonctionnement par défaut (bloquant). |
void vAfskSetRssiTh | ( | uint8_t | ucRssi | ) |
Modifie le seuil minimal de qualité du signal reçu
void vAfskToneSet | ( | uint16_t | usTxPhaseInc | ) |
Modifie la tonalité en sortie du modulateur.
Cette fonction est prévue uniquement pour des raisons de mise au point (vérification de la fréquence des signaux en sortie)
usTxPhaseInc | incrément de phase correspondant à la tonalité souhaitée. La macro AFSK_PHASE_INC() permet de calculer cette valeur à partir de la fréquence. Il est obligatoire d'utiliser les valeurs de fréquences pré-définies AFSK_MARK_FREQ et AFSK_SPACE_FREQ si on souhaite utiliser vAfskToneToggle() |
void vAfskToneToggle | ( | void | ) |
Bascule la tonalité en sortie du modulateur.
Cette fonction permet de passer d'une tonalité MARK à une tonalité SPACE et inversement. ELle est prévue uniquement pour des raisons de mise au point.
FILE xAfskPort |
Fichier permettant l'utilisation du modem avec les fonctions de la libc.
Pour utiliser le modem comme entrée et sortie pour le module Ax25, on mettra au début du main() :