relation entre un ADC, un CPU et une RAM
Publié : 29 juin 2007 16:11
Bonjour,
J'essaye de faire la relation entre un ADC, un CPU et une RAM et aussi bande passante, fréquence d'échantillonage
J'aimerais avoir votre avis pour savoir si j'oublie pas qq chose et si je raconte pas trop de conneries.
En gros je voudrais déterminer le type de composant qu'il faudrait pour faire une convertisseur analogique/numérique (en boucle) et stocker les résultats dans une ram.
J'ai déterminer les paramètres suivant :
L'ADC a un temps de conversion exprimé le plus souvent en µs.
Avec la formule f=1/T, j'en déduis la fréquence maxi que je peux échantillonner avec cette ADC. Et Shannon dit qu'il faut 2* la fréquence du signal pour avoir un truc propre.
Donc pour l'ADC on a fmax=(1/T)/2.
Si je prends un ADC0800 il y a écrit dans la doc :
TC = 50µs
Conversion speed = 40 clock periods
Clock range = 50 to 800 kHz
Si on prends 800kHz, ça veux dire que l'on peut faire 20000 conversions par secondes, hors TC=50µs ça donne 25000 conversions par secondes.La différence doit venir du temps entre conversion (apparemment 4 cycles sur l'ADC0800).
Pour le CPU, tout dépends du nombre de cycle qu'il lui faut pour lire une valeur sur un port et l'écrire sur un autre, mais si on dit 1 cycle d'horloge pour chaque ça nous revient a un CPU qui doit aller a la même vitesse que fmax (suis pas sur la).
Peut être utiliser un cpld (pas un gros fpga) pour faire le travail d'enregistrement dans la ram (incrément des compteurs) si je veux des taux de conversion très rapide.
Pour la ram, elle doit avoir un temps d'écriture aussi rapide que le temps de conversion de l'ADC.
La ram a aussi un temps d'attente entre chaque écriture a prendre en compte.
La capacité de la ram ainsi que la fréquence d'échantillonnage déterminant la durée d'enregistrement possible.
Une question sur les caractéristique d'un oscillo numérique :
100MHz
200Msample/s (8bits de résolutions)
4Mo de ram
Y a t'il une relation directe entre le nombre de sample/s et la fréquence supporté par l'oscillo ? Je ne pense pas vu qu'il y a le même modèle d'oscilo avec des fréquences supérieurs (300MHz), cela veut donc dire que quand on enregistre il ne faut plus se baser sur la bande passante de l'oscillo (100MHz) mais sur le nombre de sample/s pour déterminer la fréquence maxi du signal a l'entrée ?
Merci de vos éclaircissements
J'essaye de faire la relation entre un ADC, un CPU et une RAM et aussi bande passante, fréquence d'échantillonage
J'aimerais avoir votre avis pour savoir si j'oublie pas qq chose et si je raconte pas trop de conneries.
En gros je voudrais déterminer le type de composant qu'il faudrait pour faire une convertisseur analogique/numérique (en boucle) et stocker les résultats dans une ram.
J'ai déterminer les paramètres suivant :
L'ADC a un temps de conversion exprimé le plus souvent en µs.
Avec la formule f=1/T, j'en déduis la fréquence maxi que je peux échantillonner avec cette ADC. Et Shannon dit qu'il faut 2* la fréquence du signal pour avoir un truc propre.
Donc pour l'ADC on a fmax=(1/T)/2.
Si je prends un ADC0800 il y a écrit dans la doc :
TC = 50µs
Conversion speed = 40 clock periods
Clock range = 50 to 800 kHz
Si on prends 800kHz, ça veux dire que l'on peut faire 20000 conversions par secondes, hors TC=50µs ça donne 25000 conversions par secondes.La différence doit venir du temps entre conversion (apparemment 4 cycles sur l'ADC0800).
Pour le CPU, tout dépends du nombre de cycle qu'il lui faut pour lire une valeur sur un port et l'écrire sur un autre, mais si on dit 1 cycle d'horloge pour chaque ça nous revient a un CPU qui doit aller a la même vitesse que fmax (suis pas sur la).
Peut être utiliser un cpld (pas un gros fpga) pour faire le travail d'enregistrement dans la ram (incrément des compteurs) si je veux des taux de conversion très rapide.
Pour la ram, elle doit avoir un temps d'écriture aussi rapide que le temps de conversion de l'ADC.
La ram a aussi un temps d'attente entre chaque écriture a prendre en compte.
La capacité de la ram ainsi que la fréquence d'échantillonnage déterminant la durée d'enregistrement possible.
Une question sur les caractéristique d'un oscillo numérique :
100MHz
200Msample/s (8bits de résolutions)
4Mo de ram
Y a t'il une relation directe entre le nombre de sample/s et la fréquence supporté par l'oscillo ? Je ne pense pas vu qu'il y a le même modèle d'oscilo avec des fréquences supérieurs (300MHz), cela veut donc dire que quand on enregistre il ne faut plus se baser sur la bande passante de l'oscillo (100MHz) mais sur le nombre de sample/s pour déterminer la fréquence maxi du signal a l'entrée ?
Merci de vos éclaircissements