¿Qué significa borde activado y nivel activado?


35

Estoy estudiando la arquitectura del microprocesador 8085 y el borde de la palabra se activó y se activó el nivel, lo que realmente me confunde. ¿Alguien puede explicarme en palabras simples?

Mientras estudiaba las interrupciones de 8085 llamadas RST 7.5, RST 6.5, RST 5.5 y TRAP me encontré con estas palabras y me confundieron. Aquí adjunto un enlace de documento del que estaba leyendo y mencioné mis diagramas de confusión.

en el documento RST 7.5 -> Edge activado RST 5.5 -> Nivel activado. TRAP -> Edge activado y Level activado. (¿Por qué? ¿Hay alguna diferencia?).

el enlace del documento


Eso no es un pdf.
Starblue

sí, es un enlace al documento pdf. He hecho los cambios correctos.
trapaank

Respuestas:


34

Realmente no leí tu documento, pero puedo entender por qué estás confundido. Pero es un concepto muy simple realmente. Dejame explicar.

Disparo: Esto significa activar un circuito. Activar un circuito significa permitir que el circuito tome entrada y dé salida. Como, por ejemplo, se supone que tenemos un flip-flop. Cuando el circuito no se activa, incluso si proporciona algunos datos de entrada, no cambiará los datos almacenados dentro del flip-flop ni cambiará la salida Q o Q '. Ahora hay básicamente dos tipos de activación. La activación se da en forma de pulso de reloj o señal de activación. Dependiendo del tipo de mecanismo de disparo utilizado, el circuito se activará en estados específicos del pulso del reloj.

  1. Activación de nivel: en la activación de nivel, el circuito se activará cuando el impulso de activación o de reloj esté en un nivel particular. Este nivel lo decide el diseñador. Podemos tener un disparo de nivel negativo en el que el circuito está activo cuando la señal del reloj es baja o un disparo de nivel positivo en el que el circuito está activo cuando la señal del reloj es alta.

  2. Activación de borde: en la activación de borde, el circuito se activa en el borde negativo o positivo de la señal del reloj. Por ejemplo, si el circuito está activado por flanco positivo, recibirá la entrada exactamente en el momento en que la señal del reloj pasa de baja a alta. De manera similar, la entrada se toma exactamente en el momento en que la señal del reloj pasa de alta a baja en la activación del borde negativo. Pero tenga en cuenta que después de la entrada, se puede procesar todo el tiempo hasta que se tome la siguiente entrada.

Esa es la descripción general de los mecanismos de activación y también se aplican a las interrupciones 8085.


bueno ... con respecto a la activación del borde, por lo general, debe tener los datos estables durante un tiempo breve durante al menos una cantidad específica de tiempo antes del borde (consultar las hojas de datos) y mantenerlos estables durante un cierto período de tiempo (consultar las hojas de datos) pero estos tiempos suelen ser bastante cortos.
JustJeff

Entiendo lo que quería explicar, pero otra pregunta que he mencionado es que en 8085 TRAP se dispara tanto desde el borde como desde el nivel (vea el documento). Entonces, ¿cuál es la funcionalidad en tal caso cuando el circuito es sensible al nivel y activado por flanco?
Trapaank

En ese caso, quiere que la ventaja también pase un cierto nivel. Por lo tanto, necesitamos algo como borde ascendente y nivel> 3V
Steven Goldade

7

En un 8085, TRAP es una interrupción no enmascarable que normalmente se usa para manejar errores como una falla de energía.

Si se activara a nivel, su código nunca podría ejecutarse porque es una interrupción indescifrable. El controlador comenzaría a ejecutarse cuando se activara, pero aún estaría activo, por lo que el controlador comenzaría a ejecutarse, pero aún estaría activo, por lo que el controlador comenzaría a ejecutarse, etc., etc. Por lo tanto, debe activarse desde el borde .

Sin embargo, la activación de bordes es un problema cuando la línea puede tener fallas. Los fallos pueden provocar que el controlador se invoque varias veces a medida que la línea falla. Es un gran problema con TRAP ya que no se puede enmascarar y da como resultado un RST.

Como compromiso, la TRAP funciona como si estuviera activada por nivel, excepto que solo se reconoce cuando ha sido baja desde la última vez que se reconoció. Eso asegura que el controlador TRAP solo se invoque una vez.

Esto es lo que quieren decir con "activación de borde y activación de nivel".


2

* Activar * significa activar un circuito. En la activación de nivel, el circuito se activará cuando el pulso de activación o de reloj esté en un nivel particular. En la activación del borde, el circuito se activa en el borde negativo o positivo de la señal del reloj.


3
Esto es más o menos lo que se dijo anteriormente.
Brian Carlton el

-1

Golaž y vsz lo dicen bien:

Es exactamente lo que dice.

Si se establece la interrupción de borde, el ISR solo se disparará en el borde descendente / ascendente de un pulso. Mientras que si se establece una interrupción sensible al nivel (como usted dice), el ISR se disparará cada vez que haya una señal de bajo / alto nivel en el pin correspondiente.

En resumen, la interrupción de borde se dispara solo en bordes cambiantes, mientras que las interrupciones de nivel se disparan siempre que el pulso sea bajo o alto.

Entonces, si tiene configurada una interrupción de bajo nivel, MCU seguirá ejecutando el ISR siempre que el pin esté bajo.

Es decir, saldrá y volverá a ingresar al ISR una y otra vez, siempre que el pin esté bajo.

Mi impresión es que nadie realmente ha respondido lo que significa ser disparado tanto por nivel como por borde. Y yo tampoco.

La respuesta de D Krueger explica correctamente lo que significa ser disparado tanto por nivel como por borde. (Al menos, su respuesta me suena correcta, aunque no estoy familiarizado con el 8085.) La respuesta de Golaz y vsz supone que la interrupción está enmascarada. Todavía no estoy seguro de cómo "excepto que solo se reconoce cuando ha sido bajo desde la última vez que se reconoció". Sin embargo, difiere de ser disparado por el borde.


Gracias por su respuesta, pero creo que OP pasó a otra cosa y probablemente tenga esposa e hijos ya que la pregunta fue formulada y respondida hace 5 años. ¿Por qué no intentas responder nuevas preguntas en su lugar?
MaximGi

3
@MaximGi: No estoy de acuerdo. No hay nada de malo en responder viejas preguntas, los foros no solo están destinados a carteles, sino también a otros que terminan aquí cuando buscan respuestas a la misma pregunta por su cuenta. Las nuevas respuestas simplemente necesitan agregar más información a las que ya existen.
Mister Mystère

1
@ MisterMystère Nunca dije que hubiera algo malo en responder viejas preguntas. Pero esta respuesta tardía no agrega ningún contenido útil, la pregunta ya ha sido respondida correctamente. Además, la última declaración es falsa y va en contra de las reglas.
MaximGi

@MaximGi En un examen más detallado, veo que tienes razón: mi última declaración fue falsa. Lo he corregido. Mi cita de Golaz y vsz puede ser útil para los nuevos usuarios que no están familiarizados con lo que significan sus propios límites o niveles.
Josiah Yoder
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.