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!

Aucun commentaire:

Enregistrer un commentaire