Ex.Julio 2016-Ejercicio 2 - ODSP_start y ODSP_CH

Ex.Julio 2016-Ejercicio 2 - ODSP_start y ODSP_CH

de Alejandro Javier Goday Ruiz -
Número de respuestas: 3

¿Es necesario hacer lo que se hace en la solución de poner dos señales por separado una señal ODSP_start y otra ODSP_CH?

Se me ocurre que podría ser una sola, de forma que al hacer un OUT ya se dé el flanco en START y al FF de la salida CH.

¿Tiene sentido lo que digo?

La misma duda me viene con PROM y new.

Saludos,

Alejandro.

En respuesta a Alejandro Javier Goday Ruiz

Re: Ex.Julio 2016-Ejercicio 2 - ODSP_start y ODSP_CH

de Alexis Marcel Muzante Rey -

Buenas, yo creo que no funcionaria ya que cuando se da el start los datos en CH deben estar válidos. Si vos das la señal al mismo tiempo, el start podría llegar antes de que en CH hayan datos válidos. Con las otras señales igual. Saludos 

En respuesta a Alejandro Javier Goday Ruiz

Re: Ex.Julio 2016-Ejercicio 2 - ODSP_start y ODSP_CH

de Julio Perez -

Depende de cómo se comporte el dispositivo externo que recibe el dato.

En el caso del adquisidor te dicen que "realiza la conversión A/D del canal indicado en CH[1..0] al recibir un flanco de subida en la entrada start". El adquisidor internamente memoriza el valor de CH[] con el flanco de start.

En el caso del bloque PC no es tan claro que memorice internamente el valor de PROM con el flanco de new. Te dicen que el promedio tenés que "escribirlo en PROM[7..0] y dar un pulso en new indicando que hay un nuevo dato"

Analicemos tres soluciones posibles:

1) La que está en la solución.

  • Se necesita hacer dos OUT (el primero con el dato, el segundo para generar el flanco en start).
  • Sabemos que funciona si el periférico memoriza internamente porque cuando llega el flanco de start los datos correctos están en CH.
  • Funciona también si el periférico no memoriza (caso de PROM con bloque PC) porque los datos quedan memorizados en el registro que pusimos.
2) Suprimir el registro de datos

  • Se hace un solo out y se usa el pulso odsp también para dar la señal externa (p. ej. start)
  • hace falta un solo OUT
  • Funciona para el caso CH porque en el momento del flanco en ODSP en el ciclo M de escritura en E/S los datos están válidos en el bus de datos y son memorizados internamente por el adquisidor.
  • NO funciona para el caso de bloque PC que no nos dicen que memorice el dato con el flanco. Cuando más tarde va a leer, lo que hay en el bus de datos ya es otra cosa.
3) Dejar el registro y dar la salida start con el odsp asociado a ese puerto.

  • También se hace un solo OUT.
  • NO funciona para el caso del adquisidor, porque cuando se produce el flanco en odsp el dato que está presente en la salida del registro es el dato anterior
  • Funciona para el caso de bloque PC porque enseguida después del flanco el dato correcto llega a la salida y queda memorizado hasta que es leído por el bloque PC.