Partage
  • Partager sur Facebook
  • Partager sur Twitter

selection chip select

23 septembre 2021 à 8:46:01

Bonjour,

je suis entrain d'essaye de trouver pour pouvoir selectioonner la memoire que je veux automatiquement avec que des diode et résistance,

une mémoire qui repond 0000h à FFFh et la deuxieme de 1000h à 1FFFh,

les memoire sont des M2732A de 32k de capacité.

merci de me redire.

  • Partager sur Facebook
  • Partager sur Twitter
23 septembre 2021 à 9:45:07

Selection sur 1 bit ?

C'est possible de faire ca quand les circuits sont activés par une combinaison sur plusieurs entrées, dont certaines sont inversées.

Ça n'a pas l'air d'être le cas. Il va falloir un inverseur.

  • Partager sur Facebook
  • Partager sur Twitter
23 septembre 2021 à 10:12:43

si imaginons que nous avons que des résistance et des diode coment ferai tu sa ?

  • Partager sur Facebook
  • Partager sur Twitter
23 septembre 2021 à 14:06:33

Je ferais pas. On ne peut pas réaliser une négation avec.
  • Partager sur Facebook
  • Partager sur Twitter
24 septembre 2021 à 20:50:32

Tes mémoires vont de 000h à FFFh, soit 4096 octets, et donc 12 bits d'adresse, de A0 à A11.

Dans ton cas, tu veux doubler la capacité avec 2 circuits, ce qui va donc t'ajouter un bit d'adresse supplémentaire : A12.

Les 2 mémoires vont partager les 12 premiers bits d'adresse (A0 à A11) et le troisième bit A12 sera à dispatcher sur les 2 de sorte que l'une répond lorsque A12=0 (soit de 0000h à 0FFFh) et l'autre lorsque A12=1 (soit de 1000h à 1FFFh).

Il va falloir coupler ce A12 avec l'entrée Chip Enable de façon à ce qu'il n'y ai qu'une seule mémoire activée à la fois en fonction de ce A12 lorsque E vaudra 0.

On aurait les tables de vérités suivantes :

Pour mémoire #0 (de 0000 à 0FFF) :
| E | A12 | Mem#0 |
-------------------
| 0 |   0 |     0 | <= Mémoire 0 activée
| 0 |   1 |     1 | <= Mémoire pas activée, car A12 n'est pas bon
| 1 |   0 |     1 | <= Mémoire pas activée, car pas de demande du ChipEnable
| 1 |   1 |     1 | <= Mémoire pas activée, car pas de demande du ChipEnable

Pour mémoire #1 (de 1000 à 1FFF) :
| E | A12 | Mem#1 |
-------------------
| 0 |   0 |     1 | <= Mémoire pas activée, car A12 n'est pas bon
| 0 |   1 |     0 | <= Mémoire 1 activée
| 1 |   0 |     1 | <= Mémoire pas activée, car pas de demande du ChipEnable
| 1 |   1 |     1 | <= Mémoire pas activée, car pas de demande du ChipEnable

Voila, maintenant on voit bien que pour la mémoire #0, la table correspond à la table de vérité d'une porte OR, ce qui peut effectivement se faire avec 2 diodes et une résistance, mais ce n'est pas l'idéal.

Quand à la mémoire #1, il faut faire une négation en plus du OR, car on aurait : OR( E, NOT( A12 ) ), impossible à faire avec juste des diodes et des résistances.



-
Edité par lorrio 24 septembre 2021 à 20:52:23

  • Partager sur Facebook
  • Partager sur Twitter
24 septembre 2021 à 21:16:10

Autre approche, tu peux utiliser 2 bits d'adresses (a12 a13) , chacun relié au  -E  d'une mémoire. Les configurations 10 et 01 activeront l'une ou l'autre.

Par contre ça ne sera pas les plages d'adresses que tu indiques, plutôt 1xxx et 2xxx en hexa.

Et avec la plage 0xxx, il va y avoir conflit sur les sorties.

-
Edité par michelbillaud 26 septembre 2021 à 9:17:16

  • Partager sur Facebook
  • Partager sur Twitter
27 septembre 2021 à 13:25:08

Bonjour @lorrio,

Ce que vous avez dis précédemment m'as beaucoup aidé. Maintenant si vous devriez faire cela sur un circuit électronique, comment feriez vous avec les 2 diodes et une résistance ?



-
Edité par User0148531084723 27 septembre 2021 à 13:27:55

  • Partager sur Facebook
  • Partager sur Twitter
28 septembre 2021 à 8:16:48

Une porte OR se faite de cette façon :

       |\|   
IN1 ---| |---+
       |/|   |
             +----- OUT
       |\|   |
IN2 ---| |---+
       |/|   | 
             |
            ***
            *R*
            ***
             |
            GND

 Une porte AND de cette façon (les diodes sont dans l'autre sens et la résistance est sur VCC) :

            VCC
             |
            ***
            *R*
            ***
             |
       |/|   |
IN1 ---| |---+
       |\|   |
             +----- OUT
       |/|   |
IN2 ---| |---+
       |\|   |

Quand aux autres types de porte : NAND, NOR, XOR, XNOR, et porte inverseuse, impossible à faire avec uniquement des diodes et des résistances, faut faudra aussi des transistors.

Mais je te conseilles vivement d'opter pour des circuits logiques, ce sera beaucoup plus simple et plus efficace.

  • Partager sur Facebook
  • Partager sur Twitter
29 septembre 2021 à 8:56:59

Bonjour,

Merci de votre aide cela nous a beaucoup aider.

Nous avons un autre problème ce serrai de faire la même chose, pour avoir une capacité total de 128kbits avec quatre mémoires de 32kbits et faire un circuit de sélection une par une avec des transistor, diodes, résistance.

Merci de votre réponse ❤❤

-
Edité par User0148531084723 29 septembre 2021 à 8:58:14

  • Partager sur Facebook
  • Partager sur Twitter
29 septembre 2021 à 9:07:13

Laissez tomber les transistors et allez chercher un circuit de type "décodeur 2 vers 4", ou 3 vers 8, prévoyons l'avenir.

Ou alors faites votre exercice : fonction de transfert du decodage, traduction en portes logiques, et réalisation des portes avec la quincaillerie de base.

-
Edité par michelbillaud 29 septembre 2021 à 9:16:03

  • Partager sur Facebook
  • Partager sur Twitter
29 septembre 2021 à 10:25:22

Effectivement nous avons déjà pensé à faire cela, mais pour cette exercice nous n'avons que des composant discret du type diode, transistor, résistance,... a notre disposition.
  • Partager sur Facebook
  • Partager sur Twitter
29 septembre 2021 à 11:38:20

On vous a déjà dit que ce n'était pas possible.

Ca peut se demontrer si vous voulez. Si on prend l'ordre 1 > 0, les portes AND et OR qu'on peut construire à partir de diodes et transistors sont des fonctions croissantes de leurs entrées.  si a<=a' et b<=a', alors AND(a,b) <= AND(a',b'). Pareil pour OR.

Or vous avez besoin de réaliser une expression croissante pour activer une des mémoires et son inverse pour l'autre.   Y en a forcement une qui est croissante, et pas l'autre. Il y a un bit d'adresse qui active une mémoire, et sa négation qui active l'autre.

Comme une combinaison de fonctions croissantes est croissante, c'est niqué, définitivement. C'est beau, la théorie, quand ça sert à démontrer quelque chose.

Le but de l'exercice est peut être que vous vous en rendiez compte en essayant plein de trucs. Essayez encore.

-
Edité par michelbillaud 29 septembre 2021 à 11:42:50

  • Partager sur Facebook
  • Partager sur Twitter
30 septembre 2021 à 8:20:52

Avec 4 mémoires, la philosophie reste la même.

Tu vas avoir besoin de 2 adresses supplémentaires Aext0 et Aext1 par exemple, qui vont pouvoir donner 4 combinaison possible : 00, 01, 10, 11 et il faut associer chacune d'elle à l'entrée E de tes 4 mémoires, de façon à ce qu'il n'y ai qu'une seule mémoire disposant de son E=0 lorsque le E de base vaudra 0.

SIGNAUX ENTREES      | SIGNAUX SORTIE VERS MEMOIMRE
---------------------------------------------------
Ebase  Aext0  Aext1  |  Emem0  Emem1  Emem2  Emem3
----------------------------------------------------
    0      0      0  |      0      1      1      1  <= Mémoire 0 activée
    0      0      1  |      1      0      1      1  <= Mémoire 1 activée
    0      1      0  |      1      1      0      1  <= Mémoire 2 activée
    0      1      1  |      1      1      1      0  <= Mémoire 3 activée
    1      x      x  |      1      1      1      1  <= Aucune mémoire activée (car Ebase=1)

A partir de là, il suffit simplement de faire l'équation logique, qui se résume une grosse combinaison de AND, et des négations.

Pour la mémoire 0, on aurait : Emem0 = NOT( AND( NOT(EBase), NOT(Aext0), NOT(Aext1) ) )

Avec des transistors, résistances et autres, ça va être joyeux à faire... bon courage.

-
Edité par lorrio 30 septembre 2021 à 8:21:18

  • Partager sur Facebook
  • Partager sur Twitter
30 septembre 2021 à 9:04:45

Se simplifie en OR(EBASE, A0,A1). Les termes sont des monomes, qui ne valent 0 que dans 1 cas.

En tout 3 transistors pour les négations, et 4x3=12 diodes pour faire les 4 portes ou à 3 entrees.  Et les résistances qui vont avec.

Sans Ebase, 2  negations, 4 portes ou à 2 entrées. 

-
Edité par michelbillaud 30 septembre 2021 à 9:07:43

  • Partager sur Facebook
  • Partager sur Twitter