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

Recherche avancée

timer sur port parallele

Envoyé par remycube 
timer sur port parallele
mercredi 26 mars 2008 19:59:52
Bonjour à tous,
dans le cadre de mes TIPE cette année, je vais avoir besoin de mesurer tres précisément le temps qui s'écoule entre deux impulsions sous forme de tensions.
Pour cela j'avais pensé utiliser une entrée du port parallele avec un petit programme qui déclencherai un chrono lors de la première impulsion et qui l'arrêterai lors de la deuxieme impulsion.
Pensez vous que cela soit faisable, et quel language me conseillez vous d'utiliser pour le programme ?

en vous remerciant par avance

Rémy

Re: timer sur port parallele
mercredi 26 mars 2008 22:16:52
Salut,

Qu'appelle tu mesurer très précisement?

Si tu parles en milli voire microseconde, il sera préférable pour toi d'utiliser l'assembleur directement sous dos, ou d'avoir recours à un OS temps réel, mais dans tous les cas tu devras aller sous dos en programmant le PIT en assembleur ou en C.

Si maintenant tu dois tourner sous windows, je te conseil d'avoir un compteur externe qui te comptera ton temps si tu as besoins d'une mesure très précise... Windows ne te fournira pas une bonne précision

A++

Benjamin
Re: timer sur port parallele
mercredi 26 mars 2008 22:46:23
Merci pour ta réponse

En fait la miliseconde me suffit pour la précision. Le principe c'est d'utiliser le support informatique pour réaliser le calcul pour "compliquer" un peu la chose.
Pour ce qui est de l'os je dois tourner sous windows c'est pour cela que j'avai pensé à un programme en delphi ou visual basic

Cela dit, je ne voit pas du tout ce qu'est un OS temps réel mais si tu m'éclaircie ce point cela peut s'avérer interessant pour ce que je cherche à faire.

Merci infiniement pour vos réponses

Rémy
Re: timer sur port parallele
jeudi 27 mars 2008 12:42:55
Salut,

Un OS temps réel est un systeme dans lequel tu programmes toi même les tâches qui sont exécutée, avec leur ordre de priorité...

Sous windows, tu as une multitude de tache qui tourne en même temps, tu as bien sur ton programme, mais tu as aussi par exemple, l'antivirus, les programmes interne a windows, msn, ... Tout ces programmes se partage le même processeur, donc windows leur alloue simultanément le processeur afin que ces derniers réalisent leur calcules...

Dans ton cas, si tu as ton front montant sur le port // qui doit être detecté, ce dernier ne sera interprété par l'ordinateur que quand ton programme aura acces au processeur pour demander de lire le port // et comptabiliser le temps...

Avec un OS temps réel, si tu veux par exemple une précision à 50µs, tu peux demander qu'une tache prioritaire regarde toutes les 50µs l'état du port //... Tout comme tu peux même bloquer completement le processeur pour savoir quasi exactement quand le front est apparu sur le port //...

Pour constater que windows n'est pas l'idéal pour des mesures précises, fait déjà ta mesure avec comme précision la milliseconde, place sur l'entrée du port // un générateur de carré constant, et tu remarqueras que le temps mesurer va varier, et si pendant les mesures tu lances l'antivirus, ou un film, tu remarqueras clairement que les temps mesurer ne seront plus les même... A toi de voir maintenant si cette précision te suffit... (tout dépend de l'application)

A++

Benjamin
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter