SysIo  1.9.0
Embedded Library and tools
Convertisseur analogique-numérique

Detailed Description

Ce module fournit les fonctions permettant de contrôler le CAN d'un circuit d'entrées-sorties universel ChipIo.

Collaboration diagram for Convertisseur analogique-numérique:

Functions

eAdcDiv eChipIoAdcDiv (xChipIoAdc *xAdc)
 
eAdcRef eChipIoAdcRef (xChipIoAdc *xAdc)
 
eAdcDiv eChipIoAdcSetDiv (eAdcDiv eDiv, xChipIoAdc *xAdc)
 
eAdcRef eChipIoAdcSetRef (eAdcRef eRef, xChipIoAdc *xAdc)
 
int iChipIoAdcRead (unsigned input, xChipIoAdc *xAdc)
 
void vChipIoAdcClose (xChipIoAdc *xAdc)
 
xChipIoAdcxChipIoAdcOpen (xChipIo *xChip)
 

Macros

#define ADC_MEASUREMENT(VALUE, FULL_SCALE)
 Retourne la grandeur associée à un nombre de LSB. More...
 
#define ADC_VALUE(MEASUREMENT, FULL_SCALE)
 Retourne le nombre de LSB associé à une grandeur. More...
 

Typedefs

typedef struct xChipIoAdc xChipIoAdc
 

Enumerations

enum  eAdcDiv {
  eAdcDiv2 = 2, eAdcDiv4 = 4, eAdcDiv8 = 8, eAdcDiv16 = 16,
  eAdcDiv32 = 32, eAdcDiv64 = 64, eAdcDiv128 = 128, eAdcDivUnknown = -1
}
 
enum  eAdcRef { eAdcRefExternal = 0x00, eAdcRefVcc = 0x01, eAdcRefInternal = 0x03, eAdcRefUnknown = -1 }
 

Macro Definition Documentation

#define ADC_MEASUREMENT (   VALUE,
  FULL_SCALE 
)

#include <adc.h>

Retourne la grandeur associée à un nombre de LSB.

Parameters
VALUENombre de LSB à convertir
FULL_SCALEPleine échelle de l'ADC exprimée dans la même unité que que la valeur retournée
Returns
La grandeur associée à VALUE

Definition at line 154 of file adc.h.

#define ADC_VALUE (   MEASUREMENT,
  FULL_SCALE 
)

#include <adc.h>

Retourne le nombre de LSB associé à une grandeur.

Parameters
MEASUREMENTGrandeur à convertir
FULL_SCALEPleine échelle de l'ADC exprimée dans la même unité que MEASUREMENT
Returns
le nombre de LSB associé à MEASUREMENT

Definition at line 145 of file adc.h.

Typedef Documentation

typedef struct xChipIoAdc xChipIoAdc

#include <adc.h>

CAN ChipIo

La structure est opaque pour l'utilisateur.

Definition at line 70 of file adc.h.

Enumeration Type Documentation

enum eAdcDiv

#include <adc.h>

Facteur de division d'horloge CAN

La fréquence de l'horloge ChipIo est de 14,7456 MHz. L'horloge du CAN est dérivée de l'horloge ChipIo, sa fréquence est divisée par un facteur qui peut être modifier. Plus le facteur de division est élevé, plus la mesure sera précise au détriment de la rapidité de mesure. Une conversion prend 13 cycles d'horloge CAN. Le temps de mesure sera donc, par exemple, de 113 µs pour un facteur de division d'horloge de 128.

Note
Pour garantir un rapport signal/bruit suffisant à une mesure sur 10 bits, il faut que le facteur de division soit supérieur ou égal à 16.

Definition at line 51 of file adc.h.

51  {
52  eAdcDiv2 = 2,
53  eAdcDiv4 = 4,
54  eAdcDiv8 = 8,
55  eAdcDiv16 = 16,
56  eAdcDiv32 = 32,
57  eAdcDiv64 = 64,
58  eAdcDiv128 = 128,
59  eAdcDivUnknown = -1
60 } eAdcDiv;
eAdcDiv
Definition: adc.h:51
enum eAdcRef

#include <adc.h>

Tension de référence du CAN

Enumerator
eAdcRefExternal 

Tension de référence de la broche AREF

eAdcRefVcc 

Tension AVCC avec un condensateur sur AREF

eAdcRefInternal 

Tension de référence interne de 1.1 V

Definition at line 32 of file adc.h.

32  {
33  eAdcRefExternal = 0x00,
34  eAdcRefVcc = 0x01,
35  eAdcRefInternal = 0x03,
36  eAdcRefUnknown = -1,
37 } eAdcRef;
eAdcRef
Definition: adc.h:32
Definition: adc.h:34

Function Documentation

eAdcDiv eChipIoAdcDiv ( xChipIoAdc xAdc)

#include <adc.h>

Renvoie le facteur de division de l'horloge du CAN

Parameters
xAdcPointeur sur le CAN
Returns
le facteur de division, -1 si erreur
eAdcRef eChipIoAdcRef ( xChipIoAdc xAdc)

#include <adc.h>

Renvoie la tension de référence

Parameters
xAdcPointeur sur le CAN
Returns
la tension de référence, -1 si erreur
eAdcDiv eChipIoAdcSetDiv ( eAdcDiv  eDiv,
xChipIoAdc xAdc 
)

#include <adc.h>

Modifie le facteur de division de l'horloge du CAN

Parameters
eDivchoix du facteur de division
xAdcPointeur sur le CAN
Returns
la valeur réglée, -1 si erreur
eAdcRef eChipIoAdcSetRef ( eAdcRef  eRef,
xChipIoAdc xAdc 
)

#include <adc.h>

Modifie la tension de référence

Parameters
eRefchoix de la tension de référence
xAdcPointeur sur le CAN
Returns
la valeur réglée, -1 si erreur
int iChipIoAdcRead ( unsigned  input,
xChipIoAdc xAdc 
)

#include <adc.h>

Retourne la valeur d'une entrée analogique

Parameters
inputle numéro de l'entrée concernée (0 à 3)
xAdcPointeur sur le CAN
Returns
la valeur analogique en LSB sur 10 bits, -1 si erreur
void vChipIoAdcClose ( xChipIoAdc xAdc)

#include <adc.h>

Fermeture du CAN

Parameters
xAdcPointeur sur le CAN
xChipIoAdc* xChipIoAdcOpen ( xChipIo xChip)

#include <adc.h>

Ouverture d'un CAN

Le port est ouvert en lecture/écriture non bloquant.

Parameters
xChipPointeur sur objet xChipIo ouvert avec xChipIoOpen()
xIrqPinPointeur sur broche d'interruption, NULL si inutilisée
Returns
Pointeur sur le CAN ouvert, NULL si erreur