Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

Connecter un CPU 5v avec un MCU 3.3v



  1. #1
    paganoni

    Connecter un CPU 5v avec un MCU 3.3v


    ------

    Bonjour tout le monde, premier post sur ce forum.

    En 2019 j'ai tenté de faire fonctionner un CPU des années 80 (un 6502) interconnecté avec une Teensy 3.6 (un micro contrôleur relativement rapide).
    L'idée était de fournir au 6502 un signal d'horloge, de lire le bus d'adresse et de lire et écrire sur le bus de données. Donc de simuler en software ce qui était en hardware il y a 40 ans.

    La Teensy, comme tous les MCU modernes fonctionnent en 3.3v, mais pas les 6502.
    J'ai d'abord essayé avec la version NMOS du 6502, puis n'arrivant pas à un fonctionnement "stable", j'ai opté pour la version CMOS du 6502 dont il est dit qu'elle s'accommode d'un signal d'horloge bas et possiblement d'un fonctionnement en 3.3v

    Même avec la version CMOS je n'ai jamais réussi à obtenir autre chose qu'un fonctionnement erratique du 6502, et après quelques semaines j'ai fini par laisser tomber.
    Le problème peut très bien être causé par la manière dont je générais les signaux dont le 6502 a besoin. Mais pour avoir vu quelques expérimentations simplistes réalisées avec de simples Arduino (expérimentations très limitées car le nombre de pins dispo sur un arduino est insuffisant) je me dit que le problème pourrait bien être dans le fonctionnement en 3.3 d'un cpu conçu pour du 5v.

    Je précise que : je sais programmer, c'est même mon métier, mais que je suis une bille totale en électronique et que le seul matériel dont je disposais était un clone chinois d'un analyseur Saelea.

    Donc, j'en arrive (enfin) à ma question :

    Dans un cas de figure comme celui là, où l'on a d'un côté un composant qui requiert du 5v et de l'autre un composant qui ne supportera rien de plus que du 3.3v comment s'y prendre ?
    Le nombre de signaux est relativement important (8 lignes pour le bus de données, 16 pour le bus d'adresse, plus quelques autres signaux dont le reset)

    Si mon 6502 avait été alimenté en 5v (avec une alimentation séparée de celle de la Teensy, fournie par le port USB) comment aurais-je pu convertir du 5v <-> 3.v sur chaque ligne ?

    Existe-t-il des modules, ces circuits prêts à être utilisés dans ce genre de cas ?
    Et précise enfin que mes montages sont réalisés sur des cartes de prototypage, impossible à mon niveau de concevoir le moindre circuit.

    Je ne sais pas si je reprendrais ce projet, mais j'aimerais bien comprendre cette histoire de conversion 3.3 <-> 5v

    -----

  2. Publicité
  3. #2
    vincent66

    Re : Connecter un CPU 5v avec un MCU 3.3v

    Bonjour...

    Si je comprends bien la teensy doit faire office de glue-logic, ou bien elle doit aussi faire office de périphérique...?
    Leonardo était ingénieur "sans papier", et moi diplômé juste...technicien...

  4. #3
    jiherve

    Re : Connecter un CPU 5v avec un MCU 3.3v

    bonsoir
    il faut utiliser des translateurs de niveau bidirectionnels regarde là :https://www.ti.com/logic-circuit/vol.../products.html
    JR
    l'électronique c'est pas du vaudou!

  5. #4
    paganoni

    Re : Connecter un CPU 5v avec un MCU 3.3v

    Plutôt de périphérique, dans le sens où la Teensy simule de la RAM, de la ROM et un générateur d'horloge

  6. A voir en vidéo sur Futura
  7. #5
    paganoni

    Re : Connecter un CPU 5v avec un MCU 3.3v

    Ah merci c'est exactement ça ! Mais est-ce que ça existe au format au format DIP ? Enfin un format qu'un noob comme moi pourrait utiliser sur une breadboard ? Dans la page, à gauche il y a un déroulant "package" mais c'est du chinois pour moi

  8. #6
    jiherve

    Re : Connecter un CPU 5v avec un MCU 3.3v

    bonjour
    apparemment cela n'existe plus en traversant pour du bidir en unidirectionnel il y a le CD4009 .
    JR
    l'électronique c'est pas du vaudou!

  9. Publicité
  10. #7
    Qristoff
    Animateur Électronique

    Re : Connecter un CPU 5v avec un MCU 3.3v

    Citation Envoyé par jiherve Voir le message
    bonjour
    apparemment cela n'existe plus en traversant pour du bidir en unidirectionnel il y a le CD4009 .
    JR
    Il existe aussi des circuits adaptateurs pour convertir du cms en dip https://fr.rs-online.com/web/c/contr...aptateurs-cms/
    Tout existe, il suffit de le trouver...!

  11. #8
    paganoni

    Re : Connecter un CPU 5v avec un MCU 3.3v

    Ah mais j'ai trouvé ça : http://duinoedu.com/store1/-pour-dupont/312-dc53.html

    Pas mal du tout !

  12. #9
    Antoane
    Responsable technique

    Re : Connecter un CPU 5v avec un MCU 3.3v

    Bonjour,

    le schéma de principe :
    Nom : 526842ae757b7f1b128b456f.png
Affichages : 77
Taille : 16,6 Ko
    source : https://learn.sparkfun.com/tutorials...okup-guide/all

    Avec des résistances de tirage de 10 kOhm, le bus ne va pas pouvoir communiquer vite, quelques centaines de kHz tout au plus.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  13. #10
    paganoni

    Re : Connecter un CPU 5v avec un MCU 3.3v

    Et si j'ai 28 lignes, je suppose qu'il faut 28 "montages" de ce type ? Outch !

  14. #11
    paganoni

    Re : Connecter un CPU 5v avec un MCU 3.3v

    Question subsidiaire : quand un montage utilise 2 voltages différents, est-ce que la masse est partagée ? Je veux dire indifférente, on prend soit celle du 3.3v soit celle du 5v

    Bon, désolé pour mes questions simplistes, mais j'y connais vraiment rien

  15. #12
    Antoane
    Responsable technique

    Re : Connecter un CPU 5v avec un MCU 3.3v

    Bonjour,

    je ne comprend pas pourquoi la connexion directe du 6502 et du Teensy 3.6 (K66P144M180SF5V2), éventuellement avec une petite résistance série (e.g. 1kOhm) ne fonctionne pas :

    - le K66P144M180SF5V2 est un CMOS, donc ses tensions de sortie devraient être très proches des rails 0 et 3.3 V (à maximum 50 mV de distance pour un courant de 1000 µA) or, toute tension supérieure à 2.4 V (voire 2 V) est interprétée comme un 1 par le 6502 et toute tension inférieure à 200 mV (voire 800 mV) est interprétée comme un zéro. Il ne devrait donc pas y avoir de problème de communication K66P144M180SF5V2 -> 6502 -- les 10 à 100 µA de courant d'entrée du 6502 ne changeant rien à l'affaire si le résistance série ne fait que 1 kOhm.

    - Le 6502 délivre au moins 2.4 V à l'état haut et au plus 400 mV à l'état bas, tandis que le K66P144M180SF5V2 demande au plus 1.1 V et au moins 2.3V pour lire respectivement un zéro et un un.

    Question subsidiaire : quand un montage utilise 2 voltages différents, est-ce que la masse est partagée ? Je veux dire indifférente, on prend soit celle du 3.3v soit celle du 5v
    Ca dépend du circuit d'interface, mais aucun des circuits discutés dans ce fil n'est isolé, donc les masses doivent être communes.
    Dernière modification par Antoane ; 19/03/2021 à 13h37.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  16. Publicité
  17. #13
    paganoni

    Re : Connecter un CPU 5v avec un MCU 3.3v

    "je ne comprend pas pourquoi la connexion directe du 6502 et du Teensy 3.6 (K66P144M180SF5V2), éventuellement avec une petite résistance série (e.g. 1kOhm) ne fonctionne pas"

    Moi non plus. Des bugs dans mon code étaient possibles voire même probables, mais dans ce cas j'aurais dû obtenir tout le temps les mêmes problèmes. Là c'était erratique à mort, jamais 2 fois le même comportement après un RESET.
    J'ai essayé en utilisant le timer haute fréquence de la Teensy, puis avec de simples boucles d'attente. Nada.

    Après, le montage était peut-être trop à l'arrache : interférences ou du bruit dans toutes les connexions ? Et comme mon analyseur logique chinois est douteux, j'ai jamais pu vérifier la validité des signaux avec cet engin. C'est sûr que sans connaissances de base en électronique et sans matériel adapté ça arrange pas les choses

    Cf. Une photo - il est resté tel quel mais quelques wires se sont déconnectées

    Nom : 6502.jpg
Affichages : 63
Taille : 109,8 Ko

  18. #14
    jiherve

    Re : Connecter un CPU 5v avec un MCU 3.3v

    bonsoir,
    Antoane à raison mais la question qui reste est :
    est ce un 6502 NMOS ou un 65C02 CMOS ?
    Comme il n'y a aucune spécification du courant d'entrée max je serais très prudent vis a vis du Teensy resistance série obligatoire.
    JR
    l'électronique c'est pas du vaudou!

  19. #15
    paganoni

    Re : Connecter un CPU 5v avec un MCU 3.3v

    Les deux, j'ai commencé par un NMOS et comme rien ne fonctionnait j'ai acheté un CMOS chez E44 à Nantes (donc je suppose qu'on ne m'a pas vendu un CPU défaillant)

  20. #16
    jiherve

    Re : Connecter un CPU 5v avec un MCU 3.3v

    Bonjour,
    avec un CMOS l'interfaçage avec un circuit 3,3 v n'est pas possible sans translateur, niveaux logiques incompatibles.
    JR
    l'électronique c'est pas du vaudou!

  21. #17
    polo974

    Re : Connecter un CPU 5v avec un MCU 3.3v

    souvenir, souvenir...


    bon, il faut savoir qu'il y a plusieurs 6502 cmos qui sont plus ou moins (in)compatible avec le nmos
    https://www.westerndesigncenter.com/...5c02s-chip.php par exemple
    pinout pas tout à fait compatible...


    dans une autre vie, j'ai écrit une émulation d'un 6502 (enfin d'un µC avec coeur 6502...) et puis, j'ai désassemblé la rom d'un basic pour choper les fonctions flottantes retaillées à 4 octets, car en basic, ça en bouffait 5, sans parlé de modifié un compilo c pour avoir ces flottants... et puis même un truc multi tâches, la tâche de fond faisait les gros calculs flottants, la tâche UI s'occupait de l'affichage, et les irq faisaient basculer d'une tâche à l'autre, tout ça avec 256 octets de pile...
    Jusqu'ici tout va bien...

Discussions similaires

  1. [Outils/Fab/Comp] Connecter un laser avec des piles
    Par gniac dans le forum Électronique
    Réponses: 11
    Dernier message: 29/04/2020, 08h41
  2. connecter un pc avec un dvr (videosurveillance)
    Par cabo dans le forum Internet - Réseau - Sécurité générale
    Réponses: 2
    Dernier message: 07/02/2010, 23h05
  3. Connecter 12 led // avec 1 résistance
    Par d845hv dans le forum Électronique
    Réponses: 20
    Dernier message: 25/08/2007, 20h57
  4. comment se connecter avec un iBook G4
    Par bd54 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 17
    Dernier message: 19/03/2005, 14h00
Découvrez nos comparatifs produits sur l'informatique et les technologies.