|
Bien. Ya te he dicho que depende de si es una memoria serie o paralelo.
Y no hay mucho protocolo. Hagamos un ejemplo básico.
Supongamos memoria paralelo de 128 bytes de capacidad, con 8 bits de datos.
Para elegir a cual de las 128 posiciones deseas acceder (ya sea para leer o escribir) necesitas un numero de 7 bits.
El acceso a las posiciones lo dariamos con la siguiente tabla:
posicion 0: 0000000
posicion 1: 0000001
posicion 2: 0000010
posicion 3: 0000011
........
posicion 126: 1111110
posicion 127: 1111111
O sea que el integrado tendría 7 patas (que se llaman de direccionamiento), donde poniendole 1 o 0 a cada pata eliges la posicion a la que le vas a hacer algo. (1=5V ; 0=0V)
Ahora, falta que le pongamos el dato (si es que le vamos a escribir algo)
Para eso necesitamos 8 patas mas. Por ejemplo queremos poner el dato 253 (1111101)
entonces ponemos ese valor binario en las patas D0,D1,D2,...D7 (con los voltajes de 5V o 0V)
ahora le indicamos si lo que queremos es leer o escribir. Para lo cual hay una pata R/W (read o write, leer o escribir) que es 0 para leer o 1 para escribir.
Luego, le das 1 en otra pata que es digamos como decirle, ponte en accion (CS=chip select) es decir te he seleccionado memoria, has lo que te digo, y los datos se graban
o sea que numero por numero, o letra por letra, tenes que ir poniendo la direccion y el dato luego si es leer o escribir y darle machacar.
Nuestro integrado teorico tendria pues:
7 patas de direccionamiento (A0...A6)
8 patas de datos (D0...D7)
1 pata leer o escribir (RD / WR)
1 pata ponte a trabajar (CS)
2 patas de alimentacion (masa y 5V)
con lo cual, son 19 patas, seguro que vendria de 20, con una no conectada
para la memoria de 2MB se necesitarian de 19 patas de direccionamiento. con lo cual tu integrado de memoria debe tener unas 32 patas por lo menos, si es de direccionamiento paralelo.
bueno, entiende esto y le seguimos.
|