Attention : nouvelle adresse mail depuis novembre 2017. Ne plus utiliser l'ancienne hébergée chez Yahoo!

vendredi 28 novembre 2014

NVSRAM : Sauvegarde des mémoires programme des synthétiseurs vintages et autres antiques Breloques électroniques (bis)...

La raison de ce (bis) dans le titre, est que j'ai tenté de répondre à ce problème il y a déjà quelques mois sans vraiment y parvenir du fait d'un choix technologique un tantinet inadapté : tentative. La machine destinataire de cette étude est le JX3P :

Pour ce premier essai, j'avais décidé d'utiliser un circuit mémoire spécial qui conserve ses données même en l'absence de tension d'alimentation : une FRAM.

Le problème est que ces composants ne sont disponibles qu'en tension d'alimentation de 3,3V max, ce qui les rend inutilisables dans les anciennes machines fonctionnant en 5V. Une adaptation importante des signaux doit donc être effectuée. Or, même en ne considérant que le bus de données, on en arrive vite à un circuit difficile à faire tenir sur une empreinte mémoire de type 61256.

Version à composant FRAM.
Et cela, sans même avoir traité la protection en écriture de la mémoire lors de la coupure d'alimentation du système. Dans ces conditions, essayer de produire l'équivalent d'une RAM de 2Ko de style 6116 avec de la FRAM n'est tout simplement pas raisonnable.

J'ai donc tenté de trouver une solution plus adéquate à mon problème. Et vous l'avez bien compris, si j'écris ce billet, c'est que j'ai trouvé. Effectivement, une mémoire capable de se comporter comme une SRAM standard, de fonctionner en 5V et qui gère sa protection en écriture, ça existe.

En fait, il s'agit d'un composant possédant deux mémoires dans le même boîtier. Une SRAM standard et une mémoire non volatile de même taille. On perçoit de suite le fonctionnement : il suffit de recopier la SRAM dans la partie non volatile et le tour est joué. Effectivement! Le plus fort, c'est que c'est le composant lui-même qui se charge de cette opération. Il le fait dès qu'il détecte une chute de tension de son alimentation. Dans ce cas, un condensateur de sauvegarde lui laisse le temps d'effectuer la copie. Cette opération ne s'exécute pas de façon séquentielle, mais cellule par cellule, simultanément. Le condensateur est donc nécessaire, non seulement pour permettre à la mémoire d'avoir le temps d'effectuer sa sauvegarde, mais surtout pour fournir l'énergie réclamée lors de cette opération consistant à copier simultanément des milliers de cellules EEPROM ou FLASH, peu importe la technologie non volatile employée. L'utilisation d'un tel composant permet une simplification très appréciable du circuit de substitution de SRAM conventionnelle :

Abstract :  Since a long time, I wanted to find a solution to replace the SRAM with the backup battery present in a lot of gears like many old synthesizers of the 80s, to store the internals patchs. Until now, there were a component that could done the job, the FRAM memories. But at this time, this type of memories do not accept a power voltage greater than 3,3V, that is not compatible with the 5V power supply of this old gears.

So, I tried to make a board to convert all the signals needed by the FRAM memories, from the synthesizer I wanted to equiped with. But finally, it appears to be to difficult to realize this task on a board that fit exactly à SRAM 6116 footprint. Recently I founded a component that operates at 5V and can backup its datas without any external special operation. In fact, this type of memorie contains two pages of memories : on page is a standard SRAM, the other is a NON-VOLATILE memorie intended to backup automaticly the SRAM portion of the circuit. And the best : This circuit operates at 5V!
I juste made an adaptator board that contains all the necessary componants for this new SRAM to work corectly at the original place of the 6116 SRAM.
And it works fine! I removed the backup battery, I loaded the free patchs bank with my saved patchs and the JX works as usual, but without battery : Fantastic...
I have to do this job for a 8 or 32K SRAM, that is just the same type of component, and put two of them into my Prophet VS synthesizer.
Many others machines should be able to continue their job, équiped with this new solution, but without the risque of damages caused by the leak of battery...

Version à composant spécial à double banc mémoire.
Le condensateur de 100µF fournit l'énergie nécessaire lors de la coupure d'alimentation pour effectuer la copie des donnée en mémoire non volatile. Sur l'autre face du circuit imprimé, une simple résistance de 10K Ohms permet de protéger l'entrée d'écriture du circuit. Et tout cela tient aisément sur l'emplacement d'une SRAM de type 6116.

