logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.
  • #1 5932287
    hennry009
    Poziom 11  
    Witam potrzebuje dane dotyczące architektury i zastosowania mikrokontrolera AVR. Proszę o pomoc.
  • #3 5932812
    hennry009
    Poziom 11  
    A nie ma czegoś po polsku
  • #4 5933068
    slomo
    Poziom 18  
    Sa np ksiazki wydawnictwa BTC.

    pz
  • #8 5940000
    hennry009
    Poziom 11  
    A gdzie ma zastosowanie ATmega32?
  • #9 5940490
    Mad_Lamer
    Poziom 12  
    Notatki z prezentacji, którą teraz tworzę, może się przydadzą:

    Mikrokontrolery AVR stosowane są w przemyśle samochodowym, w systemach zabezpieczających, bezpieczeństwa oraz rozrywkowym. Stosują je np firmy BMW, Daimler Chrysler oraz TRW
    W X-Boxie, w padach zastosowano AVRy z interfejsem USB.
    Atmega48 pojawia się jako dodatkowy mikrokontroler w Lego Mindstorms NXT.

    Atmega8 to 8 bitowy mikrokontroler oparty na technologii CMOS. Jego konstrukcja opiera się na architekturze harwardzkiej. Podstawową cechą charakterystycznę tej architektury jest rozdzielenie przestrzeni adresowej pamięci programu i pamięci danych. Uzyskano to poprzez zastosowanie oddzielnych magistrali dla danych i programu.
    Zalety takiego rozwiazania to:
    - mozliwosc zastosowania słowa o różnej szerokości dla pamięci programu i pamięci danych
    - uchronienie się od przypadków, w których dane mogłyby być interpretowanie jako instrukcje
    Dwustopniowe przetwarzanie potokowe - podczas wykonywania instrukcji kod drugiej jest wstępnie pobierany z pamięci programu. Dzięki takiemu rozwiązaniu instrukcje wykonywane są w każdym cyklu zegarowym, zwiększa to znacznie wydajność.

    Szczegółowiej:
    Program trzymany jest w pamięci flash, która może być reprogramowana w systemie poprzez SPI.
    Atmega8 posiada 32 8bitowe rejestry ogólnego użytku o szybkim dostępie - dostęp jest realizowany w trakcie jednego cyklu zegarowego. To z kolei pozwala jednostce ALU na wykonywanie operacji podczas jednego cyklu.
    W typowych operacjach, ALU korzysta z dwóch rejestrów jako operandów, po wykonaniu operacji wynik także jest umieszczony w rejestrze, a wszystko to podczas jednego cyklu zegarowego.
    6 rejestrów może być użytych jako 3 rejestry 16bitowe, wskaźniki, służące do adresowania pośredniego. Jeden z tych rejestrów może służyć jako wskaźnik do pamięci flash (czyli programu).
    Duża liczba rejestrów sprawia, że programy stworzone przez kompilatory języków wysokiego poziomu działają dość wydajnie.
    ALU pozwala na dokonywanie operacji matematycznych oraz logicznych pomiędzy rejestrami lub pomiędzy stałą a rejestrem. ALU potrafi także wykonywać operacje na jednym rejestrze.
    Po każdej operacji ALU aktualizowany jest rejestr statusu.
    Instrukcje w AVR w większości są 16 bitowe, więc pomimo rozmiaru pamięci programu wynoszącego 8kB, zmieszczą się w niej tylko 4k słowa.
    Pamięć flash jest podzielona na dwie sekcje. Pierwsza zawiera boot program, druga aplikację.
    Sekcja boot zawiera np bity zapezpieczające (o nich później).
    Licznik programu jest 12 bitowy, adresuje 4ksłowa w pamięci flash.

    Podczas przerwań oraz wywołań procedur, adres powrotny jest przechowywany na stosie. Stos znajduje się w pamięci SRAM, jego rozmiar jest ograniczony jedynie rozmiarem tej pamięci oraz jej innym wykorzystaniem.
    Przed pierwszym skokiem przestrzeń stosu musi być zdefiniowana przez program. Wskaźnik stosu musi ustawiony powyżej 0x60.
    Wskaźnik stosu jest dostępny z przestrzeni I/O, zarówno do odczytu jak i zapisu.
    Wskaźnik stosu pokazuje zawsze na ostatni element stosu.


    O AVRach to jest niezła książka Jarosława Dolińskiego. Część to przetłumaczona dokumentacja od Atmela ;)
REKLAMA