O que significa trigger de borda e trigger de nível significa?


35

Estou estudando a arquitetura do microprocessador 8085 e a palavra edge triggered e level triggered me confundindo muito. Alguém pode me explicar isso nas palavras dos leigos?

Enquanto estudava as interrupções do 8085 denominadas RST 7.5, RST 6.5, RST 5.5 e TRAP, deparei-me com essas palavras e elas me confundiram. Aqui, anexei um link de documento no qual estava lendo e mencionei meus diagramas de confusão.

no documento RST 7.5 -> Edge triggered RST 5.5 -> Level triggered. ARMADILHA -> Borda acionada e Nível acionado. (por quê? isso faz alguma diferença?).

o link do documento


Isso não é um pdf.
Starblue #

sim, é um link para o documento pdf. Eu fiz as alterações corretas.
Trapaank #

Respostas:


34

Na verdade, não li o documento, mas entendo por que você está confuso. Mas é realmente um conceito muito simples. Deixe-me explicar.

Disparo: significa ativar um circuito. Ativar um circuito significa permitir que o circuito receba e dê saída. Como por exemplo, supomos que temos um flip-flop. Quando o circuito não é acionado, mesmo se você fornecer alguns dados de entrada, ele não alterará os dados armazenados no flip-flop nem a saída Q ou Q '. Agora, existem basicamente dois tipos de disparo. O disparo é dado na forma de pulso de relógio ou sinal de disparo. Dependendo do tipo de mecanismo de disparo usado, o circuito se tornará ativo em estados específicos do pulso do relógio.

  1. Nível de disparo: No nível de disparo, o circuito se tornará ativo quando o pulso de disparo ou de clock estiver em um nível específico. Este nível é decidido pelo designer. Podemos ter um nível negativo em que o circuito está ativo quando o sinal do relógio está baixo ou um nível positivo em que o circuito está ativo quando o sinal do relógio está alto.

  2. Gatilho de Borda: No gatilho de borda, o circuito se torna ativo na borda negativa ou positiva do sinal do relógio. Por exemplo, se o circuito for acionado pela borda positiva, ele receberá a entrada exatamente na hora em que o sinal do relógio passa de baixo para alto. Da mesma forma, a entrada é recebida exatamente no momento em que o sinal do relógio passa de alto a baixo no disparo da borda negativa. Mas lembre-se de que após a entrada, ela pode ser processada o tempo todo até que a próxima entrada seja recebida.

Essa é a descrição geral dos mecanismos de disparo e esses também se aplicam às interrupções do 8085.


bem ... em relação ao acionamento da borda, geralmente é necessário manter os dados estáveis ​​por um curto período de tempo por pelo menos um período específico antes da borda (consulte as folhas de dados) e mantê-los estáveis ​​por um certo período de tempo (consulte as folhas de dados) mas esses tempos geralmente são bem curtos.
fácil

Eu entendo o que você queria explicar, mas uma outra pergunta que mencionei no 8085 TRAP é ao mesmo tempo disparada por borda e por nível (consulte o documento). Então, qual é a funcionalidade nesse caso em que o circuito é sensível ao nível e acionado pela borda?
Trapaank 7/11

Nesse caso, ele quer que a borda também ultrapasse um certo nível. Então, precisamos de algo como borda de subida e nível> 3V
Steven Goldade

7

Em um 8085, o TRAP é uma interrupção não mascarável, normalmente usada para lidar com erros como falta de energia.

Se fosse acionado por nível, seu código nunca poderia ser executado porque é uma interrupção inquestionável. O manipulador começaria a executar quando se tornasse ativo, mas continuaria ativo, portanto o manipulador começaria a executar, mas continuaria ativo, portanto o manipulador começaria a executar etc. etc. etc. Portanto, ele deve ser acionado pela borda .

No entanto, o disparo da borda é um problema quando a linha pode apresentar falhas. Falhas podem fazer com que o manipulador seja invocado várias vezes enquanto a linha falha. É um problema muito grande com o TRAP, pois não é mascarável e resulta em um RST.

Como compromisso, o TRAP funciona como se fosse disparado em nível, exceto que ele é reconhecido apenas quando está baixo desde a última vez que foi reconhecido. Isso garante que o manipulador TRAP seja chamado apenas uma vez.

É isso que eles querem dizer com "borda acionada e nível acionado".


2

* Disparo * significa ativar um circuito. No disparo de nível, o circuito se torna ativo quando o pulso de disparo ou de clock estiver em um nível específico. No disparo por borda, o circuito se torna ativo na borda negativa ou positiva do sinal do relógio.


3
Isso é basicamente o que foi dito acima.
9788 Brian

-1

Golaž e vsz afirmam bem:

É exatamente o que diz.

Se a interrupção da borda estiver configurada, o ISR será acionado apenas na borda de queda / subida de um pulso. Enquanto a interrupção sensível ao nível (como você diz) estiver definida, o ISR será disparado toda vez que houver um sinal de nível baixo / alto no pino correspondente.

Em resumo, a interrupção de borda é acionada apenas nas mudanças de borda, enquanto as interrupções de nível são acionadas desde que o pulso seja baixo ou alto.

Portanto, se você tiver definido um nível baixo de interrupção, o MCU continuará executando o ISR enquanto o pino estiver baixo.

Ou seja, ele sai e entra novamente no ISR repetidamente, desde que o pino esteja baixo.

Minha impressão é que ninguém realmente respondeu o que significa ser desencadeado ao nível e ao limite. E eu também não.

A resposta de D Krueger explica corretamente o que significa ser acionado em nível e em borda. (Pelo menos, a resposta dele parece correta para mim, mesmo que eu não esteja familiarizado com o 8085.) A resposta de Golaz e vsz assume que a interrupção está mascarada. Ainda não tenho certeza de como "exceto que só é reconhecido quando está baixo desde a última vez que foi reconhecido". difere de ser acionado pela borda, no entanto.


Obrigado pela sua resposta, mas acho que o OP mudou para outra coisa e provavelmente tem uma esposa e filhos desde que a pergunta foi feita e respondida 5 anos atrás. Por que você não tenta responder a novas perguntas?
MaximGi

3
@ MaximGi: Eu discordo. Não há nada de errado em responder perguntas antigas, os fóruns não são apenas para pôsteres, mas também para outras pessoas que acabam aqui quando procuram respostas para a mesma pergunta por conta própria. As novas respostas simplesmente precisam adicionar mais informações às que já existem.
Mister Mystère

11
@ MisterMystère Eu nunca disse que havia algo errado em responder a perguntas antigas. Mas essa resposta tardia não adiciona nenhum conteúdo útil, a pergunta já foi respondida corretamente. Além disso, a última declaração é falsa e contrária às regras.
MaximGi

@ MaximGi Em uma análise mais detalhada, vejo que você está certo: minha última afirmação foi falsa. Eu corrigi isso. Minha citação de Golaz e vsz pode ser útil para novos usuários que não estão familiarizados com o que significa sensível a borda ou nível por conta própria.
21816 Josiah Yoder
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.