Autor Tema: Bus de datos bidireccional (probema con un glitch)  (Leído 3235 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado damago

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 320
Bus de datos bidireccional (probema con un glitch)
« en: 20 de Julio de 2004, 15:43:00 »
Hola Elena, alla vamos...

T comento por encima el tema: imaginemos un microprocesador, y nuestra pld.  El bus de datos (8bit) y los 3 bits bajos de address los llevamos a la pld. Tb llevamos la señal de chip enable y la de write. En la pld, aparte del puerto bidireccional de datos, tenemos un puerto de solo salida y otro de solo entrada.
Cuando la señal de chip enable baja a 0 y la de write tb, escribimos lo que pone el microrprocesadro en el puerto de salida del pld. Si chip enable baja a 0 y la seña de write es 1, leemos el puerto de entrada de la pld y lo ponemos en el bus de datos.

El problema es... en base al codigo k t adjunto... la parte de escritura es correcta (simulacion) pero en la de lectura (chip enable=0 y write=1) tenog una especie de glitch (si se llama asi jeje). Durante chip enable =0 y write=1, pone el valor del puerto de entrada en el bus de datos(simulacion),  pero al subir a 1 la señal de chip enable el valor en el bus de datos antes de pasar a alta impedancia ("zzzzzzzz") pasa durante unos 4 ns (insignificante en relacion a los tiempos del resto de señales) a ("00000000") sin saber pork.

Vaya k pesao... jeje
Te paso el codigo fuente y el archivo de test (probado en maxplus II).

Esperando tus comentarios ansiosamente jojojo k me recome la duda...fiufuif k tio mas exagerao...

Un saludo!

(BUeno pa variar no me deja subir na...)

Desconectado cHiPmAn

  • PIC16
  • ***
  • Mensajes: 110
RE: Bus de datos bidireccional (probema con un glitch)
« Respuesta #1 en: 31 de Agosto de 2004, 07:54:00 »
Holas,

que PLD estas usando?
Estas usando los pines dedicados para la señal de CLK?
Es muy importante que para todos los biestables uses la misma señal de reloj. En caso contrario es muy facil que te aparezcan glitches por el pequeño desfase que se produce entre distintos señales de CLK.

Salu2!