Un canon pour tuer une mouche, et méthodologies persos

C'est le lieu des discussions diverses et variées, mais toujours en rapport avec le thème général du forum et dans l'esprit de celui-ci. Contient des rubriques électroniques.

Modérateurs : Papy.G, fneck, Carl

Notator
Messages : 1286
Inscription : 09 août 2015 20:13

Un canon pour tuer une mouche, et méthodologies persos

Message par Notator »

Je soumets à notre réflexion un sujet de cogitation.

En effet, j'ai remarqué une forte tendance dans des réalisations récentes, d'utiliser des micro-contrôleurs puissants pour effectuer des tâches relativement basiques.

Par exemple, dans le système RC2014, il est utilisé pour la carte Pico VGA un Arduino Pico (alors que ce n'est fondamentalement qu'une carte graphique, pour laquelle un processeur dédié genre EF9347 aurait pu suffire).
https://z80kits.com/shop/rc2014-pi-pico-vga-terminal/
Autre exemple, l'émulateur/sonde de Z80 MCLZ8, qui utilise un Teensy 4.1 pour ce qui est essentiellement de la capture et du multiplexage des broches du Z80.
https://microcorelabs.wordpress.com/202 ... model-iii/

Il y a de nombreux autres exemples...

J'ai l'impression qu'il y a une distorsion dans les réalisations actuelles, où, plutôt qu'utiliser des circuits dédiés, les concepteurs (généralement jeunes) vont utiliser par réflexe des solutions à base de cartes toutes faites comme de l'Arduino, du Teensy...etc.

Alors, Est-ce qu'utiliser une Maserati n'est pas exagéré pour faire du service de livraison ?

Je précise que je n'ai pas d'avis tranché sur la question, juste je m'étonne, et je m'interroge... :)

Edit : Pour le MCLZ8, il dispose aussi d'un mode émulateur de Z80 dans lequel il est autonome (donc sans le PC branché); c'est seulement en mode 'espion' que le PC est branché sur le MCLZ8. Donc le MCLZ8 n'était pas un bon exemple de 'surpuissance', mais ça ne change rien à la discussion en cours. :)
Dernière modification par Notator le 25 mars 2023 06:07, modifié 2 fois.
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Faut-il un canon pour tuer une mouche ?

Message par Daniel »

Tu auras probablement des avis opposés, car il y a des arguments pour ou contre tout aussi valables.

Contre : C'est surpuissant et c'est anachronique.

Pour : C'est en vente, et pas cher, alors que les composants d'époque ne sont plus fabriqués et difficiles à trouver. Les développeurs connaissent bien ces micro-contrôleurs et pour eux le développement est facile.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Faut-il un canon pour tuer une mouche ?

Message par __sam__ »

On trouve aussi plus facilement des outils de développement à jours et compatibles avec les nouveaux PC pour les microcontrôleurs modernes. Et puis qui peut le plus, peut le moins après tout.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Zebulon
Messages : 2788
Inscription : 02 nov. 2020 14:03

Re: Faut-il un canon pour tuer une mouche ?

Message par Zebulon »

Je pense aussi que c'est le côté "logiciel" qui est attrayant, plutôt que de la conception matérielle plus rigide et "définitive", le microcontrôleur est reprogrammable et la conception peut être corrigée dans certaines limites sans repasser par la case PCB, soudures, etc.

Le côté contre c'est que si le projet est voué à être partagé pour que d'autres puissent aussi le réaliser par leurs propres moyens, cela peut être un frein, car il faut souvent installer un environnement, programmer le contrôleur, etc alors que souder des composants discrets c'est plus abordable (quand on sait souder).
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: Faut-il un canon pour tuer une mouche ?

Message par hlide »

