Skocz do zawartości

Opóźnienie wejścia przy odczycie w AVR ATmega8


slawek7

Pomocna odpowiedź

Jestem nowy ale mam nadzieję że mnie porzucicie i pomożecie.

W ogóle nie rozumiem o co chodzi z synchronizacją wejścia w uC Atmega8?

Czy mogę Was prosic o wytłumaczenie jak to działa.

Znalazłem taki opis:

"Dokumentacja ATmega8 podaje że stabilizacja stanu wejścia wymaga

około jednego taktu zegara. chodzi o to że stany bitów PORTx są

kopiowane do rejestru PINx a poprawne wykonanie tej operacji wymaga

jednego taktu zegara."

Nie rozumiem zasady dzialania tego układu synchronizacji? Czy działa to na kazdym porcie, tzn. wystawiam coś na port D a odczytuje z B, to czy też jest konieczne to opóźnienie?

Link do komentarza
Share on other sites

Oznacza to tyle, że od momentu zmiany stanu na pinie do momentu kiedy ta zmiana zostanie odzwierciedlona w registrze procesora mija jeden takt procesora.

Przykład w praktyce: Masz do procesorka z zegarem 1MHz podłączony przycisk. Wciskasz przycisk, mija 1/1000000 s (czyli 1us) i dopiero procesor zarejestrował, że nastąpiła zmiana na pinie.

Link do komentarza
Share on other sites

"Dokumentacja ATmega8 podaje że stabilizacja stanu wejścia wymaga

około jednego taktu zegara. chodzi o to że stany bitów PORTx są

kopiowane do rejestru PINx a poprawne wykonanie tej operacji wymaga

jednego taktu zegara."

PORTx to jest rejestr wyjściowy danego portu,
natomiast PINx jest rejestrem wejściowym.

Jak masz skonfigurowany port jako wyjście

to wystawiasz na nim stany logiczne poprzez zapis słowa do rejestru PORTx

Po jednym cyklu zegarowym te same stany są skopiowane do rejestru PINx.

Przy czym skopiowane są do rejestru PIN TEGO SAMEGO portu

więc skoro wystawiasz sygnał na PORTA to po jednym takcie zegara masz ten sygnał powtórzony na PINA.

W przypadku pracy portu jako wejście czytasz z rejestru PIN.

Opóźnienie jest konieczne - zobacz strukturę wyprowadzenia I/O przedstawioną w datasheecie.

Znajdują się w niej przerzutniki typu zatrzask synchronizowane sygnałem zegarowym.

Link do komentarza
Share on other sites

No właśnie nie rozumen zasady działania tego synchronizatora. nie moge doszukac sie jak przebiega wystawienie czegos na port w porównaniu z zegarem systemowym.

Czy to opóźnienie dotyczy dowolnego portu np wystawiam coś na B a odczytuje z D czy tylko tego samego?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.