lundi 23 janvier 2017

Recueil de Blogs...

Une 'espèce' de recueil de blogs (et autres) susceptibles d'informer utilement sur des sujets divers en électronique. Avec 'tentative' de classement selon les thématiques suivantes :
- Electronique
- Retro-computing
- Synthétiseurs
- Open source spécifique
- Outils de développement
- Et peut-être d'autres thématiques et/ou sous-thématiques...

Note : je ne suis pas censé vérifier la validité perpétuelle des liens. Si vous constatez des problèmes, n'hésitez pas à m'en faire part...

BLOGS ELECTRONIQUE


https://mcuoneclipse.com/

http://www.limpkin.fr/
http://andybrown.me.uk/
 https://www.barbouri.com/
https://nanode0000.wordpress.com/
 http://www.whatimade.today/
http://www.domesday86.com/

http://www.plingboot.com/
 https://liudr.wordpress.com/
 https://www.open-electronics.org/
 http://blog.svenbrauch.de/
https://twitter.com/onchipUIS/






OUTILS (LIBRES ou PAS)


http://www.ee101.com/

http://www.quantasylum.com/

 https://embeddedmicro.com/





RETRO-COMPUTING


http://thexxcelr8racademy.org/
http://www.bigmessowires.com/

http://www.8bits4ever.net/

https://endlos99.github.io/
 http://z80.info/
http://sowerbutts.com/
 http://jeelabs.org/
http://jjmz.free.fr/
https://ciernioo.wordpress.com/
 https://z80avrproject.wordpress.com/
http://calculon80.j89.se/
 http://telmomoya.blogspot.fr/
http://cpuville.com/
 http://www.ppl-pilot.com/
https://hackaday.io/
http://just8bits.blogspot.fr








https://feilipu.me/
https://www.cbmstuff.com/
https://www.youtube.com/c/terriblefire
https://www.amigalove.com




SYNTHE/REPARATION (ARTISANAL/ALTERNATIF)

http://www.crazy-patroche.com/
  http://dbwbp.com/     [synth-eprom-dumps]

 http://www.vecoven.com/
http://www.uusikaupunki.fi/
 https://jimatwood.wordpress.com/
https://janostman.wordpress.com/
http://www.deepsonic.ch/
 http://www.sector101.co.uk/
http://www.stereoping.com/


 http://www.planktonelectronics.com/

http://www.cyclone-analogic.fr/




http://puzzik.com/

DEAD LINK!
https://somasynths.com/

http://www.synthstrom.com/

http://www.squarp.net/
 http://blokas.io/
http://www.neutron-sound.com
https://grillz.narrat1ve.com
 http://www.bastl-instruments.com
http://store.kilpatrickaudio.com/

http://www.retrosynth.com/
https://tubbutec.de/
















https://github.com/ab0tj/
 http://www.mssiah.com/

  DIVERS (ARTISANAL/ALTERNATIF)


  http://www.idesignz.org/
 https://summivox.wordpress.com/
http://imgur.com/
https://github.com/
http://2x-1.net/ob/gray1/
















jeudi 19 janvier 2017

Vintage DRAM Tester (4416, 4164, 41256, 4416, 4464)

Parce que ça n'est pas simple de trouver un testeur d'anciennes RAM dynamiques à prix intéressant.

Tel pourrait être le sous-titre de ce billet.

Alive or dead?
Il m'arrive à l'occasion de réparer d'anciennes machines, que ce soit des synthétiseurs ou des ordinateurs. J'ai déjà eu quelques soucis avec un Studio 440 de Sequential Circuits à ce sujet, et, comme je souhaite dépanner une carte mère d'Apple IIE qui ne démarre pas, je me retrouve avec le même problème de test de la validité des circuits mémoire.

J'ai donc cherché sur le Net un appareil capable de répondre à mon besoin. Les deux seules alternatives aujourd'hui consistent en un appareil 'Made in China' qui coutera un prix plancher (frais de port aidant), capable de tester des 'milliers' de composants et dans lequel je n'aurai absolument aucune confiance. J'ai eu ce problème avec un programmateur d'EPROM qui ne fonctionne que sous conditions radicales!
Ou alors, je peux acheter un appareil professionnel qui fera plus sérieusement ce qu'on lui demandera, tout en proposant beaucoup plus que mes besoins de base, à un prix bien trop élevé si l'on considère le temps d'utilisation de l'appareil pour ce type de travail.