Notator a écrit : 23 mars 2023 16:09 Autre exemple, l'émulateur/sonde de Z80 MCLZ8, qui utilise un Teensy 4.1 pour ce qui est essentiellement de la capture et du multiplexage des broches du Z80.
https://microcorelabs.wordpress.com/202 ... model-iii/
Pas essentiellement de la capture et du multiplexage des broches du Z80 même si c'est à la base. Moyennant des modifications, je l'ai pu tester sur un MZ-80 K qui m'a permis de virtualiser la RAM, la ROM, de précharger des binaires depuis un µSD, etc. Je peux afficher directement une image complète dans la VRAM en deux cycles par octet et ce par trame (60 Hz) sans effet de neige. Je peux charger le BASIC instantanément en RAM depuis le SD (au lieu de lire sur la cassette). En revanche, je ne peux pas lire une cassette car l'émulateur ne respecte pas les cycles exacts non pas en raison du matériel mais parce que le firmware travaille avec des fausses informations de cycles. Je suis en train de réécrire un qui devrait respecter à la lettre le comportement et le cycle.

J'ai pu faire un programme (en ARM) qui traite directement avec le bus Z80 et reproduit mon programme qui vérifie la DRAM très visuellement : super rapide et sans effet de neige ! si ma DRAM ou ma ROM est défectueuse, je peux toujours passer par la mémoire interne du Teensys pour remplacer ces composants.

Ça "répare" donc pas seulement un Z80 mais les DRAM et ROM, d'essayer plusieurs versions de ROM. Un gain réel pour du développement croisé.

A terme on peut aussi imaginer la possibilité de déboguer via un terminal USB en ajoutant ce qu'il faut au firmware.
Sappas
Messages : 669
Inscription : 02 oct. 2022 18:11

Re: Faut-il un canon pour tuer une mouche ?

Message par Sappas »

Daniel a écrit : 23 mars 2023 16:48 Contre : C'est surpuissant et c'est anachronique.
L'anachronisme est un argument massif, si la recherche du retro du bruit du tac tac des disquettes, si on fait un truc trop parfait on perd le voyage dans le temps...

L'autre argument, c'est surpuissant, perso je me refuse d'avoir un périphérique plus puissant que le cpu original !

Par contre qui sait encore développer avec de l'antiquité...
Bernouilli92
Messages : 1254
Inscription : 24 déc. 2021 09:46
Localisation : Région parisienne

Re: Faut-il un canon pour tuer une mouche ?

Message par Bernouilli92 »

On retrouve les même travers dans le développent pour pc. Les applications deviennent énormes et dépendent de dizaines d'autres packages pour faire des choses assez simples.
On n'hésite pas à compiler une machine JavaScript pour exécuter un bout de code en JavaScrip. .
Exemple balena etcher qui n'est rien d'autre qu'un dd (copier un image disque sur une clef usb et inversement) et qui fait 140 Mo compressé.

Ou dans notre domaine, il y a l'extension RAD qui utilise un raspberry pi pour proposer une extension ram pour c64. L'inconvenant c'est qu'il faut alimenter le rpi a part.
Dernière modification par Bernouilli92 le 23 mars 2023 19:47, modifié 1 fois.
Sappas
Messages : 669
Inscription : 02 oct. 2022 18:11

Re: Faut-il un canon pour tuer une mouche ?

Message par Sappas »

A ce titre j'aime le sdmoto en bus SPI piloté par le TO8D en ce qui me concerne...
Avatar de l’utilisateur
pascalien
Messages : 965
Inscription : 21 janv. 2019 23:40
Localisation : 93200 ST DENIS
Contact :

Re: Faut-il un canon pour tuer une mouche ?

Message par pascalien »

Notator a écrit : 23 mars 2023 16:09 Autre exemple, l'émulateur/sonde de Z80 MCLZ8, qui utilise un Teensy 4.1 pour ce qui est essentiellement de la capture et du multiplexage des broches du Z80.
https://microcorelabs.wordpress.com/202 ... model-iii/
Si la mouche est Russe et poutinienne OUI!

Je comprends parfaitement ce que tu veux dire.
Formulé plus électroniquement: Faut-il un microcontroleur pour faire clignoter une led?
On n'a même pas besoin d'un NE555 puisqu'il existe des led clignotantes.