Et dans la vraie vie? Cette fois, je n'ai même pas jugé bon d'effectuer des tests sur mon terminal télémécanique, j'ai opéré directement sur la carte mère du JX3P. Pour se faire, j'ai ôté la SRAM de type 6116 de la carte, puis placé un support de circuit intégré de type tulipe. Puis enfin, inséré la SRAM non volatile dans ce support :

Tada... Cette fois, j'y ai droit!










J'ai d'abord effectué les tests de fonctionnement en ayant laissé la pile de sauvegarde en place. Cette fois, le synthétiseur s'est correctement initialisé. La demande des patchs utilisateurs se traduisant par aucun son : normal.

J'ai donc rechargé la machine avec mes patchs précédemment sauvegardés. Tout à correctement fonctionné. Le JX3P ne présentant aucune différence de fonctionnement par rapport à précédemment, j'ai donc retiré la pile de sauvegarde.
Au rallumage du JX, les patchs utilisateurs étaient toujours présents. Par la suite, j'ai effectué des modifications de patchs et ai pu valider quelles étaient correctement sauvegardées à l'extinction de la machine.

Pour finir, j'ai du adapter quelque peu le remontage de la carte mère du JX. En effet, le 'sandwich' constitué du support de circuit intégré et de ma nouvelle SRAM non volatile ne passait plus sous les touches du clavier. J'ai donc changé tous les supports en plastic blanc de la carte du JX par des modèles plus étroits tout en vérifiant que la face 'soudure' de cette carte n'entrait pas en conctact avec la feuille métallique collée sur la caisse du synthé. Et voilà!

Fini les risques de fuite de pile de sauvegarde et de perte de données : tout simplement!

La suite? Une version 6264 de type 8Ko, qui sera en fait une 61256 de 32Ko. J'ai un Prophet VS qui n'attend que ça!

mardi 25 novembre 2014

Arithmeum

Hum... Titre de billet étrange, non? Il s'agit en fait d'un musée des mathématiques se situant à Bonn, le Wiki de cet établissement se trouve à cet endroit. Pour être plus précis, ce musée ne concerne qu'une petite partie du bâtiment dans lequel il se trouve, bâtiment hébergeant un institut de mathématique de l'Université de Bonn.

Source Wikipedia.
Que trouve-t-on dans ce musée? Des machines à calculer, diverses et variées, pratiquement depuis les origines de la création des ces outils d'aide au calcul. Je ne vais pas exposer ici ce qu'il est possible d'y voir, le mieux étant de se rendre dans cet endroit à l'occasion d'un déplacement dans cette très jolie ancienne capitale allemande. Les informations de l'établissement, en Allemand uniquement, se trouvent sur ce site. De magnifiques pièces mécaniques y sont exposées, comme celle-ci :

Source :Arithmeum © Foto: Michael Sondermann/Bundesstadt Bonn
Information : Je n'ai pas demandé à l'auteur de cette image, Michael Sondermann, l'autorisation de sa publication, bien que celle-ci soit publique puisque publiée sur le site du Musée. 

Après quelques salles de tailles diverses comportant quelques rares et magnifiques spécimens de calculatrices manuelles et automatiques, en bois en métal ou en carton, on accède à une salle très grande ou se concentre une multitude de représentantes de la 'calculatrice' telle qu'on la conçoit aujourd'hui. C'est à dire avec un clavier et un dispositif d'affichage, à 'propulsion' manuelle ou électrique, totalement mécaniques, à relais, à tubes, à transistors et enfin à processeurs.

Une superbe remontée dans le temps sur plusieurs siècles...

Informations (bis). Je publie quelques photos prises à l'occasion de ma visite de ce musée. Elles concernent les machines électriques, bien évidemment. Elles ont la qualité qu'elles ont. Je ne suis pas un professionnel de la photographie. Je n'ai demandé aucune autorisation au musée pour cette publication qui se fait de façon tout à fait gratuite.

Et pour commencer dans le symbolique :


Dans un 'mode' plus chronologique, j'ai trouvé une machine comportant des tubes électroniques, je n'ai pas noté le fabriquant, juste pour la curiosité de la construction :