C'est l'effet 'magnétoscope' qui, rapporté au nombre de cassettes visionnées dans certaines famille, rendait l'acquisition de l'appareil d'un coup absolument exorbitant! Pour une utilisation plus 'sérieuse', d'aucun objectera que cela n'est pas tant le cout de l'appareil, mais surtout le nombre d'heures économisées qui rendent l'achat d'un tel testeur intéressant. Heu, oui, pourquoi pas. Seulement il faudrait travailler pendant un certain nombre de semaines à tester des RAM dynamiques pour rentabiliser l'achat.

Reste donc une solution, le faire soi-même :

Basic de chez Basic!!!

Cela demande un petit temps de travail, mais construit par petites tranches de temps libre, le prix d'un tel développement est insignifiant. Le cout en composants est aussi dérisoire. Il restera à développer les quelques algorithmes pour tester les différents type de boitiers RAM existants à savoir les RAM de la famille 41xxx et 44xxx (4416, 4164, 41256, 4416, 4464 etc...).

Un petit circuit imprimé devrait permettre la construction d'un appareil facile à utiliser :


Comment cela est-il censé fonctionner?

J'utilise un processeur ATMEL ATmega328. L'avantage de ce type de processeur est qu'il peut fonctionner en 5V, donc directement interfaçable avec un boitier mémoire. L'alimentation provient d'un micro-connecteur USB qui passe par un interrupteur pour permettre l'insertion du composant à tester, hors tension. Un transistor BS170 permet de ramener directement à la masse la broche 17 du support de circuit à tester dans le cas du test d'un boitier non pas à 18 mais à 16 broches comme ceux de la famille 41xx. Quatre micro-interrupteurs permettront de sélectionner le type de mémoire à tester. L'état final du test sera présenté sur les LEDs.

Le fonctionnement sera simple. On choisi le type de RAM avec les dip-switchs, on place le composant sur le support (je n'ai pas prévu de support à force d'insertion nulle), on met le montage sous tension avec le bouton poussoir, et on attend. Si la LED rouge s'allume, c'est qu'un problème aura été détecté.

Parce que quand même, quand arrive une machine avec un problème de RAM dynamique, c'est une vraie galère à détecter surtout si, comme le plus souvent, on n'a pas à disposition une banque complète du type de mémoire voulu, réputée fiable. Ce petit système devrait donc combler ce manque!

01 mars 2017 : reçu!



Il n'y à plus qu'à programmer le petit algorithme 'qui va bien'...

mardi 17 janvier 2017

E310, HiFive 1 , A2Z et open source.

Pour commencer l'année j'ai choisi de publier un petit sujet qui me tient à cœur depuis des années sur l'évolution des microprocesseurs. Évidemment la situation a bien évolué depuis les années 80 ou seuls étaient disponibles pour le 'grand public' les composants 8bits que furent les célèbres Z80, 6502, 6809, 8080, 8085, CDP1811 et j'en passe, sans oublier le 68000, icône du modernisme et de la puissance naissante de la micro-informatique.

Z80... the brave!
Depuis cet 'âge d'or', l'évolution des microprocesseurs à suivi son cours technologique et surtout commercial, en amenant toujours plus de puissance (discutable sur bien des points) certes, mais aussi et surtout sa complexité croissante, propre à exclure toute concurrence. Ne pas oublier que l'Apple 1 fût construit par deux 'amateurs' (aidés par le père de Woz) dans un garage. L'idée même, de construire aujourd'hui de la même manière une machine avec un processeur actuel n'est même pas imaginable tellement la demande en ressources humaines et en techniques sont importantes.

le mythe!
De leur côté, les circuits permettant à une équipe très restreinte de développer des appareils 'embarqués' se sont développés sous la forme de micro-contrôleurs puissants, souvent en 32 bits, tout intégrés et utilisables comme un composants logique quelconque tout à fait traditionnel. Les cartes Arduino en sont un bon exemple.

