AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR

Description détaillée

La configuration de la partie matérielle est effectuée dans le fichier avrio-board-afsk.h
Ce fichier doit se trouver dans le chemin de recherche des fichiers en-tête (répertoire du projet ou dossier board normalement).
Les fonctions de cette section doivent être implémentées par l'utilisateur en fonction du matériel utilisé soit sous forme de fonction inline, soit sous forme de fonction normales et dans ce cas, le fichier les contenant doit être ajouté à la compilation.

Graphe de collaboration de Driver:

Fonctions

int8_t iAfskHwAdcRead (void)
 Lecture ADC. Plus de détails...
 
void vAfskHwDacWrite (uint16_t usValue)
 Ecriture DAC. Plus de détails...
 
void vAfskHwDcdOff (void)
 Détection absence porteuse. Plus de détails...
 
void vAfskHwDcdOn (void)
 Détection de présence porteuse. Plus de détails...
 
void vAfskHwInit (void)
 Initialisation du driver. Plus de détails...
 
void vAfskHwTxDisable (void)
 Dévalidation transmetteur. Plus de détails...
 
void vAfskHwTxEnable (void)
 Validation transmetteur. Plus de détails...
 

Macros

#define AFSK_BAUDRATE   1200L
 Vitesse de modulation en baud. Plus de détails...
 
#define AFSK_DAC_RESOLUTION   4
 Nombre de bits du DAC utilisé pour la modulation. Plus de détails...
 
#define AFSK_MARK_FREQ   1200L
 Fréquence de la tonalité MARK. Plus de détails...
 
#define AFSK_SAMPLES_PER_BIT   8L
 Nombre d'échantillons de sinusoide par temps de bit. Plus de détails...
 
#define AFSK_SPACE_FREQ   2200L
 Fréquence de la tonalité SPACE. Plus de détails...
 
#define AFSK_TXONLY_vect
 Vecteur interruption du timer modulateur. Plus de détails...
 

Documentation des macros

#define AFSK_BAUDRATE   1200L

Vitesse de modulation en baud.

Cette valeur ne devrait pas être modifiée !

Définition à la ligne 244 du fichier afsk.h.

#define AFSK_DAC_RESOLUTION   4

Nombre de bits du DAC utilisé pour la modulation.

A modifier en fonction du DAC utilisé

Définition à la ligne 276 du fichier afsk.h.

#define AFSK_MARK_FREQ   1200L

Fréquence de la tonalité MARK.

Cette valeur ne devrait pas être modifiée !

Définition à la ligne 251 du fichier afsk.h.

#define AFSK_SAMPLES_PER_BIT   8L

Nombre d'échantillons de sinusoide par temps de bit.

Il définit la finesse de la sinusoide mais aussi la cadence de l'interruption afin de maintenir une valeur moyenne nulle, ce nombre doit être une une puissance de 2 (2, 4,8 ,16...).
Si la réception est validée, cette valeur est fixée à 8 sans possibilité de la modifier.

Définition à la ligne 269 du fichier afsk.h.

#define AFSK_SPACE_FREQ   2200L

Fréquence de la tonalité SPACE.

Cette valeur ne devrait pas être modifiée !

Définition à la ligne 258 du fichier afsk.h.

#define AFSK_TXONLY_vect

Vecteur interruption du timer modulateur.

A modifier en fonction de la source d'interruption par le modulateur. Ce vecteur ne sera utilisé que si la réception est dévalidée, dans le cas contraire c'est obligatoirement ADC_vect qui est utilisé par le module.

Définition à la ligne 285 du fichier afsk.h.

Documentation des fonctions

int8_t iAfskHwAdcRead ( void  )

Lecture ADC.

Cette fonction est utilisée par le module pour lire le convertisseur analogique-numérique pour la visualisation de la détection de porteuse.
Cette fonction devra être implémentée ou modifiée afin de correspondre au matériel utilisé.

Renvoie
Valeur de la dernière conversion sous forme d'un entier signé sur 8 bits (-127 à +128)
void vAfskHwDacWrite ( uint16_t  usValue)

Ecriture DAC.

Cette fonction écrit dans le convertisseur numérique-analogique. Le DAC est utilisé pour générer une sinusoide en sortie du modulateur.
Cette fonction devra être implémentée ou modifiée afin de correspondre au matériel utilisé.

Paramètres
usValueValeur à écrire en sortie du convertisseur numérique-analogique.
void vAfskHwDcdOff ( void  )

Détection absence porteuse.

Cette fonction est utilisée pour la visualisation de l'absence de porteuse. Elle sera appelée dès que le module ne plus la porteuse. Dans le cas où cette fonction n'est pas utile, elle devra être implémentée sous forme d'une fonction inline vide.

void vAfskHwDcdOn ( void  )

Détection de présence porteuse.

Cette fonction est utilisée pour la visualisation de la détection de porteuse. Elle sera appelée dès que le module détecte le début d'une transmission à la bonne fréquence. Dans le cas où cette fonction n'est pas utile, elle devra être implémentée sous forme d'une fonction inline vide.

void vAfskHwInit ( void  )

Initialisation du driver.

Cette fonction initialise le driver et les éléments qu'il utilise.
Cette fonction devra être implémentée ou modifiée afin de correspondre au matériel utilisé.

void vAfskHwTxDisable ( void  )

Dévalidation transmetteur.

La transmission radio est généralement half-duplex. Cette fonction désactive la partie transmission (PTT). Dans le cas où cette fonction n'est pas utile, elle devra être implémentée sous forme d'une fonction inline vide.

void vAfskHwTxEnable ( void  )

Validation transmetteur.

La transmission radio est généralement half-duplex. Cette fonction active la partie transmission (PTT). Dans le cas où cette fonction n'est pas utile, elle devra être implémentée sous forme d'une fonction inline vide.