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

Jak zmienić częstotliwość taktowania uC w AVR Studio4

jaros85 04 Gru 2009 22:08 3980 5
  • #1 7346131
    jaros85
    Poziom 20  
    Witam mam uC ATmega 8 i programuje go w C i używam do tego AVR Studio 4. W ustawieniach jak na foto poniżej zmieniałem ustawienia i mój uC działał albo z wewnętrznego rezonatora RC albo z zewnętrznego kwarca lub ewentualnie z rezonatora RC te ustawienia rozumiem ale...

    Jak zmienić częstotliwość taktowania uC w AVR Studio4

    Do czego służą ustawienia:
    1) Pierwsze trzy: External clock (czy chodzi o taktowanie uC przez np inny uC)
    2) Internal RC (to wiem to wybór wewnętrznego rezonatora RC)
    3) External RC (to też rozumiem ale czym różnią się cztery pierwsze ustawienia od pozostałych :?: Wiem że przedziałem częstotliwości w jakiej pracuje rezonator ale w pierwszych czterech nie podano minimalnej wartości co to oznacza)
    4) Czym różnią się ustawienia Ext. Low Freqency Cristal od pozostałych Ext. Crystal/Resonator
    5) Która wartość w ustawieniach Ext. Crystal/Resonator (Low Frequency / Medium Frequency / High Frequency) zależy od przyłączonego kwarca lub rezonatora
    6) Co oznaczają wartości Start-up time 1K CK 16K CK itp. oraz co oznaczają wartości +0ms +4ms lub +64ms

    W nocie katalogowej od ATmegi 8 wyczytałem że przy zewnętrznym rezonatorze RC luk kwarcu można włączyć wewnętrzny kondensator 32pF wtedy zewnętrzne są nie potrzebne. Przy jakich ustawieniach te kondensatory się włączają.

    Bardzo dziękuję za pomoc.
  • Pomocny post
    #2 7346332
    Krauser
    Poziom 26  
    Odpowiedzi na Twoje pytania:
    1. Tak, ale w szczególnym przypadku. Częściej jest w układzie generator systemowy taktujący kilka układów.
    3. Nie ma minimalnej częstotliwości. AVR'y mogą pracować z dowolnie małą częstotliwością, a nawet być zatrzymane.
    4. Ext. Low-Freqency Crystal dotyczy kwarca zegarkowego i dla niego można włączyć zewnętrzne kondensatory 36pF programując/zerując CKOPT Fuse. W tym momencie nie mogę tego sprawdzić, ale musi być taki wariant. Takie jak tu pokazane ustawianie Fusebitów, czyli opisowe miało na celu pomóc w poprawnej konfiguracji bez zaglądania do specyfikacji uP
    5, 6. Dla kwarcu wybieramy zakres częstotliwości. Natomiast opóźnienia w zależności od szybkości narastania napięcia zasilania po to by gdy procesor rozpocznie pracę taktowanie było stabilne. Najbezpieczniej wziąć najdłuższy czas.
  • #3 7346604
    jaros85
    Poziom 20  
    Czyli wartości np 16K CK + 4ms oznacza że uC odliczy 16 tys cykli zegarowych później odczeka 4ms "wykona reset" (tak wyczytałem z noty katalogowej) i zacznie wykonywać zaprogramowany kod :?:

    Nie rozumiem jeszcze wartości (Low Frequency / Medium Frequency / High Frequency) jeżeli mam kwarca np 8MHz to którą wartość wybrać. Czy np Low Frequency oznacza częstotliwości z zakresy kHz natomiast Medium Frequency oznacza kwarce z zakresu MHz itp :?:

    Mam jeszcze pytanie dotyczące następujących ustawień:
    Rstdislb: oznacza włączenie wyłączenie na PC6 funkcji reset. Jeżeli wyłączę reset (zaznaczę pole) to jak zresetować uC czy będzie można zaprogramować uC przez ISP
    Wtdon: zegar watch-doga zawsze włączony o co chodzi (wiem co to jest watch-dog) ale co to ustawienie wprowadza
    Eesave: chodzi o wykonywaniu kopii eepromu przed skasowaniem uC. Czy dobrze kombinuje :?:
    Bootsz: Co powoduje zmianę rozmiaru tej pamięci
    Bootrst: Coś o restarcie ale co :?:
    Ckopt: :?:
    Bodlevel: Czy chodzi o wartość napięcia od którego zaczyna się wykonywać kod zaprogramowany w uC :?:
    Boden: :?:

    Proszę jeszcze o opis zakładki Lokc Bits:
    LB, BLB0, BLB1
    Advanced:
    Oscilator Calibrations Byte
    HW Setings:
    Clock generator - co oznacza ta częstotliwość
    Main:
    Programing mode and ... Chodzi mi o ISP Frequency co powoduje zmiana tej częstotliwości :?:
  • Pomocny post
    #5 7347231
    Krauser
    Poziom 26  
    1. Low to częstotliwości mniejsze niż 25% maksymalnej, a High to Więcej niż 75% maksymalnej. Dlaczego nie podali wartości bo max zależy od wersji(napięcia zasilania - L na końcu). Dla atmega8 8MHz to medium.
    2. RSTDISBL tak jak mówisz, ale później ISP nie funkcjonuje
    3. WDTON będzie on zawsze włączony. Jeśli ten bit nie będzie zaprogramowany to w programie można go ustawiać i zerować.
    4. EESAVE tak
    5. BOOTSZ1,2 - kombinacja tych bitów ustala rozmiar obszaru pamięci zarezerwowanego na bootloader
    6. BOOTRST - po resecie program nie rozpocznie się od adresu 0000h tylko od początku sekcji bootloadera, która znajduje się na końcu pamięci flash
    7. CKOPT ustawiany jest w tej liście rozwijanej przy wyborze opcji taktowania
    8. BODEN włącza obwody resetujące uP w momencie spadku napięcia zasilania poniżej progu ustalonego przez BODLEVEL. Procesor pracuje i chodzi o zapewnienie jego poprawnego funkcjonowania. Program rozpocznie się od nowa i nie wykona nieprzewidzianych/błędnych operacji.

    Bity zabezpieczające:
    LB zabezpieczają przed odczytem i programowaniem pamięci flash opcjonalnie można tylko zweryfikować. Chroni to interesy programisty. By powtórnie zaprogramować trzeba wykasować flash.
    BLB dotyczą bootloadera, a dokładnie jego "uprawnień" do odczytu lub programowania w sekcji aplikacji i bootloadera

    Oscilator Calibrations Byte pozwala zmienić/dostroić częstotliwość wewnętrznego generatora RC. Fabrycznie ma dokładność 3%.

    ISP Frequency - im wyższa tym szybciej załadujesz program, ale musi być mniejsza niż 1/4 częstotliwości na której pracuje procesor. Dla "świeżego" 250kHz to max.
  • #6 7347800
    jaros85
    Poziom 20  
    Dziękuję za pomoc :D
REKLAMA