DM 1 : Montre Autoquartz ETA



Documents pareils
STAGE IREM 0- Premiers pas en Python

Université de La Rochelle. Réseaux TD n 6

S2I 1. quartz circuit de commande. Figure 1. Engrenage

Représentation d un entier en base b

TP 1. Prise en main du langage Python

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Conversion d un entier. Méthode par soustraction

Licence Sciences et Technologies Examen janvier 2010

HORLOGE ET MONTRE IN SITU : MÉCANIQUE 2

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Chapitre 13 Numérisation de l information

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

1 Recherche en table par balayage

Représentation des Nombres

CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Présentation du langage et premières fonctions

Précision d un résultat et calculs d incertitudes

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

ISO/CEI NORME INTERNATIONALE

TD 1 - Transmission en bande de passe

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Transmissions série et parallèle

Résonance Magnétique Nucléaire : RMN

Transmission de données. A) Principaux éléments intervenant dans la transmission

EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (43) Date de publication: Bulletin 2011/26

Expérience 3 Formats de signalisation binaire

Fonctions de la couche physique

Transmission d informations sur le réseau électrique

CALIBRES OMEGA CO-AXIAL DESCRIPTION ECHAPPEMENT CO-AXIAL REGLAGE OMEGA

Acquisition et conditionnement de l information Les capteurs

Codage d information. Codage d information : -Définition-

Initiation à la programmation en Python

Chapitre 2 : communications numériques.

IV- Comment fonctionne un ordinateur?

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Le signal GPS. Les horloges atomiques à bord des satellites GPS produisent une fréquence fondamentale f o = Mhz

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

CARACTERISTIQUES: Le Poste de Température

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Les techniques de multiplexage

Informatique Générale

Algorithme. Table des matières

Le multiplexage. Sommaire

Initiation à la Programmation en Logique avec SISCtus Prolog

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Algorithmique et Programmation, IMA

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Caractéristiques des ondes

MOTORISATION DIRECTDRIVE POUR NOS TELESCOPES. Par C.CAVADORE ALCOR-SYSTEM WETAL Nov

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Introduction à MATLAB R

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

L informatique en BCPST

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Chronis RTS Notice d installation et d utilisation Ref A

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

DTS MOBATime's Distributed Time System

Chapitre 22 : (Cours) Numérisation, transmission, et stockage de l information

BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

document proposé sur le site «Sciences Physiques en BTS» : BTS AVA 2015

Chaine de transmission

TD3: tableaux avancées, première classe et chaînes

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

1 Systèmes triphasés symétriques

Systèmes de transmission

LA COUCHE PHYSIQUE EST LA COUCHE par laquelle l information est effectivemnt transmise.

module Introduction aux réseaux DHCP et codage Polytech / 5

Chap17 - CORRECTİON DES EXERCİCES

mm 1695 mm. 990 mm Porte-à-faux avant. Modèle de cabine / équipage Small, simple / 3. Codage

TD : Codage des images

SUJET ZÉRO Epreuve d'informatique et modélisation de systèmes physiques

Programmation Web. Madalina Croitoru IUT Montpellier

PRODUIRE DES SIGNAUX 1 : LES ONDES ELECTROMAGNETIQUES, SUPPORT DE CHOIX POUR TRANSMETTRE DES INFORMATIONS

Gestion de gros fichiers binaires (images) en APL*PLUS III

Bases de programmation. Cours 5. Structurer les données

Cryptographie et fonctions à sens unique

MOTO ELECTRIQUE. CPGE / Sciences Industrielles pour l Ingénieur TD06_08 Moto électrique DIAGRAMME DES INTER-ACTEURS UTILISATEUR ENVIRONNEMENT HUMAIN

Eléments constitutifs et synthèse des convertisseurs statiques. Convertisseur statique CVS. K à séquences convenables. Source d'entrée S1

INF 321 : mémento de la syntaxe de Java

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

xdsl Digital Suscriber Line «Utiliser la totalité de la bande passante du cuivre»

BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE

TP Modulation Démodulation BPSK

Mesures de temps de propagation de groupe sur convertisseurs de fréquence sans accès aux OL

Chapitre 1 I:\ Soyez courageux!

Infos. Indicateurs analogiques encastrables pour installation à courants forts. Série M W/P/ LSP BWQ BGQ TP TG WQ /0S WQ /2S FQ /2 W BI BIW DFQ

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Tout savoir sur le matériel informatique

IFT1215 Introduction aux systèmes informatiques

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Au secours, je croule sous les mails!

Chapitre 10 Arithmétique réelle

Transcription:

Lycée Masséna DM 1 : Montre Autoquartz ETA 1 Présentation de la montre L essor de l électronique nomade s accompagne d un besoin accru de sources d énergies miniaturisées. Les contraintes imposées à ces objets nomades sont multiples : libérer l utilisateur des contraintes de charges, offrir une grande durée de fonctionnement, etc. Les réponses à ces défis nécessitent une optimisation de ces sources d énergie miniatures. Cette optimisation impose, en pratique, une solution hybride couplant au système de récupération d énergie, un système de conversion et de stockage de l énergie. Pour illustrer cette problématique, l objet de l étude est la montre bracelet Autoquartz fabriquée par la société ETA. Le fonctionnement de cette montre diffère de celui d une montre à quartz traditionnelle par le fait qu elle utilise le mouvement du porteur comme source d énergie. Le principe de fonctionnement repose sur la récupération d énergie mécanique accumulée dans un ressort grâce au mouvement d une masselotte, puis, par l intermédiaire d une génératrice, à la conversion de cette énergie mécanique en énergie électrique. 2 Description de la montre Une masselotte transmet son énergie mécanique à une génératrice puis à un élément de stockage (accumulateur Li-Ion) par l intermédiaire d un ressort spiral intégré dans un barillet (Figures 1 et 2). Figure 1 Vue 3D de l intérieur de la montre L énergie mécanique fournie par la masselotte est stockée par l intermédiaire d un système d engrenages à cliquets dans un ressort spiral (représenté figure 2) dont l une des deux extrémités est solidaire d une roue entrainée en rotation Page 1/5 2014/2015

et dont l autre est liée au rotor d une génératrice. Les oscillations de la masselotte permettent de charger le ressort quel que soit son sens de rotation et l amplitude de ses mouvements. Dès que le couple de rappel du ressort devient supérieur à l amplitude du couple de détente de la génératrice, il se décharge brusquement entraînant en rotation la génératrice monophasée à aimants. Un redresseur actif à transistors MOS permet alors de convertir l énergie pour charger l élément de stockage qui, comme dans les montres à quartz traditionnelles, redistribue l énergie au circuit de commande et au moteur Lavet assurant la marche des aiguilles. Figure 2 Eclaté de la montre Afin d être parfaitement à l heure, la montre utilise les signaux horaires DCF77 qu elle reçoit automatiquement chaque jour à deux heures du matin. Si la réception des ondes radio est réussie, celle-ci n est pas effectuée à trois et quatre heures du matin. La réception peut aussi être demandée par l utilisateur. L émetteur de ces signaux horaires est situé en Allemagne à Mainfligen et transmet les signaux horaires de l horloge atomique à jet de césium de l institut fédéral de physique de Braunschweig. Les signaux horaires de l horloge atomique sont transmis via une modulation d amplitude de fréquence de porteuse f 0 = 77, 5 khz. L émetteur a une puissance de 30 kw, sa portée minimale est de 1500 km. La structure de la chaîne d information pour le signal DCF77 est représentée figure 3. Le circuit de commande de la montre traite et compare les informations reçues avec celles de l horloge interne. Si elles diffèrent, la correction est automatique. Figure 3 Structure de la chaîne d information pour le signal DCF77. Les signaux horaires DCF77 sont codés en BCD (Décimal Codé Binaire). Un exemple de codage BCD est donné figure 4. Chaque trame est divisée en soixante secondes. Au début de chaque seconde, l amplitude de l onde émise est réduite à environ 15% de l amplitude initiale. La durée de cette réduction définit la valeur du bit transmis, 100 ms pour un 0 et 200 ms pour un 1. Chaque trame donne l heure légale de la minute suivante, le début de la trame suivante agit donc comme le top horaire de l horloge parlante («au top, il sera exactement...»). La signification des 59 bits d une trame est donnée par le tableau ci-après. Figure 4 Exemple de trame DCF77 (bits 20 à 28) donnant les minutes (35 ici) Page 2/5 2014/2015

Bits Signification 0 Début de trame (bit à 0) 1 14 Contient des données d alerte (fournis par le Bundesamt für Bevölkerungsschutz und Katastrophenwarnung) ou de prévisions météorologiques. 15 Bit d alerte pour signaler à l opérateur un dysfonctionnement du système (0 = pas de dysfonctionnement, 1 = dysfonctionnement) 16 Indication d un changement d heure été/hiver au début de l heure suivante (0 = pas de changement, 1 = changement) Décalage de l heure émise par rapport au temps UTC : 17 18 01 : UTC+1h (heure d hiver) ; 10 : UTC+2h (heure d été). 19 Indication d ajout d une seconde intercalaire à la fin de l heure (correction des irrégularités de rotation de la Terre) 20 Bit de start, toujours à 1, marque le début de la transmission des informations horaires 21 27 Minutes (0 à 59) codées en BCD, le poids de chaque bit 21 à 27 est respectivement 1, 2, 4, 8, 10, 20 et 40 28 Bit de parité paire sur les bits 21 à 27 29 34 Heure (0 à 23) codée en BCD, le poids de chaque bit 29 à 34 est respectivement 1, 2, 4, 8, 10 et 20 35 Bit de parité paire sur les bits 29 à 34 36 41 Jour dans le mois (1 à 31) codé en BCD, le poids de chaque bit 36 à 41 est respectivement 1, 2, 4, 8, 10 et 20 42 44 Jour de la semaine (1 à 7) codé en BCD, le poids de chaque bit 42 à 44 est respectivement 1, 2 et 4 45 49 Numéro du mois (1 à 12) codé en BCD, le poids de chaque bit 45 à 49 est respectivement 1, 2, 4, 8 et 10 50 57 Année dans le siècle (0 à 99) codée en BCD, le poids de chaque bit 50 à 57 est respectivement 1, 2, 4, 8, 10, 20, 40 et 80 58 Bit de parité paire sur les bits 36 à 57 Le codage horaire commence véritablement à la seconde 20. Puisque les minutes vont de 0 à 59, le chiffre des dizaines n est jamais supérieur à 5 et donc il peut être codé sur 3 bits seulement. Des raisonnements similaires s appliquent pour l heure, le jour du mois et le mois. Il est à noter également que les bits de poids faibles sont transmis en premier. Les jours de la semaine sont codés suivant la norme ISO 8601 de 1 (lundi) à 7 (dimanche). Le bit de parité (paire) d un groupe de bits est à 0 si le nombre de bits à 1 dans le groupe est pair, à 1 si le nombre de bits à 1 dans le groupe est impair. Autrement dit, le bit de parité d un groupe de bits est égal à la somme des bits, modulo 2. Ceci permet de détecter si dans un groupe, il y a eu une erreur de transmission (un 0 s est transformé en 1 ou inversement) : dans ce cas le bit de parité ne correspond plus. On supposera qu il est très improbable qu il y ait plus d une erreur de transmission. 3 Rappels On rappelle que dans une boucle for, le constructeur range s utilise comme suite : range(m,n,p) décrit tous les entiers m, m + p, m + 2p,... jusqu à n, non inclus. Le pas p est égal à 1 si il est omis, en particulier si a et b sont deux entiers avec a < b, dans la boucle for i in range(a,b):, la variable i décrit tous les entiers a, a + 1,..., b 1. On rappelle qu on renvoie une valeur dans une fonction avec l instruction return, et pas avec l instruction print. Lorsque return est utilisé, la fonction est immédiatement interrompue et renvoie la valeur. Pour convertir un entier en chaîne de caractères, on utilise str. Par exemple str(4) est la chaîne de caractères '4'. La concaténation de deux chaînes de caractères se fait avec l opérateur + : 'abc'+' '+'('+'def'+')' est égal à la chaîne de caractères 'abc (def)'. On accède à la longueur d une chaînes de caractères avec l opérateur len. Par exemple, len('cette chaine') vaut 12 (ne pas oublier l espace!). Si nécessaire, on peut récuperer un caractère d une chaîne comme avec un tableau. Avec s='abc', s[1] vaut 'b'. Les booléens sont True et False, qu on ne confondera pas avec les chaînes de caractères 'True' et 'False'. Page 3/5 2014/2015

4 Travail demandé L obectif est de développer un programme permettant de décoder la trame DCF77, et de connaître la date et l heure atomique exacte. Ouvrir dans l éditeur de script de Spyder le fichier decodage_trame.py. Exécutez-le. Ce script permet de recevoir une trame au format DCF77, sous forme d un tableau de bits, via la fonction trame (qui ne prend pas d argument). T=trame() est un tableau (type list en Python) contenant les 59 bits du message (chaque élément de la liste est un entier). T[0] est le le bit 0, T[1] est le le bit 1... ; motnumerique est une chaine de caractère contenant les bits de T, le premier caractère à gauche étant le bit 0. poidsbcd est le tableau [1,2,4,8,10,20,40,80], qu on pourra librement utiliser dans les fonctions. Éditez le fichier decodage_trame.py pour répondre aux questions qui suivent. Vous pouvez faire tous les tests que vous voulez, une fois que vous aurez fini, copiez vos réponses aux questions dans un unique script nom_prenom.py : on ne mettra pas les accents! Ce fichier devra contenir uniquement les fonctions des questions 1 à 13 et respecter absolument l orthographe et la casse du nom des fonctions indiqué dans chaque question. Question 1. Ecrire une fonction nommée erreurminutes, ayant pour seul argument un tableau de 59 entiers décrivant soit False si la transmission des bits correspondant aux minutes est correcte ; Question 2. Ecrire une fonction nommée erreurheures, ayant pour seul argument un tableau de 59 entiers décrivant soit False si la transmission des bits correspondant aux heures est correcte ; Question 3. Ecrire une fonction nommée erreurdate, ayant pour seul argument un tableau de 59 entiers décrivant soit False si la transmission des bits correspondant à la date est correcte ; Jusqu à la question 12 incluse, on suppose que la transmission est intégralement correcte : il n y aura pas besoin de le vérifier dans ces questions. On rappelle l existence d un tableau poidsbcd contenant les entiers 1,2,4,8,10,20,40 et 80. Question 4. Ecrire une fonction nommée joursemaine, ayant pour seul argument un tableau de 59 entiers décrivant une trame DCF77 et renvoyant une chaine de caractères : soit 'Lundi', soit 'Mardi',..., soit 'Dimanche'. Question 5. Ecrire une fonction nommée jourmois, ayant pour seul argument un tableau de 59 entiers décrivant une trame DCF77 et renvoyant sous forme d une chaine de caractères, le numéro du jour dans le mois. Question 6. Ecrire une fonction nommée mois, ayant pour seul argument un tableau de 59 entiers décrivant une trame DCF77 et renvoyant le nom du mois sous forme de chaine de caractères (soit 'janvier', soit 'fevrier'... soit 'decembre'). Attention : on ne mettra pas les accents sur les noms des mois! Question 7. Ecrire une fonction nommée annee, ayant pour seul argument un tableau de 59 entiers décrivant une trame DCF77 et renvoyant l année sous forme de chaine de caractères composé de quatre chiffres, par exemple '2014' (on supposera que le siècle est celui qui commence par '20', c est-à-dire le nôtre). Question 8. Ecrire une fonction nommée date, ayant pour seul argument un tableau de 59 entiers décrivant une trame DCF77 et renvoyant la date sous forme de chaine de caractères (par exemple 'Samedi 20 septembre 2014'). Cette fonction doit appeler les fonctions joursemaine, jourmois, mois et annee. Question 9. Ecrire une fonction nommée heures, ayant pour seul argument un tableau de 59 entiers décrivant une trame DCF77 et renvoyant le nombre des heures sous forme de chaine de caractères composé de deux chiffres (entre 00 et 23, par exemple '07'). Question 10. Ecrire une fonction nommée minutes, ayant pour seul argument un tableau de 59 entiers décrivant une trame DCF77 et renvoyant le nombre des minutes sous forme de chaine de caractères composé de deux chiffres (entre 00 et 59, par exemple '35'). Question 11. Ecrire une fonction nommée decalageheure, ayant pour seul argument un tableau de 59 entiers décrivant une trame DCF77 et renvoyant le décalage de l heure indiqué par rapport à l heure universelle sous forme de chaine de caractères (soit 'UTC + 1 h', soit 'UTC + 2 h'). Attention, il y a des espaces! Page 4/5 2014/2015

Question 12. Ecrire une fonction nommée heure, ayant pour seul argument un tableau de 59 entiers décrivant une trame DCF77 et renvoyant l heure sous forme de chaine de caractères (par exemple '10 h 17 (UTC + 2 h)'). Question 13. Ecrire une fonction nommée tramedecodee, ayant pour seul argument un tableau de 59 entiers décrivant une trame DCF77 et affichant : soit un message d erreur si il y a eu une erreur de transmission sur les minutes, les heures ou la date, c est-à-dire 'erreur sur les minutes' ou 'erreur sur les heures' ou encore 'erreur sur la date' (exactement ce message!) On rappelle qu on suppose qu il ne peut y avoir qu une seule erreur de transmission au maximum. soit un message sur deux lignes correspondant au résultat des fonctions date et heure (il suffit d utiliser deux print). Comme ici on affiche un message à l écran, on utilisera print et pas return. Par exemple : >>> tramedecodee([0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0]) Samedi 27 septembre 2014 15 h 39 (UTC + 2 h) >>> tramedecodee([0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0]) erreur sur les minutes Remarquez que le premier exemple présente une trame sans erreur de transmission, dans le deuxième le bit indexé par 25 (l avant dernier sur la première ligne) a été changé de 1 à 0. Page 5/5 2014/2015