Mais le cas du MCLZ8 est peut-être pas aussi évident.
Si on utilise pas de Teensy, il faut un vrai Z80 et soit
- stocker sur 38 bits les états des broches donc ca fait 5 boitiers mémoires plus la logique.
- utiliser un analyseur logique externe.
La je suppose qu'il doit être possible d'obtenir l'historique des états avec de la place mémoire et de programmation.

Et avec l'expérience acquise avec le Teensy, on peut faire une version 6502, 6800, etc

Un cas plus marquant, à mon avis, c'est tous ces SBC où un PIC / ATMega fait office d'EPROM et de logique de décodage.

J'ai deux projets en prévision:
Faire une horloge avec de gros afficheurs et un affichage Hexa pour un sbc.
Les circuits horloges sont horriblement chers, avec en plus la problématique de recevoir un circuit HS.
J'ai trouvé pour moins de un euro le LM8560.
Mauvaise surprise à la reception, il est au pas de 1.778mm et à la lecture du datasheet il est pmos.
Problèmes pas insurmontables. Si mes afficheurs ne sont pas en cathodes communes, il faut soit racheter des afficheurs compatibles
soit ajouter des transistors.
Avec un cpu, on peut se permettre de rajouter par exemple un capteur de température et d'humidité, etc.

Le driver hexa, j'ai trouvé le ICM7218.
Mais connaissant nos amis chinois, je ne suis pas sur de recevoir le bon suffixe:
AIPI ,BIPI ,CIPI ,DIPI ,AIJI ,BIJI ,CIJI ,DIJI ,AIBI ,BIBI ,CIBI ,DIBI ,AMJI ,BMJI ,CMJI ,DMJI
C'est bibi qui est perdu.
Chez Reichelt, selon les promos et l'inflation, un PIC DIL 28 ou 40 broches, c'est entre 0.60€ et 2.60€.
Alors si je veux respecter l'esprit SBC, j'ai en stock divers décodeurs hexa simples.
A voir si avec un budget de 5 DIL14 et DIL16 (surface un peu plus grande qu'un DIL40) , on peut faire le multiplexage.
Sinon ce sera le cpu.
Avatar de l’utilisateur
mchobby
Messages : 209
Inscription : 22 mars 2023 22:38
Localisation : Waterloo (Belgique)
Contact :

Re: Faut-il un canon pour tuer une mouche ?

Message par mchobby »

Notator a écrit : 23 mars 2023 16:09 Je soumets à notre réflexion un sujet de cogitation.

En effet, j'ai remarqué une forte tendance dans des réalisations récentes, d'utiliser des micro-contrôleurs puissants pour effectuer des tâches relativement basiques.

Par exemple, dans le système RC2014, il est utilisé pour la carte Pico VGA un Arduino Pico (alors que ce n'est fondamentalement qu'une carte graphique, pour laquelle un processeur dédié genre EF9347 aurait pu suffire).
https://z80kits.com/shop/rc2014-pi-pico-vga-terminal/
....
Je peux partager mon expérience pour le RC2014 & VGA. J'ai un RC2014 acheté pour assouvir ma curiosité Z80 et je connais le RP2040 (Raspberry-Pi Pico).
Il se fait qu'utiliser un RP2040 est très économique (de l'ordre de quelques Euro). Ce qui permet d'apporter un support VGA et utilisation de clavier USB. Cela fait moins d'écran VGA à la benne et les claviers PS/2 commencent à coûter relativement cher en 2ieme main.

J'en conviens, c'est une approche surpuissante, anachronique mais elle est assez flexible et facile à mettre en oeuvre tout étant peu onéreuse.
Il n'est certainement pas utile de remplacer ce qui existe déjà (je suis même assez contre) mais dans le cas du RC2014 il n'y avait pas encore de support VGA, juste un support UART en ROM.
Du coup, l'utilisation du RP2040 pour créer un terminal VGA est assez élégant (pas besoin de prise en charge dans les ROM du RC2014).
Pour moi, cela me permet de jouer avec mon RC2014 sans avoir besoin d'un logiciel terminal sur mon PC ce que je trouve assez sympa comme expérience.

