Une petite info. potentiellement intéressante pour les possesseurs de ROLAND Super JX et MKS-70 :
Un 'petit' panneau de contrôle bien sympathique avec de vrais boutons et curseurs. Certes le coût d'un tel produit n'est pas exactement anodin puisque actuellement de 850$ en version assemblé et de 650$ en version kit.
L'appareil est compatible avec les extensions de Frederic Vecoven ce qui le rend absolument attractif.
Pour en obtenir un exemplaire c'est sur le site de Retroacktiv!
mardi 20 novembre 2018
lundi 12 novembre 2018
Estas Tonne
Estas Tonne était à Paris ce samedi 10 novembre 2018 :
Sur Youtube c'est déjà pas mal, mais en live c'est vraiment autre chose : https://estastonne.com
Sur Youtube c'est déjà pas mal, mais en live c'est vraiment autre chose : https://estastonne.com
mercredi 7 novembre 2018
Drumulator et FPGA
Dès lors que j'ai commencé à travailler sur la boite à rythme Drumulator achetée il y a deux ans en pas très bon état, je me suis dit que cela pourrait être 'sympa' de recréer la machine avec les technologies modernes. Il est vrai que le côté 'roots' et vintage de la machine plaide en sa faveur :
De plus, depuis quelques temps je travaille sur un adaptateur de WAVE ROMs pour rendre la mise en place de sets de batteries plus pratique. Il est vrai que ce genre de customisation est très en vogue aujourd'hui. Non sans raison d'ailleurs puisque cela permet de profiter du traitement sonore analogique avec d'autres sons de batterie. Il est vrai que le principe de codage utilisé dans les machines de cette époque, du huit bits non linéaires offrant une dynamique de 12 bits, donne un résultat très... percussif!
J'ai déjà traduit l'ensemble de la partie processeur de cette Drumulator en VHDL et implémenté le tout avec succès dans une carte de développement à base de FPGA Altera, Intel maintenant:
Forcément, d'une part cette implémentation n'est pas la plus compliquée à effectuer mais en plus, toute la partie analogique est absente. Hormis le message "bAd" au démarrage indiquant que le contenu de la mémoire sauvegardée est corrompu, et pour cause puisque sur cette carte la SRAM est totalement volatile, il ne se passe pas grand chose. Evidemment, c'est quand même un très bon début.
Pour continuer l'implémentation VHDL de la machine, le 'gros morceau' auquel il convient de s'attaquer est le séquenceur interne qui génère les adresses d'accès aux WAVE ROMs externe. Sur le papier, le schéma n'est pas très compliqué :
Ces deux schémas représentent le micro-séquenceur, en haut, qui gère tous les accès aux registres, en bas, déterminant au final les adresses en cours de tous les sons. L'ensemble est en mesure de traiter huit sons simultanés et un espace mémoire totale de 64Ko. Je ne rentrerai pas dans les détais du fonctionnement de ce système, il est assez simple à comprendre. La partie cachée, à savoir le contenu de la ROM du micro-séquenceur, peut être déduite. Mais j'ai préféré dessouder le circuit de la carte de la machine, puis le lire avec un petit montage Arduino. De sorte que j'ai pu récupérer le contenu des 32 octets utilisés par EMU.
Muni de toutes ces informations, il n'y a plus qu'à lancer le logiciel Quartus puis se remettre au VHDL. Finalement, à chaque fois que je m'y remets, je trouve ce langage de plus en plus facile et pratique :
Après quelques heures de 'dur' labeur, la compilation se passe correctement. Les 'warnings' reçus sont tout à fait normaux étant donné la configuration du système. Je n'ai pas du tout déclaré de signaux d'horloge, l’analyseur ne peut donc effectuer correctement son travail, et me le dit avec force messages. Bon, un circuit qui au final fonctionne à 833KHz ne devrait pas me poser trop de problèmes. L'étape suivante consiste maintenant à tenter d'interfacer une carte FPGA contenant ce programme dans l'environnement de la Drumulator que je possède. Je n'ai pas encore vraiment pensé au problème. J'attends le circuit imprimé du support de WAVE ROM que j'ai créé :
Une fois que j'aurai testé ce circuit, normalement implémenté dans la Drumulator, j'en utiliserai un autre que je raccorderai à la carte FPGA, ce qui devrait me permettre de générer les données numériques comme souhaité. Par contre il me faudra implémenter la partie accès du système par le processeur de la machine, ce qui représente un certain nombre de connexions à réaliser puisque'il faudra au moins le bus de donnée du Z80 plus les signaux de sélection fournis par la glue logique. Sans compter les obligatoires circuits d'adaptation des tensions parce que la carte FPGA accepte au maximum du 3,3V alors que l'ensemble de la logique de la Drumulator est en 5V, technologie de l'époque oblige.
Mais bon, chaque chose en son temps!
UPDATE [12-11-2018] Je viens de recevoir le circuit imprimé de l'extension de mémoire de sons. Monter le premier prototype ne m'a pris que quelques minutes étant donné le faible nombre de composants du circuit :
L'emplacement de gauche devrait recevoir un support à force d'insertion nulle plutôt qu'un support standard, ce qui devrait permettre un échange vraiment plus commode de sets de formes d'ondes dans cette Drumulator. Pour l'instant je ne l'ai pas monté. Je vais d'abord tester le montage de base en condition normale :
Cela n'est pas pour me lancer des fleurs, mais quand même, cette version est un peu plus 'pro' que tout ce que j'ai pu voir jusqu'à maintenant (sous réserve que cela fonctionne, bien évidemment).
Je n'ai pas encore testé le principe, mais je pense qu'il devrait être possible avec cette version, d'utiliser un émulateur de RAM inséré dans le support à force d'insertion nulle. Cela devrait permettre un test auditif de banques de sons faites à la demande sans avoir à programmer au préalable les quatre ROMs habituelles. Un gain te temps et une plus grande flexibilité du système est donc à attendre dans le processus de création de banques sonores.
UPDATE [13-11-2018] J'ai utilisé un émulateur de PROM que l'on peut trouver sur Ebay pour un prix tout à fait correct. Il est fabriqué par l'entreprise Polonaise Momik. Il émule sans difficulté une mémoire de type 27C512 d'une capacité de 64Ko, total de ce que peut adresser le générateur sonore interne de la boîte à rythmes :
Au démarrage du système, les pads A, B, C et D de la Drumulator ne génèrent aucun son. Une fois cet émulateur de PROM chargé avec le fichier concaténé des quatres ROMs de base, le fonctionnement de la machine redevient normal avec les sons attendus sur tous les pads. Je ferai peut-être une petite vidéo du sujet...
De plus, depuis quelques temps je travaille sur un adaptateur de WAVE ROMs pour rendre la mise en place de sets de batteries plus pratique. Il est vrai que ce genre de customisation est très en vogue aujourd'hui. Non sans raison d'ailleurs puisque cela permet de profiter du traitement sonore analogique avec d'autres sons de batterie. Il est vrai que le principe de codage utilisé dans les machines de cette époque, du huit bits non linéaires offrant une dynamique de 12 bits, donne un résultat très... percussif!
J'ai déjà traduit l'ensemble de la partie processeur de cette Drumulator en VHDL et implémenté le tout avec succès dans une carte de développement à base de FPGA Altera, Intel maintenant:
Forcément, d'une part cette implémentation n'est pas la plus compliquée à effectuer mais en plus, toute la partie analogique est absente. Hormis le message "bAd" au démarrage indiquant que le contenu de la mémoire sauvegardée est corrompu, et pour cause puisque sur cette carte la SRAM est totalement volatile, il ne se passe pas grand chose. Evidemment, c'est quand même un très bon début.
Pour continuer l'implémentation VHDL de la machine, le 'gros morceau' auquel il convient de s'attaquer est le séquenceur interne qui génère les adresses d'accès aux WAVE ROMs externe. Sur le papier, le schéma n'est pas très compliqué :
Ces deux schémas représentent le micro-séquenceur, en haut, qui gère tous les accès aux registres, en bas, déterminant au final les adresses en cours de tous les sons. L'ensemble est en mesure de traiter huit sons simultanés et un espace mémoire totale de 64Ko. Je ne rentrerai pas dans les détais du fonctionnement de ce système, il est assez simple à comprendre. La partie cachée, à savoir le contenu de la ROM du micro-séquenceur, peut être déduite. Mais j'ai préféré dessouder le circuit de la carte de la machine, puis le lire avec un petit montage Arduino. De sorte que j'ai pu récupérer le contenu des 32 octets utilisés par EMU.
Muni de toutes ces informations, il n'y a plus qu'à lancer le logiciel Quartus puis se remettre au VHDL. Finalement, à chaque fois que je m'y remets, je trouve ce langage de plus en plus facile et pratique :
Après quelques heures de 'dur' labeur, la compilation se passe correctement. Les 'warnings' reçus sont tout à fait normaux étant donné la configuration du système. Je n'ai pas du tout déclaré de signaux d'horloge, l’analyseur ne peut donc effectuer correctement son travail, et me le dit avec force messages. Bon, un circuit qui au final fonctionne à 833KHz ne devrait pas me poser trop de problèmes. L'étape suivante consiste maintenant à tenter d'interfacer une carte FPGA contenant ce programme dans l'environnement de la Drumulator que je possède. Je n'ai pas encore vraiment pensé au problème. J'attends le circuit imprimé du support de WAVE ROM que j'ai créé :
Une fois que j'aurai testé ce circuit, normalement implémenté dans la Drumulator, j'en utiliserai un autre que je raccorderai à la carte FPGA, ce qui devrait me permettre de générer les données numériques comme souhaité. Par contre il me faudra implémenter la partie accès du système par le processeur de la machine, ce qui représente un certain nombre de connexions à réaliser puisque'il faudra au moins le bus de donnée du Z80 plus les signaux de sélection fournis par la glue logique. Sans compter les obligatoires circuits d'adaptation des tensions parce que la carte FPGA accepte au maximum du 3,3V alors que l'ensemble de la logique de la Drumulator est en 5V, technologie de l'époque oblige.
Mais bon, chaque chose en son temps!
UPDATE [12-11-2018] Je viens de recevoir le circuit imprimé de l'extension de mémoire de sons. Monter le premier prototype ne m'a pris que quelques minutes étant donné le faible nombre de composants du circuit :
L'emplacement de gauche devrait recevoir un support à force d'insertion nulle plutôt qu'un support standard, ce qui devrait permettre un échange vraiment plus commode de sets de formes d'ondes dans cette Drumulator. Pour l'instant je ne l'ai pas monté. Je vais d'abord tester le montage de base en condition normale :
Cela n'est pas pour me lancer des fleurs, mais quand même, cette version est un peu plus 'pro' que tout ce que j'ai pu voir jusqu'à maintenant (sous réserve que cela fonctionne, bien évidemment).
Je n'ai pas encore testé le principe, mais je pense qu'il devrait être possible avec cette version, d'utiliser un émulateur de RAM inséré dans le support à force d'insertion nulle. Cela devrait permettre un test auditif de banques de sons faites à la demande sans avoir à programmer au préalable les quatre ROMs habituelles. Un gain te temps et une plus grande flexibilité du système est donc à attendre dans le processus de création de banques sonores.
UPDATE [13-11-2018] J'ai utilisé un émulateur de PROM que l'on peut trouver sur Ebay pour un prix tout à fait correct. Il est fabriqué par l'entreprise Polonaise Momik. Il émule sans difficulté une mémoire de type 27C512 d'une capacité de 64Ko, total de ce que peut adresser le générateur sonore interne de la boîte à rythmes :
Au démarrage du système, les pads A, B, C et D de la Drumulator ne génèrent aucun son. Une fois cet émulateur de PROM chargé avec le fichier concaténé des quatres ROMs de base, le fonctionnement de la machine redevient normal avec les sons attendus sur tous les pads. Je ferai peut-être une petite vidéo du sujet...
vendredi 26 octobre 2018
Fran Blanche.
Il y a certes de nombreuses raisons de financer telle ou telle cause dans le monde. Pour une fois, j'ai choisi de porter assistance, dans la mesure de mes moyens, à Frane Blanche. Je passe régulièrement sur sa chaine Youtube pour y découvrir ses expérimentations. Pour moi, elle est un peu la "Dave" Jones américaine.
La description de sa petite galère :
Et pour que la mondialisation soit vraiment heureuse il est possible, même de France, de lui faire directement un petit don :
Alors si, comme moi, vous appréciez la qualité de ses vidéos, ça se passe ici : https://www.gofundme.com/franlab-needs-a-new-home
Yamaha REV5 à l'atelier.
Il arrive parfois que des personnes 'bien intentionnées' proposent à la vente du matériel en panne à prix décent, merci Théo.
Au delà de la 'mode vintage' qui fait grimper le prix des anciens matériels parfois au prix du neuf de l'époque, comme le Juno 60, d'autres matériels de la même époque ne conservent pas la même côte d'amour. Je laisserai de côté le débat numérique/analogique. Sur le site Audiofanzine, cette Yamaha REV5 est donnée pour un prix inférieur à 150€ d'occasion, entendu en état de fonctionnement.
A titre d'exemple, voici le graphe d'évolution du prix d'un JUNO 60 ces 10 dernières années :
Globalement, un prix multiplié par 3 en neuf ans pour en arriver à peu près au prix de vente de US$1795 en 1982. Le tout sans aucune garantie, évidemment, et surtout sans plus aucune source d'approvisionnement des composants en cas de problème. Il existe heureusement sur la planète (merci à la mondialisation heureuse) des personnes en mesure de re-fabriquer des composants identiques, ou compatibles.
J'ai donc acquis cette REV5 à prix très modique avec, comme indication de panne, plus aucune sortie de l'effet. La sortie du signal direct fonctionnant, quant à elle, très bien. Cette machine possédait donc la partie effet en panne.
Un effet numérique, ça n'est pas bien compliqué en théorie. Cela commence toujours par une conversion du signal audio analogique en numérique, puis exploitation des signaux numérique par un DSP fournissant les différents effets, puis, retour dans le monde analogique grâce à un convertisseur audio numérique vers audio analogique. Quand un effet ne fonctionne plus, c'est une de ces trois parties qui pose problème. Inutile de préciser qu'il vaut mieux que ce ne soit pas la partie DSP car équipée de composants Yamaha très spécifiques. On retrouve fort heureusement le schéma de principe de cette machine sur le NET :
Je fais un raccourci et n'expose que la partie intéressante de cette électronique. Hormis la partie DSP de cette REV5, le gros travail de la conversion est effectué par le circuit intégré IC124 de marque Yamaha et estampillé YM3901 : pas très rassurant de prime abord. Si ce composant est planté, il faudra en retrouver un et le remplacer. C'est du cms donc pas très aisé à dessouder.
Le rôle de ce YM3901 est très simple : il échantillonne le signal audio analogique en entrée et fourni les signaux numériques correspondant à la carte DSP. Il fournit aussi les signaux d'horloge au convertisseur de sortie, celui qui reconverti les signaux audio numériques en signaux audio analogiques, travail effectué par un PCM56P référence IC108. Le signal de donnée de ce PCM56P arrive directement de la carte DSP. Pour en revenir au gros circuit YM3901, le chef d'orchestre du traitement numérique/analogique, celui-ci s'occupe aussi du réglage automatique de l'offset ainsi que de la génération volontaire de bruit, dans le but de l'éliminer plus facilement par la suite, voir l'article Wikipédia sur la technique du Dither.
Le premier travail a donc consisté à sonder à l'oscilloscope les signaux de ce circuit YM3901. Tout semblait bien se passer, donc puisque l'effet ne fonctionne pas, partons de la fin du processus et regardons ce qui se passe à la sortie du convertisseur audio numérique vers analogique : rien! C'est un bon début. Les signaux de contrôle arrivent pourtant bien à ce circuit. Alors? son alimentation de -5V est à -3,2V. IC113, un simple régulateur -5V de type 79L05 serait en cause? Dessoudage puis test :
Voilà ce que donne ce régulateur négatif de 5V simplement alimenté. Il suffit de regarder ce qui se passe sur l'alimentation de laboratoire pour confirmer le diagnostic :
Alimenté en -12V, le régulateur consomme les 300mA programmés sur l'alimentation avec comme corollaire une chute de tension de plus de 10V de la tension d'entrée : le circuit est en court-circuit!
Remplacement du régulateur sur le circuit imprimé de cette REV5 et nouveaux tests : pas mieux.
A ce stade, cela devient carrément embêtant. Un régulateur neuf donne le même résultat que l'ancien, une fois la machine mise sous tension. Forcément, cela ne se passe pas bien derrière. Un composant dysfonctionne, mais lequel? Une capture d'écran à la caméra thermique dès l'ouverture de la machine ne m'avait pas permis d'identifier un point chaud suspect. Et c'est logique!
Petite astuce : le régulateur devant fournir le -5 V est alimenté en -12V. Pour évacuer la chaleur dégagée par la chute de tension, et comme le boîtier de ce régulateur n'est pas fait pour chauffer, et bien les ingénieurs de Yamaha ont placé une résistance de puissance juste devant le régulateur négatif. Et c'est elle qui chauffe, c'est une 150Ohms de 1W notée R295, en gros boitier, prévu pour évacuer une certaine chaleur. A l'aide de la caméra thermique, j'avais bien vu que cette résistance était légèrement chaude, mais pas de façon excessive, et après tout, elle est prévu pour cela!
Que faire maintenant? Le plus simple, enlever du circuit imprimé le composant le moins compliqué à dessouder et relié au -5V : Le convertisseur PCM56P justement. Il est au format DIP16 donc en principe facilement dessoudable. La belle erreur!!! Non seulement les pattes de ce PCM56P ressemblent à du Chamallow, mais le circuit imprimé, bien qu'en verre époxy se comporte comme du papier phénolique. Il me semble que je n'ai jamais effectué le retrait d'un simple circuit comme ce PCM dans de telles conditions. Le résultat : des pistes coupées et même des pastilles du circuit intégré décollées, bien qu'en double face à trous métallisés. Pour moi c'est du jamais vu!
J'étais à deux doigts de me résigner à confier cette machine aux bons soins de la benne à déchets électroniques... Mais au dernier moment, j'ai décidé de tenter quand même le coup, sachant que cela allait me demander un certain temps de bricolage. J'ai donc placé un support de circuits intégré :
Et y ai placé un PCM56P tout neuf. Il y a quelques années de cela, je m'étais amusé à contrôler plusieurs exemplaire de ce circuit à l'aide de FPGA. J'avais donc conservé une petite poignée de ces PCM :
Une chance parce que je ne sais pas ou j'aurais pu trouver ce type de circuits aujourd'hui. Internet est une bonne source de recherche, mais l'on tombe souvent sur de faux composants vendus par des personnes absolument pas scrupuleuses!
Voici à quoi ressemble la machine, une fois l'opération effectuée :
On y aperçoit le PCM56P juste au centre de l'image.
Et bien évidemment, il m'a fallu refaire les pistes coupées, et palier l'absence de pastilles sur certaines pattes du support de circuit :
En fait, cela ne m'a pas pris autant de temps que je me l'imaginais. Une petite heure de travail en tout et le circuit était correctement relié aux différentes pistes. Et cette fois, le test de la tension négative au multimètre me donnait bien -5V.
Je suis passé rapidement aux tests audio pour valider le bon fonctionnement de l'effet. Ce qui a été confirmé dès le raccordement de la machine à une source analogique. Restait cependant quelques petits soucis à régler comme ce problème d'affichage :
Ça recommence!!! Après le même type de problème sur le MKS30, me voilà de nouveau avec un potentiel problème d'afficheur à remplacer. Heureusement, après vérification de la petite carte support de cet afficheur, et quelques tests de diode au multimètre, il est vite apparu que c'était un problème de VIA corrodé qui générait le problème :
J'ai déjà rencontré ce genre de problème lors du dépannage d'un lecteur CD de marque Cyrus, mais sur ce lecteur c'était compréhensible étant donné le liquide noirâtre potentiellement corrosif que j'avais retrouvé sous le composant. Ici, rien de tout cela. Je n'ai vraiment aucune explication. Bref, me voilà à de nouveau faire de la couture de fil électrique :
Dépannage facile, au résultat attendu :
Avec le commentaire facile qui va avec : c'est mieux comme cela!
Me voilà arrivé au bout de la remise en état de cette REV5. Il ne reste plus qu'à remonter le boîtier tout en remplaçant les quelques vis abimées présentes deci-delà dans la machine, preuve qu'elle a déjà été démontée à plusieurs reprises :
J'en ai aussi profité pour dépoussiérer l'intérieur et nettoyer la face avant, une fois retirée.
Le remontage final nous donne ceci :
Conclusion : je ne sais pas si cette machine à un son 'vintage', mais toujours est-il qu'elle sonne vraiment bien. Qu'elle est facile d'accès et finalement plutôt robuste étant donné son âge, les stigmates du boitier, signe de quantité de déplacements, et la présence de circuits imprimés en papier phénoliques.
Il serait peut-être bon que je me décide à m'équiper d'un fer à air chaud pour déssouder de façon plus adéquate les circuits intégrés.
Je pourrais aussi peut-être m'équiper d'une petite caméra pour réaliser des vidéos avec le son, parce que la photo, ça n'est pas très parlant pour se faire une idée du fonctionnement, ou pas, d'un matériel audio!
Au delà de la 'mode vintage' qui fait grimper le prix des anciens matériels parfois au prix du neuf de l'époque, comme le Juno 60, d'autres matériels de la même époque ne conservent pas la même côte d'amour. Je laisserai de côté le débat numérique/analogique. Sur le site Audiofanzine, cette Yamaha REV5 est donnée pour un prix inférieur à 150€ d'occasion, entendu en état de fonctionnement.
A titre d'exemple, voici le graphe d'évolution du prix d'un JUNO 60 ces 10 dernières années :
https://fr.audiofanzine.com/synthe-analogique/roland/JUNO-60/a.argus.html |
J'ai donc acquis cette REV5 à prix très modique avec, comme indication de panne, plus aucune sortie de l'effet. La sortie du signal direct fonctionnant, quant à elle, très bien. Cette machine possédait donc la partie effet en panne.
Un effet numérique, ça n'est pas bien compliqué en théorie. Cela commence toujours par une conversion du signal audio analogique en numérique, puis exploitation des signaux numérique par un DSP fournissant les différents effets, puis, retour dans le monde analogique grâce à un convertisseur audio numérique vers audio analogique. Quand un effet ne fonctionne plus, c'est une de ces trois parties qui pose problème. Inutile de préciser qu'il vaut mieux que ce ne soit pas la partie DSP car équipée de composants Yamaha très spécifiques. On retrouve fort heureusement le schéma de principe de cette machine sur le NET :
Je fais un raccourci et n'expose que la partie intéressante de cette électronique. Hormis la partie DSP de cette REV5, le gros travail de la conversion est effectué par le circuit intégré IC124 de marque Yamaha et estampillé YM3901 : pas très rassurant de prime abord. Si ce composant est planté, il faudra en retrouver un et le remplacer. C'est du cms donc pas très aisé à dessouder.
Le rôle de ce YM3901 est très simple : il échantillonne le signal audio analogique en entrée et fourni les signaux numériques correspondant à la carte DSP. Il fournit aussi les signaux d'horloge au convertisseur de sortie, celui qui reconverti les signaux audio numériques en signaux audio analogiques, travail effectué par un PCM56P référence IC108. Le signal de donnée de ce PCM56P arrive directement de la carte DSP. Pour en revenir au gros circuit YM3901, le chef d'orchestre du traitement numérique/analogique, celui-ci s'occupe aussi du réglage automatique de l'offset ainsi que de la génération volontaire de bruit, dans le but de l'éliminer plus facilement par la suite, voir l'article Wikipédia sur la technique du Dither.
Le premier travail a donc consisté à sonder à l'oscilloscope les signaux de ce circuit YM3901. Tout semblait bien se passer, donc puisque l'effet ne fonctionne pas, partons de la fin du processus et regardons ce qui se passe à la sortie du convertisseur audio numérique vers analogique : rien! C'est un bon début. Les signaux de contrôle arrivent pourtant bien à ce circuit. Alors? son alimentation de -5V est à -3,2V. IC113, un simple régulateur -5V de type 79L05 serait en cause? Dessoudage puis test :
Voilà ce que donne ce régulateur négatif de 5V simplement alimenté. Il suffit de regarder ce qui se passe sur l'alimentation de laboratoire pour confirmer le diagnostic :
Alimenté en -12V, le régulateur consomme les 300mA programmés sur l'alimentation avec comme corollaire une chute de tension de plus de 10V de la tension d'entrée : le circuit est en court-circuit!
Remplacement du régulateur sur le circuit imprimé de cette REV5 et nouveaux tests : pas mieux.
A ce stade, cela devient carrément embêtant. Un régulateur neuf donne le même résultat que l'ancien, une fois la machine mise sous tension. Forcément, cela ne se passe pas bien derrière. Un composant dysfonctionne, mais lequel? Une capture d'écran à la caméra thermique dès l'ouverture de la machine ne m'avait pas permis d'identifier un point chaud suspect. Et c'est logique!
Petite astuce : le régulateur devant fournir le -5 V est alimenté en -12V. Pour évacuer la chaleur dégagée par la chute de tension, et comme le boîtier de ce régulateur n'est pas fait pour chauffer, et bien les ingénieurs de Yamaha ont placé une résistance de puissance juste devant le régulateur négatif. Et c'est elle qui chauffe, c'est une 150Ohms de 1W notée R295, en gros boitier, prévu pour évacuer une certaine chaleur. A l'aide de la caméra thermique, j'avais bien vu que cette résistance était légèrement chaude, mais pas de façon excessive, et après tout, elle est prévu pour cela!
Que faire maintenant? Le plus simple, enlever du circuit imprimé le composant le moins compliqué à dessouder et relié au -5V : Le convertisseur PCM56P justement. Il est au format DIP16 donc en principe facilement dessoudable. La belle erreur!!! Non seulement les pattes de ce PCM56P ressemblent à du Chamallow, mais le circuit imprimé, bien qu'en verre époxy se comporte comme du papier phénolique. Il me semble que je n'ai jamais effectué le retrait d'un simple circuit comme ce PCM dans de telles conditions. Le résultat : des pistes coupées et même des pastilles du circuit intégré décollées, bien qu'en double face à trous métallisés. Pour moi c'est du jamais vu!
J'étais à deux doigts de me résigner à confier cette machine aux bons soins de la benne à déchets électroniques... Mais au dernier moment, j'ai décidé de tenter quand même le coup, sachant que cela allait me demander un certain temps de bricolage. J'ai donc placé un support de circuits intégré :
Et y ai placé un PCM56P tout neuf. Il y a quelques années de cela, je m'étais amusé à contrôler plusieurs exemplaire de ce circuit à l'aide de FPGA. J'avais donc conservé une petite poignée de ces PCM :
Une chance parce que je ne sais pas ou j'aurais pu trouver ce type de circuits aujourd'hui. Internet est une bonne source de recherche, mais l'on tombe souvent sur de faux composants vendus par des personnes absolument pas scrupuleuses!
Voici à quoi ressemble la machine, une fois l'opération effectuée :
On y aperçoit le PCM56P juste au centre de l'image.
Et bien évidemment, il m'a fallu refaire les pistes coupées, et palier l'absence de pastilles sur certaines pattes du support de circuit :
En fait, cela ne m'a pas pris autant de temps que je me l'imaginais. Une petite heure de travail en tout et le circuit était correctement relié aux différentes pistes. Et cette fois, le test de la tension négative au multimètre me donnait bien -5V.
Je suis passé rapidement aux tests audio pour valider le bon fonctionnement de l'effet. Ce qui a été confirmé dès le raccordement de la machine à une source analogique. Restait cependant quelques petits soucis à régler comme ce problème d'affichage :
Ça recommence!!! Après le même type de problème sur le MKS30, me voilà de nouveau avec un potentiel problème d'afficheur à remplacer. Heureusement, après vérification de la petite carte support de cet afficheur, et quelques tests de diode au multimètre, il est vite apparu que c'était un problème de VIA corrodé qui générait le problème :
J'ai déjà rencontré ce genre de problème lors du dépannage d'un lecteur CD de marque Cyrus, mais sur ce lecteur c'était compréhensible étant donné le liquide noirâtre potentiellement corrosif que j'avais retrouvé sous le composant. Ici, rien de tout cela. Je n'ai vraiment aucune explication. Bref, me voilà à de nouveau faire de la couture de fil électrique :
Dépannage facile, au résultat attendu :
Avec le commentaire facile qui va avec : c'est mieux comme cela!
Me voilà arrivé au bout de la remise en état de cette REV5. Il ne reste plus qu'à remonter le boîtier tout en remplaçant les quelques vis abimées présentes deci-delà dans la machine, preuve qu'elle a déjà été démontée à plusieurs reprises :
J'en ai aussi profité pour dépoussiérer l'intérieur et nettoyer la face avant, une fois retirée.
Le remontage final nous donne ceci :
Conclusion : je ne sais pas si cette machine à un son 'vintage', mais toujours est-il qu'elle sonne vraiment bien. Qu'elle est facile d'accès et finalement plutôt robuste étant donné son âge, les stigmates du boitier, signe de quantité de déplacements, et la présence de circuits imprimés en papier phénoliques.
Il serait peut-être bon que je me décide à m'équiper d'un fer à air chaud pour déssouder de façon plus adéquate les circuits intégrés.
Je pourrais aussi peut-être m'équiper d'une petite caméra pour réaliser des vidéos avec le son, parce que la photo, ça n'est pas très parlant pour se faire une idée du fonctionnement, ou pas, d'un matériel audio!
vendredi 5 octobre 2018
Drumulator : carte WAVE ROM
Faisant suite au petit dépannage récent d'une Drumulator, j'ai pu constater que l'échange d'EPROM de sons n'était pas une opération spécialement triviale à effectuer par une personne non habituée à ce genre de 'bricolage'. Avec comme inconvénient majeur un fort potentiel de détérioration des EPROM, notamment de patte cassée.
Il existait bien à l'époque des cartes d'extensions prévues pour accueillir un certain nombre de set de ROM. Ces cartes ne sont plus fabriquées, et étaient souvent de grosses extensions pas obligatoirement faciles à installer.
En prenant en compte le fait que les supports de circuits installés à l'origine dans la Drumulator ne sont pas prévus pour subir régulièrement des changements de composants, qu'avec le temps les contacts se sont dégradés, j'ai pensé qu'il pouvait être utile de proposer une solution un peu plus moderne.
Le concept est simple : je propose donc un petit circuit imprimé prenant la place de certains des supports d'origine. Ce circuit acceptera deux PROMs contenant chacune un set STANDARD de sons pouvant être sélectionnés par un interrupteur. Pour l'instant donc, pas de sons au format ésotérique susceptible de réclamer une version adaptée de la ROM programme. Cette option verra peut-être le jour plus tard.
Voici ce à quoi devrait ressembler le circuit imprimé de la nouvelle solution :
Avant de lancer la production de ce petit circuit imprimé, il me faut vérifier techniquement que mon calcul d'espace des connecteurs est le bon. La carte ne devrait prendre que la place de trois supports d'origine sur les quatre.
D'autre part, les quatre ROMs seront condensées en une seule ce qui diminuera donc par quatre le risque de détérioration des composants. J'ai aussi réservé un peu plus d'espace pour un des supports qui pourra être de type ZIF ;
Ce support ZIF devrait grandement faciliter le changement de set de sons. Le deuxième support sera un simple support, mais de qualité, qui recevra par exemple une copie des sons de base de la Drumulator.
Les quatre ROM nécessaires pour chaque set de sons...
...seront remplacées par une seule ROM de type 27512 :
Je continuerai ce billet au fur et à mesure de la réalisation de ce montage.
N'hésitez pas à m'envoyer vos commentaires au sujet de cette réalisation :
Situation réelle rencontrée. |
Extention JLCOOPER de l'époque. |
En prenant en compte le fait que les supports de circuits installés à l'origine dans la Drumulator ne sont pas prévus pour subir régulièrement des changements de composants, qu'avec le temps les contacts se sont dégradés, j'ai pensé qu'il pouvait être utile de proposer une solution un peu plus moderne.
Le concept est simple : je propose donc un petit circuit imprimé prenant la place de certains des supports d'origine. Ce circuit acceptera deux PROMs contenant chacune un set STANDARD de sons pouvant être sélectionnés par un interrupteur. Pour l'instant donc, pas de sons au format ésotérique susceptible de réclamer une version adaptée de la ROM programme. Cette option verra peut-être le jour plus tard.
Voici ce à quoi devrait ressembler le circuit imprimé de la nouvelle solution :
Les deux faces du support d'EPROMs |
D'autre part, les quatre ROMs seront condensées en une seule ce qui diminuera donc par quatre le risque de détérioration des composants. J'ai aussi réservé un peu plus d'espace pour un des supports qui pourra être de type ZIF ;
Support ZIF |
Ce support ZIF devrait grandement faciliter le changement de set de sons. Le deuxième support sera un simple support, mais de qualité, qui recevra par exemple une copie des sons de base de la Drumulator.
Les quatre ROM nécessaires pour chaque set de sons...
...seront remplacées par une seule ROM de type 27512 :
Je continuerai ce billet au fur et à mesure de la réalisation de ce montage.
N'hésitez pas à m'envoyer vos commentaires au sujet de cette réalisation :
jeudi 4 octobre 2018
Neo-Retrocomputing...
Ou comment faire de la même façon que ce que l'on fait depuis des années, mais avec du matériel récent. Je possède une carte HiFive1 depuis quelques mois sans pour l'instant avoir pris la peine d'essayer de la programmer.
L'intérêt de cette carte de développement est qu'elle est basée sur un processeur Freedom E310. Bon, me direz-vous. Cela n'est pas faux. En fait c'est du RISC-V, un jeu d'instruction libre, c'est à dire qu'il peut être copié et implémenté à peu près ou l'on souhaite, donc dans du FPGA. Sur la carte HiFive, c'est une version 32 bits qui tourne à plus de 300MHz. Le tout dans un boitier dont la surface occupée correspond à peu près à celle d'un ATmega328p qui équipe les cartes Arduino, du 8 bits à 16MHz donc. Pour fonctionner ce petit processeur E310 à besoin d'une mémoire externe de programme. Sur la carte, c'est à une EEPROM qu'est dévolu ce rôle.
Le programme chargé dans la carte se contente de faire varier la couleur d'une LED RGB. C'est joli, ça prouve que ça fonctionne et... rien de plus. Il était donc temps d'au moins tester une suite de développement dédiée à ce type de processeur. Ça tombe bien, SiFive propose directement la suite Eclipse avec compilateur adapté. A remarquer que pour une fois, cette suite est fournie sans installation. On télécharge l'application, on 'click' sur l'exécutable et c'est prêt! Rien à voir avec d'autres fournisseurs dont la mise en place de la solution de développement requiert à elle seule une équipe de plusieurs personnes pendant un certain nombre d'heure...
Le test qui 'tue' : charger l'application en mode Debug, et effectuer une séance de débogage. Et bien, mis à part une ou deux étranges subtilités de la suite Eclipse fournie par SiFive, le test est rapide à mener et s'avère de suite concluant :
Alors non seulement ça fonctionne, mais en plus c'est rapide. Pour mes tests, j'ai utilisé un PC équipé d'un ancien processeur Core 2 Duo à 3GHz (un E7500) et de 4Go de mémoire sous Windows 7/64. Muni d'un SSD, la machine est suffisamment véloce pour une utilisation confortable de la suite logicielle. Point besoin donc d'un octo-core à 4 GHz, de 128Go de ram, et de l'infâme Windows 10!
Comme le système fonctionne, je suis allé au bout du concept et ai répondu favorablement à la question posée par les développeurs de chez SiFive :
D'autres exemples sont fournis par SiFive. Cette solution matérielle et logicielle semble donc facile à utiliser, tout du moins aussi facile qu'une carte Arduino. Je vais d'ailleurs effectuer des tests personnels avec les périphériques embarqués afin d'en savoir un peu plus sur ce processeur.
A noter qu'il existe aussi une 'distribution' Arduino pour cette carte mais uniquement utilisable sous Linux, le compilateur utilisable par le système Arduino ne semble pas être, pour l'heure, disponible sous Windows.
https://www.sifive.com/boards |
L'intérêt de cette carte de développement est qu'elle est basée sur un processeur Freedom E310. Bon, me direz-vous. Cela n'est pas faux. En fait c'est du RISC-V, un jeu d'instruction libre, c'est à dire qu'il peut être copié et implémenté à peu près ou l'on souhaite, donc dans du FPGA. Sur la carte HiFive, c'est une version 32 bits qui tourne à plus de 300MHz. Le tout dans un boitier dont la surface occupée correspond à peu près à celle d'un ATmega328p qui équipe les cartes Arduino, du 8 bits à 16MHz donc. Pour fonctionner ce petit processeur E310 à besoin d'une mémoire externe de programme. Sur la carte, c'est à une EEPROM qu'est dévolu ce rôle.
Le programme chargé dans la carte se contente de faire varier la couleur d'une LED RGB. C'est joli, ça prouve que ça fonctionne et... rien de plus. Il était donc temps d'au moins tester une suite de développement dédiée à ce type de processeur. Ça tombe bien, SiFive propose directement la suite Eclipse avec compilateur adapté. A remarquer que pour une fois, cette suite est fournie sans installation. On télécharge l'application, on 'click' sur l'exécutable et c'est prêt! Rien à voir avec d'autres fournisseurs dont la mise en place de la solution de développement requiert à elle seule une équipe de plusieurs personnes pendant un certain nombre d'heure...
Le test qui 'tue' : charger l'application en mode Debug, et effectuer une séance de débogage. Et bien, mis à part une ou deux étranges subtilités de la suite Eclipse fournie par SiFive, le test est rapide à mener et s'avère de suite concluant :
Alors non seulement ça fonctionne, mais en plus c'est rapide. Pour mes tests, j'ai utilisé un PC équipé d'un ancien processeur Core 2 Duo à 3GHz (un E7500) et de 4Go de mémoire sous Windows 7/64. Muni d'un SSD, la machine est suffisamment véloce pour une utilisation confortable de la suite logicielle. Point besoin donc d'un octo-core à 4 GHz, de 128Go de ram, et de l'infâme Windows 10!
Comme le système fonctionne, je suis allé au bout du concept et ai répondu favorablement à la question posée par les développeurs de chez SiFive :
D'autres exemples sont fournis par SiFive. Cette solution matérielle et logicielle semble donc facile à utiliser, tout du moins aussi facile qu'une carte Arduino. Je vais d'ailleurs effectuer des tests personnels avec les périphériques embarqués afin d'en savoir un peu plus sur ce processeur.
A noter qu'il existe aussi une 'distribution' Arduino pour cette carte mais uniquement utilisable sous Linux, le compilateur utilisable par le système Arduino ne semble pas être, pour l'heure, disponible sous Windows.
Inscription à :
Articles (Atom)