J'ai recherché des machines à transistors, mais n'ai rien trouvé de vraiment parlant. En fait, la première machine que je qualifierais d'électronique telle qu'on s'imagine être une calculatrice aujourd'hui, est la 'fameuse' Busicom 141-PR. Et je l'avoue, je ne m'attendais pas à 'tomber' sur cette pièce de musée dont je n'avais vu que des représentations jusqu'à aujourd'hui! Sans doute la raison principale qui m'a incité à publier ce petit billet...


Le 'dessous des cartes' :

Distorsion du bord droit de la carte du à la paroi acrylique.
Détail de la carte mère de la machine. Un processeur 4004 pour de vrai!

Même problème sur le bord droit de la carte.
Pour plus d'informations techniques sur cette machine, il est possible de se rendre sur le site de Vintagecalculators.com ou une description matérielle précise de l'appareil est réalisée avec une superbe explication de texte concernant la carte mère dont je publie l'image :

http://www.vintagecalculators.com/html/busicom_141-pf.html
La carte comporte :
  • 4 circuits 4001 : ROM (256 octets par boîtier soit 1K octets total de mémoire programme)
  • 2 circuits 4002 : RAM (40 octets par boîtier soit 80 octets total de mémoire de données)
  • 3 circuits 4003 : registre à décalage (registre à décalage 10 bits)
  • 1 circuit  4001 : Microprocesseur 4 bits
Et pour terminer sur cette calculatrice, un gros plan de la carte mère, avec les effets indésirés de distorsion dus à la protection en plastique de la machine, qui semble être une version différente de la carte d'origine. On y remarque en effet quelques liaisons filaires câblées en l'air, ainsi qu'un circuit supplémentaire, un 4001. Ce circuit fournissant 256 octets d'espace mémoire de programme supplémentaire, on peut supposer que certaines fonctions ont été améliorées au fil du temps, ou aussi ajoutées afin d'apporter de nouvelles fonctionnalités à la machine de base :


Afin de replacer quelque peu la performance de cette Busicom dans le contexte de l'époque, voici ce à quoi pouvait ressembler un module mémoire de 64Koctets émanant d'un ordinateur IBM 360-20 sorti 6 ou 7 ans (1966) avant la sortie des puces Intel. En considérant qu'il faudrait 256 puces Intel 4002 pour arriver au même résultat, on conçoit aisément la place gagnée, la simplicité de mise en œuvre et la consommation réduite que peuvent apporter ces nouvelles puces de l'époque :


La matière première qui entre dans la fabrication des circuits intégrés et autres processeurs? Le silicium :



Il s'agit bel et bien d'une barre de silicium, celle-là même d’où, une fois débitée en tranche fines, sortiront les 'waffers' ou seront gravés toutes sortes de circuits intégrés allant des simples circuit logiques comportant quelques portes aux processeurs actuels les plus puissants.
 
Le photographe en prime!

Et pour finir, quelques images 'parlantes'...

Toujours de chez IBM, dont le soupçonne l'institution d'exposer des machines ayant servi à demeure, un superbe exemple d'unité centrale d'un S-390, ou l'art et la manière de constituer sur un support de quelques centimètres carrés le concept même d'unité centrale :


Indéniablement du grand art. Justifiant sans aucun doute les performances de la machine ainsi que son prix. Je ne peux m'empêcher de comparer cette construction d'unité centrale avec le Z1 de Conrad Zuze, entièrement mécanique, se trouvant au superbe et impressionnant musée des techniques de Berlin :

Source Wikipédia.
Dans un autre registre, la machine analytique de Charles Babbage :


Avec en bas à gauche de l'image, le portrait d'Ada de Lovelace avec laquelle Babbage semble avoir correspondu lors de la conception de sa machine sur la résolution de certains algorithmes, faisant 'considérer' Ada de Lovelace comme la toute première personne ayant développé un 'programme' pouvant être exécuté par une machine.

Un mur de machines à calculer, quasiment au sens premier du terme :


Dont une production française :


Inutile de préciser que ce musée à la thématique peut-être incongrue, mérite d'être visité. Le nombre, la variété, la technologie des machines présentées est tout simplement impressionnant. La clarté, la sobriété de la présentation, le design de l'architecture et la quiétude du lieu concourent à un moment paisible de recueillement et d'admiration face à l'inventivité créatrice... A noter qu'il est aussi possible de manipuler certaines de ces antiques pièces de très haute technologie, de l'époque!

Ce musée est impossible à rater, il se situe à l'extrémité du parc de l'Université à droite, dos à au bâtiment principal :

L'Université de Bonn. Source : Wikipédia.