Aktykuły które nie zmieściły się w żadnej kategorii

0102 /03
04Podstawy o nowych procesorach Microchip ( Atmel ) serii AVR128xx.
Omówię tu część rejestrów o przedstawię praktyczne ich wykorzystanie.
06
070809

Procesory tej serii są wyposażone w zegar wewnętrzny z taktowaniem do 24MHz oraz wewnętrzny zegar RTC.

Na poniższym rysunku jest przedstawiony diagram zależności urządzeń od oscylatorów wewnętrznych jak i zewnętrznych procesora.


digram osylatora w AVR128DA

Rozpiska bitów i ich znaczenie w rejestrach kontroli zegara.


digram osylatora w AVR128DA

CLKCTRL.MCLKCTRLA

Bit.7 - CLKOUT Kiedy ten bit jest zapisany na „1”, zegar peryferyjny jest wysyłany na pin CLKOUT. Dopóki działa zegar peryferyjny, zegar jest wyprowadzany na pin.

Bity 3:0 - CLKSEL To pole bitowe wybiera źródło zegara głównego (CLK_MAIN).

CLKCTRL.MCLKCTRLB

Bity 4: 1 - PDIV [3: 0] Podział preskalera

Value       Name     Description
0x0          DIV2      CLK_MAIN divided by 2
0x1          DIV4      CLK_MAIN divided by 4
0x2          DIV8      CLK_MAIN divided by 8
0x3          DIV16    CLK_MAIN divided by 16
0x4          DIV32    CLK_MAIN divided by 32
0x5          DIV64    CLK_MAIN divided by 64
0x6-0x7    - Reserved
0x8          DIV6      CLK_MAIN divided by 6
0x9          DIV10    CLK_MAIN divided by 10
0xA          DIV12    CLK_MAIN divided by 12
0xB          DIV24    CLK_MAIN divided by 24
0xC          DIV48    CLK_MAIN divided by 48
other        - Reserved

Bit 0 - PEN Włącz prescaler

Ten bit musi być zapisany na „1”, aby włączyć preskaler.
Po włączeniu współczynnik podziału jest wybierany przez pole bitowe PDIV.
Kiedy ten bit zostanie zapisany na „0”, główny zegar przejdzie przez niepodzielony (CLK_PER = CLK_MAIN), niezależnie od wartości PDIV.


CLKCTRL.MCLKLOCK

Bit 0 - LOCKEN Włączenie blokady.

Zapisanie tego bitu na „1” zablokuje rejestry CLKCTRL.MCLKCTRLA i CLKCTRL.MCLKCTRLB oraz, jeśli ma to zastosowanie, ustawienia kalibracji bieżącego głównego źródła zegara przed dalszymi aktualizacjami oprogramowania.

Po zapisaniu rejestru CLKCTRL.MCLKLOCK nie będzie można dokonywać zmian do następnego resetu sprzętu. Chroni to rejestry CLKCTRL.MCLKCTRLA i CLKCTRL.MCLKCTRLB oraz ustawienia kalibracji głównego źródła zegara przed niezamierzoną modyfikacją przez oprogramowanie.


CLKCTRL.MCLKSTATUS

Rejestr przeznaczony tylko do odczytu.

Bit 5 - PLLS Stan PLL
        0 PLL nie jest stabilny
        1 PLL jest stabilny
Bit 4 - EXTS Status zegara zewnętrznego
        0 EXTCLK nie jest stabilny
        1 EXTCLK jest stabilny
Bit 3 - XOSC32KS Status zewnętrznego oscylatora kwarcowego 32768 Hz
        0 XOSC32K nie jest stabilny
        1 XOSC32K jest stabilny
Bit 2 - OSC32KS Status wewnętrznego oscylatora 32768 Hz o bardzo małej mocy
        0 OSC32K nie jest stabilny
        1 OSC32K jest stabilny
Bit 1 - OSCHFS - stan wewnętrznego oscylatora wysokiej częstotliwości
        0 OSCHF nie jest stabilny
        1 OSCHF jest stabilny
