-
Construire un algo
Bonsoir,
Je dois faire un algorithme qui génère un signal périodique; ci-joint l'énoncé :
Un composant « timer » est composé d'un compteur 16 bits (MCPT, @$1000) cadencé par un signal carré de période 1 μs. Rappel : un compteur incrémente en permanence la valeur contenue dans MCPT à chaque période jusqu’à la valeur maximale puis repasse à zéro.
Il dispose en outre des registres suivants :
• Un registre comparateur 16 bits (COMP, @$1002) pilotant une ligne de sortie (OUTPUT). Un événement de comparaison (égalité entre MCPT et COMP) provoque un basculement (changement d’état) de cette ligne. Elle est supposée être à l’état bas à la suite d’un « reset ».
• Un registre de configuration 8 bits (INT, @$1004) permet de valider les interruptions (en écrivant un 1) lors de l’égalité sur COMP (bit I0). Une interruption liée à COMP provoque un saut à l'adresse $2000.
• Un registre d'état 8 bits (STAT, @$1006) dans lequel se trouve un bit indicateur positionné à 1 en cas d'événement : le bit S0 indique que le contenu de COMP est égal à celui de MCPT; ce bit est remis à zéro par écriture d'un 1.
Dans un dispositif de télécommunications un récepteur est synchronisé sur l'émetteur lorsqu’il reçoit la séquence suivante : un signal périodique comportant 2 impulsions d'une durée T1 espacées de T2, avec un temps de repos de T3. Expliquez comment générer cette séquence avec le Timer et proposez un algorithme. On choisira T1=2ms, T2=1ms et T3=5ms.
• Quelle est la précision sur les durées de la séquence générée par votre algorithme ?
Je galère vraiment.Pouvez-vous m'aider ?
Merci.
-
Mis à part l'algo, tu dois écrire dans un langage particulier ? Assembleur ?
Un petit conseil, fais un beau dessin de ce qui t'est demandé. Tu verras que c'est le plus simple. Après, si tu as déjà commencé, envoies tes débuts d'idées et on peut t'aider si tu veux mais on n'est pas là pour faire tout le boulot :mrgreen:
A tres vite