Studiuję architekturę mikroprocesora 8085, a wyzwolenie krawędzi słowa i wyzwolenie poziomu bardzo mnie dezorientuje. Czy ktoś może mi to wyjaśnić słowami laika?
Studiując przerwania z 8085 o nazwach RST 7.5, RST 6.5, RST 5.5 i TRAP, natknąłem się na te słowa i wprowadziły mnie w błąd. Tutaj załączyłem jedno łącze do dokumentu, z którego czytałem i wspomniałem o moich diagramach zamieszania.
w dokumencie RST 7.5 -> Wyzwolony zbocze RST 5.5 -> Wyzwolony poziom. TRAP -> Wyzwolone zbocze i Wyzwolone poziomy. (dlaczego? to robi różnicę?).
interrupts
8085
level
trigger
trapaank
źródło
źródło
Odpowiedzi:
Tak naprawdę nie przeczytałem twojego dokumentu, ale rozumiem, dlaczego jesteś zdezorientowany. Ale to naprawdę bardzo prosta koncepcja. Pozwól mi wyjaśnić.
Wyzwalanie: Oznacza to, że obwód jest aktywny. Uaktywnienie obwodu oznacza zezwolenie, aby obwód pobierał dane wejściowe i dawał dane wyjściowe. Jak na przykład przypuszczamy, że mamy flip-flop. Gdy obwód nie zostanie wyzwolony, nawet jeśli podasz jakieś dane wejściowe, nie zmieni danych przechowywanych w przerzutniku ani nie zmieni wyjścia Q lub Q '. Teraz są w zasadzie dwa rodzaje wyzwalania. Wyzwalanie ma postać impulsu zegarowego lub sygnału bramkującego. W zależności od rodzaju zastosowanego mechanizmu wyzwalającego obwód stanie się aktywny w określonych stanach impulsu zegarowego.
Wyzwalanie poziomu: Podczas wyzwalania poziomu obwód stanie się aktywny, gdy impuls bramkowania lub zegara znajdzie się na określonym poziomie. O tym poziomie decyduje projektant. Możemy mieć wyzwalanie poziomu ujemnego, w którym obwód jest aktywny, gdy sygnał zegara jest niski lub wyzwalanie poziomu dodatniego, w którym obwód jest aktywny, gdy sygnał zegara jest wysoki.
Wyzwalanie zbocza: Przy wyzwalaniu zbocza obwód staje się aktywny przy zboczu ujemnym lub dodatnim sygnału zegara. Na przykład, jeśli obwód jest wyzwalany zboczem dodatnim, pobierze sygnał wejściowy dokładnie w czasie, w którym sygnał zegara przechodzi od niskiego do wysokiego. Podobnie wejście jest pobierane dokładnie w czasie, w którym sygnał zegara przechodzi od wysokiego do niskiego w przypadku wyzwalania zboczem ujemnym. Pamiętaj jednak, że po wprowadzeniu danych można je przetwarzać przez cały czas, aż zostaną podjęte kolejne dane wejściowe.
Jest to ogólny opis mechanizmów wyzwalających, które mają również zastosowanie do przerwań 8085.
źródło
W 8085 TRAP jest niemaskowalnym przerwaniem zwykle używanym do obsługi błędów, takich jak awaria zasilania.
Gdyby został wyzwolony na poziomie, jego kod nigdy nie mógłby zostać wykonany, ponieważ jest to niemożliwe do wykonania przerwanie. Program obsługi zaczynałby działać, gdy stał się aktywny, ale nadal byłby aktywny, więc program obsługi zaczynałby działać, ale nadal byłby aktywny, więc program obsługi zaczynałby wykonywać itd., Itd. Dlatego musi być wyzwalany zboczem .
Wyzwalanie krawędzi jest jednak problemem, gdy linia może mieć usterki. Usterki mogą powodować wielokrotne wywoływanie procedury obsługi w przypadku usterki linii. Jest to bardzo duży problem z TRAP, ponieważ jest niemaskowalny i powoduje RST.
Jako kompromis, TRAP działa tak, jakby był wyzwalany poziomem, z tym wyjątkiem, że jest rozpoznawany tylko wtedy, gdy jest niski od ostatniego rozpoznania. Zapewnia to, że moduł obsługi TRAP jest wywoływany tylko raz.
To właśnie rozumieją przez „wyzwalane zboczem i wyzwalane poziomem”.
źródło
* Wyzwalanie * oznacza aktywowanie obwodu. Podczas wyzwalania poziomu obwód uaktywni się, gdy pulsowanie bramkowania lub zegara znajdzie się na określonym poziomie. W przypadku wyzwalania zbocza obwód staje się aktywny przy zboczu ujemnym lub dodatnim sygnału zegara.
źródło
Golaž i vsz dobrze to stwierdzają:
Oznacza to, że opuści i ponownie wróci do ISR, dopóki pin jest niski.
Mam wrażenie, że nikt tak naprawdę nie odpowiedział, co to znaczy być wyzwalanym poziomem i krawędzią. Ja też nie.Odpowiedź D. Kruegera poprawnie wyjaśnia, co oznacza być wyzwalanym zarówno poziomem, jak i krawędzią. (Przynajmniej jego odpowiedź brzmi dla mnie poprawnie, mimo że nie znam 8085.) Odpowiedź Golaza i vsza zakłada, że przerwanie jest zamaskowane. Nadal nie jestem pewien, jak „oprócz tego, że jest rozpoznawany tylko wtedy, gdy jest niski od ostatniego rozpoznania”. różni się jednak od wyzwalania krawędzi.
źródło