Bit 0 - SOSC - Zmiana oscylatora głównego zegara
        0 źródło zegara CLK_MAIN nie jest przełączane
        1 Zegar




CLKCTRL.OSCHFCTRLA

Rejest po resecie przyjmuje następującą wartość 0000 1100 co oznacza start wewnętrznego zagara z prędkością taktowania 4MHz.

Bit 7 - RUNSTDBY Run Standby
Ten bit = 1 wprowadza oscylator w trybach uśpienia Active, Idle i Standby.
Wyjście oscylatora nie jest wysyłane do innych urządzeń peryferyjnych, jeśli nie jest wymagane.
Otwarcie bramki zegarowej po żądaniu zajmuje dwa cykle, ale czas rozruchu oscylatora zostanie usunięty.
Ten bit jest pod ochroną przed zmianą konfiguracji.

Bity 5: 2 - FRQSEL [3: 0] Wybór częstotliwości
To pole bitowe wybiera częstotliwość wyjściową oscylatora.

Value Name       Description
0x0    1 MHz       1 MHz output
0x1    2 MHz       2 MHz output
0x2    3 MHz       3 MHz output
0x3    4 MHz       4 MHz output (default)
0x4    - Reserved
0x5    8 MHz       8 MHz output
0x6    12 MHz      12 MHz output
0x7    16 MHz      16 MHz output
0x8    20 MHz      20 MHz output
0x9    24 MHz      24 MHz output
Other - Reserved


Bit 0 - AUTOTUNE Włącz autodostrojenie.
Domyślnie po resecie autodostrojenie jest wyłączone.

Ten bit włącza funkcję automatycznego dostrajania oscylatora.
Automatyczne dostrajanie wykorzystuje kryształ 32768 Hz jako odniesienie, i kryształ musi być włączony, aby automatyczne dostrajanie działało.
Automatyczne dostrajanie poprawi dokładność oscylatora.



CLKCTRL.OSCHFTUNE
Kalibracja głównego oscylatora.

Bity 7: 0 - TUNE [7: 0] Strojenie częstotliwości użytkownika
Rejestr TUNE pozwala na dostrojenie częstotliwości wyjściowej wewnętrznego oscylatora wysokiej częstotliwości.
Wartość w tym rejestrze ma postać uzupełnienia do dwóch i zawiera 6-bitową wartość, przy czym bit 5 zawiera bit znaku.
Zapisy do bitu 5 zostaną odzwierciedlone na bitach 6 i 7, dając w wyniku wartość rejestru, która jest reprezentowana jako uzupełnienie do dwóch.
Zapisywanie do bitów 6 i 7 nie daje żadnego efektu.
Częstotliwość można dostroić o 32 kroki w dół lub 31 kroków w górę od docelowej częstotliwości oscylatora.
Oznacza to, że dopuszczalny zakres wartości wejściowych rejestru wynosi od -32 do +31.
Jeśli bit AUTOTUNE w rejestrze OSCHFCTRLA jest włączony, wartość TUNE jest zablokowana.
Rejestr TUNE jest aktualizowany najnowszą wartością strojenia, gdy funkcja AUTOTUNE jest wyłączona.





niedokonczone



    ramka30.function algorytmGCC > brak danych w bazie dla :

Rozpiska bitów i ich znaczenie w rejestrach kontroli zegara.

    ramka30.function algorytmGCC > brak danych w bazie dla :

tekst 05

    ramka30.function algorytmGCC > brak danych w bazie dla :
0102 /03
04tekst 0606
070809
    ramka30.function algorytmGCC > brak danych w bazie dla :



Kilka procedur do wysyłania danych przez USART.
    ramka30.function algorytmGCC > brak danych w bazie dla :
Procedury i funkcje do obsługi TWI.
    ramka30.function algorytmGCC > brak danych w bazie dla :
Przykład użycia procedur i funkcje do obsługi TWI.
    ramka30.function algorytmGCC > brak danych w bazie dla :



bez konwersji == WWW Janusz ęóąśłżźćń