Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
Modérateurs : Papy.G, fneck, Carl
Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
J'ai commandé des Z80 à 6Mhz dans l'idée de me faire une SBC simple en partant de zéro.
Je me pose la question de quoi prendre comme CI pour faire la glue, par exemple le décodage mémoire.
Je viens de me rendre compte que les Z80 que je vais recevoir sont de versions CMOS (Z84C0006). J'ai lu que TTL et CMOS ne sont pas totalement compatibles et qu'il faut faire des adaptations. Alors, est-ce que la série 74LSxx est donc à éviter et qu'il faut partir sur la série 74Hxx ou 40xx ?
EDIT: dans le document que je suis en train de lire, l'horloge du Z80 est faite avec une bascule D de type TTL (74LS74), et l'auteur fait une adaptation TTL->CMOS du signal avec un transistor avant de le donner en entrée du Z80 (clock).
Je me pose la question de quoi prendre comme CI pour faire la glue, par exemple le décodage mémoire.
Je viens de me rendre compte que les Z80 que je vais recevoir sont de versions CMOS (Z84C0006). J'ai lu que TTL et CMOS ne sont pas totalement compatibles et qu'il faut faire des adaptations. Alors, est-ce que la série 74LSxx est donc à éviter et qu'il faut partir sur la série 74Hxx ou 40xx ?
EDIT: dans le document que je suis en train de lire, l'horloge du Z80 est faite avec une bascule D de type TTL (74LS74), et l'auteur fait une adaptation TTL->CMOS du signal avec un transistor avant de le donner en entrée du Z80 (clock).
Dernière modification par gotcha le 05 sept. 2022 17:18, modifié 5 fois.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: Z80 CMOS compatible TTL ???
Tu peux utiliser des 74LSxx ou mieux des 74HCTxx sans problème. Le CPU est compatible TTL.
Dans les familles TTL, toutes les variantes HCMOS (pour High speed CMOS) sont compatibles TTL si les "lettres centrales" se terminent par un T.
Par exemple les 74HCxx ne sont pas tout à fait compatibles TTL alors que les 74HCTxx le sont. Pareil pour 74AC et 74ACT, ...
La série CMOS 40xxx n'est pas du tout compatible TTL et en plus ces CI sont très lents (max 2MHz).
Dans les familles TTL, toutes les variantes HCMOS (pour High speed CMOS) sont compatibles TTL si les "lettres centrales" se terminent par un T.
Par exemple les 74HCxx ne sont pas tout à fait compatibles TTL alors que les 74HCTxx le sont. Pareil pour 74AC et 74ACT, ...
La série CMOS 40xxx n'est pas du tout compatible TTL et en plus ces CI sont très lents (max 2MHz).
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
Tu es sûr que la version CMOS du Z80 est compatible TTL ?
Par exemple, pour la version Sharp LH0080, ils disent explicitement que les entrées/sorties sont entièrement compatible TTL.
Mais pour la version de Zilog (Z84C0006 dans mon cas), je n'arrive pas à trouver l'info dans les datasheet.
Par exemple, pour la version Sharp LH0080, ils disent explicitement que les entrées/sorties sont entièrement compatible TTL.
Mais pour la version de Zilog (Z84C0006 dans mon cas), je n'arrive pas à trouver l'info dans les datasheet.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
- Leraptor06
- Messages : 672
- Inscription : 15 févr. 2022 10:34
- Localisation : Mandelieu
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
Bonsoir,
L'elektor 68 de février 84 parle de la compatibilité des circuits CMOS/ttl
Il est facilement téléchargeable et c'est page 57.
L'elektor 68 de février 84 parle de la compatibilité des circuits CMOS/ttl
Il est facilement téléchargeable et c'est page 57.
Dernière modification par Leraptor06 le 04 sept. 2022 23:21, modifié 1 fois.
Jp
-
- Messages : 242
- Inscription : 22 mars 2022 20:23
- Localisation : Pas trop loin au sud de Paris
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
J'imagine que pour savoir si tu as besoin de puces 74' compatible CMOS/TTL, il faut déterminer si les autres puces sont un mix de TTL et de CMOS ou bien seulement CMOS.
Concernant les niveaux haut/bas :
Au final, l'étude des fiches techniques des puces s'impose...
Concernant les niveaux haut/bas :
- sortie CMOS vers entrée TTL, les niveaux CMOS sont inclus dans les niveaux TTL ==> ça passe
- sortie TTL vers CMOS, il y a une zone du niveau haut TTL qui est en dehors de la zone niveaux haut CMOS ==> ça passe pas toujours
Au final, l'étude des fiches techniques des puces s'impose...
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
J'ai mis un ZILOG Z84C020 à la place d'un SHARP LH80 et je n'ai pas constaté de problème.
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
Oui. C'est ce que j'utilise dans mes systèmes et tout fonctionne correctement. (hlide le confirme également).
Tous les composants CMOS issus des versions NMOS (Oui nos vénérables CPU sont déjà en MOS pas en bipolaire) sont compatibles avec leurs ancêtres (et heureusement d'ailleurs).
Donc 65C02, 6309, Z84C00,... sont compatibles TTL et peuvent remplacer directement les versions NMOS.
Après il peut y avoir quelques exceptions selon les fabricants. par exemple le 65C02 existe en plusieurs versions avec des broches différentes. Mais c'est un problème de brochage, pas de niveaux.
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
Merci, c'est un article très intéressant. Je l'ajoute ici:Leraptor06 a écrit : ↑04 sept. 2022 22:46 L'elektor 68 de février 84 parle de la compatibilité des circuits CMOS/ttl
Au final, la série 74HCTxx semble être la série idéale compatible avec tout.
Le résumé est ceci:
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
J'ai finalement trouvé des infos dans le datasheet du Z80 qui montrent que la version CMOS est en effet compatible TTL.
Les versions NMOS et CMOS ont quand même quelques petites différences, même si on reste dans les plages de tension TTL pour les entrées/sorties.
En particulier, le Z80 CMOS spécifie une entrée haute à 2.2v minimum, contre 2.0v minimum normalement en TTL.
Ça veut dire qu'on a une plus faible marge au bruit, par exemple dans le cas où le circuit TTL qui fournit le signal serait dans le bas de la fenêtre de tension de sortie TTL, c'est à dire 2.4v.
Les versions NMOS et CMOS ont quand même quelques petites différences, même si on reste dans les plages de tension TTL pour les entrées/sorties.
En particulier, le Z80 CMOS spécifie une entrée haute à 2.2v minimum, contre 2.0v minimum normalement en TTL.
Ça veut dire qu'on a une plus faible marge au bruit, par exemple dans le cas où le circuit TTL qui fournit le signal serait dans le bas de la fenêtre de tension de sortie TTL, c'est à dire 2.4v.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
Par contre, toi l' "Amstrad CPC addict", je te déconseille de mettre un Z80 CMOS sur tes Amstrad. Pas besoin de t'expliquer pourquoi.
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
Le NMOS et le CMOS n'auraient pas les mêmes bugs ?
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
C'est bien connu que les codeurs fanatiques d'Amstrad codent avec la moindre instruction non officielle pour grignoter un octet (même pas un NOP !) :
ED 71 - OUT (C),0. Sur un NMOS on a $00 sur le bus de donnée. Sur un CMOS on a $FF.
Quand j'ai posé la question si cette instruction était utilisée - en fait... oui.
ED 71 - OUT (C),0. Sur un NMOS on a $00 sur le bus de donnée. Sur un CMOS on a $FF.
Quand j'ai posé la question si cette instruction était utilisée - en fait... oui.
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
Je viens de faire un petit essai en fournissant à un Z80 une horloge crée avec des portes TTL (astable à base d'inverseurs).
Tout marche très bien dans mon cas.
EDIT 1: En fait, ça ne marche qu'1 fois sur 5. J'ai un niveau haut de l'horloge à 3.8v
Par contre, j'ai lu à plusieurs endroits que toutes les entrées/sorties du Z80 (NMOS et CMOS) sont compatibles TTL... sauf l'horloge
C'est d'ailleurs cohérent avec le premier exemple que je regardais et qui m'avait amené à poser la question ici.
Dans cet exemple, l'horloge était adaptée à l'aide d'un transistor.
Quelqu'un peut confirmer la spécificité de l'horloge sur Z80 ?
EDIT 2: en fait, j'ai la réponse à ma question dans les bouts de datasheet que j'ai mis plus haut.
Sur NMOS et CMOS, l'horloge du Z80 doit avoir comme tension:
Brancher la sortie d'une porte TTL à l'entrée CLK du Z80 ne semble pas être une solution fiable.
Tout marche très bien dans mon cas.
EDIT 1: En fait, ça ne marche qu'1 fois sur 5. J'ai un niveau haut de l'horloge à 3.8v
Par contre, j'ai lu à plusieurs endroits que toutes les entrées/sorties du Z80 (NMOS et CMOS) sont compatibles TTL... sauf l'horloge
C'est d'ailleurs cohérent avec le premier exemple que je regardais et qui m'avait amené à poser la question ici.
Dans cet exemple, l'horloge était adaptée à l'aide d'un transistor.
Quelqu'un peut confirmer la spécificité de l'horloge sur Z80 ?
EDIT 2: en fait, j'ai la réponse à ma question dans les bouts de datasheet que j'ai mis plus haut.
Sur NMOS et CMOS, l'horloge du Z80 doit avoir comme tension:
- moins de 0.45v au niveau bas
- plus de 4.4v au niveau haut
Brancher la sortie d'une porte TTL à l'entrée CLK du Z80 ne semble pas être une solution fiable.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
Apparemment sur ma machine, je récupère l'horloge en sortie d'un 74S04. Le problème que tu soulèves, on l'aura aussi bien pour un NMOS qu'un CMOS puisque l'on a les mêmes valeurs dans les tableaux que tu as postés.
Re: Compatibilité entre Z80 CMOS et serie TTL 74LSxx ?
En cas de génération d'horloge avec des TTL, j'ai lu des choses qui suggèrent qu'il faut mettre une résistance de pull-up .
Par exemple:
Sur l'article d'Elektor que j'avais attaché plus haut, ils mettent en effet une résistance de pull-up entre la sortie TTL et l'entrée CMOS. Ce que je comprends, c'est que cela permet de 'deconnecter' la TTL quand celle-ci est au niveau haut.
Par exemple:
@hlide As-tu une résistance entre CLK et VCC ?PS: and don't forget to have strong pullup on CLK input of your Z80, if feeding clock off TTL (74xx or 74LSxx or 74ALSxx or 74Fxx, but not 74AC/HC/ACT/HCT) output. Unlike other Z80 inputs, CLK is not TTL-compliant.
Sur l'article d'Elektor que j'avais attaché plus haut, ils mettent en effet une résistance de pull-up entre la sortie TTL et l'entrée CMOS. Ce que je comprends, c'est que cela permet de 'deconnecter' la TTL quand celle-ci est au niveau haut.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)