Développement de la Carte TWISTER SOUND

Pinup
Twister Sound

Remplacement des cartes audio
à base de 6503/6530

Etude et réalisation d'une carte alternative
utilisant un FPGA ALTERA intégrant
toutes les cartes audio simples.

Sommaire

  • Introduction
  • Le FPGA en pratique
  • Concept de la carte
  • Prototype
  • Vidéo du prototype fonctionnel
  • Convertisseur SIGMA-DELTA
  • Oscillateurs NE555
  • Le VU-métre
  • Les boutons integrés
  • Configuration DIP switches
  • Carte de pré-serie
  • Carte finale
  • Introduction

    Le remplacement et le dépannage des cartes audio Gottlieb C-18389 (SYSTEM 1), MA-55 (SYSTEM 80/80A) et MA-490 (SYSTEM 80A/80B) a toujours été problématique en raison de la spécificité des circuits utilisés. Au cours des années plusieurs solutions alternatives ont été proposées, mais aucune n'a jamais été réellement satisfaisante : soit en raison de l'utilisation de composants obsolètes, soit parce que certains modèles (en particulier les SYSTEM 80B) n'étaient pas reproduits.

    Il existe aujourd'hui une solution moderne et peu coûteuse : utiliser un FPGA

    Nous ne détaillerons pas ici les avantages et les inconvenients de cette technologie, ni sur les raisons qui nous ont conduit à l'utiliser. Il faut juste retenir que cette solution est peu coûteuse et facile à mettre en oeuvre par un amateur.

    L'utilisation de modules pré-assemblés nous évitera la réalisation de soudures complexes, tout en améliorant la fiabilité et la maintenance.

    Le FPGA en pratique

    FPGA Altera

    La mise en oeuvre d'un FPGA est terriblement simple, même si au premier abord elle peut sembler complexe. En effet, la soudure du boitier est quasiment impossible pour un particulier, le circuit utilise des tensions multiples (1,2 volts, 2,5 volts et 3,3 volts), de plus, il faut aussi ajouter une horloge et tout le système de programmation.

    En pratique, il existe des modules prêt à l'emploi, avec tout ce qu'il faut dessus et avec des broches facilement raccordables (au pas de 2.54mm). La programmation se fait par un connecteur JTAG intégré et avec un petit boitier "USB BLASTER" qui se branche sur un port USB. L'alimentation peut également être fournie par un port USB.

    La mise en oeuvre est donc très simple, puisqu'on a juste besoin de :

    1. Un module avec un FPGA
    2. Un programmateur USB Blaster
    3. Le logiciel de programmation
    4. Un circuit imprimé pour recevoir la carte, l'amplificateur audio et quelques composants additionnels.

    USB BLASTER QUARTUS II

    Le logiciel de programmation sera récupéré chez le constructeur ALTERA (Intel) : la version Web Edition (ou lite) de QUARTUS II est gratuite. Attention, ce logiciel n'est désormais plus disponible qu'en 64 bits, si on veut l'installer sur une machine 32 bits, il faudra se limiter à la version 13.1.

    Même si on n'utilise que la partie programmateur, il faudra installer ce logiciel en entier (assez gourmand en place disque).

    A noter, qu'on ne programme pas le FPGA lui-même (ce circuit étant similaire à une RAM), mais la mémoire de configuration type EPCS16 (qui lui est toujours associée). Ce circuit est similaire à une EEPROM série et se programme via le connecteur JTAG standard de la carte.

    FPGA + EEPROM

    Au démarrage, la configuration est automatiquement transférée de l'EEPROM au FPGA. Sur certains modules, il est également possible de forcer ce transfert à tout instant, en appuyant sur le bouton "nCONFIG".

    Concept de la carte

    Les trois cartes audio C-18389, MA-55 et MA-490, bien que comportant des différences, fonctionnent sur le même principe. Celui-ci consiste à génerer un signal audio mono à partir d'un convertisseur DAC (1408), puis à l'amplifier. Les commandes envoyées par le CPU sont transmises par des signaux mis à la masse.

    L'idée est d'intégrer un maximun de circuits dans le FPGA, au besoin en adaptant leur fonctionnalités à ce composant. Mais, comme on ne souhaite pas altérer les sons initiaux, il convient de reproduire l'architecture originale (cpu, mémoire, i/o, horloge). Ceci implique en particulier de respecter la cartographie mémoire ainsi que la fréquence d'horloge.

    On évite également l'utilisation d'une mémoire externe, type carte SD ou autre EEPROM. La capacité mémoire des FPGA est désormais suffisante pour tout y faire tenir, de plus cette solution permet de limiter le nombre d'élements à programmer.

    Le FPGA répondant à notre cahier des charges est un ALTERA CYCLONE IV EP4CE10, grand frère du EP4CE6. Sa capacité mémoire accrue lui permet d'heberger toutes les configurations, sans qu'il soit neccessaire de les scinder.

    FPGA ALTERA Cyclone IV - EP4CE10

    Attention: Le but du projet est de reproduire les cartes d'origine, aussi fidèlement que possible avec des composants modernes. On ne cherche donc pas à améliorer la qualité des sons, ni à corriger les défauts ou à ajouter de nouvelles fonctionnalités à ces cartes.

    Le FPGA ne disposant pas de sortie analogique, on pourrait ne lui faire traiter que la partie logique et conserver la partie DAC/ampli. Cette partie étant obsolète, le remplacement du 1408 était aussi à envisager. La solution trouvée consiste à intégrer dans le FPGA un convertisseur SIGMA-DELTA fonctionnant à haute vitesse.

    Afin de compléter la série, nous avons intégré également la carte 3 sons "555" dans le FPGA... ce qui, il faut l'avouer, n'est pas forcément très rentable ! mais le circuit disposant de ressources inutilisées, il aurait été dommage de s'en priver. Cette version "Deluxe" aura au moins l'avantage de disposer d'oscillateurs ultra-stables.

    Afin de sécuriser le module contre les manipulations hasardeuses, on intercalera un circuit tampon type ULN2803 au niveau des entrées.

    Prototype

    La section "logique" a été étudiée sur une carte de développement A-C4E6 équipée d'un FPGA ALTERA Cyclone IV EP4CE10. Ce circuit est le grand frère du EP4CE6, mais contient plus d'éléments et plus de mémoire. Un module de série, équipé d'un EP4CE6 à également été utilisé pour nos tests.

    Carte de développement A-C4E6 avec EP4CE10 Carte WaveShare CORE EP4CE6 avec EP4CE6

    Notre choix s'est porté sur le C4E6-K car ce type de module comporte tout ce qu'il faut pour configurer et utiliser un FPGA : Une horloge 50 Mhz, une l'alimentation régulée, une mémoire flash, quelques Leds et des boutons poussoirs, une connectique simple mais complète.

    Pour tester l'amplification, on utilisera également un module prêt à l'emploi, inutile de se compliquer la vie ! On choisira un module construit autour d'un LM1875 (ou d'un TDA2030) et alimenté en monotension 12 volts.

    Module C4E6-K avec EP4CE10 Module ampli à TD2030

    La partie "hardware" restant à réaliser, se limitera donc à une platine reliant les modules FPGA, amplificateur et les composants annexes. On aura juste besoin: d'un bloc de DIP-switches, d'un bouton poussoir de TEST, d'une résistance et d'un condensateur pour l'interface analogique, d'un connecteur pour relier la carte au flipper.

    Vidéo du prototype fonctionnel

    Concevoir un prototype théorique sur le papier et le simuler est une chose, mais le réaliser en vrai et le tester en est une autre ! En effet, la simulation ne permet pas de vérifier complètement le bon fonctionnement du circuit ce qui marche en théorie, ne marche pas toujours dans la pratique.

    Nous avons donc testé et validé notre prototype en réel sur une carte de développement. La seule différence par rapport au modèle final, est l'utilisation de mini-interrupteurs pour commander les sons et l'utilisation d'une enceinte amplifiée.

    On évite pour l'instant de raccorder le prototype dans un flipper réel, en s'affranchissant ainsi des problèmes de connectique et d'alimentation.

    Mais avant d'arriver à ce résultat, il a fallu d'abord résoudre plusieurs problèmes techniques, comme on va le voir ci-après.

    Le convertisseur SIGMA-DELTA

    Afin de palier à l'absence de DAC, ce montage facile à implémenter et d'une simplicité enfantine, est préconisé par les différents constructeurs de FPGA. Il se substitue avantageusement aux traditionnels réseaux de résistances, à condition cependant de disposer d'un circuit tournant à haute vitesse, ce qui est bien notre cas (50 Mhz).

    DAC Sigma-Delta

    Une seule broche est utilisée en sortie, elle est reliée à un filtre passe bas, constitué d'une résistance de 3.3 KΩ et d'un condensateur de 4.7 nF. Ces valeurs ne sont pas super-critiques, pour les tests nous avons pris ce qui nous tombait sous la main: une résistance de 3 KΩ et un condenstateur de 47 nF, ce qui a fait parfaitement l'affaire.

    Interface analogique RC

    Afin de valider cette option, nous l'avons d'abord testé individuellement. Il existe plusieurs exemples d'implémentations en VHDL ou Verilog chez les constructeurs, qui ne demandent qu'à êtres récupérés. Notre schéma pour tester le convertisseur est extrémement simple, en entrée on met l'horloge, le reset et la valeur sélectionnée par DIP switches, en sortie on prend une broche libre.

    Schéma SIGMA-DELTA

    Les tests ont montré que la précision était excellente et largement suffisante pour l'usage envisagé. Les sorties du FPGA sont alimentées en 3.3 v (3.34 v pour être précis) et voici quelques valeurs relevées.

    La plage couverte est totale (0 → 0 volts & 255 → 3.34 volts), ce qui donne une résolution de 0.0131 volts par pas.

    0 → 0.00 v 255 → 3.34 v

    Pour des positions intermédiaires (63, 128 et 192), la linéarité est parfaitement respectée avec des tensions conformes aux valeurs attendues. Soit 0.82, 1.67 et 2.51 volts.

    63 → 0.82 v 128 → 1.67 v 192 → 2.51 v

    Les oscillateurs de type NE555

    Sur les cartes 3 tons à base de NE555, les fréquences ainsi que les rapport cycliques sont déterminées par deux résistances et un condensateur. Pour les trois commandes "10", "100" et "1000", le calcul des valeurs théoriques des fréquences donne respectivement 594 Hz, 266 Hz et 153 Hz. Toutes avec un rapport cyclique proche de 50%.

    Il est relativement simple de reproduire ces oscillateurs dans un FPGA en utilisant des diviseurs de fréquence.

    Test des oscillateurs

    Afin de vérifier que cette partie était correctement implémentée, nous l'avons isolé et vérifié à l'oscilloscope les fréquences en sortie. Le signal est mesuré directement en sortie du FPGA, comme on peut le voir c'est un signal carré.

    594 Hz 266 Hz 153 Hz

    Le même signal a été mesuré après le filtre passe bas utilisé pour le convertisseur Sigma-Delta.
    On remarque que les fronts sont bien arrondis, ce qui est normal puisque l'on teste avec un condensateur de 47 nF au lieu d'un 4.7 nF. Avec un condensateur plus petit, les fronts seront plus raides.

    594 Hz 266 Hz 153 Hz

    Le signal carré modulé par les 555, peut être directement mixé avec la sortie du DAC, puisque tous ces signaux sont binaires. Il est cependant plus judicieux d'injecter ce signal en aval du convertisseur Sigma-Delta, ce qui permet un traitement uniforme des signaux quelle que soit leur source. Au passage, on en profite pour ajouter un réglage de niveau avec les DIP S6, S7 et S8 qui étaient inutilisés dans ce mode.

    Vérification du signal 555 avec Sigma-Delta Contrôle en sortie du filtre passe bas

    Avec un condensateur de 10 nF, les carrés sont nettement mieux dessinés.

    Signal @ 594 Hz via convertisseur Sigma-Delta Signal @ 266 Hz via convertisseur Sigma-Delta Signal @ 153 Hz via convertisseur Sigma-Delta

    Le réglage de volume agit sur 8 niveaux, de façon symétrique sur l'amplitude du signal.

    Niveau 7 Niveau 6 Niveau 5 Niveau 4
    Niveau 3 Niveau 2 Niveau 1 Niveau 0

    Comme on peut le voir, la section 555 ne perturbe pas un signal de test généré par la partie CPU / DAC.

    Signal de test

    Le VU-métre

    Les cartes FPGA comportent souvent des Leds, dont l'utilisation est libre. Notre carte C4E6-K disposant de 8 leds, autant les utiliser pour un VU-métre !

    LEDs

    La modélisation de ce composant a été réalisée en VHDL, où est définit un comportement basique (mesure d'amplitude) mais visuellement éfficace. Le signal est mesuré directement en entrée du convertisseur SIGMA-DELTA, ce qui permet un fonctionnement dans tous les modes, y compris pour les NE555.

    VU-métre

    Les boutons intégrés

    La carte C4E6-K dispose de trois poussoirs standards utilisés par les entrées nCONFIG, DEV_CLR et DEV_OE.

    • Le bouton nCONFIG permet de forcer le rechargement du FPGA depuis l'EEPROM
    • Le bouton DEV_CLR est configuré pour générer un RESET
    • Le bouton DEV_OE n'est pas utilisé (réservé pour un éventuel développement futur)

    DEV_CLR + DEV_OE

    Le RESET (DEV_CLR) permet au besoin, de relancer la carte au cas où elle serait plantée (ce qui n'arrive jamais !).

    DIP-SWITCHES : configuration et selection des flippers

    Un bloc de 8 mini-interrupteurs permet de choisir la configuration, ainsi que le modèle de flipper. Les deux premiers DIP S1 et S2 fonctionnent comme sur les cartes originelles (S1 pour le mode TONE, S2 pour l'ATTRACT MODE). Les six autres configurent le mode de fonctionnement, comme indiqué ci-dessous.

    Attention : Les DIP S3 à S8 ne doivent être manipulés que lorsque le flipper est éteint.

    Carte 3 tons (EM et premiers SYSTEM 1)

    S3 S4 S5 S6 S7 S8 Flipper Modèle Système
    OFFOFFON vvv EM & SYS13 tons "555"

    Dans ce mode, le volume de sortie est modifiable avec les DIP S6 à S8. Lorsque les trois DIP sont à ON, le volume est au maximum. Lorsqu'ils sont à OFF, le volume est au minimum.

    SYSTEM 1 (C-18389 / 3014-12)

    S3 S4 S5 S6 S7 S8 Flipper Modèle Système
    OFFOFFOFF OFFOFFOFF Totem#429SYS 1 (R3014-12)
    OFFOFFOFF OFFOFFON Hulk#433SYS 1 (R3014-12)
    OFFOFFOFF OFFONOFF Genie#435SYS 1 (R3014-12)
    OFFOFFOFF OFFONON Buck Rogers#437SYS 1 (R3014-12)
    OFFOFFOFF ONOFFOFF Torch#438SYS 1 (R3014-12)
    OFFOFFOFF ONOFFON Roller Disco#440SYS 1 (R3014-12)
    OFFOFFOFF ONONOFF Asteroid Annie#442SYS 1 (R3014-12)

    SYSTEM 1 (C-18389 / 3014-13)

    S3 S4 S5 S6 S7 S8 Flipper Modèle Système
    OFFONOFF OFFOFFOFF Totem#429SYS 1 (R3014-13)
    OFFONOFF OFFOFFON Hulk#433SYS 1 (R3014-13)
    OFFONOFF OFFONOFF Genie#435SYS 1 (R3014-13)
    OFFONOFF OFFONON Buck Rogers#437SYS 1 (R3014-13)
    OFFONOFF ONOFFOFF Torch#438SYS 1 (R3014-13)
    OFFONOFF ONOFFON Roller Disco#440SYS 1 (R3014-13)
    OFFONOFF ONONOFF Asteroid Annie#442SYS 1 (R3014-13)

    SYSTEM 80 et 80A (MA-55 / 3016-11)

    S3 S4 S5 S6 S7 S8 Flipper Modèle Système
    ONOFFOFF OFFOFFOFF Hulk#500SYS 80 (R3016-11)
    ONOFFOFF OFFOFFON Panthera#652SYS 80 (R3016-11)
    ONOFFOFF OFFONOFF Spiderman#653SYS 80 (R3016-11)
    ONOFFOFF OFFONON Circus#654SYS 80 (R3016-11)
    ONOFFOFF ONOFFOFF Counterforce#656SYS 80 (R3016-11)
    ONOFFOFF ONOFFON Star Race#657SYS 80 (R3016-11)
    ONOFFOFF ONONOFF James Bond#658SYS 80 (R3016-11)
    ONOFFOFF ONONON Timeline#659SYS 80 (R3016-11)
    ONOFFON OFFOFFOFF Force II#661SYS 80 (R3016-11)
    ONOFFON OFFOFFON Pink Panther#664SYS 80 (R3016-11)
    ONOFFON OFFONOFF Volcano (export)#667SYS 80 (R3016-11)
    ONOFFON OFFONON Black Hole (export)#668SYS 80 (R3016-11)
    ONOFFON ONOFFOFF Devil's Dare (export)#670SYS 80A (R3016-11)
    ONOFFON ONOFFON Eclipse#671SYS 80 (R3016-11)

    SYSTEM 80A et 80B (MA-490 / MA-488 Piggyback)

    S3 S4 S5 S6 S7 S8 Flipper Modèle Système
    ONONOFF OFFOFFOFF Amazon Hunt#684ASYS 80A (Piggyback)
    ONONOFF OFFOFFON Rack Em Up#685SYS 80A (Piggyback)
    ONONOFF OFFONOFF Ready Aim Fire#686SYS 80A (Piggyback)
    ONONOFF OFFONON Jacks To Open#687SYS 80A (Piggyback)
    ONONOFF ONOFFOFF Touchdown#688SYS 80A (Piggyback)
    ONONOFF ONOFFON Alien Star#689SYS 80A (Piggyback)
    ONONOFF ONONOFF The Games#691SYS 80A (Piggyback)
    ONONOFF ONONON El Dorado#692SYS 80A (Piggyback)
    ONONON OFFOFFOFF Ice Fever#693SYS 80A (Piggyback)
    ONONON OFFOFFON Bounty Hunter#694SYS 80B (Piggyback)
    ONONON OFFONOFF Chicago Cub#695SYS 80B (Piggyback)
    ONONON OFFONON Tag Team#698SYS 80B (Piggyback)
    ONONON ONOFFOFF Star KingMANILAMATIC

    Carte de pré-série

    Une première version simplifiée du circuit imprimé a d'abord été réalisée afin de valider le fonctionnement opérationnel dans un flipper réel. Destinée uniquement aux SYSTEM-80, elle nous a d'abord permis de vérifer que l'ensemble de l'électronique fonctionnait comme attendu.

    Nous l'avons ensuite utilisé pour des tests d'endurance qui ont donné pleinement satisfaction. Utilisée sur de longues périodes, la carte est parfaitement fiable et ne chauffe absolument pas.

    TWISTER SOUND

    Nous avons pu également vérifier que l'amplificateur était tout à fait adapté et que les sons produits était conformes aux originaux.

    Pour finaliser le projet, il ne restait plus qu'a réaliser un nouveau circuit imprimé compatible avec les SYSTEM-1. Cette dernière étape, relativement complexe en raison des differences de brochage, s'est finalement achevée avec la naissance de la carte TWISTER SOUND définitive.

    Dernière mise à jour de cette page: 30 Mai 2018

    French Tech

    DDS

    Copyright © 2024 Flipprojets - François & Thierry DAVROUX

    En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies servant principalement à mesurer la fréquentation de nos pages, ou à conserver vos informations de session.

    Ces données sont utilisées uniquement à des fins techniques et ne servent en aucun cas à vous proposer des publicités, ni pour faire du démarchage ciblé, ou encore du SPAM. Elles ne seront pas échangées avec des services tiers et ne seront pas utilisées en dehors de ce site.

    FLIPPROJETS s'engage à respecter votre vie privée, cliquer sur OK si vous avez compris et acceptez ces conditions, le cas échant ne poursuivez pas votre navigation et quittez ce site. OK