Un système bien connu, maintenant...
Entre ces deux approches il ne reste pas grand chose. Comment actuellement, tenter de réaliser une machine informatique permettant à une équipe restreinte de développer et de produire du matériel et/ou des logiciels dans un but précis? La réponse (temporaire) se présente sous la forme de la Raspberry Pi, seul 'ordinateur' au 'vrai' sens du terme, permettant des développements relativement autonomes. Mais cette solution, pour aussi pratique quelle soit, présente tout de même des inconvénients. Tout n'est pas ouvert et facilement disponible. Créer des extension matérielles avec le protocole USB par exemple, n'est pas chose évidente. Développer le driver associé non plus. Alors qu'un appareil simple, comme un programmateur d'Eprom n'a pas besoin d'une communication à 12MBits...

Un écosystème ouvert, mais en fait 'relativement' fermé quand même.
Alors je voudrais présenter deux initiatives libres qui me semblent intéressantes.

- La première concerne la mise sur silicium d'un processeur de type RISC-V. De la même façon que Microchip fabrique ses PIC sur des instructions de type MIPS, SiFive propose aujourd'hui un microcontrôleurs basés sur les instructions RISC-V, le SiFive E31: https://www.sifive.com/
 

L’initiative me semble intéressante à un moment ou le nombre de fabricants de composants de ce type se restreint (surtout à l'occident). Voir les différents rapprochements de grandes entreprises ces dernières années, comme l’absorption d'Atmel par Microchip, pour peut-être les plus connus...

Comme il est intéressant de 'sponsoriser' ce type d'initiative, j'ai commandé et reçu en ce début d'année, la carte HiFive1 :

En direct des U.S.A. (pré-Trump!)

Pour l'instant je n'ai rien tenté en programmation sur cette plateforme. Je me suis contenté de la connecter au 5V et de constater le bon déroulement du programme de démonstrations qui consiste à faire varier la couleur de la LED multi-couleur à l'extrême droite de la carte, bleue au moment de la prise de photo.

Le coût d'une telle carte est faible, vendue actuellement (01/2016)  59$ sur le site de Sifive. Quelles pourraient être les raisons de s'informer (voir plus) sur ce type de produit? J'en vois plusieurs.
  • L'attrait de la nouveauté.
  • Une rapidité importante d’exécution des instructions, avec une fréquence d'environ 320MHz.
  • Une alternative aux produits 'standards' pratiquement imposés du fait de la raréfaction de la concurrence.
  • La disponibilité en open source du 'core' IP du processeur, permettant son implantation en FPGA.
A contrario, les outils de développement en sont au stade plutôt artisanal pour l'instant. Mais bon, si je compare les offres actuelles, j'ai essayé les ARM de chez ST les PIC32 et les Atmels, et bien force est de constater qu'il a fallu attendre 2010 largement passé pour avoir des outils fonctionnels de développement et de débogage temps réel. Et encore, sur des PC puissants. Que dire de Zilog avec ses Z8F qui fonctionnent depuis le début des années 90 avec un logiciel de développement propriétaire tout léger, équipé d'une interface de débogage en temps réel sur un seul fil. Le seuls problème de ces circuit Zilog est leur manque patent de mémoire RAM qui les rend non concurrentiels face à leur compétiteurs, même si le temps de développement avec ces circuits reste aujourd'hui encore bien plus faible et efficace qu'avec les autres architectures.

Une carte de développement Z8F développée à l'époque, que j'utilise toujours.
-  La deuxième initiative est elle aussi très intéressantes et émane de Guillaume (f4hdk). Elle concerne la création d'un ordinateur compatible avec... rien! En fait, l'auteur à démarré son projet comme 'simple' idée d'étude et de découverte ayant pour but l’apprentissage 'concrète' du numérique. Le résultat final est quand même une machine fonctionnelle. Pour l'instant au stade 'embryonnaire' mais avec des caractéristiques très intéressantes, dont l'évidente possibilité d'évolution. En effet, si pour l'instant le processeur créé semble assez peu performant (ceci reste relatif), le fait qu'il soit open et que des contraintes de compatibilités n'aient pas dirigé l'étude le rend propice aux développements et améliorations diverses. La machine nommée 'A2Z' par l'auteur ressemble à ceci :

Un 'classique' développement sur base FPGA.
A noter que pour ceux qui seraient intéressés par ce développement, l'ensemble des ressources sont présentes ici sur le site Hackaday.

Que dire de plus? Ce projet ne se base pas sur une technologie fermée, comme l'émulation d'un processeur ancien, pas plus que sur une technologie propriétaire. L'ouverture rend donc possible nombre d'améliorations. Le processeur ne semble pas compliqué à utiliser, ce qui laisse la possibilité à de petites équipes motivées de créer à partir d'une telle plateforme. De base, les 24 bits d'adresse peuvent gérer une quantité tout à fait correcte de RAM, et le cœur 16 bits est en mesure d'exécuter un certain nombre d'opérations à la seconde, le rendant à peu près équivalent à un 286 (d'après l'auteur). Ce qui est très honorable pour 'un truc bidouillé'!

Je n'ai pas eu l'occasion de tester cette 'étude'. Pour les quelques semaines à venir j'ai d'autres projets sur lesquels il me faut avancer, je dirais presque hélas...

Pour se faire une idée concrète, l'auteur a publié une petite vidéo :


Bien qu'à la base Guillaume ne semblait pas avoir de perspectives particulières pour son développement, qui représente quand même j'imagine un 'bon paquet d'heures' de travail, suite à la déclaration d'intérêt de plusieurs internautes (dont moi-même), il a ouvert un site dédié ici : http://f4hdk.free.fr/A2Z_computer/index_fr.html.

Pour de plus amples informations sur le sujet, vous pouvez le contacter à : f4hdk [at] free.fr

And now for something completely different

Quoi que...
La technologie pour la technologie, l'excellence pour l'excellence, etc etc... Oui, pourquoi pas.
Mais l'important c'est ce qu'on peut en faire, en vrai. Même si à la base cela paraissait une idée farfelue! :

Crédit photo : moi-même!
Le 'pire' dans l'histoire, est que cette cabine téléphonique est parfaitement fonctionnelle au 31/12/2016.

jeudi 22 décembre 2016

Ah, la propagande 'à la française'. Ou l'art d'amuser la gallerie à 5 millions d'Euros!

22 /12/2016 : Difficile de résister...

Une petite interview ce matin de la 'ministre de l'écologie' Ségolène Royale sur France Inter, vantant les vertus de la nouvelle route 'solaire' française. Ou l'expression du 'soviet supreme' local (rien à voir avec le groupe de musique Français éponyme) à la gloire de l’excellence nationale!


And now, for something completely different : une petite leçon de choses, chère Ségolène...


And the final word : ENJOY 😄 and thank you, Dave!

vendredi 16 décembre 2016

M.I.D.I. Switch

Malgré un 'certain' nombre de projets en cours, j'ai réussi à trouver du temps pour monter partiellement la carte de ce qui 'devrait' être le centre de distribution de mon réseau M.I.D.I. perso. Ça ressemble à ceci :


Evidemment, je n'ai pas pu résister au 'plaisir' de faire une erreur bête sur ce circuit : l'empreinte du quartz Y1 est à l'envers. Et je n'ai aucune solution pour rattraper le coup, si ce n'est à placer le composant tête en l'air et souder ses pads avec du fil, directement sur les pastilles du circuit imprimé. Question CEM, ça va pas être ça du tout. Mais bon, c'est un prototype.

[ 19/12/2016 : en fait non, je n'ai pas fait d'erreur sur l'implantation du quartz. Ou de la mauvaise utilisation des statistiques...
J'avais quand même un gros doute sur une erreur d'empreinte du quartz, je me souvenais avoir bien 'étudié' le sujet dans le but d'éviter tout risque sur le circuit imprimé. Et puis une idée me prends, je teste la continuité des pads du quartz en diagonale, et tombe bien sur les deux pads reliés au GND, présentés de la même façon que sur le circuit imprimé. La relecture du datasheet me donne la réponse :


C'est écrit en gras : ce composant peut-être livré avec le pad n° 4 présentant le chamfrein, au lieu du pad n°1... d'ordinaire, sans que cela change quoi que ce soit à l'implantation réelle du quartz. Dont acte!
Il ne reste plus maintenant qu'à effectuer la première mise en service de cette carte... Quand j'aurai le temps!
19/12/2016 ]

[ 22/12/2016
Après quelques difficultés de reconnaissance du processeur PIC par le logiciel de développement Mplab, j'ai enfin réussi à programmer la carte avec l'inévitable 'Hello World', à savoir le clignotement de certaines LEDs directement accessibles par le processeur. Cette fois encore, l'erreur commise était du domaine de la pure distraction. Ce qui m'a conduit quand même à abîmer une piste du circuit imprimé et à devoir souder un fil en l'air pour rétablir la liaison. Parce qu'en fait, il semblerait qu'il n'y ait pas de problème sur cette carte, bien que je n'ai pas encore testé l'UART. Mais ça, ça sera pour janvier....
22/12/2016 ]

Et à propos de prototype, mon système de pilotage des paramètres sonore du Juno 2 de Roland est fonctionnel. Je n'ai finalement pas eu de problème matériel avec ce système, bien que toute la carte ne soit pas encore testée. La plus grande difficulté a été la gestion des différents ports série sous interruption. Le principe n'est pas compliqué, mais sur un environnement processeur et outil de développement que j'attaquais pour la première fois à fond, il a fallu s'adapter aux usages... Je vais tenter une petite vidéo du sujet que j'espère pouvoir publier sur ce blog avant la période de Noël...

Je remets mon adresse mail ci-dessous, mais je cherche actuellement une solution pour héberger une adresse mail à un prix non excessif et de manière perenne. Il faut bien avouer qu'héberger une adresse mail chez Yahoo, à la base, ça n'est pas très sérieux, mais aujourd'hui vu la façon dont Yahoo rend la chose pénible, le signal du départ est donné!

[ 17/12/2016
Je ne pensais pas si bien dire. Message de Yahoo ce jour indiquant un vol massif de données ayant eu lieu en 2013 sur les comptes Mail. On appréciera le délai de retour de l'information à l'utilisateur. Et plus généralement, nous voilà rentré dans la période de consolidation d'internet : Affaiblissement des services, précarité des solutions en ligne, médiocrité des applications connectées, généralisation de l'insécurité! J'ai constaté cette tendance il y a déjà plusieurs mois. Cela va faire TRES mal au 'numérique'!
C'est sur, vouloir faire passer des données sensibles dans des tuyaux à peu près aussi sécurisés, à la base, qu'un fil à linge, à terme cela peut provoquer quelques désagréments! Et pendant que j'y suis, je constate aussi le début d'un 'certain' désengagement de grands acteurs du domaine de l'IOT. Histoire de... j'écrivais ceci il y a presque deux ans!
A suivre...
17/12/2016 ]

[ 15/02/2017
Après quelques problèmes de mise en service, cette carte fonctionne parfaitement. Je précise que je ne vais pas continuer le développement de cette version de switch M.I.D.I. Je vais en développer une nouvelle version basée sur un autre type de processeur que celui utilisé.

En effet, pour cette version, j'ai utilisé un micro-processeur de la famille PIC32 associé à un circuit comportant 4 UARTS. Cela fonctionne très bien, même si j'ai du recréer pour l'occasion des pseudo bus d'adresse/données/contrôle. En fait, c'est un schéma que j'avais en tête depuis très longtemps (but it is an other story). En plus de considérations électroniques, cette façon de faire rajoute aussi de la complexité logicielle. J'ai essayé, cela fonctionne, mais je considère que ça n'est pas la bonne solution.

Je vais donc redévelopper ce projet avec un processeur de type ARM. J'ai utilisé ce type de processeur dans un montage précédent et ai pu en apprécier les caractéristiques, ainsi que la facilité de programmation. Je vais donc utiliser un STM32L152RET6 :


Ce circuit dispose d'un nombre suffisant de ports séries (5) ainsi que de 80Koctets de RAM, le tout dans un seul boitier. Je pense que cela sera plus facile à gérer que ma version précédente.
15/02/2017 ]

UPDATE NOVEMBRE 2017 : Bien que cela prenne un peu de temps de développement, j'ai réalisé une nouvelle carte de ce switch à partir d'un processeur ARM. Cela se trouve ici :  MIDI switch. Parallèlement je redéveloppe aussi les adaptateurs MIDI cette fois je pense sur du processeur de chez T.I.