Il est aussi intéressant de joindre un monde moderne et retro, cela incite à la curiosité et découverte de technos fondamentales (là où ils n'auraient pas fait la démarche en temps normal, l'un attirant vers l'autre). Pour ma part, je me suis remis au C après presque 30 ans d'arrêt et je peux me concentrer sur de l'assembleur Z80 sans me soucier de la prise en charge VGA.

J'ai tendance a penser que la combinaison "ancienne techno/nouvelle techno" apporte de la richesse en terme de savoir.
J'entrevois aussi d'autres application pour un tel module VGA (PicoTerm).

Bien entendu, cela n'est qu'un avis... par ailleurs "Ni Blanc, Ni Noir".
Notator
Messages : 1286
Inscription : 09 août 2015 20:13

Re: Faut-il un canon pour tuer une mouche ?

Message par Notator »

pascalien a écrit : 23 mars 2023 18:48
Notator a écrit : 23 mars 2023 16:09 Autre exemple, l'émulateur/sonde de Z80 MCLZ8, qui utilise un Teensy 4.1 pour ce qui est essentiellement de la capture et du multiplexage des broches du Z80.
https://microcorelabs.wordpress.com/202 ... model-iii/
Mais le cas du MCLZ8 est peut-être pas aussi évident.
Si on utilise pas de Teensy, il faut un vrai Z80 et soit
- stocker sur 38 bits les états des broches donc ça fait 5 boitiers mémoires plus la logique.
- utiliser un analyseur logique externe.
La je suppose qu'il doit être possible d'obtenir l'historique des états avec de la place mémoire et de programmation.
Je rappelle que dans cette application, le Teensy n'a qu'un rôle d'interface, c'est le PC derrière qui fait tout... :wink:
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Avatar de l’utilisateur
pascalien
Messages : 965
Inscription : 21 janv. 2019 23:40
Localisation : 93200 ST DENIS
Contact :

Re: Faut-il un canon pour tuer une mouche ?

Message par pascalien »

Alors, j'ai pas bien compris ce que fait le Teensy.
Il est ou le Z80?
Qui execute les instructions?
Notator
Messages : 1286
Inscription : 09 août 2015 20:13

Re: Faut-il un canon pour tuer une mouche ?

Message par Notator »

mchobby a écrit : 23 mars 2023 19:01 J'ai tendance a penser que la combinaison "ancienne techno/nouvelle techno" apporte de la richesse en terme de savoir.
J'entends bien ; et personnellement, le 'mixage' de technologies d'époques différentes ne me gène pas du tout (après tout, même chez les puristes, combien ont remplacé le lecteur de disquettes de leur(s) ordinosaure(s) par une carte SD :wink:).

Non, ce qui m'interpelle, c'est la disproportion de puissance mise en œuvre quand il s'agit d'une tâche minime, et Pascalien a bien illustré la bizarrerie de la situation, avec son exemple d'utiliser un Arduino pour faire clignoter une simple Led... :?
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Avatar de l’utilisateur
pascalien
Messages : 965
Inscription : 21 janv. 2019 23:40
Localisation : 93200 ST DENIS
Contact :

Re: Faut-il un canon pour tuer une mouche ?

Message par pascalien »

C'est quand même le premier programme qu'on fait quand on veut voir si son arduino fonctionne
et pour débuter et se familiariser avec la suite d'opérations à faire pour programmer et envoyer le programme dans l'arduino.
Notator
Messages : 1286
Inscription : 09 août 2015 20:13

Re: Faut-il un canon pour tuer une mouche ?

Message par Notator »

Oui, c'est normal pour se familiariser progressivement avec son fonctionnement, mais on n'est pas censé s'arrêter à un niveau aussi bas, ou alors ce serait triste.

J'ai répondu à ta question plus haut sur le MCLZ8 dans son propre sujet, pour éviter de faire un hors-sujet ici) :
viewtopic.php?f=32&t=14254&p=227149#p227149
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Répondre