1 / 28

Shu ZHANG Groupe Electronique de Contrôle et Acquisition Synchrotron SOLEIL

Evaluation d’un cœur IP TDC de l’open hardware à l’aide d’un microprocesseur LM32 sur une plateforme Xilinx SP605. Shu ZHANG Groupe Electronique de Contrôle et Acquisition Synchrotron SOLEIL. Plan. 1. Besoin à soleil 2. Cœur IP TDC pour répondre au besoin

melia
Download Presentation

Shu ZHANG Groupe Electronique de Contrôle et Acquisition Synchrotron SOLEIL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Evaluation d’un cœur IP TDC de l’open hardware à l’aide d’un microprocesseur LM32 sur une plateforme Xilinx SP605 Shu ZHANG Groupe Electronique de Contrôle et Acquisition Synchrotron SOLEIL

  2. Plan • 1.Besoin à soleil • 2. Cœur IP TDC pour répondre au besoin • 3. Intégration dans notre environnement de contrôle • 3.1 Intégration sur une plateforme d’évaluation • 3.2 Connexion au système de contrôle • 4. Conclusion

  3. Les lignes de lumière à SOLEIL : 1. Besoin à SOLEIL 43 lignes de lumière possibles: 26 lignes sont ouvertes ou en commissioning 3 sont en construction

  4. 1. Besoin à SOLEIL Architecture de contrôle et acquisition des données : TDC DéveloppementsSOLEIL électroniques industrielles

  5. Analyse des solutions TDC : 1. Besoin à SOLEIL • TDC du commerce • Cout très élevé • Peu de flexibilité • FPGA IP CORE • Bonne alternative par rapport aux points précédents • IP déjà disponible et développé par le CERN sur Spartan-6 dans le cadre de l’OHWR(Open HardWareRepository)

  6. l’Open Hardware : 2. Cœur IP TDC pour répondre au besoin • Une définition • Inspiré de l’open source logicielle • Vise à assurer la liberté d'étudier, de modifier, de distribuer des développements électroniques • Fabriquer et vendre librement les produits ainsi conçus sur ce modèle. • Un site: www.ohwr.org • Un site web collaborative pour les développeurs • Accès complet en lecture • Plateforme basée sur des outils open source ChiliProject, SVN/GIT, Sympa mailing list manager

  7. 2. Cœur IP TDC pour répondre au besoin LatticeSemiconductor Corporation Milkymist SoC Spartan-6 FPGA Design architecture Interpréteur ligne de commande pour communication avec l’UART CPU LM32 Maîtres WISHBONE Arbitrage du bus partagé WISHBONE bus BRAM CSRBridge  TDC SRAM Esclaves WISHBONE CSR (Control Status Registre) bus UART GPIO Timer0 Timer1 Esclaves CSR Bridge UART USB PC Architecture globale du projet de démonstration : Le SoC (system on chip) fait appel à un cœur LM32 microprocesseur et un cœur bus de communication wishbone tous deux open source

  8. Principe de mesure utilisé : 2. Cœur IP TDC pour répondre au besoin t1 = N1*Tclk – T1 t2 = N2*Tclk – T2 Architecture du cœur TDC t0 : TDC armé t1 t2 Tclk N1 : Mesure grossière de t1 N2 : Mesure grossière de t2 Signal d’entrée Bin N-1 Bin 3 Bin 2 Bin 1 Bin 0 T1 : Mesure fine de t1 T2 : Mesure fine de t2 Horloge Système N-1 4 3 2 1 0 Architecture de la ligne à retard TDC CORE • Mesure grossière • Partie entière du résultat (nb. de périodes de l’horloge système) • Partagée • Mesure fine • Partie fraction du résultat (fraction de période de l’horloge système) • Pour chaque canal

  9. 3. Intégration dans l’environnement de contrôle • 3.1 Intégration sur une plateforme d’évaluation HyperTerminal Digital Delay Generator T560 Carte d’évaluation Xilinx SP605 CH1 CH0 USB communication Programmation Xilinx ISE Design Suite 13.2 PC iMPACT Horloge master (LVDS) Signal à analyser Digital Phosphor Oscilloscope Tektronix DPO 7254 ArbitraryWaveformGenerator Tektronix AWG5004B

  10. Performances obtenues : • 3. Intégration dans l’environnement de contrôle • 3.1 Intégration sur une plateforme d’évaluation • Etude comparative :

  11. 3. Intégration dans l’environnement de contrôle • 3.2 Connexion au système de contrôle Spartan-6 FPGA Design architecture Maitre WISHBONE CPU LM32 Arbitrage du bus partagé WISHBONE bus BRAM  CSR Bridge  TDC SRAM Esclaves WISHBONE CSR bus TDC UART GPIO Timer0 Timer1 Esclaves CSR Bridge UART USB Ethernet PHY

  12. 3. Intégration dans l’environnement de contrôle • 3.2 Connexion au système de contrôle • Portage du projet « IPBus » de l’OHWR • C’est un cœur IP FPGA qui contrôle un bus via Ethernet; il existe un design de référence pour la carte FPGA XilinxSP605 • Protocoles supportés : ARP, ICMP, UDP/IP • Installation • Corrections des bugs (au niveau des gestionnaire ICMP et UDP) • Adaptation

  13. PHY PHY • 3. Intégration dans l’environnement de contrôle • 3.2 Connexion au système de contrôle Bridge Ethernet Slaves Delay Regver RegGPIO Ram Counter Oob_test Delay MAC(LogiCORE™ IP Xilinx) MAC CtrEth Ipbus_arbiter Transactor Transactor_sm Ipbus_ctrl Protocol_ARP Tx packet buffer Rx packet buffer Protocol_ICMP Protocol_UDP udpshim Protocol_ARP Txpacket buffer Rx packet buffer Protocol_ICMP Protocol_UDP Transactor_rx Transactor_tx CSR bus Architecture du module Ethernet sur FPGA Packet_handle Packet_handle Bus_arb Architecture de la démo du projet « IPBus » Architecture du module Ethernet adapté

  14. 3. Intégration dans l’environnement de contrôle • 3.2 Connexion au système de contrôle • Test Communication Ethernet UDP à l’aide de « UDP Test Tool »

  15. Activités suivantes : 4. Conclusion • Adaptation au besoin d’utilisateur • Firmware • Nb. de canaux, mode de mesures (single start single stop…), modes d’acquisitions (single shot, multi shot, continuous), mécanisme de buffer circulaire etc… • UDP • Envoi sans la réception de commande • Check et traitement des erreurs • Optionnel : TCP/IP • Création du protocole • API de communication bas niveau • Interfaçage et tests avec Dserver Tango bas niveau • Spécifications et développement du Dserver« TDC » • Tests avec Détecteur • Tests avec une horloge précise et embarquée • Packaging de carte d’évaluation (boitier, connecteurs embases de façade, éventuellement dissipateurs)

  16. Questions?

  17. Annexe

  18. Advantages in open environment The Open Hardware Repository is a place on the web for electronics designers to collaborate on open hardware designs, much in the philosophy of the free software movement. There are numerous advantages to working in a completely open environment: Peer review. If you are a designer in a somewhat small team, or even alone, you can get very useful feedback from others by exposing your ideas in an open space. Chances are somebody has similar interests to yours and more experience. Design reuse. The OHR has its origins (and initial scope) in the community of electronics designers working in experimental physics laboratories. One of its goals is to reduce the number of different teams working independently to solve the same problems, in order to make better systems with less time and effort. Better collaboration with industry. The current business model for most commercial design companies is to keep the details of design secret. While this might maximize the margins of some companies it has no advantage for the customers. We believe that a business model based on companies designing in the OHR and getting paid for it is perfectly feasible, and would result in better products and the possibility for the customer to improve them and debug them more effectively. Last but not least, designing in an open environment is definitely more fun than doing it in isolation, and we firmly believe that having fun results in better hardware.

  19. CERN Open Hardware License

  20. CERN Open Hardware License

  21. Architecture du µP LM32 • CPU : lm32 (LatticeMico32) • RISC CPU • 32 bits (data & instructions) • 32 registres générales • 32 interruptions maximum • I/D caches optionnels • Double wishbone interfaces de mémoire (I & D)

  22. Choix de la plateforme d’évaluation • Ce cœur a été implémenté et testé par S. Bourdeauducq sur la carte SPEC (carte mère PCIe) équipée d’une carte fille FMC (FPGA Mezzanine Carrier: standard VITA 57) DIO 5-channel (carte fille). Ces cartes étant également issus de projets de l’OHWR. • Carte SPEC : • FPGA Spartan-6 (XC6SLX45T-FGG484-3) • Synthétiseur d’horloge de précision (CDCM61004RHBT, +/-10ppm) • Port USB (Virtual COM Port (VCP) driver : communication série via une interface type HyperTerminal) • Un capteur 1-wire placé sur la carte SPEC pour mesurer la température du FPGA (DS18B20U: Programmable Resolution 1-Wire Digital Thermometer ) • Filtre d’alimentation sur le 3,3V pour les oscillateurs et le synthétiseur d’horloge • La FMC DIO dispose 5 canaux TTL bidirectionnels (connecteurs LEMO). Elle à pour fonction de réaliser une passerelle entre le format TTL et les formats compatibles FPGA (LVDS, LVCMOS)

  23. Choix de la plateforme d’évaluation Cartes candidatsFPGA Spartan-6 Source d’horloge limitée Pas d’IO électrique SPEC FMC DIO 5CH Pas de port Ethernet Atlys • Source d’horloge externe possible (SMA) • Port Ethernet • Connecteurs SMA (IO) & FMC • Horloge précise non dispo sur la carte • Pas d’alim isolée pour l’horloge • Pas de capteur de température Sélectionnée SP605

  24. Intégration sur une plateforme d’évaluation • Installation de l’environnement • OS et logiciels • Linux Ubuntu-vbox 2.6.38 (ubuntu 11.04) • ToolChain lm32, ToolChain GNU etc. • Windows • Xilinx ISE 13.2, Python 2.7, HyperTerminal etc. • Programmation du µP • Modification pour minimiser le temps mort • Rajout la fonction de la mesure différentielle • Optionnel : • Rajout d’un périphérique Ethernet • Transformation du µcode à porter du protocole de communication de type ligne de commande UART sur Ethernet

  25. .a, .o .bit Préparation des fichiers .ngc .bin .c, .h, makefile ToolChain GNU, lm32 Compilations des sources software ToolChain lm32 Génération des fichiers binaires exécutables .vhd, .v Xilinx ISE 13.2 Synthèse .ucf  Xilinx ISE 13.2 Implémentation du design Xilinx ISE 13.2 (iMPACT) Programmation FPGA Mise en œuvre du projet sur la plateforme • Intégration sur une plateforme d’évaluation Win7 Linux

  26. Auto-calibration à 125MHz • Intégration sur une plateforme d’évaluation Nb de hits Start-up calibration Discontinuités de mesure (1 BIN sur 2 environ) • Toujours même endroits à 0 N° du BIN horloge système : 125 MHz ps • Population de mesures : • 218soit 262144 • Résolution (Nb de BIN) : • pleine échelle 8ns, • 18ps/BIN en moyen (36ps/BIN en moyen en enlevant les BIN0) N° du BIN

  27. Précision du système de mesure : • Intégration sur une plateforme d’évaluation Résultats de la mesure différentielle par l’oscilloscope Résultats de la mesure différentielle Différence du temps (ps) CH0 Générateur d’impulsions TTL CH1 Câbles de différentlongueur Principe de mesure : le même signal injecté sur les 2 voies CH0 et CH1, le TDC mesure l’écart entre les 2 fronts descendants de CH0 et CH1 • Inter-channels • Polarity: falling edge • Samples: 15000 • Mean: 1935ps • P-p: 210ps • Std. dev.: 25ps • Precision: ±50ps • Single channel • Suppose jitter/ch independent, Gaussian distribution • Std. dev.: 18ps. • Precision: ±36ps

  28. Evaluationde la réalisation du projet • Avantages : • Portabilité, flexibilité • Temps de développement réduit • Moins couteux sur des projet de petite série (sinon ASIC moins cher, plus les coûts de développement de l’architecture TDC ASIC) • Inconvénients : • Sensible (vrai pour tous les systèmes TDCs) • Horloge, tension, température… • Fréquence master très limitée • NLD grand • Library du compilateur non complète • Supporte pas les types de données « long int » (64 bits) et « float » • Besoin de l’algorithme de calcul • Difficile à déboguer : • Sans logiciel de débogue du LM32 • Temps de compilation long: 8mins

More Related