Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

Fréquence max d'aquisition

Envoyé par matlacarcasse 
Fréquence max d'aquisition
dimanche 3 décembre 2006 17:18:00
Bonjour,

Je cherche a realiser un periferque d aquisition genre oscillo en usb.
Le probleme est le vitesse de l HID. En effet , si je calcul bien, 64ko/s ca me limite en 10bits à une fréquence de 51200 hz...

Peut on augmenter cette vitesse (autre protocole que hid) et ou trouver des exemple de programmation et des explication... Je ne vois rien chez Microchip.. et je trouve sur la trame des gens qui fabriquent des interface qui ont l air plutot rapide.. (http://www.semifluid.com/?p=24)

Merci d'avance winking smiley

mat

Re: Fréquence max d'aquisition
dimanche 3 décembre 2006 21:48:27
Salut,

64ko/s est la vitesse maximal de l'HID... Mais l'air de rien c'est suffisant pour un oscilloscope a base d'un 18f4550 car de un, l'échantillonnage maximal tournera au alentour de 25khz si tu respectes bien les conditions de précision, et ensuite et c'est le plus important, sauf si tu veux faire de l'enregistrement, tu vas utiliser une fenetre de X milliseconde que tu vas rafraichir 25 fois par seconde.... Donc en gros si tu veux compter ta bande passante nécessaire, il ne faut pas compter comme quoi tu envoies un échantillon tous les x µs seconde, mais plutot que tu envoie une fenetre d'échantillons toutes les x ms.... c'est completement différent et c'est comme ça que l'on fait des oscillo a bande passe de 30 mhz sur port //

A+
Re: Fréquence max d'aquisition
lundi 4 décembre 2006 22:43:17
Hai...

Desolé mail je comprend pas comment en échantillonnant a 25 kHZ j arrive a faire un oscillo avec une bande passante de 30Mhz...
Pour ce qui est des bloc a envoyer, je suis d accord mais pour le reste , il doit me manqur une clé...


Merci d'avance...

Mathieu
Re: Fréquence max d'aquisition
mardi 5 décembre 2006 10:48:34
matlacarcasse Ecrivait:
-------------------------------------------------------
> Hai...
>
> Desolé mail je comprend pas comment en
> échantillonnant a 25 kHZ j arrive a faire un
> oscillo avec une bande passante de 30Mhz...
> Pour ce qui est des bloc a envoyer, je suis d
> accord mais pour le reste , il doit me manqur une
> clé...
>
>
> Merci d'avance...
>
> Mathieu


Non, bien sur, pour avoir un signal a 30mhz il te faut minimum un échantilloneur a 60mhz (shannon) (enfin y'a des méthodes pour échantillons a des fréquence moins élevée, mais ça nécéssite un signal d'entrée périodique)... Mais tu dois faire la différence entre le nombre de sample par seconde que peux faire ta carte, ce nombre va te donner la fréquence maximal de ton signal... Et la bande passante du protocole de communication, la communication peut être nettement moins rapide, car si tu veux regarder un signal haut en fréquence tu n'envoies qu'une partie de ton signal tous les x milliseconde en travaillant avec un fenetre sur laquel tu vas faire ton échantillonnage, dès lors tu n'envoies pas à l'ordinateur chaque sample, tu envoies un paquet de sample représentatif d'une durée y toutes les x millisecondes

Re: Fréquence max d'aquisition
mardi 5 décembre 2006 18:05:53
Ok !
En partant du principe que l'on envoie pas tout, je comprend.

Donc en fait, pour mon projet, la meilleur méthode serait d'utiliser un convertisseur exterieur au pic (pour elargir la bande d analyse) et de n'envoyer qu un échantillon sur XX.
Du coup , si on suppose pouvoir faire une lecture du port concerné puis stokage dans le buffer de sortie (disont 10 cycles), sachant que le pic tourne a 20/4=5 MHz.. on arrive a une frequence de 500kHz soit une BP de 250k tout a fait honorable...

C'est bien ca docteur ??

Merci d'avance, mat
Re: Fréquence max d'aquisition
mardi 5 décembre 2006 21:47:05
Tout va dépendre du convertisseur que tu vas utiliser bien évidemment, se servir du convertisseur du pic pour faire un oscilloscope à haute bande passante n'est je ne pense pas la bonne idée comme tu l'auras remarqué...

Fait attention que Shannon indique que la fréquence doit être minimum double de la composante maximale du signal (et pour être exacte 2.000000000000000...00001 fois plus grande), mais c'est de la théorie, les oscilloscopes numériques prennent une fréquence 5 à 10 fois supérieur... D'ailleurs en prennant exactement la fréquence double tu n'arriveras jamais à rien faire de bon...

A toi maintenant de voir ce qui y'a de mieux comme buffer et convertisseur

A+

Re: Fréquence max d'aquisition
mercredi 13 décembre 2006 19:04:04
Bonjour a tous !

Petite question de debutant...

Pourquoi si j'utilise la fonction delay pour envoyer une mesure au pc toute les X ms.. le peripherique n est plus reconnu !

PS : j ai simplifier le programme, il se contente d'envoyer des données en continu..

Merci d'avance

Mat
Re: Fréquence max d'aquisition
mercredi 13 décembre 2006 21:04:50
Salut,

Le delais n'est pas génial à utiliser car il bloque le processeur pendant le temps du délais, or la communication USB doit être entretenue entre le pic et l'ordinateur, donc si le processeur est bloqué par l'utilisation de la fonction délais, il ne sait entretenir la communication usb et l'ordinateur ne perçoit pas le périphérique...

Si tu veux faire des longs delais, il faut utiliser le timer0

A+
Re: Fréquence max d'aquisition
mercredi 13 décembre 2006 21:41:41
ok...
Ce qui veut dire que je dois toujours envoyer des données via mon buffer pour que le pc soit content ? C'est bien ca...

Si je rentre plus dans le detail, a quelle frequence faut il que je lui envoi des données :
- Option 1 : toute les 1 ms (parametre du pooling...)
- Option 2 : un truc relatif a la norme usb
- Option 3 : laissez vous porter par votre imagination... j ai plus d idee !

Bref, tout ca me renvoie a ma principale difficulté aujourd'hui :
Comment controler le parametre temps de mon oscillo ?

Mon idée etait d utiliser en effet un timer.. entre chaque aquisition. A la fin des 31 cycles (mon buffer est rempli) et j envoi au pc... et c est la le probleme :
Ca prend combient de temps d envoyer au pc ??
Si ce temps est nul et que le pic a le temps durant la duree d'un timer d'envoyer et de relancer une aquisition, c'est top... sinon, je devrai me contenter de bloc de 30 points sur mon oscillo (c est un peut triste ca .. )

Bref, si tu as une idée, je suis prenneur, mais peut etre que je ne prend pas le probleme par le bon bout !?

Desolé pour ce mail truffé d'incertitude...

Mat
Re: Fréquence max d'aquisition
jeudi 14 décembre 2006 16:29:18
Salut,

non tu ne dois pas envoyer en continu ton buffer, en lisant le code ou encore mieux les explications de l'usb tu vois que tu as ceci :

USBTasks(); // USB Tasks

cette fonction doit s'exécuter régulierement

pour le reste... c'est à toi de voir
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter