Stage de deuxième année Filière F1
|
|
|
- Lucie Robillard
- il y a 10 ans
- Total affichages :
Transcription
1 Institut Supérieur d Informatique de Modélisation et de leurs Applications Organisation Européenne pour la Recherche Nucléaire 1211-CH GENEVA 23 SUISSE COMPLEXE UNIVERSITAIRE DES CEZEAUX BP AUBIERE CEDEX CERN-THESIS /09/2005 Stage de deuxième année Filière F1 Développement du logiciel de contrôle du Vertex Locator Présenté par : Mohamed MENNANE Responsables CERN : Mr FERRO-LUZZI Massimiliano Mr EKLUND Lars Responsable ISIMA : Mr MESNARD Emmanuel Date : Avril 2005/Septembre 2005 Soutenance : 21 Septembre 2005
2 Remerciements Mon séjour au CERN durant ces cinq mois a été l occasion pour moi de profiter d une expérience riche au niveau de la pratique en électronique et en informatique. Je tiens donc à remercier Massimiliano Ferro-Luzzi et Lars Eklund pour la confiance qu ils m ont accordée en me confiant ce travail et en se portant disponible à chaque instant pour m apporter de l aide. Je tiens également à remercier : Jan Buytaert pour le temps qu il m a consacré pour résoudre les problèmes électroniques rencontrés Clara Gaspar et Ricardo Nogueira qui se sont grandement investi dans mon travail et qui m ont été d une aide précieuse. Loic Brarda qui a répondu au moindre souci matériel. Mon professeur Emmanuel Mesnard qui a consacré une partie de son temps libre pour venir observer le travail que j ai réalisé. Enfin, je souhaite particulièrement remercier toute l équipe du VELO qui m a accueilli à bras ouverts et avec j ai pris le plus grand plaisir à travailler
3 Glossaire LHC Large Hadron Collider. Nom de l accélérateur de particule en construction au CERN. LHCb Expérience dédiée à l étude de la violation CP dans le système des mésons B et à l étude de leurs désintégrations. VELO Vertex Locator. Détecteur permettant la reconstruction des vertex de désintégration des particules au plus près du point de collision. PVSS Logiciel qui permet de se connecter à du matériel, faire l acquisition des données que ce matériel produit pour contrôler et surveiller son comportement DIM Système de communication basé sur une architecture client-serveur. VHDL Very high scale integrated circuit Hardware description Langage. Langage de description matérielle, destiné à décrire le comportement et l architecture d un module de logique matérielle que l on souhaite implanter dans un FPGA. FPGA Field Programmable Gate Array. Composant électronique programmable permettant de réaliser des fonctions logiques personnalisées. SPECS Serial Protocol for the Experiment Control System. Protocole de communication série utilisé pour les connections longues distances entre la zone irradiée et la zone non-irradiée. I 2 C Inter-Integrated Circuit. Standard développé par Philips permettant à deux circuits de se communiquer en série des informations avec seulement une ligne d horloge et une ligne de données SCL Serial Clock Line. Ligne d horloge du bus I 2 C SDA Serial Data Line. Ligne de données du bus I 2 C. Mot Un mot correspond à un octet - 2 -
4 LVDS Low Voltage Differential Signaling est une méthode de transmission permettant de transférer un signal sur un fil et son contraire sur un autre. Le récepteur final pourra ainsi par différence reconstituer le signal. CMOS Complementary Metal Oxide Semi-conductor. Type de composant électronique à faible consummation électrique. Beetle Composant qui traite l impulsion électrique directement issue du détecteur de silicium pour pouvoir l utiliser par la suite. TTCrq Composant conçu au CERN et qui comporte deux ASICs : le TTCrx et le QPLL. TTCrx ASIC qui réalise l interface entre le système de distribution des signaux de synchronisation et les dispositifs électroniques qui recevront ces signaux. Il décode les horloges, les signaux de reset et les signaux de synchronisation contenus dans les signaux TFC. QPLL Quartz qui permet de réduire le balayage de l horloge provenant du TTCrx. Delay25 Composant qui permet de déphaser cinq signaux. AMUX Multiplexeur de huit entrées vers une sortie. DCU Composant qui comporte un convertisseur analogique numérique de six signaux et qui permet l acquisition de l une de ces valeurs grâce notamment à un multiplexeur. TFC Timing and Fast Commands. Signaux qui arrivent en entrée du TTCrq par le biais d une fibre optique et qui contiennent les horloges, les signaux de reset et les signaux de synchronisation. SEU Single Event Upset. Basculement logique d un point mémoire induit par le passage d une particule. ASIC Application Specific Integrated Circuit. Circuit integré spécialisé. ECS Experimental Control System. Système de contrôle de l expérience LHCb
5 Table des illustrations Figure 1 : Vue du détecteur LHCb dans la caverne Figure 2 : Vue en coupe du détecteur LHCb Figure 3 : Vue éclatée d'un module Figure 4 : Disposition des détecteurs de silicium dans le VELO Figure 5 : Architecture générale du système d'acquisition et du système de contrôle Figure 6 : Processus d'une application PVSS Figure 7 : Editeur graphique de PVSS Figure 8 : Communication entre client, serveur et DNS Figure 9 : Chaîne de contrôle du VELO Figure 10 : Architecture du control board Figure 11 : Photo du control board Figure 12 : Régulateur de tension Figure 13 : Architecture de la mezzanine ECS Figure 14 : Représentation des conditions start et stop Figure 15 : Premier octet écrit sur le bus SDA Figure 16 : Lignes SDA Maitre, SDA Esclave et SDA resultante pour l'ecriture d'un octet Figure 17 : Lignes SDA Maitre, SDA Esclave et SDA resultante pour la lecture d'un octet Figure 18 : Architecture de la carte réalisée Figure 19 : Photo de la carte réalisée Figure 20 : Hybride comportant un détecteur en silicium et 16 Beetles Figure 21 : Trame d'écriture d'un des 20 premiers registres du Beetle Figure 22 : Trame d'écriture de plusieurs registres du Beetle parmi les 20 premiers Figure 23 : Trames à envoyer dans le cas du premier mode de lecture Figure 24 : Trame à envoyer dans le cas du second mode de lecture Figure 25 : Trames d'écriture et de lecture d'un registre du TTCrq Figure 26 : Trames d'écriture et de lecture d'un registre du Delay Figure 27 : Trames générées par les fonctions PVSS Figure 28 : Structure d'un datapoint pour un composant accessible par un bus I 2 C Figure 29 : Structures de tous les datapoints modélisant le systeme de contrôle du VELO Figure 30 : Panneau de contrôle Figure 31 : Panneau de surveillance Figure 32 : Trames d'écriture et de lecture d'un registre du FPGA Figure 33 : Architecture du design pour le FPGA Figure 34 : Bloc I2CInterface Figure 35 : Bloc SlaveRead Figure 36 : Bloc SlaveWrite Figure 37 : Bloc Counter8Bits Figure 38 : Blocs CTRLReg8Bits et Register8Bits Figure 39 : Bloc StatusRegister8Bits Figure 40 : Bloc Mux Figure 41 : Bloc ControlInterface Figure 42 : Automate du bloc ControlInterface Figure 43 : Bloc I2CSignalsConnection Figure 44 : Architecture interne du bloc I2CSignalsConnection Figure 45 : Bloc ClockSelection Figure 46 : Bloc TFCSignalsSelection
6 Figure 47 : Logique de sélection du signal COMPCLK_ Figure 48 : Bloc TFCCounters Figure 49 : Chronogramme indiquant la disponibilite des signaux bunch_n et event_n sur le bus BCnt Figure 50 : Bloc Reset Figure 51 : Bloc Reset Figure 52 : Panneaux de configuration et de surveillance des registres du FPGA Tableau 1 : Registres du Beetle Tableau 2 : Registres du TTCrq Tableau 3 : Registres du Delay Tableau 4 : Registres du DCU Tableau 5 : Les quatre horloges du système Tableau 6 : Les signaux de synchronisation requis par les différents dispositifs Tableau 7 : Registres du FPGA pour la configuration du système(accès lecture/écriture ) Tableau 8 : Registres du FPGA pour la surveillance du système(accès lecture)
7 Résumé L expérience LHCb, qui consiste à mettre en collision deux faisceaux de particules pour en observer les phénomènes résultants, est dotée d un système de contrôle fondé sur l utilisation du logiciel PVSS et d un système client-serveur. PVSS permet à l utilisateur du détecteur de gérer par le biais d une interface graphique toute l électronique. Le système client-serveur intégré à PVSS, appelé DIM, offre quant à lui la possibilité de configurer et de surveiller le détecteur à partir d un ordinateur quelconque. Toute une chaîne de contrôle a été conçue pour le Vertex Locator, détecteur le plus proche du point de collision permettant de reconstituer la trajectoire des particules issues de l impact. Deux cartes électroniques sont au cœur de la chaîne de contrôle du Vertex Locator : le control board qui permet d envoyer via I 2 C des commandes de configuration aux composants et de distribuer des signaux de synchronisation, et le temperature board qui permet de veiller sur les différentes températures au sein du système. Le travail effectué a porté sur l analyse et la conception de solutions pour l electronique rattachée au control board. Un code VHDL a donc été implémenté pour un FPGA dans le but de satisfaire les spécifications de contrôle requises par l utilisateur. Finalement, une interface graphique a été conçue pour que l utilisateur puisse avoir accès au FPGA et aux autres composants électroniques se situant dans le Vertex Locator. Mot clés : PVSS, DIM, Vertex Locator, control board, I 2 C, FPGA, interface graphique Abstract The LHCb experiment, which consists in colliding two beams of particles to observe the resulting phenomena, is equipped with a contol system based on the PVSS software package and a client-server system. PVSS gives to the detector user the opportunity to manage the front-end electronics thanks to a graphical interface. The client-server system integrated into PVSS, called DIM, allows to configure and monitor the detector from anywhere. A control line was designed for the Vertex Locator, detector closest to the collision point which reconstructs the particles tracks exiting the impact. Two electronic boards constitute the heart of the control line of the Vertex Locator: the control board which allows to send via I 2 C configuration commands to the components and to distribute timing signals, and the temperature board which allows to monitor the temperatures in the system. My work concerned the analysis and the design of the solutions for the electronics attached to the control board. A VHDL code was thus implemented for an FPGA in order to satisfy the user requirements. Finally, a graphical interface was designed to offer the user an access to the FPGA and to the other electronic components being in the Vertex Locator. Keywords : PVSS, DIM, Vertex Locator, control board, I 2 C, FPGA, graphical interface - 6 -
8 Table des matières REMERCIEMENTS... GLOSSAIRE... TABLE DES ILLUSTRATIONS... RESUME, ABSTRACT... TABLE DES MATIERES... INTRODUCTION PRESENTATION DU STAGE CONTEXTE GENERAL L EXPERIENCE LHCB LE DETECTEUR LHCB ANALYSE DE L EXISTANT PRESENTATION DU VERTEX LOCATOR LE SYSTEME DE CONTROLE DE L EXPERIENCE L INTERFACE DE CONTROLE DES COMPOSANTS ELECTRONIQUES : LE LOGICIEL PVSS DIM LE BUS SPECS LE SYSTEME DE CONTROLE DU VERTEX LOCATOR LE CONTROL BOARD LE REPEATER BOARD...21 LES OBJECTIFS DU STAGE ETUDE DU PROBLEME ET CONCEPTION DES SOLUTIONS LE PROTOCOLE I 2 C INTRODUCTION AU BUS I 2 C PRINCIPE DE FONCTIONNEMENT CONDITIONS DE DEPART ET D ARRET TRANSMISSION DES DONNEES SUR LE BUS BANC D ESSAI CONCEPTION DU LOGICIEL ASSOCIE AU CONTROL BOARD COMPOSANTS A CONFIGURER ET A SURVEILLER BEETLE TTCRQ DELAY DCU LES AMUX LES REGISTRES EXTERNES DE LA MEZZANINE ESCLAVE SPECS LES REGULATEURS DE TENSIONS DESCRIPTION DES FONCTIONS PVSS UTILISEES LES FONCTIONS INDEPENDANTES DES DATAPOINTS CREES PAR L UTILISATEUR LES FONCTIONS QUI MANIPULENT LES DATAPOINTS CREES PAR L UTILISATEUR MODELISATION DU SYSTEME A CONTROLER TYPES DEJA EXISTANTS TYPES DE BASE TYPES DE «SECOND NIVEAU» TYPES DE «TROISIEME NIVEAU» INTERFACE GRAPHIQUE REALISEE
9 2.4 CONCEPTION DU MICROPROGRAMME A IMPLANTER DANS LE FPGA DU CONTROL BOARD ET LOGICIEL ASSOCIE LES OUTILS DE DEVELOPPEMENT VISUAL ELITE SYNPLIFY ACTEL DESIGNER ACTEL FLASH PRO FONCTIONNALITES IMPLEMENTEES SPECIFICATIONS DEFINIES POUR LE FONCTIONNEMENT NORMAL DU SYSTEME SPECIFICATIONS DEFINIES POUR LE DEBUGGAGE DU SYSTEME REGISTRES INTERNES ARCHITECTURE INTERNE DU FPGA APERCU GENERAL DU DESIGN REALISE FONCTIONNALITE DES COMPOSANTS CREES INTERFACE GRAPHIQUE PERMETTANT LA CONFIGURATION DU FPGA RESULTATS ET DISCUSSIONS ECRITURE A PARTIR DE LA BASE DE DONNEES VITESSE DE LECTURE ET D ECRITURE PROBLEME DE MEMOIRE PROBLEME D ATTRIBUTION DE PINS...61 CONCLUSION...62 REFERENCES
10 Introduction Le LHC (Large collisionneur de hadrons), dont la date du premier fonctionnement est prévue pour avril 2007, offrira l occasion aux scientifiques de confirmer ou non par l experience les théories actuelles portant sur la constitution de la matière. Nombreux instituts collaborent avec le CERN en vue de réaliser ce projet de grande envergure qui fait appel à une technologie de pointe, notamment dans le domaine des détecteurs en silicium. Le Vertex Locator, élement essentiel du détecteur LHCb, aura pour but d apporter aux physiciens les réponses à la question suivante : où se situent exactement le point de collision entre les particules et les vertex déplacés? Un système électronique récupèrera les données qui seront analysées par la suite par les scientifiques. Par conséquent, une configuration préalable de ce système et une surveillance de certains paramètres sera nécessaire. Une description du système dans son ensemble permettra dans un premier temps de percevoir les besoins requis pour un bon fonctionnement de l électronique. Par la suite seront explicitées plus en détail les conceptions qui répondent aux besoins de configuration et de surveillance du système électronique du Vertex Locator. Enfin, nous analyserons les résultats de ce travail pour proposer d éventuelles améliorations
11 1 Présentation du stage 1.1 Contexte général Le CERN, Organisation européenne pour la recherche nucléaire, a été fondé en 1951 et se situe dans la banlieue de Genève. Ce laboratoire de renommée international a axé sa recherche dans le domaine de la physique des particules. Le CERN emploie un peu moins de 3000 personnes, mais ce sont près de 6500 scientifiques, soit la moitié des physiciens de particules dans le monde, qui utilisent ses installations. Ils représentent 500 universités, et plus de 80 nationalités. Afin de pouvoir sonder le cœur de la matière, des accélérateurs de particules sont construits. Depuis quelques années, un nouveau projet de grande ampleur a été entamé au CERN : la construction d'un nouvel accélérateur, bien plus puissant que les précédents : le LHC [1] (Large Hadron Collider) L expérience LHCb LHCb [1] est l une des 4 expériences qui seront réalisées grâce à l accélérateur de particules LHC de circonférence 27km. L expérience LHCb a pour but d étudier la violation de la symétrie Charge-Parité (CP) observée pour la première fois en L origine de cette asymétrie est encore l un des mystères de la physique des particules qui étudie les grains de matière élémentaires et leurs interactions. La théorie actuelle, appelée Modèle Standard, prévoie la violation de CP dans le cas des interactions faibles agissant sur les particules, mais il n est pas exclu que d autres principes physiques participent à ce phénomène. La violation de CP joue aussi un rôle important en cosmologie car c est l une des conditions requises pour expliquer l excès de matière par rapport à l antimatière dans l univers. Le Modèle Standard ne suffisant pas à expliquer cette prédominance de matière, il est nécessaire de produire de nouvelles sources de violation de CP au delà de cette théorie. Pour cela, le système des mésons beaux (particules contenant un ou deux quarks «beaux») est très attractif. L expérience LHCb vise à produire de telles particules à partir de collisions proton-proton et à étudier leurs désintégrations Le détecteur LHCb Le détecteur LHCb se situera autour de l axe du faisceau de protons circulant dans le grand collisionneur de hadrons LHC. Sa fonction sera de détecter les particules produites lors des collisions entre protons afin de les identifier et de mesurer leur point d origine, leur direction et leur énergie impulsion. Le détecteur est enterré 100 mètres sous terre et s inscrit dans un parallélépipède de 10x10x20 mètres. Les systèmes électroniques sont, dans la mesure du possible, protéges des radiations par un mur en béton dans une partie distincte de la caverne
12 Faisceau 1 Mur de protection p Faisceau 2 20 m p VELO (Point de collision) Figure 1 - Vue du détecteur LHCb dans la caverne Un détecteur comme celui utilisé pour l expérience LHCb comporte trois grandes catégories d éléments matériels : - Les détecteurs physiques qui interagissent directement avec les particules. - Le système d acquisition des données (électronique et logiciel). - Le système de contrôle et de ressources (alimentations, refroidissement, régulation du faisceau de particules, etc ). Voici une présentation rapide des différents éléments qui composent le détecteur LHCb : - Le Vertex Locator fournit des informations sur la présence de vertex déplacés (désintégration de mésons «beaux») et permet de reconstruire la trajectoire des particules au plus près de la collision. - Le Pile Up permet d éliminer les événements contenant plusieurs interactions protons-protons. - Le Tracker permet de reconstruire les traces des particules chargées et de mesurer précisément l impulsion de chacune. - Les détecteurs RICH permettent l identification des particules par effet Tcherenkov. - Les calorimètres électromagnétiques (ECAL) et hadroniques (HCAL) ont pour but d identifier les photons, les électrons et les hadrons, puis de mesurer pour chacun d eux son énergie et sa position. - Le détecteur de muons (Muon Detector) fournit une identification des muons et une mesure de leur impulsion
13 Figure 2 - Vue en coupe du détecteur LHCb 1.2 Analyse de l existant Présentation du Vertex Locator Le Vertex Locator [2] est la partie du détecteur LHCb la plus proche du point d interaction des deux faisceaux. Il doit fournir des mesures précises des traces des particules dans la région de la collision. Le VELO comprend 21 stations disposées toutes perpendiculairement au faisceau et parallèles entre elles. Une station est composée de deux entités appelées modules. Un module comprend : Deux détecteurs en silicium en forme de demi-cercle qui vont permettre de déterminer les trajectoires des particules. Ces détecteurs possèdent des bandes qui sont circulaires pour l un des détecteurs et radiales pour l autre. Grâce à des jonctions PN, le passage d une particule à travers un détecteur va générer une impulsion de courant sur les bandes. Les trajectoires sont alors mesurées dans un système de coordonnées polaires. L un des deux détecteurs mesure le rayon R tandis que l autre mesure l angle Phi. L axe du faisceau représentant la coordonnée Z, alors le point de passage de la particule est défini par une coordonnée cylindrique. Deux entités appelées hybrides et disposées l une face à l autre. Un hybride réalise le support de puces appelées Beetles qui effectuent l acquisition des données provenant des détecteurs. En effet, le signal provenant des bandes n est pas utilisable directement. Le Beetle prend donc en entrée ce signal analogique qui va passer à travers deux intégrateurs puis un pipeline. Un support rigide
14 Un circuit de refroidissement Figure 3 - Vue éclatée d'un module Axe du faisceau Figure 4 - Disposition des détecteurs de silicium dans le VELO
15 Les modules sont en capacité de s écarter lorsque le faisceau est chargé puis de se rapprocher lorsque des mesures veulent être effectuées. Le VELO représente donc au total 84 hybrides comportant 16 Beetles chacun. Le Pile Up utilise lui aussi deux stations. A la différence des modules du VELO, les modules du Pile Up ne mesurent que la coordonnée R. Les modules du Pile Up étant très similaires à ceux du VELO, on considerera par la suite les stations du Pile Up comme faisant parties intégrantes du VELO Le système de contrôle de l expérience Le système de contrôle [3] de l expérience LHCb est en charge de la configuration, du contrôle et de la surveillance de tous les composants du détecteur. Comme défini sur le schéma suivant, le contrôle est effectué sur toute la chaîne d acquisition des données, de la mesure des valeurs jusqu à leur stockage. Figure 5 - Architecture générale du système d'acquisition et du système de contrôle L interface de contrôle des composants électroniques : le logiciel PVSS PVSS est un logiciel utilisé pour faire l acquisition de données sur du matériel électronique afin de superviser un système ou même le configurer
16 Architecture d une application PVSS Une application PVSS se compose de plusieurs processus appelés aussi Managers. Voici cidessous une représentation de ces différents processus au sein d une application PVSS. Figure 6 - Processus d'une application PVSS L Event Manager (EVM) s occupe de toutes les communications. Il reçoit des données des drivers et les stocke dans la base de données (DB). Il reçoit aussi les données de l interface utilisateur qu il stocke dans la base. Le Data Base Manager (DBM) réalise l interface pour la base de données. L User Interface Manager (UIM) permet de lire des données dans la base de données, ou même d envoyer les données destinées au matériel dans cette base de données. Elle permet aussi de rester continuellement connecté à la base de données. Les Control Managers (Ctrl) servent à faire tourner des processus en arrière-plan grâce à l utilisation de scripts. Les API Managers (API) permettent aux utilisateurs d écrire leurs propres programmes en C++ pour accéder à des données dans la base. Les Drivers (D) fournissent l interface au matériel à contrôler. Une application PVSS comporte au moins un Event Manager et un Data Base Manager. Elle peut posséder autant de drivers et d interfaces utilisateur que nécessaire. Fonctionnement d une application PVSS Prenons l exemple d un utilisateur souhaitant écrire dans un registre particulier. Cette opération s effectue en réalité en deux temps. Tout d abord, l utilisateur, par l intermédiaire de l interface graphique, inscrit la donnée dans la base. Le trajet suivi par la donnée est le suivant :UIM EVM DBM DB. Ce n est alors que par la suite que la donnée est envoyée de la base vers les drivers si l utilisateur envoit une commande d écriture ou si il a été défini qu une commande d écriture est réalisée à chaque fois que le contenu du datapoint change. Le trajet suivi est alors le suivant : DB DBM EVM D
17 Si un utilisateur souhaite dans le cas contraire lire dans un registre, alors la donnée réalise le chemin inverse. Structure de la base de données PVSS permet de modéliser les composants en utilisant le concept de datapoint. Ce concept est principalement basé sur la notion d objet. La modélisation s effectue en deux étapes. D abord, un datapoint type doit être défini par l utilisateur. Il décrit la structure de données associée au composant à modéliser. Par analogie aux langages orientés objet, on pourrait définir un datapoint type comme étant une classe. Un datapoint type peut contenir des entiers, des chaînes de caractères ou bien même des pointeurs sur d autres structures. Ensuite, l utilisateur peut définir autant d instances de datapoint type qu il souhaite : ce sont les datapoint element. Il représente un objet particulier et contiennent les données propres à cet objet. Ainsi, il est possible de modéliser un système sous forme d arbre de données. Une fois la structure créée, toute une gamme d options est à la portée de l utilisateur : ce dernier peut mettre en place des contraintes sur certaines valeurs, en particulier des alarmes, ou effectuer des archivages. Création des interfaces utilisateurs PVSS permet aux utilisateurs de créer leurs propres interfaces. Figure 7 - Editeur graphique de PVSS En utilisant l éditeur graphique (ci-dessus), l utilisateur dans un premier temps définit la partie statique de son panneau en dimensionnant son interface puis en déposant les boutons, les tableaux, les champs de caractères à l endroit désiré. Ensuite il fait correspondre aux boutons une action pour un événement donné. Par exemple, l utilisateur envoie une donnée
18 lorsqu il clique sur un bouton. Les actions sont programmées en utilisant des scripts où le code est écrit en langage PVSS. Les scripts PVSS Les scripts PVSS permettent une communication entre l utilisateur et la base de données. La syntaxe du langage PVSS est très proche de celle du langage C. Une librairie de fonctions assez large permet de manipuler des datapoint element, des graphiques ou même encore des fichiers. Trois fonctions en terme d accès aux datapoint element sont importantes : dpget («nom du datapoint element», «variable») Cette fonction récupère la valeur du datapoint element présente dans la base de données et la place dans la variable indiquée en paramètre. dpset («nom du datapoint element», «valeur») Cette fonction écrit la valeur dans le datapoint element présent dans la base de données. dpconnect («nom de la fonction», «nom du datapoint element») dpconnect permet d appeler une fonction à chaque fois que le contenu du datapoint element passé en paramètre change. Ainsi, si par exemple on souhaite afficher le contenu d un datapoint element en continu, il suffit de passer en paramètre le nom de la fonction d affichage que l on aura défini précédemment, accompagné du datapoint. La définition complète de toutes les fonctions est disponible dans l aide en ligne. Communication entre la base de données et le matériel électronique L un des points recherché par les utilisateurs du CERN consiste à pouvoir contrôler toute sorte de composants électroniques à partir d un ordinateur distant quelconque. Ainsi, l interface entre PVSS et le matériel n est pas directe. Un protocole de communication effectue la jonction entre les deux. Le protocole utilisé au cours de ce stage se nomme DIM. Le chapitre suivant explicite un peu plus en détail son principe de fonctionnement DIM DIM est un protocole de communication qui a été intégré dans PVSS. Il est fondé sur le principe de client/serveur et a été développé au CERN [4]. Une notion fondamentale dans le mécanisme de DIM est le service. Le serveur fournit des services et le client fournit le mécanisme de connexion au serveur. Les services sont des structures contenant des données et correspondent à des datapoint elements. Ces correspondances sont définies par l utilisateur grâce à PVSS. Le DIM Name serveur (DNS) est une troisième entité qui voit les serveurs disponibles et qui permet d établir la connexion entre un client et un serveur lorsqu un client en fait la demande. Le client et le serveur peuvent alors échanger des données
19 Figure 8 - Communication entre client, serveur et DNS L ordre des échanges entre client, serveur et DNS est décrit par la numérotation de 1 à Le bus SPECS Le bus SPECS est un bus série qui transmet des données à 10Mbit/s pour configurer des dispositifs électroniques. Il permet de relier un maître à 32 esclaves au maximum. Il se compose dequatre lignes unidirectionnelles: une ligne de données du maître vers l esclave, une ligne de données de l esclave vers le maître, une ligne d horloge du maître vers l esclave et une ligne d horloge de l esclave vers le maître. Il a été conçu pour faire communiquer des dispositifs électroniques simplement, rapidement, et avec des moyens peu couteux Le système de contrôle du Vertex Locator Lors de la mise en route du VELO, il sera nécessaire de pouvoir initialiser le système dans une certaine configuration, puis être capable de changer cette configuration chaque fois que l utilisateur le souhaite. La partie contrôle de ce système consiste plus précisément à modifier diverses tensions dans le VELO, distribuer correctement certains signaux ou définir des modes de fonctionnement. Toutes ces opérations sont généralement réalisées en écrivant dans des registres. La surveillance quant à elle consiste à lire des valeurs de températures, de courants, de tensions soit pour s assurer que les valeurs de configuration définies précédemment sont bien celles présentes dans les registres soit alors pour assurer la sécurité du système. Deux chaînes caractérisent globalement le VELO : la chaîne d acquisition des données qui seront analysées pour l expérience et la chaîne de contrôle des composants du système,de distribution de signaux, et de surveillance des températures, des tensions et courants dans le détecteur. Le travail qui a été réalisé durant ces cinq mois de stage a porté sur la chaîne de contrôle des composants du système
20 Figure 9 - Chaîne de contrôle du VELO Ce schéma représente la chaîne de contrôle des modules du VELO. L utilisateur sera en mesure de configurer le système à partir d un ordinateur distant disposant d une interface PVSS. Il est possible cependant de directement commander l électronique à partir de l ordinateur possédant le maître SPECS. Dans ce cas là, le client SPECS, le DNS et le serveur DIM devront tourner sur cette même machine. Un mur en béton sépare la zone de radiation de la zone de contrôle. Le bus SPECS a été préféré aux autres bus comme bus de longue distance. La distance du cable est de 60 mètres. Le maître SPECS est relié à une premier carte électronique : le control board [5]. Le control board est l élément central de cette chaîne. Il comporte une carte esclave SPECS qui va transmettre des signaux I 2 C aux hybrides. Le VELO comporte exactement quatorze control boards chainés les uns aux autres. Chaque control board est relié à six repeater boards, chaque repeater board étant connecté à un hybride. Le Pile Up comporte quant à lui trois control boards. Un seul de ces control boards est connecté à quatre hybrides
21 Le control board Le control Board est au coeur du système de contrôle du Vertex Locator. Le schéma suivant décrit la structure du Control Board. error strobes V_Hybrid0_inhib0 TTC (optical) TTCRq Mezzanine counters TTC Ch. B CLK V_Hybrid0_inhib1 V_Hybrid0_inhib2 V_Hybrid0_inhib3 L0A V_Driver_inhib SPECS Bus (remote) SPECS Bus (local) TTC Ch. B control signals SPECS Slave Mezzanine SDA SCL L0 FE Reset Test Pulse L1 FE Reset L1 Event Reset CLK status/control ADC Ext. register Ext. register Ext. register SDA_OUT I 2 C direction SDA_IN SCL_OUT FPGA L0A COMPCLK CLK L0 FE Reset Test Pulse local I 2 C Delay25 L0A COMPCLK CLK Reset Test Pulse V_mon Power on Reset TFC/I2C enable Curr_lim SDA_OUT SDA_IN SCL_OUT 6x Figure 10 - Architecture du control board Le control board va communiquer avec le maître SPECS situé dans l ordinateur par l intermédiaire de la mezzanine SPECS esclave. Le control board joue deux rôles essentiels. D une part il se comporte comme un esclave SPECS par rapport à la carte SPECS maître et comme un maître I 2 C pour les composants qui se situent sur le repeater board et sur les hybrides. Les signaux V_Hybrid0_inhib0, V_Hybrid0_inhib1, V_Hybrid0_inhib2, V_Hybrid0_inhib3 permettent de commander des régulateurs de tensions [5]. Les signaux V_mon et Curr_lim permettent de lire des informations de tensions et de courants. SDA et SCL correspond au bus I 2 C qui relie le control board au repeater board et aux hybrides. Un registre qui se situe dans la mezzanine permet d envoyer un signal de reset aux Beetles situés sur les hybrides. D autre part, le control board reçoit des signaux par une fibre optique. Le TTCrq [6] va décoder ces signaux qui permettent d effectuer la synchronisation de l électronique se
22 situant sur cette chaîne. Il s agit principalement d horloges, de signaux de reset et de signaux de synchronisation. Le control board se charge donc de distribuer ces signaux par l intermédiaire d un FPGA dans lequel est implémentée la logique nécessaire à cette fonctionnalité. Par ailleurs, le TTCrq, le Delay25 [7] et la mezzanine esclave possèdent des registres internes que l utilisateur souhaiterait configurer. Ces composants sont accessibles par un bus I 2 C local. (Le control board comprend sept bus I 2 C: six bus longue distance en direction des hybrides et un bus local pour la communication avec les différents composants du control board). L esclave SPECS du control board possède un DCU [8], composant qui contient un convertisseur analogique numerique. Six canaux sont en entrée du convertisseur. Ces six entrées correspondent aux six tensions V_mon provenant d un des régulateurs de chaque hybride. Une fois la conversion effectuée, un multiplexeur permet de sélectionner une tension à lire parmi les six. Figure 11 - Photo du control board Le repeater board Le repeater board se situe dans la zone de radiation, dans une chambre à vide qui se trouve à 1m50 du point de collision. Son rôle consiste à répéter les signaux de synchronisation et les signaux I 2 C provenant du control board. Il comporte aussi tous les régulateurs de tensions qui garantissent une alimentation correcte de l électronique. Il permet par ailleurs la transmission des données provenant des détecteurs au silicium. Il comporte six cartes : quatres d entre elles sont utilisées pour l acquisition des données utiles à l expérience, les deux autres comportent des composants que l utilisateur souhaite controler via I 2 C. La mezzanine ECS et la low voltage card
23 La low voltage card Cette mezzanine comporte huit régulateurs de tension. V i V I Voltage V OU V_xxx_out V xxx in IN AD V_xxx_curr_lim OC GN V_xxx_sense V_xxx_mon Figure 12 - Régulateur de tension V_in correspond à l entrée du régulateur de tension provenant de la source d alimentation. V_xxx_inhib désactive la tension de sortie V_xxx_out. La sortie V_xxx_curr_lim passe à 1 lorsque le courant consommé dépasse une certaine limite. V_xxx_mon indique la valeur de la tension actuelle appliquée. La mezzanine ECS Figure 13 - Architecture de la mezzanine ECS
24 La mezzanine ECS transforme des signaux différentiels en signaux simples. Elle comporte également deux multiplexeurs configurables via I 2 C et qui vont permettre pour l un de sélectionner une des huit valeurs de tensions provenant des régulateurs à envoyer au DCU, qui va convertir le signal analogique en signal numérique puis permettre de faire l acquisition grâce à l interface I 2 C, et pour l autre de sélectionner l un des huit indices de courant à envoyer dans un registre de l esclave SPECS pour pouvoir être lu via I 2 C. 1.3 Les objectifs du stage Dans un premier temps, mon travail a consisté à mettre en place le banc d essai pour accéder aux registres des Beetles situés sur les hybrides. La familiarisation avec la chaîne de contrôle ayant été effectuée, les points suivants ont été réalisés : Le développement d une interface graphique permettant de configurer : les Beetles se situant sur les hybrides les Delay25 et les TTCrq se situant sur les control boards les signaux TFC/I2C enable et PowerOnReset Le développement d une interface graphique permettant de surveiller : le contenu des registres des Beetles, des Delay25 et des TTCrq les valeurs provenant des régulateurs de tension Le développement d un code VHDL, répondant aux besoins des utilisateurs, pour le FPGA du control board Le développement de l interface graphique qui contrôle et lit le contenu des regitres internes du FPGA
25 2 Etude du problème et conception des solutions 2.1 Le protocole I 2 C Introduction au bus I 2 C (Inter-Integrated Circuit) Le bus I 2 C a été élaboré au début des années 80 par Philips semiconductors et fait partie de la grande famille des L.A.N. (Local Area Networks - réseaux locaux) avec pour cible privilégiée le marché grand public. Depuis, des millions de téléviseurs, récepteurs de radio, autoradios utilisent ce moyen de communication interne à leurs propres systèmes. Ce bus est un bus série qui permet donc la communication d une large gamme de composants électroniques. Pour ce faire, le bus I 2 C utilise seulement trois fils : Un signal de donnée (SDA) Un signal d horloge (SCL) Un référentiel (Masse) Les dispositifs qui viennent se connecter au bus se raccordent en parallèle sur les lignes SDA et SCL. La discussion sur un bus se fait entre un maître et un esclave. C est le maître qui demande et l esclave qui répond. Electroniquement, la mise en place de plusieurs composants sur un même bus est possible grâce à la structure des sorties qui sont de type "Collecteur ouvert". Des résistances de rappel permettent de garantir l état haut du bus lorsque les éléments sont en mode haute impédance. Ce protocole est défini par la succession des états que peuvent prendre les signaux SDA et SCL. Les données sont transmises à 100Kbits/s en mode standard et jusqu'à 400Kbits/s en mode rapide. Par conséquent, le protocole I 2 C, bien que relativement simple, n a d utilité que pour les applications qui ne nécessitent pas une vitesse de communication élevée Principe de fonctionnement Lorsque le bus est libre, les lignes SDA et SCL sont à l état haut. Des lors que le maître désire communiquer avec un esclave, on observe sur le bus une condition de départ de la transmission, la transmission de données proprement dite, puis une condition d arrêt de la communication Conditions de départ et d arrêt Condition de départ (start): Cette situation a lieu et uniquement lieu lorsque la ligne de données SDA passe de l'état haut à l'état bas tandis que la ligne d'horloge reste à l'état haut. Condition d arrêt (stop) : Cette situation a lieu et uniquement lieu lorsque la ligne de données SDA passe de l'état bas à l'état haut tandis que la ligne d'horloge SCL reste à l'état haut
26 À tout cela il faut ajouter les compléments suivants : les conditions de start et de stop sont toujours créées par le maître. le bus est dit occupé après la condition de départ. le bus sera considéré comme libre après la condition de stop. Figure 14 - Représentation des conditions start et stop Transfert des données sur le bus Le transfert des données s opère donc entre une condition de départ et une condition d arrêt. Chaque mot transmis sur la ligne de donnée SDA doit avoir une longueur de 8 bits. Chaque mot transmis doit être suivi d'un bit d acquittement généré par le récepteur du mot. Le nombre de mots transmis lors d'un transfert est en principe illimité. Un bit est lu sur chaque front montant de l horloge SCL générée par le maître. Les données contenues dans le mot sont transférées avec le bit de poids fort en tête. Premier mot transmis : Le premier mot transmis contient l'adresse de l'esclave que le maître souhaite sélectionner. Cette adresse a une longueur de 7 bits (les 7 premiers). Lorsqu'une adresse est envoyée par le maître, tous les composants présents physiquement sur le bus comparent les sept premiers bits qui suivent la condition de départ à leur propre adresse. Si celle-ci correspond exactement à la sienne, il se considère comme adressé. Le huitième bit transmis de ce premier mot est appelé R/W bit. Il correspond au bit de lecture/écriture et sert à indiquer l opération que le maître va effectuer, à savoir : si ce bit est égal à zéro, alors le maître veut effectuer une écriture vers l esclave sélectionné si ce bit est égal à un, alors le maître veut effectuer une lecture à partir de l esclave sélectionné Remarque : Les adresses 0000XXX et 1111XXX sont réservées selon la norme I 2 C pour d autres utilisations. Neuvième bit transmis : Alors que les 8 premiers bits sont écrits par le composant maître sur le bus, le neuvième bit est réservé pour l acquittement de l esclave. En effet, l esclave adressé écrit sur la ligne SDA la valeur 0 pour montrer au maître qu il a bien reçu les données. La communication peut alors continuer normalement. Si aucun esclave n a été adressé correctement, alors ni le maître, ni les esclaves ne vont écrire sur le bus laissant ainsi la ligne SDA à l état haut (SDA est tiré à l état haut par les résistances de rappel). Le maître va alors comprendre qu il doit générer la condition stop
27 Figure 15 - Premier octet écrit sur le bus SDA Suite de la transmission : Les mots suivant l'adresse n'ont pas de signification particulière. On peut résumer globalement leurs fonctions en disant qu'ils transportent des données. Très souvent les données qui sont présentes dans les mots qui suivent immédiatement l'adresse ont un sens plus orienté vers l'organisation interne du circuit commandé (mot de sous-adresse, de statuts, de commande...), mais il n'y a pas de règles générales. Puis viennent ensuite les mots qui contiennent des données, des valeurs au sens strict. Cas de l écriture Si le maître a spécifié précédemment qu il effectuerait une écriture vers l esclave, alors il écrit ses données sur la ligne SDA 8 bits par 8 bits. Entre chaque mot transmis, le maître libère la ligne SDA libre pour que l esclave puisse faire son acquittement. Si le maître ne voit pas d acquittement, alors la communication est interrompue, sinon il continue à transmettre ses données jusqu'à ce qu il génère la condition stop. Figure 16 - Lignes SDA Maitre, SDA Esclave et SDA resultante pour l'ecriture d'un octet Cas de la lecture Si le maître a spécifié précédemment qu il effectuerait une lecture à partir de l esclave, alors ce dernier devient écrit les données demandées par le maître sur la ligne SDA 8 bits par 8 bits. De la même façon que pour l écriture, le récepteur des données (dans ce cas là le maître) envoie un signal d acquittement en écrivant un zéro sur la ligne SDA après chaque mot transmis. Pour indiquer à l émetteur des données que le récepteur souhaite ne plus recevoir de données, ce dernier laisse la ligne d acquittement à l état haut en guise d acquittement. Le récepteur n écrit un 0 sur la ligne SDA que pour indiquer à l émetteur qu il peut encore accepter des données. Figure 17 - Lignes SDA Maitre, SDA Esclave et SDA resultante pour la lecture d'un octet
28 2.2 Banc d essai Les premiers tests pratiques ont consisté à lire et écrire dans les registres des Beetles d un hybride à disposition. La démarche de l installation de la partie logicielle et développée en annexes. Le banc d essai n a pas été dans un premier temps identique à la chaîne de contrôle finale, le control board et le repeater board étant en cours de fabrication. La carte SPECS esclave a été installée sur une carte jouant le rôle du contrôle board. Cependant, le repeater board n ayant pas été à disposition, une solution temporaraire a dûe être définie pour relier le bus I 2 C provenant de la carte portant l esclave SPECS au bus I 2 C de l hybride [9]. En effet, le repeater board réalise la jonction du bus I 2 C différentiel LVDS (coté esclave SPECS) au bus I 2 C classique CMOS (coté hybride). Une carte temporaire a donc été réalisée pour palier à ce problème. LVDS CMOS Drain ouvert Figure 18- Architecture de la carte réalisée L horloge scl circule uniquement du SPECS vers l hybride. Par conséquent, il suffit juste de placer un composant qui va transformer le bus différentiel provenant du SPECS en un bus simple allant vers l hybride. En revanche, deux lignes sda différentiels unidirectionnels sont présentes du côté du SPECS alors qu une ligne sda bidirectionnelle simple est présente du côté de l hybride. Il faut donc gérer en plus du problème posé par les lignes différentielles, le tri-state. Lorsqu un 0 est écrit à l entrée du drain ouvert, alors la sortie prend la valeur 0 et dans le cas inverse la sortie passe en haute impédance (non connectée). Ainsi, lorsque la carte SPECS écrit un 0 pour le Beetle, la sortie du drain ouvert passe à 0 et par conséquent la ligne bidirectionnelle SDA connectée au Beetle passe à 0. Lorsque la carte SPECS écrit un 1, la sortie du drain ouvert est déconnectée. Cependant, une résistance de rappel tire la sortie vers le haut donc un 1 sera lu par le Beetle. Lorsque le Beetle enverra des signaux sur le bus SDA, alors l entrée du drain sera à 1 (état de repos). Par conséquent, la sortie du drain ouvert sera déconnectée et donc les données envoyées par le beetle seront dirigées vers les fils sda_specs_in+ et sda_specs_in
29 Figure 19 - Photo de la carte réalisée 2.3 Conception du logiciel associé au Control Board Composants à configurer et à surveiller Beetle Le Beetle est une puce spécialement conçue pour l expérience LHCb. Dans le Vertex Locator, il permet de faire l acquisition des signaux provenant des detecteurs de silicium. Comme indiqué sur la photo suivante, il se situe sur un hybrid. Un hybrid comporte seize Beetles. Figure 20 - Hybride comportant un détecteur en silicium et 16 Beetles Le Beetle comporte vingt trois registres permettant de le configurer [10]. Un vingt quatrième registre est disponible en lecture seule. L accès à ces registres en lecture comme en écriture se fait par l intermédiaire d une interface I 2 C. Une adresse I 2 C est attribuée à chaque Beetle. Un registre est défini par une sous-adresse allant de 0 à
30 Cette sous-adresse est contenue dans un pointeur. Les registres 0 à 19 et le registre 24 sont de taille huit bits. Le registre 20 est de taille mille vingt quatre bits. Les registres 21 et 22 font cent vingt huit bits. Ecriture Les vingt premiers registres sont à la fois accessibles indépendamment ou en même temps. L écriture d un seul registre consiste à envoyer sur le bus de données l adresse du Beetle suivie de la sous adresse correspondant au registre puis la donnée de huit bits à écrire. Bit écrit par la carte SPECS Bit écrit par le beetle Figure 21 - Trame d'écriture d'un des 20 premiers registres du Beetle Cependant, le Beetle offre la possibilité d écrire dans plusieurs registres consécutifs (uniquement parmi les vingt premiers) à l aide d une seule trame grâce à un système de pointeur qui s incrémente automatiquement après l accès à un registre en écriture. Il suffit d envoyer l adresse du Beetle suivie de la sous adresse correspondant au premier registre à écrire puis la série de données de huit bits (la première donnée est écrite dans le registre indiquée dans la trame, la deuxième donnée est écrite dans le registre suivant, ). Ce système permet donc d optimiser la vitesse de transmission des données en évitant de renvoyer l adresse du Beetle et la sous-adresse pour chaque registre. Bit écrit par la carte SPECS Bit écrit par le beetle Figure 22 - Trame d'écriture de plusieurs registres du Beetle parmi les 20 premiers Les registres 20, 21 et 22 se comportent comme des registres à décalage. En envoyant une commande d écriture de huit bits dans l un de ces registres, le contenu du registre est décalé de huit bits en direction des poids faibles et les huits bits écrits correspondent au huits bits de poids les plus fort dans le registre. Il est possible d écrire un registre complet à l aide d une seule trame en envoyant l adresse du Beetle suivie de la sous-adresse correspondant au registre, puis les bits de poids les plus faibles, puis les huit bits de poids juste supérieurs au précédents et ainsi de suite. Lecture Les registres 20, 21 et 22 ne sont accessibles en lecture que sur les huit bits de poids les plus faibles. Toutes les valeurs lues de chaque registre sont donc de taille huit bits. Deux modes existent pour la lecture des registres du Beetle
31 1 er mode de lecture : La lecture s effectue en envoyant deux trames consécutives. Dans un premier temps, le pointeur doit être initialisé avec la sous-adresse du registre à lire. Cela revient à écrire l adresse du Beetle puis le pointeur. Une fois le pointeur initialisé, il suffit d envoyer une commande de lecture. La valeur du registre est alors écrite sur le bus de données. Bit écrit par la carte SPECS Bit écrit par le beetle Figure 23 - Trames à envoyer dans le cas du premier mode de lecture Comme pour l ecriture, la lecture de plusieurs registres consécutifs (uniquement parmi les vingt premiers registres) est possible. Pour cela, le pointeur doit être initialisé à la sous-adresse correspondant au premier registre à lire. Dans la trame suivante, la première donnée reçue correspond au premier registre. Cette donnée est suivie d un acquittement de la part de la mezzanine qui indique qu elle souhaite continuer à recevoir des données. Les données suivantes correspondent alors aux registres suivants. 2 ème mode de lecture: La lecture s effectue en envoyant une seule trame. La mezzanine doit écrire l adresse du Beetle suivie de la sous-adresse correspondant au registre à lire, puis la mezzanine génere une condition restart après laquelle est envoyé une commande de lecture, puis vient enfin l écriture des données sur le bus par le Beetle. Bit écrit par la carte SPECS Bit écrit par le beetle Figure 24 - Trame à envoyer dans le cas du second mode de lecture Actuellement, ce mode de lecture n est pas disponible pour l utilisateur car aucune fonction PVSS ne permet de générer la condition de restart
32 Tableau 1- Registres du Beetle TTCrq Le TTCrq est une mezzanine développée au CERN et qui comporte deux ASICs : le TTCrx et le QPLL [6] aussi conçus au CERN. Le TTCrx reçoit les signaux TFC puis après décodage délivre l horloge et les signaux de synchronisation nécessaires aux dispositifs électroniques tels que le Beetle ou le Delay25. Il fournit entre autre une horloge de 40MHz, le signal de décision du premier niveau de trigger, et des signaux de reset. Le QPLL est un quartz qui permet de générer à partir de l horloge provenant du TTCrx une horloge plus propre. Elle réduit en fait le balayage de l horloge du TTCrx. Le TTCrx possède des registres internes permettant la configuration du TTCrq et la lecture de certaines valeurs clés par l utilisateur. L accès à ces registres se fait via une interface I 2 C. Le TTCrx possède vingt registres huit bits. Il possède aussi deux registres spéciaux : le registre pointeur et le registre de données. La lecture comme l ecriture d un registre se procède en deux étapes. Dans un premier temps, il faut envoyer après la condition start l adresse du registre pointeur suivi de la sous-adresse correspondant au registre à lire ou écrire, puis vient alors la condition stop. Cette première trame est nécessaire pour la lecture comme pour l écriture. Elle permet d initialiser le registre pointeur. La deuxième étape consiste à lire (dans le cas d une lecture) ou écrire (dans le cas d une écriture) dans le registre de donnée. L adresse du regitre pointeur est obtenue en multipliant par deux les six bits ID_I2C fixés sur le control board grâce à des cavaliers [11]. Le registre de données quant à lui se situe à l adresse «adresse du pointeur»
33 Ecriture Lecture Bit écrit par la carte SPECS Bit écrit par le TTCrq Figure 25 - Trames d'écriture et de lecture d'un registre du TTCrq Tableau 2 - Registres du TTCrq Delay25 Six Delay25 présents sur le control board permettent le déphasage de cinq signaux périodiques ou non [7]. Le Delay25 comporte six registres configurables via I 2 C. Les bits [6 :3] de l adresse I 2 C correspondant à un Delay25 est fixée sur le control board. Les bits [2 :0] de l adresse I 2 C permettent de définir le registre auquel on souhaite accéder
34 Ecriture Lecture Bit écrit par la carte SPECS Bit écrit par le Delay25 Figure 26 - Trames d'écriture et de lecture d'un registre du Delay DCU Tableau 3 - Registres du Delay25 Le DCU est une puce qui permet l acquisition d un signal parmi huit en entrée [8]. Il possède huit registres huit bits que l utilisateur peut utiliser. L écriture et la lecture s effectuent de la même manière que pour le Delay25 : les bits [6:3] identifient le DCU et les bits [2:0] sélectionnent le registre. L acquisition d une valeur de douze bits s effectue de la façon suivante : Ecriture dans le registre CREG d un 1 sur le bit 7 indiquant le début d une acquisition, et des bits [2:0] qui vont permettre de définir sur quelle entrée se fait l acquisition. Lire la valeur de de douze bits contenue dans les registres SHREG et LREG : RESULTAT[11:8]=SHREG[3:0] RESULTAT[7:0]=LREG[7:0] Tableau 4 - Registres du DCU
35 Les AMUX Deux AMUXs se situent sur chaque mezzanine ECS (voir ) et correspondent à des multiplexeurs [12]. Accesibles par le bus I 2 C, ils permettent de sélectionner une des tensions provenant des régulateurs de tensions et une des indications de courant Les registres internes de la mezzanine esclave SPECS La mezzanine esclave SPECS finale devrait posséder 11 registres. Quatre registres parmi les onze sont utilisés pour des fonctionnalités précises. Ces registres portent les noms suivants : CONFREGOUT_MSB, CONFREGOUT_LSB, REGOUT_MSB, REGOUT_LSB. Ils sont de tailles 16 bits. Le bit i des registres REGOUT_MSB et REGOUT_LSB indiquent si respectivement le bit i des registres REGOUT_MSB et REGOUT_LSB est un bit que l on peut lire car il correspondrait à une sortie ou un bit que l on peut écrire car il servirait d entrée pour autre chose [13]. Les bits 12, 13, 14, 15 du registre REGOUT_LSB et les bits 0 et 1 du registre REGOUT_MSB vont correspondre respectivement à l un des indices de courant curr_lim provenant des hybrides 1, 2, 3, 4, 5 et 6. REGOUT_MSB[15 :9] correspond à la valeur du regiatre de statut présent dans le FPGA. REGOUT_LSB[11 :0] correspond aux signaux TFC/I 2 C enable et Power On Reset envoyés aux hybrides Les régulateurs de tensions La sortie des régulateurs de tensions présents sur la low voltage card sont en entrée de l un des deux multiplexeurs sur la mezzanine ECS. Pour pouvoir lire une tension, l utilisateur doit effectuer une configuration du multiplexeur sur la tension qu il souhaite lire, puis faire une acquisition sur l une des entrées du DCU comme indiqué en Les valeurs des indices de courant sont lues dans les registres internes de la mezzanine comme indiqué précédemment Description des fonctions PVSS utilisées Une bibliothèque de fonctions C a permis d élaborer une bibliothèque de fonctions PVSS relatives au bus I 2 C [14]. Deux types de fonctions PVSS permettant d écrire sur le bus I 2 C ont permis d établir la communication avec l électronique. Le premier type de fonctions prend en paramètre toutes les données caractéristiques au composant à sélectionner, place tous ces paramètres dans un datapoint, fait appel à la fonction C correspondante qui permet d envoyer le signal désiré, puis place le résultat dans le datapoint de départ. Ces fonctions posent un problème dans le sens où le même datapoint est utilisé à chaque appel de fonction, et l archivage des valeurs de tous les registres de tout le système est impossible. Un deuxième type de fonctions a donc été dévellopé pour palier à ce problème. Ces fonctions prennent en paramètre un datapoint donné contenant tous les paramètres propres au composant et les champs nécessaires pour stocker les valeurs lues Les fonctions indépendantes des datapoints crées par l utilisateur Les fonctions PVSS décrites ci-dessous permettent d accéder à des registres par le biais du même datapoint. Ce datapoint ne peut être utilisé que temporairement dans le cas d accès à différents registres car à chaque appel de fonction, les données passées en paramètre sont recopiés dans les champs du datapoint. Les données contenues précédemment dans le datapoint sont alors perdues. Voici les différentes fonctions utilisées dans les scripts PVSS :
36 fwspecs_i2cwrite (string pspecs, int pmasterid, int pslaveaddress, int pi2cbus, int pi2caddress, int psize, dyn_char pdata) fwspecs_i2cwritesub (string pspecs, int pmasterid, int pslaveaddress, int pi2cbus, int pi2caddress, int pi2csubaddress, int psize, dyn_char pdata) fwspecs_i2cread (string pspecs, int pmasterid, int pslaveaddress, int pi2cbus, int pi2caddress, int psize, dyn_char &pdata) fwspecs_i2creadsub (string pspecs, int pmasterid, int pslaveaddress, int pi2cbus, int pi2caddress, int pi2csubaddress, int psize, dyn_char &pdata) fwspecs_dcuregisterwrite (string pspecs, int pmasterid, int pslaveaddress, int pdcuaddress, int pregisternum, char pdata) fwspecs_dcuregisterread (string pspecs, int pmasterid, int pslaveaddress, int pdcuaddress, int pregisternum, char &pdata) pspecs, pmasterid, pslaveaddress et pi2cbus, pdcuaddress permettent de localiser le composant auquel on souhaite accéder. Plus particulièrement, pspecs indique le nom de la machine qui porte la carte SPECS maître, pmasterid indique le port de la carte SPECS maître utilisé, pslaveadress représente le control board selectionné, pi2cbus permet de déterminer l un des bus du contrrol board. pdcuaddress représente les bits [6 :3] de l un des registres du DCU. pi2caddress, pi2csubaddress, et pregisternum caractérise le registre du composant que l on souhaite manipuler. pdata correspond à la donnée à écrire et &pdata à la variable qui va stocker une valeur lue. Les fonctions fwspecs_dcuregisterwrite et fwspecs_dcuregisterread sont des fonctions fwspecs_i2cwrite et fwspecs_i2cread spécifiques au DCU. fwspecs_i2cwrite et fwspecs_i2cread permettent d envoyer sur le bus sélectionné les trames suivantes : pour fwspecs_i2cwrite Bit écrit par la carte SPECS Bit écrit par le composant pour fwspecs_i2cread Bit écrit par la carte SPECS Bit écrit par le composant
37 fwspecs_i2cwritesub et fwspecs_i2creadsub sélectionné les trames suivantes : pour fwspecs_i2cwritesub permettent d envoyer sur le bus Bit écrit par la carte SPECS Bit écrit par le composant pour fwspecs_i2creadsub Bit écrit par la carte SPECS Bit écrit par le composant Figure 27 - Trames générées par les fonctions PVSS Les fonctions qui manipulent les datapoints crées par l utilisateur Le principe d utilisation d une de ces fonctions consiste à définir un datapoint dont la structure est adaptée à cette fonction, à remplir les parties du datapoint qui caractérisent le composant. Une fois l appel de la fonction effectué avec le datapoint comme paramètre de la fonction, alors l opération désirée est effectuée sur le composant correspondant au datapoint (dans le cas d une lecture, la valeur du registre est renvoyée dans le datapoint). Supposons qu un composant comporte un seul registre dans lequel on souhaite lire. Alors la structure du datapoint correspondant à ce composant doit être la suivante : Figure 28 - Structure d'un datapoint pour un composant accessible par un bus I 2 C
38 Après avoir crée cette instance, l utilisateur doit remplir les champs specs, masterid, slaveaddress et i2cbus, champs caractéristiques au composant. Il doit aussi remplir le champ i2caddress, i2csubaddress si necessaire, et size qui sont propres au registre. A cet instant, l utilisateur peut manipuler le datapoint comme s il manipulait le composant associé. S il désire effectuer une lecture d un octet dans le registre, alors il lui suffit de faire appel à la fonction fwspecs_i2creadbyname de la manière suivante : fwspecs_i2creadbyname ( composant. registre, 1, mydata); La valeur du registre qui est alors lue est placée dans le champ readings.data du datapoint composant La valeur est aussi stockée dans la variable mydata dans le cas où l on souhaiterait utiliser la valeur directement après l appel de fonction. Voici ci-dessous quatre fonctions qui ont été utilisées dans l élaboration des scripts PVSS. fwspecs_i2cwritebyname (string pregister, int psize, dyn_char pdata) fwspecs_i2creadbyname (string pregister, int psize, dyn_char &pdata) fwspecs_regwritebyname (string pregister, dyn_char pdata) fwspecs_regreadbyname (string pregister, dyn_char &pdata) pregister correspond au registre que l utilisateur souhaite manipuler. psize indique le nombre d octets à lire ou à écrire. pdata est la valeur à écrire. &pdata correspond à la variable qui va stocker une valeur lue. Les deux fonctions fwspecs_regwritebyname et fwspecs_regreadbyname sont des fonctions spécifiques aux registres externes de la mezzanine. Les fonctions fwspecs_i2cwritebyname et fwspecs_i2creadbyname sont quant à elles plus général et permettent de lire ou écrire dans un composant I 2 C quelconque Modélisation du système à contrôler La première étape dans la réalisation du logiciel de contrôle du Vertex Locator a consisté à définir la base de données représentative de tous les composants électroniques à configurer. Les types de datapoint de base ont tous d abord été crées à partir de types déjà existants : ces types de base sont les composants décrits auparavant comme le Beetle, le Delay25, ou le TTCrq. A partir de ces composants de base ont été crées des types plus élaborés comme l hybrid ou la Low Voltage Card. Enfin, un type de datapoint de niveau plus élevé a été crée : le control board. Voici la description complète de la structure de datapoint réalisée : Types déjà existants
39 Types de base
40 Types de second niveau Types de troisième niveau Figure 29 - Structures de tous les datapoints modélisant le systeme de contrôle du VELO
41 Une fois ces définitions de types de datapoint effectuées, la création d instances doit être réalisée. Le choix de créer les instances et de les répartir d une manière donnée sur différents ordinateurs est laissé à l utilisateur. Cependant, le logiciel a été réalisé de telle sorte que l utilisateur doit procéder d une façon définie lorsqu il crée ses instances. Dans un premier temps, il doit créer un nouveau type de datapoint portant précisemment l un des deux noms suivants selon qu il désire crée une instance de control board appartenant au Pile Up, à la partie droite ou à la partie gauche du VELO : PileUpSection VeloSection Ensuite, il définit comme champ du type créé l un des noms suivant avec une ortographe identique à celle indiquée : ControlBoard1, ControlBoard2, ControlBoard3, ControlBoard4, ControlBoard5, ControlBoard6 ou ControlBoard7. Le type PileUpSection ne peut contenir que ControlBoard1, ControlBoard2 et ControlBoard3. Tous les champs pour le type VeloSection doivent faire référence au type VeloControlBoard. Pour le type PileUpSection, le champ ControlBoard1 doit obligatoirement faire référence au type PileUpHybControlBoard. Les champs ControlBoard2 et ControlBoard3 doivent obligatoirement faire référence au type PileUpOBControlBoard. Enfin, l utilisateur peut créer les instances proprement dites. Il doit obligatoirement créer une instance de PileUpSection en la nommant exactement pileup. L instance de VeloSection correspondant à la partie droite du VELO doit exactement être nommé velo_r et la partie gauche velo_l Interface graphique réalisée Un panneau de contrôle est un panneau de surveillance ont été conçus. Le panneau de contrôle comporte cinq sous-panneaux, un sous-panneau étant dédié à la configuration d un type de composant. Il offre la possibilité de configurer tous les registres d un ou plusieurs componsants à partir d un fichier. Il permet aussi de configurer un registre particulier en entrant la valeur directement dans le champ Data in
42 Figure 30 - Panneau de contrôle Le panneau de surveillance composé de la même manière cinq sous-panneaux, permet d observer le contenu des registres d un composant. La lecture dans tous les registres est périodique. Figure 31 - Panneau de surveillance
43 2.4 Conception du microprogramme à implanter dans le FPGA du control board et logiciel associé Les outils de développement Visual elite Visual elite est un logiciel de conception pour FPGA et ASIC. Il a permis dans un premier temps de développer chaque entité et architecture en VHDL puis d effectuer par la suite une simulation fonctionnelle du design réalisé Synplify L'outil Synplify réalise ensuite la synthèse logique : il effectue l implémentation physique du design Actel Designer Actel Designer permet de faire correspondre les pins du composant actel aux entrées sorties du design, d effectuer le placement et le routage puis de générer le fichier.bit ou stapl qui permettra la programmation du FPGA Actel Flash Pro Lorsque le fichier bit ou stapl a été généré, le FPGA est prêt pour la programmation. Il suffit alors de le connecter au programmeur d Actel qui est lui-même connecté à un ordinateur sur le port parallèle. Le logiciel Actel Flash Pro doit être lancé. Successivement, l utilisateur se connecte au programmeur, détecte le FPGA, ouvre le fichier bit ou stapl, puis lance la programmation Fonctionnalités implémentées Le control board recevra les commandes de configuration des différents composants provenant du bus SPECS et les commandes de synchronisation dites commandes TFC (Timing and Fast Commands) puis les distribuera à toute l électronique situé derrière. Le control board surveille et contrôle entre autres les régulateurs de tensions situés sur le repeater board. Ce chapitre décrit donc les fonctionnalités définies pour l élaboration du code à implanter dans le FPGA du control board. Dans un premier temps est décrite la fonctionnalité du FPGA pour un fonctionnement normal du système. Elle prévoit de satisfaire à la fois les besoins des hybrides du VELO et ceux des hybrides du Pile-Up. Le contrôle de l optical board du Pile-Up nécessiterait un microprogramme différent. Cependant, cette différence a été prise en compte dans la réalisation de ce microprogramme. En fait, le choix d une des configurations parmi les deux est défini par le signal OPTICAL_SELECT [11]. Dans un deuxième temps sont décrites les fonctionnalités supplémentaires qui ont étés implémentées dans la perspective de réaliser certains débuggages. Cela concerne spécialement la surveillance des signaux TFC et le fonctionnement du TTCrx et du QPLL
44 Spécifications définies pour le fonctionnement normal du système Bus I 2 C Le FPGA utilise le bus local I 2 C pour la communication avec la mezzanine esclave SPECS. Par conséquent le FPGA possède une interface esclave pour décoder les signaux I 2 C envoyées par la mezzanine, et donc pour lire et écrire dans les registres internes. Afin de ne pas trop occuper l espace d adressage I 2 C, l accès aux registres internes est réalisé à l aide d un système de pointeur. La mezzanine SPECS est le maître sur le bus local I 2 C et l adresse du FPGA est codée en dur dans le microprogramme. Le FPGA se situe à l adresse sur le bus local (bus numéro 15). Les signaux du bus sont nommés SDA25 et SCL25 sur les schémas du control board. Pour écrire dans un registre, la carte SPECS esclave envoie dans un premier temps sur le bus local I 2 C l adresse du FPGA, puis le pointeur correspondant au registre et enfin la donnée à écrire. Pour la lecture, la carte SPECS esclave effectue la même opération à l exception près qu à la place d écrire la donnée, la donnée est lue. Un système d incrémentation du pointeur a été implémenté de telle sorte qu il est possible d écrire ou de lire dans plusieurs registres successifs. Il suffit donc, par exemple pour écrire dans les registres 3, 4, et 5, d envoyer l adresse du FPGA, puis le pointeur correspondant au premier registre (dans ce cas là, le registre 3), puis les trois valeurs à écrire. Ecriture Lecture Bit écrit par la carte SPECS Bit écrit par le FPGA Figure 32 - Trames d'écriture et de lecture d'un registre du FPGA Une seconde fonctionnalité sur le bus I 2 C a été implémentée. Les niveaux de signal du bus I 2 C originaire de la carte esclave SPECS et en entrée du FPGA sont en CMOS 2.5. Ces signaux sont alors copiés par le FPGA en 3.3V car c est le niveau de signal requis par le TTCrx. Ces signaux sont nommés SDA33 et SCL 33 sur les schémas du control board. Les ports du FPGA sont configurés pour être conforme avec la norme I 2 C. Les signaux de reset Sur le control board, deux signaux de reset sont présents, POWER_RST et SPECS_RST.[11]. Les deux sont actifs au niveau bas et sont des signaux en 3.3V. POWER_RST est déclenché au démarrage. SPECS_RST provient de la commande de reset envoyée à travers le bus SPECS. Ces signaux sont reçus par le FPGA lequel génère à partir de là un reset actif au niveau bas. RESET = POWER_RST I SPECS_RST
45 Ce signal résultant effectue le reset des registres internes. De plus, il est distribué hors du FPGA à la fois en 2.5V et 3.3V. Les deux signaux sont appelés RESET_25 et RESET_33. [11]. Sélection de l horloge Le control board possède quatre sources différentes pour le système d horloge. [11]. Une seule horloge peut être sélectionnée à la fois à n importe quel moment. La sélection de l horloge que l on souhaite utiliser est réalisée grâce aux deux bits du registre de configuration CLK_SEL. L horloge par défaut est celle qui provient du SPECS, appelée CLK_FROM_SPECS.[11]. L horloge est envoyée à la carte esclave SPECS avec un niveau de 3.3V (CLK_TO_SPECS) et aux hybrides (CLK_25) avec un niveau de 2.5V. Horloge Nom Description CLK_SEL Horloge SPECS CLK_FROM_SPECS Générée par l esclave SPECS. Horloge local, asynchrone avec le reset du système. Horloge TTCrx Clock40Des1 Horloge reçue par le TTCrx du TFC système, retardée par le registre Deskew. Horloge QPLL Clock40Des1_QPLL Horloge du TTCrx nettoyée par le QPLL dans le TTCrq Horloge LVDS LVDS40MHz Horloge d au-dessus avant passage dans le convertisseur LVDS-CMOS dans le TTCrq Sélection et distribution des signaux TFC Tableau 5 - Les quatre horloges du système Les trois types de dispositifs que sont les hybrides du VELO, les hybrides du Pile Up et les optical boards nécessitent différentes combinaisons de signaux de synchronisation. Un maximum de cinq signaux, horloge comprise, peut être distribué à chacun des dispositifs. Puisque le VELO a besoin d un sous-ensemble des signaux pour le Pile-Up, alors les signaux en commun sont envoyés aux deux dispositifs. Le signal nommé OPTICAL_SELECT va permettre d effectuer la sélection des signaux qui doivent être envoyés selon que le dispositif soit un optical board ou un hybride. NB: L'horloge du système doit être envoyée par l'intermédiaire de la ligne marquée CLK_25 sur les schémas [11]. CompClock est une copie de l'horloge déphasé de 180 degrés (ou inversé). Dispositif Hybride du VELO Hybride du Pile Up Optical board Signaux de synchronisation nécessaires Clock, L0Accept, L0 FE Reset, Test Pulse Clock, CompClock, L0Accept, L0 FE Reset, Test Pulse Clock, L0Accept, L0 FE Reset, Bunch-ID Reset, Test Pulse Tableau 6 - Les signaux de synchronisation requis par les différents dispositifs
46 Signaux inhibiteurs Il y a cinq signaux inhibiteurs par hybride, appelés VDREN_#, VHYB0EN_#, VHYB1EN_#, VHYB2EN_# et VHYB3EN_#. Ces signaux allument et éteignent les régulateurs de tension pour l hybride. Cette configuration est réalisée en écrivant dans le registre V_EN_REG#, où # représente le numéro de l hybride concerné (0-5). La structure des registres est définie plus loin et les valeurs par défaut au démarrage sont telles que les régulateurs de tensions sont éteints. Changement de niveau Le FPGA est entre autre utilisé pour effectuer un changement de niveau pour certains signaux. On désire particulièrement obtenir en 3.3V les signaux décrits dans le bloc TFC_2V5_TO_LVDS des schémas du control board [11]. En entrée ces signaux sont en 2. 5V. Cette spécification est réalisée par une simple connexion entre les pins d entrée et les pins de sortie Spécifications définies pour le débuguage du système Compteurs d erreur Le FPGA surveille les conditions d erreur signallées par la mezzanine TTCrq. Le TTCrx envoie deux signaux, SinErrStr et DbErrStrobe, indiquant des erreurs de transmission des signaux TFC [11]. SinErrStr indique qu une erreur de transmission sur un seul bit a eu lieu. DbErrStrobe indique qu une erreur de 2 bits a été détectée ou bien une erreur dans la trame de transmission. Ces erreurs peuvent seulement être détectée et ne peuvent pas être corrigées. SEU_error_QPLL est un autre signal indiquant un SEU (Single Event Upset= basculement logique d un point mémoire induit par le passage d une particule). Il permet de détecter un SEU single errror upset dans le QPLL. Trois compteurs 8-bits sont implémentés, un pour chaque type d erreur. Les compteurs sont incrémentés à chaque détection d erreur et lorsqu ils atteignent la valeur 255, ils conservent cette valeur jusqu à ce qu un reset du compteur soit effectué. Le reset des compteurs est déclenché par le passage du bit CNT_RST du registre de contrôle à 1. Lorsque la valeur d un compteur est non nulle, alors le bit correspondant dans le registre de statut est mis à 1. Le registre de statut permet donc de savoir si une erreur s est produite depuis le dernier reset. Surveillance des compteurs TFC Les compteurs de Level 0 Event ID et de Bunch ID du TTCrx sont disponibles sur le bunch counter bus, appelé BCnt0-11 sur les schémas du control board [11]. La présence des valeurs des compteurs sur le bus est indiquée par les signaux BCntStr, EvCntLStr et EvCntHStr. Les valeurs des compteurs sont alors copiés dans les registres internes du FPGA lorsque les trois signaux BCntStr, EvCntLStr et EvCntHStr indique la présence de ces valeurs sur le bus. Ces valeurs peuvent être ensuite lues via l interface I 2 C. Cette fonctionnalité n est disponible que si le bit CNTR_MON du registre de configuration est mis à 1. Registre de statut Le registre de statut de taille 8 bits indique l état du système. Ce registre est connecté en sortie au registre externe de l esclave SPECS. (bits 24-31). La valeur du registre de statut est par conséquent disponible à la fois dans le FPGA et dans l esclave SPECS
47 Registres internes Le FPGA possède sept registres que l on peut à la fois lire et écrire pour configurer le système. Il possède de plus neuf autres registres que l on ne peut que lire pour avoir une indication sur le système. Le contenu des registres est défini ci-dessous avec plus de précisions. Les bits marqués X ne sont pas utilisés. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CTRL_REG: Registre de contrôle (ou registre de configuration) X X X INTR_EN CNTR_MON CNT_RST CLK_SEL1 CLK_SEL0 V_EN_REG0: Registre de contrôle des régulateurs de tension pour l hybride 1 X X X VDRV VHYB3 VHYB2 VHYB1 VHYB0 V_EN_REG1: Registre de contrôle des régulateurs de tension pour l hybride 2 X X X VDRV VHYB3 VHYB2 VHYB1 VHYB0 V_EN_REG2: Registre de contrôle des régulateurs de tension hybride pour l hybride 3 X X X VDRV VHYB3 VHYB2 VHYB1 VHYB0 V_EN_REG3: Registre de contrôle des régulateurs de tension pour l hybride 4 X X X VDRV VHYB3 VHYB2 VHYB1 VHYB0 V_EN_REG4: Registre de contrôle des régulateurs de tension pour l hybride 5 X X X VDRV VHYB3 VHYB2 VHYB1 VHYB0 V_EN_REG5: Registre de contrôle des régulateurs de tension pour l hybride 6 X X X VDRV VHYB3 VHYB2 VHYB1 VHYB0 Tableau 7 - Registres du FPGA pour la configuration du système (accès lecture et écriture)
48 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 STATUS_REG: Registre de statut X X X X X SEU_ERR DB_ER R SIN_ERR SEU_ERR_REG: Compteur d erreur pour le signal SEU_ERR 8-bit error counter SIN_ERR_REG: Compteur d erreur pour le signal SIN_ERR 8-bit error counter DB_ERR_REG: Compteur d erreur pour le signal DB_ERR 8-bit error counter B_ID_LOW: Partie basse du compteur Bunch-ID Bits 0-7 of Bunch-ID B_ID_HIGH: : Partie haute du compteur Bunch-ID X Bits 8-11 of Bunch-ID EV_ID_LOW: : Partie basse du compteur Level-0 Event Bits 0-7 of Event-ID EV_ID_MID: : Partie mediane du compteur Level-0 Event Bits 8-15 of Event-ID EV_ID_HIGH: : Partie haute du compteur Level-0 Event Bits of Event-ID Tableau 8 - Registres du FPGA pour la surveillance du système (accès lecture uniquement)
49 2.4.3 Architecture interne du FPGA Aperçu général du design réalisé Figure 33 - Architecture du design pour le FPGA Le design comporte globalement quatres parties majeures : les blocs I2C Signals Connection, Clock Selection, TFC Signals Connection et le bloc restant qui constitue les registres et ce qui permet de lire ou d écrire dedans. Remarque : les blocs de reset n ont pas été représentés Fonctionnalité des composants crées I2CInterface Figure 34 - Bloc I2CInterface I2CInterface divise la ligne bidirectionnelle sda en deux lignes unidirectionnelle sda_in et sda_out. Soit sda est copié sur sda_in, c est le cas pour une écriture de la mezzanine vers le FPGA, soit sda_out est copié sur sda pour une transmission du FPGA vers la mezzanine. Le signal de contrôle sda_we permet de selectionner la liaison à réaliser. Le signal scl est tout simplement copié sur scl_in. Sda_in et scl_in vont alors servir de signaux d entrée pour les autres composants du FPGA
50 SlaveRead Figure 35 - Bloc SlaveRead Ce composant lit un octet sur le bus sda_in, puis génère sur le front montant de scl_in suivant un signal d acquittement sur sda_out. L octet est alors disponible sur le bus byte_read lorsque le signal byte passe à 1. La lecture débute si une impulsion sur le signal start a lieu et le signal end_read indique la fin de la lecture de l octet et de la génération de l acquittement en passant quelques instants à 1. SlaveWrite Figure 36 - Bloc SlaveWrite Ce composant transmet en série sur la sortie sda_out l octet présent sur le bus byte, puis génère un 1 sur fin_tx pour indiquer la fin de la transmission. Les entrées sda_in et scl_out permettent de repérer l acquittement généré par le maître. L écriture débute si une impulsion sur le signal start a lieu et le signal end_write indique la fin de la l écriture de l octet et de la génération de l acquittement de la part du maître en passant quelques instant à
51 Counter8Bits Figure 37 - Bloc Counter8Bits Ce compteur 8bits s incrémente à chaque front montant d horloge. Il se bloque à la valeur Seul un reset peut le refaire passer à Trois instances de ce compteur sont utilisées pour réaliser SEU_ERR_REG, SIN_ERR_REG, DB_ERR_REG. CTRLReg8Bits, Register8Bits, Register12Bits Figure 38 - Blocs CTRLReg8Bits et Register8Bits Register8Bits est un registre synchrone actif sur un front montant d horloge. Pointer Register pointant sur l un des registres internes, V_EN_REG0, V_EN_REG1, V_EN_REG2, V_EN_REG3, V_EN_REG4, V_EN_REG5, constituent sept instances de ce composant. CTRLReg8bits se distingue de Register8Bits sur un point : le bit 2 revient immédiatement à 0 après un passage à 1. Register12Bits est aussi un registre synchrone actif sur un front montant d horloge. Il est utilisé dans le composant TFCCounters
52 StatusRegister8Bits Figure 39 - Bloc StatusRegister8Bits Le registre de statut indique si des erreurs ont été détéctées. Les bits 4 à 7 sont toujours à 0 car inutilisés. Les trois autres bits sont le resultat d une fonction AND entre tous les bits de chaque signal d erreur. Ainsi, les bits de statuts passent à 1 dès que les signaux sont différents de 0. Ce registre est asynchrone. Mux15 Figure 40 - Bloc Mux15 Multiplexeur qui sélectionne une des 15 entrées din grâce au signal sel_mux
53 ControlInterface Figure 41 - Bloc ControlInterface Ce composant est l unité de contrôle de ce design. Les sorties de ce composant à l exception de sda_out sont des signaux de commandes des autres unités. Sda_out correspond à la donnée destinée au maître, sda_out_1 ou sda_out_2. Sda_out_1 provient du composant slave_read et est utilisé pour l acquittement envers le maître. Sda_out_2 provient du composant slave_write et permet la transmission des données du FPGA vers la mezzanine. Les signaux de commandes : sel_mux15 sélectionne la donnée contenue dans l un des 15 registres à transmettre à la mezzanine. start_slave_read permet d actionner le composant slave_read. start_slave_write permet d actionner le composant slave_write. ld_pointer charge le registre pointer. ld_reg0 charge le registre CTRL_REG. ld_reg1 charge le registre V_EN_REG0. ld_ reg2 charge le registre V_EN_REG1. ld_ reg3 charge le registre V_EN_REG2. ld_ reg4 charge le registre V_EN_REG3. ld_ reg5 charge le registre V_EN_REG4. ld_ reg6 charge le registre V_EN_REG5. nresetslave1 envoie un signal de reset vers le composant slave_read
54 Figure 42 - Automate du bloc ControlInterface
55 Certains états decrits ci-dessus sont des macro-états. Voici en details leur correspondance dans le code VHDL : - Repos : q0 - Lecture de l adresse et du bit R/W : q1 - Ecriture de l acquittement : q2 q3 - Lecture du pointeur : q4 - Ecriture de l acquittement : q5 q6 - Détection de condition : q7 q8 - Ecriture de 8 bits : q21 q9 q10 - Lecture de l acquittement : q22 q23 - Incrémentation du pointeur : q24 q27 - Détection de condition : q26 q28 - Lecture de 8 bits : q11 - Ecriture de l acquittement : q12 q13 - Incrémentation du pointeur : q14 q15 - Detection de condition : q16 q18 q33 - Attente de la condition stop : q31 q32 q34 I2CSignalsConnection Figure 43 - Bloc I2CSignalsConnection Ce composant permet de copier le bus sda25 et scl25 provenant de la mezzanine sur le bus sda33 et scl33. Il a été réalisé en utilisant deux instances du composant I2CInterface. Voici un schéma interne du composant et un extrait de code en VHDL de l architecture de I2CSignalsConnection qui permettront de mieux comprendre le fonctionnement :
56 Figure 44 - Architecture interne du bloc I2CSignalsConnection process(sda3325,sda2533) begin if sda3325='0'then sda_we25<='1'; sda_we33<='0'; elsif sda2533='0' then sda_we25<='0'; sda_we33<='1'; else sda_we25<='0'; sda_we33<='0'; end if; end process; La copie de la ligne d horloge scl25 sur scl33 ne pose aucun problème car l horloge est distibuée uniquement par le maître (sda25 et scl25 se situent du côté maître tandis que sda33 et scl33 se situent du côté esclave). La connection entre sda25 et sda33 est quant à elle différente : l esclave comme le maître peut écrire sur la ligne de donnée. Lorsque le maître écrit, alors sda25 doit être copié sur sda33 et lorsque l esclave écrit, sda33 doit être copié sur sda25. Cependant, des résistances de rappel sur sda25 et sda33 tirent ces lignes vers l état haut lorsqu aucun signal n est envoyé. L écriture d un 1 ne nécessite alors aucune copie. Par conséquent, l écriture d un 0 va permettre de commander les deux composants I2CInterface. Sda3325, sda2533, sda_we33 et sda_we25 sont des signaux internes. Le code VHDL indique que lors de l écriture d un 0 sur sda33, donc sur sda3325, le bloc dont le signal de contrôle se nomme sda_we25 autorise l écriture de sda3325 sur sda. Le même procédé est effectué dans le cas d une écriture du maître vers l esclave
57 ClockSelection Figure 45 - Bloc ClockSelection Ce composant réalise la sélection d une horloge parmi les 4 possibles grâce au signal sel. L entrée sel est connectée aux bits 0 et 1 du registre de contrôle. Un multiplexeur réalise cette fonction. Remarque: il se peut qu il y ait une modification à réaliser car lors du changement d horloge, un passage à 1 de Clock25 plus court que la demi période des 4 horloges pourrait être généré et entraîner le blocage du Beetle. Ce problème pourrait être aussi résolu en effectuant un reset du Beetle après le changement d horloge. TFCSignalsSelection Figure 46 - Bloc TFCSignalsSelection Ce composant sélectionne parmi les signaux d entrées ceux à envoyer au dispositif qui se situe derrière. CLK_25, L0_RST_25, L0A_25 et TEST_PULSE_25 sont respectivement connectés à Clock25, L0_FRONTEND_RESET, L0Accept, TESTPULSE. COMPCLK_25 est quant à lui défini comme indiqué sur le schéma suivant : Figure 47 - Logique de sélection du signal COMPCLK_
58 TFCCounters Figure 48 - Bloc TFCCounters TFCCounters comporte trois registres 12 bits qui prennent en entrée tous les trois le bus BCnt[11:0]. La figure suivante permet de comprendre le fonctionnement de ce bloc. Les trois registres vont permettre de récupérer bunch_n<11 :0>, event_n<11 :0> et event_n<23 :12> contenant les valeurs des compteurs TFC. Lorsque l une des trois valeurs est disponible sur le bus BCnt<11:0> (BCntStr, EvCntLStr et EvCntHStr indiquent la présence des valeurs sur le bus), alors le registre correspondant est chargé sur le front montant de Clock40Des1. L entrée en des trois registres résulte d une fonction and entre CNTR_MON et le signal ###Str associé au registre. Ainsi, les chargements n ont lieu que si CNTR_MON = 1 (CNTR_MON est fixée par l utilisateur dans le registre de contrôle). Les données contenues dans les registres sont disponibles en sortie sous la forme d octets et non sous la forme de 12 bits afin de faciliter la communication suivant le protocole I 2 C. Figure 49 - Chronogramme indiquant la disponibilite des signaux bunch_n et event_n sur le bus BCnt
59 Reset1 Figure 50 - Bloc Reset1 Ce composant génère un signal de reset actif à l état bas lorsque l une des deux entrées passent à l état bas. Il s agit tout simplement d une fonction AND. Il sert à réaliser RESET à partir de POWER_RST et SPECS_RST, et le reset du composant SlaveRead à partir de RESET et du signal de reset envoyé par l unité de contrôle. Reset2 Figure 51 - Bloc Reset2 Ce composant génère un signal de reset actif à l état haut lorsque nreset passe à l état bas ou lorsque reset1 passe à l état haut. Il est utilisé pour réaliser le reset des trois compteurs d erreur. Deux signaux peuvent effectuer un reset sur le compteur : RESET issu de POWER_RST et SPECS_RST, et le bit 2 du registre de contrôle
60 2.4.4 Interface graphique permettant la configuration du FPGA Un sous-panneau consacré au FPGA a été intégré dans les deux panneaux décrits dans L utilisation est identique à celle des autres sous-panneaux. Figure 52 - Panneaux de configuration et de surveillance des registres du FPGA
61 3 Résultats et discussions La fonctionnalité du logiciel a été obtenue. Cependant, certains problèmes ont été rencontrés et doivent être résolus. 3.1 Ecriture à partir de la base de données Le logiciel conçu est tel que la configuration du VELO s effectue uniquement par l intermédiaire de l interface graphique créée : il faut cliquer sur un bouton pour lancer la configuration. L utilisateur aurait souhaité pouvoir effectuer une écriture dans un registre en modifiant simplement le champ writings.data d un datapoint. Cette option est possible grâce à la fonction dpconnect qui fait appel à une fonction à chaque fois que le contenu d un datapoint change. Cependant, cette solution n a pas été retenue car chaque écriture doit être suivie d une lecture pour s assurer que la valeur correcte a bien été écrite, or aucun mécanisme au niveau du matériel ne permet d envoyer la valeur d un registre dans le champ readings.data d un datapoint à chaque fois que la valeur dans le registre change. 3.2 Vitesse de lecture et d écriture Le Vertex Locator (Pile Up inclus) comporte au total 88 hybrides contenant 16 Beetles chacun. Avec 24 registres par Beetle, le nombre total de registres pour les hybrides du Vertex Locator se chiffre à L utilisateur du Vertex Locator souhaiterait pouvoir instantanément configurer le système tout entier puis surveiller les valeurs régulièrement. Cependant, une mesure effectuée à l oscilloscope relève un intervalle de 125 ms entre deux appels de fonctions PVSS. Les fonctions PVSS n étant pas adaptées au Beetle, la seule écriture d un registre 8 bits d un Beetle nécessite deux appels de fonctions. (Tout d abord l écriture sur le bus de données de la sous-adresse du registre puis enfin l écriture de la valeur). Actuellement, la configuration de tous les registres d un Beetle avec une lecture en retour requiert 21 appels de fonctions. Par conséquent, la configuration d un Beetle est réalisée en 2625 ms, ce qui représente une heure de configuration pour tous les hybrides. Le problème semble provenir de l implémentation des fonctions PVSS à partir des fonctions C. L implémentation des fonctions PVSS est telle qu un acquittement est attendu avant la fin de l execution de la fonction. La solution qui semble donc résoudre ce problème consiste à ne plus attendre l acquittement pour pouvoir tout de suite passer à la fonction suivante. Afin d optimiser le logiciel et de gagner du temps si l amélioration précédente n est pas complètement efficace, voici quelques propositions de modifications : Dans les deux panneaux de configuration est de surveillance, un script est exécuté périodiquement pour indiquer si un serveur SPECS est reconnu par le client en affichant dans le champ au bas du panneau «Waiting for a SPECS client» ou «SPECS client is running». Afin d optimiser le temps d exécution des scripts de configuration, il est possible de supprimer le script précédent qui correspond à l action EventIntialize des deux panneaux
62 Essayer d implémenter une fonction PVSS spécifique au Beetle qui puisse configurer un Beetle entier d un seul coup. L implementation de cette fontion serait alors à réaliser dans le serveur SPECS. Actuellement, l écriture des registres 20,21 et 22, de taille 1024 et 128 bits est réalisée en envoyant des trames successives contenant 16 octets de données seulement. Cette restriction provient du protocole SPECS qui possède actuellement une limite dans le nombre de données qui sont transmises sur le bus SPECS. Prochainement, il sera possible d envoyer un nombre illimité de données et par conséquent l écriture de l un des trois registres précédents pourra s effectuer d un seul coup. 3.3 Problème de mémoire PVSS est un logiciel qui nécéssite une mémoire très importante lorsque la base de données est grande. Au final, trois ordinateurs comporteront une carte SPECS maître chacun. Chacun des ordinateurs sera consacré à une partie du système, autrement dit un ordinateur pour la demi-partie droite du VELO, un ordinateur pour la demie-partie gauche du VELO, et un ordinateur pour le Pile Up. La base de données pourra donc être répartie entre les trois machines. Actuellement, un ordinateur de 512 MegaOctets de mémoire ne permet pas la création de 7 control boards dans la base de données. Le problème peut être résolu de trois manières : Ajouter jusqu à 2 GigaOctets de mémoire sur chaque ordinateur. Si la proposition précédente ne fonctionne pas, alors il faudra éventuellement tester la séparation de l ensemble des datapoints correspondant à une des trois parties du système sur deux ordinateurs connectés au même ordinateur comportant la carte maître SPECS. Le dernier recours consiste à modifier la structure de la modélisation du sytème. L arbre défini actuellement possède des champs redondants et qui peuvent être factorisés. Par exemple le type de datapoint SpecsSpecificBeetle comporte le champ masterid qui concrétement est spécifique à la carte SPECS maître. Sachant qu une seule carte SPECS maître est utilisée pour les 7 control boards de la partie droite du VELO par exemple, il serait préférable de placer ce champ dans un type de niveau plus haut, le control board par exemple, afin de réduire le nombre de feuilles de l arbre. Une instance de VELOControlBoard contient champs. En factorisant au maximum, cette instance peut posséder un nombre de champs réduit à Cependant, il est préférable de n utiliser cette solution qu en dernier recours car les types de base ont été défini dans le but de n utiliser que les fonctions qui manipulent les datapoint créés par l utilisateur et dans le but d avoir une implémentation générique des fonctions PVSS. Aussi, modifier la base de données implique une modification du code. 3.4 Problème d attribution de pins Certaines pins du FPGA n ont pas réussi à être attribuées tel que le concepteur du control board les a défini car certains signaux doivent utiliser les réseaux globaux du FPGA pour favoriser la synchronisation
63 Conclusion Une premiere version du logiciel de configuration et de surveillance du Vertex Locator est donc à présent disponible. Les configurations du Beetle, du DCU, et du Delay25 ont été validées. Le microprogramme implanté dans le FPGA est actuellement en cours de test, ainsi que l accès au TTCrq qui utilise le bus I 2 C en 3.3V à la sortie du FPGA. De même, la lecture d une tension provenant de l un des régulateurs de tension et la bonne distribution des signaux de synchronisation seront prochainement vérifiées. Cependant, malgré la fonctionnalité fournie par ce logiciel, une contrainte de temps de configuration subsiste. Afin d optimiser le logiciel, une collaboration étroite avec les concepteurs du serveur DIM sera nécessaire car ces derniers doivent connaître précisemment les besoins du Vertex Locator pour implémenter de nouvelles fonctions PVSS ou même modifier le serveur DIM. D autre part, des fonctionnalités supplémentaires comme une demande d interruption de la part du FPGA pourront être dévellopées dans le micro-programme. Côté PVSS, le minimum de fonctionnalités ayant été réalisées pour le fonctionnement du Vertex Locator, il sera possible d agrémenter l interface graphique en y ajoutant des options comme la signalisation par des alarmes de tensions trop grandes à la sortie des régulateurs. Aussi, un aménagement dans l interface graphique permettant la configuration du système à partir d une base de données externe est à prévoir. Par conséquent, les quelques mois précédant les premiers tests du Vertex Locator offriront l occasion de modifier cette première version du logiciel en une version optimisée pour le système final
64 Références [1] LHCb Reoptimized detector design and performance, Technical Design Report 9 [2] LHCb VELO, Technical Design Report 5 [3] LHCB Online system, Technical Design Report 7 [4] [5] Control and Monitoring of the VELO and Pile-Up Level 0 Electronics, L. Eklund, EDMS [6] TTCrx Reference Manual, J. Christiansen and A. Marchioro, [7] Delay25, H. Correia, A. Marchioro, P. Moreira and J.Schrader [8] DCUF User Guide, G. Magazzu, A. Marchioro and P. Moreira [9] Mezzanine Croquette design files, D.Charlet [10] The Beetle Reference Manual, N van Bakel and al. [11] Control Board design files, A. Denker and L. Eklund, EDMS [12] Analog Multiplexer Datasheet [13] SPECS: a Serial Protocol for the Experiment Control System of LHCb, D. Breton and D. Charlet [14]
65 - 64 -
Fig. 1 Le détecteur de LHCb. En bas à gauche : schématiquement ; En bas à droite: «Event Display» développé au LAL.
LHCb est l'une des expériences installées sur le LHC. Elle recherche la physique au-delà du Modèle standard en étudiant les mésons Beaux et Charmés. L accent est mis entre autres sur l étude de la violation
Le multiplexage. Sommaire
Sommaire Table des matières 1- GENERALITES... 2 1-1 Introduction... 2 1-2 Multiplexage... 4 1-3 Transmission numérique... 5 2- LA NUMERATION HEXADECIMALE Base 16... 8 3- ARCHITECTURE ET PROTOCOLE DES RESEAUX...
Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30
Plan du Travail Chapitre 1: Internet et le Web : Définitions et historique Chapitre 2: Principes d Internet Chapitre 3 : Principaux services d Internet Chapitre 4 : Introduction au langage HTML 2014/2015
Carte Relais GSM (Manuel Utilisateur)
Carte Relais GSM (Manuel Utilisateur) Carte Relais GSM Introduction Cette carte est une véritable centrale de télécommande et d alarme par GSM. Elle se connecte par un port série à un modem GSM compatible
VIII- Circuits séquentiels. Mémoires
1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment
IV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
Les liaisons SPI et I2C
DAMÉCOURT BENJAMIN AVRIL 28 Liaisons synchrones Les liaisons SPI et I2C Face arrière d un imac : trois ports USB, un port Firewire 4 et un port Firewire 8 CHRONOLOGIE ANNÉES 7 La liaison SPI et la création
SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :
SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION Contenu du dossier : 1. PRESENTATION DU SYSTEME DE PALPAGE A TRANSMISSION RADIO....1 1.1. DESCRIPTION DU FABRICANT....1
Transmissions série et parallèle
1. Introduction : Un signal numérique transmet généralement plusieurs digits binaires. Exemple : 01000001 ( huit bits). Dans une transmission numérique on peut envisager deux modes : les envoyer tous en
1) Où est le problème? Chère lectrice, cher lecteur, On est entre nous, alors on va se tutoyer.
QUAND LE MAITRE ET SES ESCLAVES PRENNENT LE BUS... OU INITIATION AU PROTOCOLE I²C Chère lectrice, cher lecteur, On est entre nous, alors on va se tutoyer. L objet de ce document est de te faire comprendre
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
Cisco Certified Network Associate
Cisco Certified Network Associate Version 4 Notions de base sur les réseaux Chapitre 3 01 Quel protocole de la couche application sert couramment à prendre en charge les transferts de fichiers entre un
TD 1 - Transmission en bande de passe
Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX [email protected] Claude Duvallet 1/10 Transmission en bande de passe (1/2) Description
Visualisation de la base de données de configuration de l expérience LHCb
Institut Supérieur d Informatique, de Modélisation et de leurs Applications. Complexe des Cezeaux BP125 63173 Aubière CEDEX European Organisation for Nuclear Research CH-1211 GENEVE 23 Suisse Rapport de
Grid Technology. ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Technology Group Information Technology Department
DB GT CF Grid ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Group Information Department Journée de la communauté FUSE, Paris, 2010 CERN IT Department CH-1211 Geneva 23 Switzerland
Leçon 1 : Les principaux composants d un ordinateur
Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques
Cours CCNA 1. Exercices
Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.
Université de La Rochelle. Réseaux TD n 6
Réseaux TD n 6 Rappels : Théorème de Nyquist (ligne non bruitée) : Dmax = 2H log 2 V Théorème de Shannon (ligne bruitée) : C = H log 2 (1+ S/B) Relation entre débit binaire et rapidité de modulation :
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)
NanoSense 123 rue de Bellevue, 92100 Boulogne Billancourt France Tél : 33-(0) 1 41 41 00 02, fax : 33-(0) 1 41 41 06 72 Protocole Modbus de la sonde Particules P4000 (Version 01F) Ver V01A V01B V01C V01D
Ordinateurs, Structure et Applications
Ordinateurs, Structure et Applications Cours 19, Le USB Etienne Tremblay Université Laval, Hiver 2012 Cours 19, p.1 USB signifie Universal Serial Bus USB Le USB a été conçu afin de remplacer le port série
Ce que vous devez savoir au sujet de la transition de la télévision analogique à la télévision numérique au Canada
TEMPORIBUD AUTEM QUINSUD ET AUR Le bureau de la consommation du Canada Ce que vous devez savoir au sujet de la transition de la télévision analogique à la télévision numérique au Canada LA TRANSITION QUE
Cours n 12. Technologies WAN 2nd partie
Cours n 12 Technologies WAN 2nd partie 1 Sommaire Aperçu des technologies WAN Technologies WAN Conception d un WAN 2 Lignes Louées Lorsque des connexions dédiées permanentes sont nécessaires, des lignes
Windows Internet Name Service (WINS)
Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2
L3 informatique Réseaux : Configuration d une interface réseau
L3 informatique Réseaux : Configuration d une interface réseau Sovanna Tan Septembre 2009 Révision septembre 2012 1/23 Sovanna Tan Configuration d une interface réseau Plan 1 Introduction aux réseaux 2
Fiche technique CPU 314SC/DPM (314-6CG13)
Fiche technique CPU 314SC/DPM (3146CG13) Données techniques N de commande 3146CG13 Type CPU 314SC/DPM Information générale Note Caractéristiques SPEEDBus Technologie SPEED7 24 x DI, 16 x DO, 8 x DIO, 4
Measurements of B Meson Lifetime Ratios with the LHCb Detector
Measurements of B Meson Lifetime Ratios with the LHCb Detector THÈSE N O 5280 (2012) PRÉSENTÉE le 30 mars 2012 À LA FACULTÉ DES SCIENCES DE BASE LABORATOIRE DE PHYSIQUE DES HAUTES ÉNERGIES PROGRAMME DOCTORAL
QUESTION 1 {2 points}
ELE4301 Systèmes logiques II Page 1 de 8 QUESTION 1 {2 points} En se servant de paramètres électriques donnés dans le Tableau 1 ci-dessous, on désire déterminer la fréquence d opération du compteur présenté
Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt
Client sur un domaine stage personnes ressources réseau en établissement janvier 2004 Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041
Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2
ERM AUTOMATISMES INDUSTRIELS 280 Rue Edouard Daladier 84973 CARPENTRAS Cedex Tél : 04 90 60 05 68 - Fax : 04 90 60 66 26 Site : http://www.erm-automatismes.com/ E-Mail : [email protected] 1
Conception et Intégration de Systèmes Critiques
Conception et Intégration de Systèmes Critiques 15 12 18 Non 50 et S initier aux méthodes le développement de projet (plan de développement, intégration, gestion de configuration, agilité) Criticité temporelle
Cours Informatique 1. Monsieur SADOUNI Salheddine
Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale
- MANIP 2 - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE
- MANIP 2 - - COÏNCIDENCES ET MESURES DE TEMPS - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE L objectif de cette manipulation est d effectuer une mesure de la vitesse de la lumière sur une «base
Chapitre 13 Numérisation de l information
DERNIÈRE IMPRESSION LE 2 septembre 2013 à 17:33 Chapitre 13 Numérisation de l information Table des matières 1 Transmission des informations 2 2 La numérisation 2 2.1 L échantillonage..............................
TAGREROUT Seyf Allah TMRIM
TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation
TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP
Vue d ensemble du basculement DHCP Dans Windows Server 2008 R2, il existe deux options à haute disponibilité dans le cadre du déploiement du serveur DHCP. Chacune de ces options est liée à certains défis.
NFC Near Field Communication
NFC Near Field Communication 19/11/2012 Aurèle Lenfant NFC - Near Field Communication 1 Sommaire! Introduction! Fonctionnement! Normes! Codage! Intérêts! Usages! Sécurité NFC - Near Field Communication
Modules d automatismes simples
Modules d automatismes simples Solutions pour automatiser Modules d'automatismes Enfin, vraiment simple! Un concentré de solution Pour vos petites applications d'automatismes millenium gère : Temporisations
Bases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Chapitre 18 : Transmettre et stocker de l information
Chapitre 18 : Transmettre et stocker de l information Connaissances et compétences : - Identifier les éléments d une chaîne de transmission d informations. - Recueillir et exploiter des informations concernant
opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0
opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0 SOMMAIRE SOMMAIRE 1- INTRODUCTION... 4 1.1 Standard Automatique...4 1.2 Messagerie
TASCAM MX-2424. Utilisation du SCSI
TASCAM MX-2424 Utilisation du SCSI 1. TERMINOLOGIE SCSI...3 2. CABLES ET BOUCHONS SCSI...4 3. BOITIERS SCSI EXTERNES...4 4. PERIPHERIQUES SUPPORTES...5 4.1 Disques durs SCSI...5 4.2 Lecteurs de sauvegarde
Tutorial Terminal Server sous
Tutorial Terminal Server sous réalisé par Olivier BOHER Adresse @mail : [email protected] Site Internet : http://xenon33.free.fr/ Tutorial version 1a Page 1 sur 1 Index 1. Installation des services Terminal
UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP
Université de Strasbourg Licence Pro ARS UFR de Mathématiques et Informatique Année 2009/2010 1 Adressage IP 1.1 Limites du nombre d adresses IP 1.1.1 Adresses de réseaux valides Réseaux Locaux TP 04 :
Structure fonctionnelle d un SGBD
Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert
Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases
Master d'informatique 1ère année Réseaux et protocoles Architecture : les bases Bureau S3-203 Mailto : [email protected] D'après un cours de Jean Saquet Réseaux physiques LAN : Local Area Network
Les Réseaux Informatiques
Les Réseaux Informatiques Licence Informatique, filière SMI Université Mohammed-V Agdal Faculté des Sciences Rabat, Département Informatique Avenue Ibn Batouta, B.P. 1014 Rabat Professeur Enseignement
Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:
Travaux Pratiques 3. IFT 1002/IFT 1005. Structure Interne des Ordinateurs. Département d'informatique et de génie logiciel. Université Laval. Hiver 2012. Prof : Bui Minh Duc. Tous les exercices sont indépendants.
Alcatel OmniPCX Office
Alcatel OmniPCX Office Livre blanc Alcatel PIMphony dynamise la gestion de la relation client des PME Livre blanc, Alcatel PIMphony dynamise les solutions CRM des PME Alcatel 2004 page 1 Alcatel OmniPCX
Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication
Chapitre VII : Principes des réseaux Structure des réseaux Types de réseaux La communication Les protocoles de communication Introduction Un système réparti est une collection de processeurs (ou machines)
xdsl Digital Suscriber Line «Utiliser la totalité de la bande passante du cuivre»
xdsl Digital Suscriber Line «Utiliser la totalité de la bande passante du cuivre» Le marché en France ~ 9 millions d abonnés fin 2005 ~ 6 millions fin 2004 dont la moitié chez l opérateur historique et
Prise en main. Prise en main - 0
Prise en main 0404 Prise en main - 0 1- Introduction Creative Professional Merci d avoir choisi le Digital Audio System 0404 d E-MU. Nous avons conçu ce produit E-MU pour qu il soit logique, intuitif et
Mini_guide_Isis.pdf le 23/09/2001 Page 1/14
1 Démarrer...2 1.1 L écran Isis...2 1.2 La boite à outils...2 1.2.1 Mode principal...3 1.2.2 Mode gadgets...3 1.2.3 Mode graphique...3 2 Quelques actions...4 2.1 Ouvrir un document existant...4 2.2 Sélectionner
CENTRALE TELESURVEILLANCE VIA INTERNET WEB
CENTRALE TELESURVEILLANCE VIA INTERNET WEB Votre colis standard de base contient : Centrale de mesure Une sonde de température avec câble 1 M longueur (Tête ronde enrobée) Adaptateur alimentation 220 V
Chapitre 2 : communications numériques.
Chapitre 2 : communications numériques. 1) généralités sur les communications numériques. A) production d'un signal numérique : transformation d'un signal analogique en une suite d'éléments binaires notés
2. Couche physique (Couche 1 OSI et TCP/IP)
2. Couche physique (Couche 1 OSI et TCP/IP) 2.1 Introduction 2.2 Signal 2.3 Support de transmission 2.4 Adaptation du signal aux supports de transmission 2.5 Accès WAN 2.1 Introduction Introduction Rôle
UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd
UE 503 L3 MIAGE Initiation Réseau et Programmation Web La couche physique A. Belaïd [email protected] http://www.loria.fr/~abelaid/ Année Universitaire 2011/2012 2 Le Modèle OSI La couche physique ou le
UltraBackup NetStation 4. Guide de démarrage rapide
UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...
Un ordinateur, c est quoi?
B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits
INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE
I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES
MATRICE DES FONCTIONNALITES
Facilité d utilisation Nouveau! Convivialité d Outlook Nouveau! Smart Technician Client Assistant Installation Configuration instantanée et personnalisable Nouveau! Installation à distance de Technician
- FICHE DE PROCEDURE - Configurer un serveur DNS avec Bind9 sur Debian
- FICHE DE PROCEDURE - Configurer un serveur DNS avec Bind9 sur Debian SISR3 N 1 Pré requis : Debian installé. Avoir une IP fixe pour le serveur DNS. Disposer d une connexion à l Internet. Création d un
epowerswitch 4M+ Fiche technique
Fiche technique L est l unité de distribution d alimentation (Power Distribution Unit) la plus demandée de la famille de produits Neol epowerswitch. Une conception compacte, le serveur web intégré et son
Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)
Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02) Ne rien livrer au hasard, c est économiser du travail Pont Sainte Maxence(O C est quoi USB? Comment ça marche? Les standards? La technique en détail
DM 1 : Montre Autoquartz ETA
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
Evolution de l infrastructure transport
Les réseaux optiques I Les réseaux optiques Jean-Paul GAUTIER, [email protected] CNRS / UREC Une des grandes tendances de la fin des années 90 est la demande croissante en bande passante des réseaux d entreprises
KIT SOLAIRE EVOLUTIF DE BASE
PARALLELE ENERGIE KIT SOLAIRE EVOLUTIF DE BASE Ce kit solaire est un système solaire facile à utiliser. Il s agit d un «générateur solaire» qui convertit la lumière du soleil en électricité, et qui peut
Guide d installation de MEGA Desktop Application MEGA 2009 SP4
Révisé le : September 3, 2010 Créé le : March 31, 2010 Auteur : Jérôme Horber TABLE DES MATIERES Résumé Ce document décrit les procédures et paramétrages techniques nécessaires à l installation, la mise
Master d'informatique 1ère année Réseaux et protocoles. Couche physique
Master d'informatique 1ère année Réseaux et protocoles Couche physique Bureau S3-354 Mailto:[email protected] http://saquet.users.greyc.fr/m1/rezopro Supports de communication Quelques exemples :
NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame
www.nicelabel.fr [email protected] NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame White Paper Version 20051114-06-FR 2005 Euro Plus. Tous droits réservés. http://www.nicelabel.fr
Transmission de données. A) Principaux éléments intervenant dans la transmission
Page 1 / 7 A) Principaux éléments intervenant dans la transmission A.1 Equipement voisins Ordinateur ou terminal Ordinateur ou terminal Canal de transmission ETTD ETTD ETTD : Equipement Terminal de Traitement
Conception de circuits numériques et architecture des ordinateurs
Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot et Sébastien Viardot Année universitaire 2011-2012 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 Codage des
Éléments d'architecture des ordinateurs
Chapitre 1 Éléments d'architecture des ordinateurs Machines take me by surprise with great frequency. Alan Turing 1.1 Le Hardware Avant d'attaquer la programmation, il est bon d'avoir quelques connaissances
Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Système d alarme sans fil GSM / SMS / RFID. www.camshop.fr
Système d alarme sans fil GSM / SMS / RFID Caractéristiques Panneau de contrôle Reconnait jusqu à 10 télécommandes Peut être connectée jusqu à 50 capteurs sans fil (contacts porte / fenêtre, radars ) Peut
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
T101, serveur de temps haute précision
T101, serveur de temps haute précision T101Compact Serveur de temps NTP/SNTP, horloge GPS de strate 1, avec PoE, et fonctions d entrées/sorties d échantillonnage et de synchronisation. T101Rack 1 Bd d
Projet : PcAnywhere et Le contrôle à distance.
Projet : PcAnywhere et Le contrôle à distance. PAGE : 1 SOMMAIRE I)Introduction 3 II) Qu'est ce que le contrôle distant? 4 A.Définition... 4 B. Caractéristiques.4 III) A quoi sert le contrôle distant?.5
LOGICIEL KIPICAM : Manuel d installation et d utilisation
2015 LOGICIEL KIPICAM : Manuel d installation et d utilisation Kipisoft http://w.sanchez.free.fr/product_home_overview.php 16/05/2015 SOMMAIRE 1. Présentation de l'application... 3 2. Installation de l'application...
18 TCP Les protocoles de domaines d applications
18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles
Activer la connectivité des systèmes de stockage 3PAR
Activer la connectivité des systèmes de stockage 3PAR Suivi à distance (Call Home) : Périodiquement, le processeur de service (SP) transmet à 3PAR Central des informations de diagnostic sur le système
Réseaux grande distance
Chapitre 5 Réseaux grande distance 5.1 Définition Les réseaux à grande distance (WAN) reposent sur une infrastructure très étendue, nécessitant des investissements très lourds. Contrairement aux réseaux
GPA770 Microélectronique appliquée Exercices série A
GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément
Thunderbird est facilement téléchargeable depuis le site officiel
0BThunderbird : une messagerie de bureau simple et gratuite! Thunderbird est un logiciel de messagerie résident dans votre système, spécialisé dans la gestion des courriers électroniques. Thunderbird n
Premiers Pas avec OneNote 2013
Premiers Pas avec OneNote 2 Présentation de OneNote 3 Ouverture du logiciel OneNote 4 Sous Windows 8 4 Sous Windows 7 4 Création de l espace de travail OneNote 5 Introduction 5 Présentation des différentes
I. TRANSMISSION DE DONNEES
TD I. TRANSMISSION DE DONNEES 1. QU'EST-CE QU'UN CANAL DE TRANSMISSION? 1.1 Rappels Une ligne de transmission est une liaison entre les deux machines. On désigne généralement par le terme émetteur la machine
Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5
Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur
Métriques de performance pour les algorithmes et programmes parallèles
Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and
Efficace et ciblée : La surveillance des signaux de télévision numérique (2)
Efficace et ciblée : La surveillance des signaux de télévision numérique (2) La première partie de cet article publié dans le numéro 192 décrit la méthode utilisée pour déterminer les points de surveillance
LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION
LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION ) Caractéristiques techniques des supports. L infrastructure d un réseau, la qualité de service offerte,
MODULES ÉLECTRIQUES. - systèmes électriques DC - onduleurs - convertisseurs - interrupteurs statiques. Notre alimentation Votre confiance
MODULES ÉLECTRIQUES - systèmes électriques DC - onduleurs - convertisseurs - interrupteurs statiques Notre alimentation Votre confiance Système Power 1UDC+ Jusqu à 38 redresseurs et un contrôleur, 1266A
NOTIONS DE RESEAUX INFORMATIQUES
NOTIONS DE RESEAUX INFORMATIQUES GENERALITES Définition d'un réseau Un réseau informatique est un ensemble d'équipements reliés entre eux afin de partager des données, des ressources et d'échanger des
Alcatel OmniPCX Enterprise TSC-IP V1 (4098RE)
Alcatel OmniPCX Enterprise TSC-IP V1 (4098RE) NOTE : Les spécifications Produit contenues dans ce document peuvent évoluer sans information préalable. Les produits et services décrits dans ce document
Caractéristiques des ondes
Caractéristiques des ondes Chapitre Activités 1 Ondes progressives à une dimension (p 38) A Analyse qualitative d une onde b Fin de la Début de la 1 L onde est progressive puisque la perturbation se déplace
ALERT NOTICE D UTILISATION DU DRIVER PC-TEXTE
1) Installation ALERT NOTICE D UTILISATION DU DRIVER PC-TEXTE A) Installation du driver PC-TEXTE Lors de l installation du logiciel ALERT, le gestionnaire de communication «PC-TEXTE» doit être sélectionné
ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10
Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10 Manuel d utilisation ProCod TWK France 13-15, avenue de Stalingrad 93170 BAGNOLET T. 01 43 62 00 05 F. 01 43 63
Network musical jammin
Network musical jammin Projet PC2R - 2015 Pour ce projet, nous allons réaliser une application permettant d effectuer des jams sessions en temps-réel entre des musiciens répartis à travers le monde. Le
TD 9 Problème à deux corps
PH1ME2-C Université Paris 7 - Denis Diderot 2012-2013 TD 9 Problème à deux corps 1. Systèmes de deux particules : centre de masse et particule relative. Application à l étude des étoiles doubles Une étoile
