La première version de l'oscilloscope
Forum de discussion du projet OpenDSO: c'est par ici Google Code du projet OpenDSO: c'est ici Seulement pour navigateur FIREFOX
Introduction La figure 1 montre le synoptique de l'oscilloscope. La partie analogique comprend: - les deux entrées de mesure munies d'un couplage (AC/DC/GND) réalisé au moyen de photomos, ces entrées ont des impédances adaptées aux sondes du commerce, - un étage d'amplification des signaux par des amplificateurs à gain variable (VGA), - les entrées analogiques du convertisseur analogique-numérique rapide (10bits). La partie numérique comprend: - les sorties numériques du convertisseur analogique-numérique rapide, - une entrée de déclenchement de signal externe, - 16 entrées, 16 sorties numériques, - une sortie de calibration pour les sondes, - une horloge 100MHz faible jitter ainsi qu'un diviseur intégré permettant des fréquences d'échantillonnage variables, - un FPGA pour mémoriser, synchroniser, combiner et renvoyer les différents signaux logiques au PC, - un convertisseur DC/DC isolé (5VUSB in, +3V3 out) en sortie duquel une alimentation à découpage et une pompe de charge sont rajoutées pour fournir du -3V3 et du 2V5, - un connecteur permettant de transformer l'oscilloscope en un modèle portable par l'ajout d'écran, de µC, de clavier et de batteries, - un connecteur USB + une interface USB (chip FTDI) en sortie duquel des optocoupleurs se chargent de l'isolation des signaux rapides. A ajouter à l'ensemble: Version PC Un PC avec le logiciel adéquat. Version Portable Un microcontrôleur classique disposant des entrées-sorties en nombre suffisant, un écran LCD graphique, un clavier utilisateur et une batterie. Prévoir en plus la puce de configuration du FPGA dont le fichier pourra être modifié par téléchargement lors de la connexion au PC. 
Figure 1: Synoptique de l'oscilloscope
L'étage des entrées La figure 1 montre le schéma des deux entrées analogiques. Le signal de la première entrée vient du connecteur BNC1 et passe par un premier étage (C5, R5, U2) permettant de supprimer, ou non, la composante continue via C5. Vient ensuite un pont diviseur résistif-capacitif qui divise par 40 le signal d'entrée. On ne mesure pas directement le signal d'entrée (juste après C5, sans atténuation donc) pour une question de protection contre les surtensions. Le condensateur variable sera à régler de manière à obtenir une capacité d'entrée compatible avec la plage standard des sondes des oscilloscopes commerciaux. Le circuits photomos U1 réalise une mise à la masse sur demande. Sa capacité parasite peut être considérée comme stable au vu de la faible tension à ses bornes. U8 est un ampliop FET qui sert de buffer. Le signal sortant doit avoir une amplitude de +- 1V au maximum (soit 2Vpp). Les circuits associés à la deuxième entrée fonctionnent de manière identique. U7 avec U15a et U15b génèrent les tensions de référence pour le gain et l'annulation de l'offset du VGA (voir feuille suivante). 
Figure 1 Comme on le verra plus loin, IN1 (et IN2) doivent présenter une amplitude maximale de +-1V pour que la conversion analogique-numérique s'effectue à pleine échelle. On aura en tout 10 échelles de sensibilité : | Configuration | Sonde | Pleine échelle | Par division | | 1 | x 1/10 | +-400V | 100V/div | | 2 | x 1/10 | +-200V | 50V/div | | 3 | x 1/10 | +-80V | 20V/div | | 4 | x 1/10 | +-40V | 10V/div | | 5 | x 1/10 | +-20V | 5V/div | | 6 | x 1/10 | +-8V | 2V/div | | 7 | x 1/10 | +-4V | 1V/div | | 8 | x 1/10 | +-2V | 500mV/div | | 9 | x 1/10 | +-800mV | 200mV/div | | 10 | x 1/10 | +-400mV | 100mV/div |
L'étage de conversion, partie I Les signaux IN1 et IN2 sont symétrisés par les amplificateurs différentiels U9 et U10 avant d'attaquer les amplificateurs à gain variable (VGA). La dynamique de réglage du VGA vaut à peu près 100dB grâce au fait que le gain est fixé par deux tensions. La première (GAIN_DB_X) règle le gain logarithmique du VGA tandis que la deuxième (GAIN_MAG_X), prévue initialement par le fabriquant comme entrée multiplicative, règle le gain linéairement. La sortie VCOM de l'ADC se charge d'appliquer le même offset aux amplis différentiels et aux VGA. Les sorties des amplificateurs différentiels valent les tensions des entrées positives augmentées de 1.65V (VCOM). ITX2 et ITX3 relient la partie digitale (feuilles suivantes) à la partie analogique (cette feuille et la précédente). Il y a donc deux PCB de prévus.  Figure 1
L'étage de conversion II U1 est un convertisseur analogique-numérique 10 bits de type pipeline à double entrée et à sorties parallèles. La fréquence d'échantillonnage maximale est de 105 millions d'échantillons par seconde (105 MS/s) sur les deux canaux. Pour éviter des erreurs de maintien de la tension sur le Track and Hold, l'ADC travaillera toujours à une fréquence élevée. Pour obtenir des acquisitions à fréquence plus faible, on modifiera la fréquence des enregistrements dans la RAM du FPGA.  Figure 1
L'unité logique L'unité logique est composée d'une horloge U2 fonctionnant à 100MHz et de U3, un FPGA, le EP1K30 (famille ACEX1K) de chez Altera dans lequel arrivent les échantillons C[0..9] et D[0..9] issus de l'ADC. Les entrées sorties en vert (JTAG) servent à configurer U3 via le premier canal du chip USB (voir page suivante). L'envoi et la réception de données au FPGA en mode fonctionnement normal s'exécute par l'intermédiaire du « FAST SERIAL INTERFACE » qui correspond au canal B du chip USB. L'ensemble peut fonctionner sans uC ajouté, les commandes étant gérées directement depuis le PC. Pour l'option oscilloscope portable, les entrées-sorties en vert et 5 autres signaux UC_USERx sont acheminés sur le connecteur adéquat (voir plus loin). Les entrées-sorties en rouge sont celles destinées aux entrées-sorties logiques : un analyseur logique à 16 entrées et un générateur de niveaux logiques à 16 sorties. La tension d'alimentation interne de U3 est de 2V5 tandis que celle des entrées-sorties vaut 3V3 pour être compatible avec la logique à 5V.  Figure 1
L'étage communication USB La figure 1 montre le schéma de l'ensemble. On utilise un nouveau processeur USB, le FT2232C de chez FTDI. Ce chip a la particularité d'offrir 2 canaux de plusieurs bits chacun. Il permet de configurer le premier canal en mode série synchrone (ici le canal A est configuré pour la programmation JTAG du FPGA) tandis que l'autre canal (B) est configuré en mode série rapide (5MB/s, ce mode sert ici pour la commande et reception des données via le FPGA). Pour d'autres infos sur les possibilités du FT2232C, voir sa datasheet sur le site de FTDI. Pour réaliser l'isolation entre le PC et l'oscilloscope, les signaux JTAG et SERIE RAPIDE issus de U4 sont envoyés dans U6 et U7, deux CI d'isolation galvanique à très faible consommation.  Figure 1
Alimentations et connecteurs La figure 1 montre le schéma de l'ensemble. USB_5V est la tension venant de la feuille précédente. Cette tension entre dans U11 qui est un convertisseur DC/DC isolé à sortie +5.0V/500mA (de la marque TRACO). Il y a un filtrage supplémentaire pour les tensions de la partie analogique de l'oscilloscope. Les tensions de 2V5 et 3V3 sont obtenues à partir du +5VDG à l'aide du double convertisseur-abaisseur U13. U12 est une pompe de charge fournissant le -5V. ITX4, ITX5 et ITX6 sont trois connecteurs IDC mâles classiques (avec détrompeur) de respectivement 50, 34 et 34 broches. ITX4 est l'interface pour l'option portable du DSO: écran, clavier, batterie et µC seront ajoutés dans ce cas. ITX5 est le connecteur pour les 16 entrées de l'analyseur numérique et ITX6 celui des 16 sorties du générateur digital. U14, U15, U16 et U17 sont des latchs dont les entrées (sorties) sont protégées de l'extérieur par des résistances de 1kOhm.  Figure 1 |