Co oznacza wyzwalanie zbocza i wyzwalanie poziomu?

35

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ę?).

link do dokumentu

trapaank
źródło
To nie jest pdf.
starblue
tak, jest to link do dokumentu pdf. dokonałem poprawnych zmian.
trapaank

Odpowiedzi:

34

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.

  1. 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.

  2. 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.

Rick_2047
źródło
no cóż ... jeśli chodzi o wyzwalanie zbocza, zwykle trzeba mieć dane stabilne przez krótki czas przynajmniej przez określony czas przed zboczem (patrz karty danych) i utrzymywać je stabilne przez pewien czas (patrz karty danych) ale te czasy są zazwyczaj dość krótkie.
JustJeff
Rozumiem, co chciałeś wyjaśnić, ale jedno pytanie, o którym wspomniałem, jest w 8085 TRAP jest zarówno wyzwalany zboczem, jak i wyzwalany poziomem (patrz dokument). Jaka jest funkcjonalność w takim przypadku, gdy obwód jest zarówno wrażliwy na poziom, jak i wyzwalany zboczem.
trapaank
W takim przypadku chce, aby przewaga przekroczyła pewien poziom. Potrzebujemy więc czegoś w rodzaju rosnącej krawędzi i poziomu> 3V
Steven Goldade
7

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”.

D Krueger
źródło
2

* 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.

Engr Hira Nasir
źródło
3
To jest prawie to, co powiedziano powyżej.
Brian Carlton,
-1

Golaž i vsz dobrze to stwierdzają:

To jest dokładnie to, co mówi.

Jeśli ustawione jest przerwanie zbocza, ISR zostanie zwolniony tylko przy opadającym / rosnącym zboczu impulsu. Podczas gdy jeśli ustawione jest przerwanie wrażliwe na poziom (jak mówisz), ISR będzie uruchamiany za każdym razem, gdy na odpowiednim pinie będzie sygnał niskiego / wysokiego poziomu.

Krótko mówiąc, przerwanie zbocza jest uruchamiane tylko na zmieniających się zboczach, a przerwania poziomu są wyzwalane, dopóki puls jest niski lub wysoki.

Więc jeśli masz ustawione przerwanie niskiego poziomu, MCU będzie kontynuowało wykonywanie ISR tak długo, jak długo pin będzie niski.

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.

Josiah Yoder
źródło
Dziękuję za odpowiedź, ale myślę, że OP przeszła na coś innego i prawdopodobnie ma żonę i dzieci, odkąd pytanie zostało zadane i udzielono odpowiedzi 5 lat temu. Dlaczego zamiast tego nie spróbujesz odpowiedzieć na nowe pytania?
MaximGi
3
@MaximGi: Nie zgadzam się. Nie ma nic złego w odpowiadaniu na stare pytania, fora są przeznaczone nie tylko dla plakatów, ale także dla innych osób, które kończą tutaj, gdy same szukają odpowiedzi na to samo pytanie. Nowe odpowiedzi muszą po prostu dodać więcej informacji do tych, które już istnieją.
Mister Mystère,
1
@ MisterMystère Nigdy nie mówiłem, że było coś nie tak z odpowiadaniem na stare pytania. Ale ta późna odpowiedź nie dodaje żadnej przydatnej treści, pytanie zostało już poprawnie udzielone. Ponadto ostatnie stwierdzenie jest fałszywe i niezgodne z regułami.
MaximGi
@ MaximGi Po bliższym zbadaniu widzę, że masz rację: moje ostatnie stwierdzenie było fałszywe. Poprawiłem to. Mój cytat z Golaz i vsz może być pomocny dla nowych użytkowników, którzy nie są zaznajomieni z tym, co oznacza wrażliwość na krawędź lub poziom na własną rękę.
Josiah Yoder,