Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

PicoBlaze - przerwania

t0meks
-
-
Posty:4
Rejestracja:16 maja 2008, o 19:33
Lokalizacja:Kalisz
Kontaktowanie:
PicoBlaze - przerwania

Postautor: t0meks » 16 maja 2008, o 20:04

Witam wszystkich
Potrzebuje pomocy
Czy ktoś może wie, jak rozbudować kontroler PicoBlaze do obsługi wielu źródeł przerwania, tak by nie modyfikować struktury procesora?

Awatar użytkownika
bis
-
-
Posty:134
Rejestracja:12 maja 2005, o 08:11
Lokalizacja:Warszawa

Postautor: bis » 16 maja 2008, o 21:38

czysto sprzetowo to sie nie da, ale jeżeli dodać zewnetrzny "rejestr/rejestry" z bitami odpowiadajacymi poszczególnym żródłom przerwań a na wejście przerwania wprowadzic sumę tych sygnałów wtedy w procedurze przerwnia możesz odczytac ten rejestr i wykonać własciwą akcję w zależności od tego które przerwania sie zgłosiły. mozesz dodać automatyczne "zerowanie" rejestru zgłoszeń właśnie tym odczytem.

bis

t0meks
-
-
Posty:4
Rejestracja:16 maja 2008, o 19:33
Lokalizacja:Kalisz
Kontaktowanie:

Postautor: t0meks » 17 maja 2008, o 15:49

Dziekuje za odpowiedz,

A dlaczego nie da sie tego wykonac sprzętowo?


/
tomek

Piotr
Moderator
Moderator
Posty:468
Rejestracja:14 lut 2003, o 13:53
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: Piotr » 17 maja 2008, o 17:02

"A dlaczego nie da sie tego wykonac sprzętowo? "
**********
Bo przeciez nie chcez modyfikowac sprzetu!
Pzdr
PZb

t0meks
-
-
Posty:4
Rejestracja:16 maja 2008, o 19:33
Lokalizacja:Kalisz
Kontaktowanie:

Postautor: t0meks » 17 maja 2008, o 17:46

Piotr, napisałem tak w moim pierwszym poscie i nadal musze to tak zrobic. Bis natomiast napisal, ze sprzetowo raczej sie togo nie da wykonac, ja chcialbym po prostu wiedziec dlaczego nie ma takiej mozliwosci.

/
tomek

Awatar użytkownika
bis
-
-
Posty:134
Rejestracja:12 maja 2005, o 08:11
Lokalizacja:Warszawa

Postautor: bis » 17 maja 2008, o 21:54

po chwili zastanowienia musze odwołać to co wcześniej stwierdziłem- "że sie nie da". To można zrobić nie ingerując w strukturę procesorka.
Realizacja polegała by na właściwości PicoBlaze, że w chwili obsługi przerwania PicoBlaze pobiera rozkaz ze stałego, zawsze tego samego, adresu. Jeżeli zrobimy "obserwator" szyny adresowej i odpowiedni multiplekser na szynie danych pamięci programu to w chwili kiedy procesor wystawia adres obsługi przerwania "obserwator" to wykryje i poda poprzez multiplekser słowo programu nie z pamięci programu ale z automatu zbierajacego informacje o aktualnych, aktywnych zródłach przerwań. To słowo to, najprościej, rozkaz skoku albo wywołania procedury, w którym 10 bitów adresowych jest zmienne w zależności od żródła przerwania. W ten sposób uzyskamy "wektorowość" obsługi przerwań, różne żródła przerwań będą obsługiwane przez inne procedury programu. Zrobienie takiego bloczka może byc bardzo pouczającym zadaniem. jak znajdę troche czsu to może poeksperymentuję.

bis

t0meks
-
-
Posty:4
Rejestracja:16 maja 2008, o 19:33
Lokalizacja:Kalisz
Kontaktowanie:

Postautor: t0meks » 6 cze 2008, o 18:33

a co myslicie by wykorzystac multiplekser?

[ Dodano: 11-06-2008, 17:36 ]
Mam ogromna prosbe, czy ktos by mogl zerknac na narysowany uklad i skomentowac czy to ma w ogole jakis sens.

z gory dziekuje za pomoc
Załączniki
Przerwania.jpg

ADIwlkp
-
-
Posty:1
Rejestracja:18 cze 2008, o 13:57
Lokalizacja:poznań

Postautor: ADIwlkp » 18 cze 2008, o 14:00

Witam!
rowniez potrzebowalbym informacje o przerwaniach w procesorze PicoBlaze.
Moglby ktos skomentowac schemat z postu wyzej?

Wróć do „PLD/FPGA i inne zagadnienia techniki cyfrowej”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości