logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

AVR - cykle zegarowe, nanosekudny, przeliczanie cykli

Elektronik25 07 Paź 2008 18:32 3732 9
REKLAMA
  • #1 5608879
    Elektronik25
    Poziom 11  
    Witam
    Jestem poczatkujacy i potrzebuje zasiegnac kilka informacji na temat AVR:
    - co to sa cykle zegarowe i nano sekundy
    - jak mozna przeliczac sobie cykle na ns i mhz oraz naodwrot

    Potrzebuje tez sie dowiedziec jaki jest najszybszy AVR ktorego idzie dostac w polsce o pojemnosci conajmniej 20kb RAM 4kb

    Za wszelka pomoc oferuje punkty pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 5609274
    grzegrzol
    Poziom 19  
    Częstotliwość cyklu zegarowego to częstotliwość z jaką wykonywane są podstawowe operacje procesora i jest ona równa, w przypadku AVR jest równa częstotliwość kwarcu lub oscylatora.
    Nano sekunda to jednostka czasu równa 10^-9s czyli 1000000000ns=1(mikro)s (Miliard ns=1 s).
    Tak jak napisalem częstotliwość cyklu zegarowego równa jest częstotliwości kwarcu. Częstotliwość to odwrotność okresu czyli 1Mhz=1/µs=1/1000ns.
    Co do najszybszego AVR to może ATMEGA644?
  • #3 5609992
    Elektronik25
    Poziom 11  
    Ok dzieki za objasnienia
    Tak ATMEGA644 pracuje na 20mhz max przydaloby mi sie troche jeszcze szybciej

    Mam jeszcze takie pytanie troche na poczatek niezabardzo rozumiem jak dziala program pisany w assemblerze
    Porownujac to z programem np w vbs w jaki sposob sa deklarowane zmienne ? po co sa rejestry ? w jakim celu sie z nich korzysta ?
    Masz odemnie 13 punktow
  • REKLAMA
  • #4 5610082
    grzegrzol
    Poziom 19  
    Wydaje mi się, że nie ma AVR-a szybszego niż 20 MHz, ale mogę sie mylić.

    A co do assemblera to chyba lepiej Ci będzie, jako osobie początkującej zacząć np. od Bascoma.
  • #5 5610132
    Elektronik25
    Poziom 11  
    OK pozostane przy tym 20mhz
    Nie nie to nie jest tak do konca ja potrzebuje przepisac cos z atmela 10mhz do szybszego i dodac troche modyfikacji
    Umiem programowac w delphi , vb , C++ tylko troche nie bardzo rozumiem jakby np mial dzialac moj program w asmie
    Przyklad :

    Odbierz bit 1 z portu D wykonaj petle i dodaj opoznienie czasowe
    Niewiem poprostu jakich skladnikow potrzebuje dodatkowo zeby takie funkcje wykonac

    Rozumiem insy assemblera i po czesci ucze sie ich wiem co robia ale nie potrafie pojac co robi dokladnie rejestr i stos czy moge go wykorzystac jako zmienne ? czy to dziala troche inaczej ?
  • REKLAMA
  • Pomocny post
    #6 5610213
    karlos79
    Poziom 33  
    Witam
    Stos, jest to obszar pamięci do którego zapisuje się kolejkę przerwań i stan rejestrów po zgłoszeniu przerwania.
    Procesor coś robi, zgłasza się przerwanie, odkłada sobie na stos to co robił, wykonuje przerwanie, zdejmuje ze stosu to co robił przed zgłoszeniem przerwania i dalej to wykonuje.
    To tak na prędce.
    Polecam tą stronkę http://www.edw.com.pl/ea/asm_avr.html
    Pozdrawiam
  • REKLAMA
  • #7 5610232
    Elektronik25
    Poziom 11  
    Ok dzieki wszystkim musze sie troche poduczyc
  • #8 5611811
    Jacek Rutkowski
    Poziom 28  
    Witam,
    jeśli Atmel to typowa '51 to przy tym samym zegarze masz 12x szybciej wykonywany program w AVR bo on nie dzieli zegara przez 12 (w AVR cykl zegarowy = cykl maszynowy).
  • #9 5611821
    Pijopic
    Poziom 17  
    To tylko w teorii tak ladnie wyglada, w praktyce tylko czesc instrukcji wykonuje sie w jednym cyklu, sporo w dwu cyklach i kilka w trzech.
  • #10 5615669
    Jacek Rutkowski
    Poziom 28  
    Ok zgadza się, źle się wyraziłem. Średnia wydajność wzrośnie kilkukrotnie, zależy jaki będzie program ale na pewno będzie odczuwalna chyba że porównamy AVR do Cygnali '51 to już tak wielkiej różnicy nie ma.
REKLAMA