Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

08/11/2011 #1

Avatar de seaarg

Consulta interpretacion datasheet SRAM y ADC
Esta vez les consulto para que me ayuden a interpretar los graficos de unos datasheets.

La memoria es: IS61C256AH (en realidad es T14M256A-12ns pero en la de issi estan mas claros los datos y son compatibles)
El ADC es: ADS831

Adjunto las capturas de pantalla de sus respectivos datasheets.

Empiezo por la memoria:
Para grabar en ella, estoy llevando ~OE a nivel alto, durante toda la captura (los 32K) a fin de poner las entrada/salida en alta impedancia y no tener la demora de controlar con OE la grabacion.

Mi consulta es: Segun interpreto yo, hay que setear la direccion primero y los datos se grabaran un poco despues del flanco descendente de ~WE

¿Es correcta esta interpretacion? Voy a trabajar cerca de los 80mhz asi que el tiempo es critico.

Los contadores que uso para direccionar la memoria son dos 4040 en cascada. Cambian la direccion en flanco descendente de reloj.

Por otro lado, el ADC:

Segun interpreto, el mismo pone los datos de una conversion en sus salidas luego del flanco descendente del reloj. (y samplea en flanco ascendente). ¿Es correcto esto?

Si tengo en cuenta el pipeline de 4 ciclos de reloj, pero es anecdotico para mi duda creo.

En resumen, creo que el orden es:

Con OE de la memoria en estado ALTO permanente:

1)- Setear direccion, bajando el clock de los contadores
2)- Luego, bajar el clock del ADC para que ponga los datos en la salida
3)- Luego, bajar WR en la memoria
4)- Asegurarse que el clock de contadores no vuelva a hacer el ciclo (ascender, descender) hasta que WE no se haya elevado.

Estos tiempos y retrasos los estoy haciendo en el circuito de relojeria implementado con compuertas NAND y NOT schmitt trigger
08/11/2011 #2
Moderador

Avatar de Chico3001

seaarg dijo: Ver Mensaje
Empiezo por la memoria:
Para grabar en ella, estoy llevando ~OE a nivel alto, durante toda la captura (los 32K) a fin de poner las entrada/salida en alta impedancia y no tener la demora de controlar con OE la grabacion.

Mi consulta es: Segun interpreto yo, hay que setear la direccion primero y los datos se grabaran un poco despues del flanco descendente de ~WE

¿Es correcta esta interpretacion? Voy a trabajar cerca de los 80mhz asi que el tiempo es critico.
El tiempo que controla la grabacion desde la habilitacion de WE es TPWE2, mientras mantengas la direccion, el dato y la habilitacion de escritura estables por almenos 7nS, la memoria grabara los datos..

seaarg dijo: Ver Mensaje
Por otro lado, el ADC:

Segun interpreto, el mismo pone los datos de una conversion en sus salidas luego del flanco descendente del reloj. (y samplea en flanco ascendente). ¿Es correcto esto?

Si tengo en cuenta el pipeline de 4 ciclos de reloj, pero es anecdotico para mi duda creo.

En resumen, creo que el orden es:

Con OE de la memoria en estado ALTO permanente:

1)- Setear direccion, bajando el clock de los contadores
2)- Luego, bajar el clock del ADC para que ponga los datos en la salida
3)- Luego, bajar WR en la memoria
4)- Asegurarse que el clock de contadores no vuelva a hacer el ciclo (ascender, descender) hasta que WE no se haya elevado.

Estos tiempos y retrasos los estoy haciendo en el circuito de relojeria implementado con compuertas NAND y NOT schmitt trigger
No... el ADC samplea y coloca datos despues del flanco ascendente, 3nS para el sampling y maximo 12nS para colocar el dato de salida
08/11/2011 #3

Avatar de seaarg

Chico3001 dijo: Ver Mensaje
El tiempo que controla la grabacion desde la habilitacion de WE es TPWE2, mientras mantengas la direccion, el dato y la habilitacion de escritura estables por almenos 7nS, la memoria grabara los datos..

No... el ADC samplea y coloca datos despues del flanco ascendente, 3nS para el sampling y maximo 12nS para colocar el dato de salida
Gracias por tu respuesta Chico. Viendo tu respuesta TPWE2 veo que en el datasheet hay una errata y es que TPWE2 es el tiempo con OE en alto como uso yo, y TPWE1 es con OE bajo, sin embargo el grafico que copie dice TPWE1. Son 7ns como decis.

Me quedo en claro entonces que empieza la grabacion al bajar WE y tengo que sostener los datos por 7ns

Sobre el ADC: hasta la mitad de tiempo del clock en estado alto los datos de salida no son validos verdad? (12ns) Entiendo lo que me informas pero no me convendria entonces si usar el flanco descendente para empezar a grabar? ya que en ese momento los datos estan asegurados en la salida. Eso o jugar con los retrasos producidos por el circuito de relojeria (aun en desarrollo asi que puedo modificar)

En el datasheet esta bien claro lo que me enseñas: "The output data becomes valid on the rising clock edge"

Solo me queda esa duda:
¿me conviene entonces poner la direccion en el flanco ascendente del clock del ADC y luego bajar WE cosa que para ese momento el ADC ya tiene los datos validos? (los 12ns)

¿o esperar a que el clock del ADC baje donde ya se que los datos son validos? y usar el resto del tiempo en grabar antes del proximo flanco ascendente en el clock del adc.

Gracias!
09/11/2011 #4
Moderador

Avatar de Chico3001

Ahora si no tengo idea... tu proyecto anda en los limites de lo que he realizado

De entrada me imagino que quieres conectar el ADC directamente a la memoria... yo creo que es perfectamente posible, el truco consistira en desfazar los relojes lo suficiente para que una vez que el dato sea estable en el ADC se pueda pasar a la memoria... viendo los datasheets unos 8.5nS deben ser suficientes...

Definitivamente hay que hacer pruebas

Otra cosa... estaba viendo que estas usando la memoria de 12nS, no esta mal pero la estas usando al limite de su capacidad, definitivamente recomendaria tratar de conseguir una de 10nS que te daria mas seguridad al escribir el dato...
09/11/2011 #5

Avatar de seaarg

Efectivamente, el ADC derecho a la memoria, con un pic en alta impedancia en el medio. Es un osciloscopio digital. Ya lo hice y funciona a 20mhz con otro ADC.

Ahora estoy trabajando en uno de 80mhz (con mucha suerte) y dos canales. Es muy probable que termine usandolo a 50mhz por lo tanto ahi la memoria de 12ns andaria bien.

Estas memorias son recuperadas de lectoras de CD (no hay disponibilidad facil de componentes) y consegui una de 8ns pero es 3.3v

Edito: Este link es donde esta el circuito de relojeria para el que tengo funcionando actualmente y en este me voy a basar.
Consulta referencia de parte (contador) y problemas en grabado de SRAM
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.