"skrocic" przerwanie

Nov 16, 2005 15 Replies

Witam!



Pewnie dla wiekszosci z was proste i smieszne pytanie, ale odpowiedzcie prosze.



Na wejscie przerwania w procesorze, wyzwalane opadajacym zboczem, mam podpiete 2 zrodla przerwan - zegar RTC i klawiature. Problem polega na tym, ze przerwanie ganarowane przez RTC jest stosunkowo dlugie (jakies 50ms). W tym czasie na wejsciu panuje stan niski i jak sie nietrudno domyslic, klawiatura nie generuje juz zbocza opadajacego...



I tu mam pytanie do Was jak skrócić ten czas? niestety nie da sie tego zrobic programowo w RTC. Z dawnych czasow pamietam, ze tu bylby dobry uklad calkujacy, ale proste R/C cos mi nie dziala. Pewnie zadzialaloby, gdyby w szereg wlaczyc 2 NANDy, a pomienzy nie dac R/C, ale zastanawiam sie nad czyms mniej elementozernym - nie chodzi mi o koszty, bo one tu zadne, tylko o proste pomysly ukladowe....



Pozdrawiam Lukasz


jak już, to różniczkujący i do tego diodę, by się wejście nie wściekło, jak napięcie zejdzie poniżej zera.

Waldek

Najprościej to można by spróbować zróżniczkować sygnał przecinając ścieżkę i dając kondensator. Ale najlepiej dać jakiś przerzutnik monostabilny np 74123 lub 4098 albo przerzutnik D czy JK wyzwalany zboczem ze sprzężeniem z wyjścia do wejścia R. No i wyjście OC albo dać przynajmniej ten sygnał przez diodę do wejścia przerwania.

Koniecznie Schmitta.

Jacek "Plumpi"

Jacek "Plumpi" przemówił ludzkim głosem:

A po co ? Większość wejść w uC ma wbudowany układ shmitta, a jak nie ma to zawsze można sprawdzić maksymalne dozwolone czasy narastania/opadania sygnałów i tak dobrać stałą czasową, żeby poza nie nie wychodzić.

Oczywiscie - przepraszam - moj blad. wiec to, co zrobilem, to oczywiscie rozniczkujacy z dioda - zle napisalem, ale to mialem na mysli... a wygladalo to tak, ze w szereg byla dioda i C, a rownolegle R do masy. stala RC obliczylem na 1 ms, ale nie chcialo toto ruszyc... zmienilem R na 100 ms, ale to tez nie chcialo gadac... oczywiscie dioda byla spolaryzowana anoda do wejcia przerwania uP.

zastanawiam sie tylko, czy tak podlaczony uklad na pewno bedzie reagowal na zbocze opadajace, a nie rosnace?

Pozdrawiam Lukasz

Witam!

oczywiscie - przepraszam - moj blad. Wiec to, co zrobilem, to oczywiscie rozniczkujacy z dioda - zle napisalem, ale to mialem na mysli... A wygladalo to tak, ze w szereg byla dioda i C, a rownolegle R do masy. Stala RC obliczylem na 1 ms, ale nie chcialo toto ruszyc... Przeliczylem R na czas 100 ms, ale to tez nie chcialo gadac... oczywiscie dioda byla spolaryzowana anoda do wejcia przerwania uP.

zastanawiam sie tylko, czy tak podlaczony uklad na pewno bedzie reagowal na zbocze opadajace, a nie rosnace?

Pozdrawiam Lukasz

U¿ytkownik "luke" snipped-for-privacy@wp.pl napisa³ w wiadomo¶ci news: snipped-for-privacy@newsgate.onet.pl...

Dioda nie ma byæ równolegle z kondensatorem, ale ewentualnie z opornikiem. Niekoniecznie musi byæ, bo procesor zwykle j± ma w sobie.

no tak napisalem:

pozdrawiam Lukasz

dioda ma być równolegle z opornikiem, bo ten RC będzie ci dawał napięcia negatywne na wejście procka, ale jak napisał SP9LWH procki mają na ogół diodę chroniącą przed negatywnym napięciem na wejściu. Ale przez to "na ogół" dałbym tą diodę ;-)

Waldek

U¿ytkownik "luke" snipped-for-privacy@wp.pl napisa³ w wiadomo¶ci news: snipped-for-privacy@newsgate.onet.pl...

A ma byæ :-) w szereg C, a za nim równolegle do wej¶cia procesora R z diod± zwrotn±

Użytkownik luke napisał:

Sprawdzaj ponowne przyjście (flagę) przerwania kilkakrotnie w wybranych momentach obsługi przerwania zegarowego. Na tyle często żeby nic nie mogło uciec w przypadku drugiego przerwania.

Przecież to nie obsługa przerwania w procku trwa długo tylko stan niski na wejściu blokuje mu możliwość detekcji przerwania z klawiatury.

Witam

No wlasnie. Czyli sytuacja wyglada tak, ze jest ne we. stan wysoki. Jesli zmieni sie na we. ukl. rozniczkujacego stan na niski, to na wyjsciu tegoz bedzie szpilka (dlugosc zalezna od stalej czasowej RC) do niskiego stanu. Jesli zas zmieni sie z powrotem na stan wysoki, to bedzie szpilka z wysokiego jeszcze na wyzsze napiecie. no to gdzie te ujemne?? a moze cos mieszam??

Pozdrawiam Lukasz

Witam

No wlasnie. Czyli sytuacja wyglada tak, ze jest ne we. stan wysoki. Jesli zmieni sie na we. ukl. rozniczkujacego stan na niski, to na wyjsciu tegoz bedzie szpilka (dlugosc zalezna od stalej czasowej RC) do niskiego stanu. Jesli zas zmieni sie z powrotem na stan wysoki, to bedzie szpilka z wysokiego jeszcze na wyzsze napiecie. no to gdzie te ujemne?? a moze cos mieszam??

Pozdrawiam Lukasz

U¿ytkownik "luke" snipped-for-privacy@wp.pl napisa³ w wiadomo¶ci news: snipped-for-privacy@newsgate.onet.pl...

A gdzie masz opornik ? Do masy czy zasilania ? Twój opis jest prawdziwy w pierwszym przypadku.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required