WYKORZYSTANIE WEWNĘTRZNYCH GENERATORÓW RC DO TAKTOWANIA MIKROKONTROLERÓW AVR



Podobne dokumenty
Układy zegarowe w systemie mikroprocesorowym

Wbudowane układy peryferyjne cz. 1 Wykład 7

MIKROKONTROLERY I MIKROPROCESORY

2. Architektura mikrokontrolerów PIC16F8x... 13

INFORMATOR TECHNICZNY GE IP. Zalecana konfiguracja systemu gorącej rezerwacji Hot-Standby Redundancy w oparciu o kontrolery PACSystems

Programowanie mikrokontrolerów 2.0

INSTRUKCJA OBSŁUGI.

Wersja dokumentacji1.01. TeleToken API

Hardware mikrokontrolera X51

ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT

WPROWADZENIE Mikrosterownik mikrokontrolery

Programator procesorów rodziny AVR AVR-T910

SML3 październik

5. Administracja kontami uŝytkowników

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Instrukcja obsługi programatora AVR Prog USB v2

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Programowanie mikrokontrolerów. 8 listopada 2007

Programowanie mikrokontrolerów 2.0

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Układy zegarowe w systemie mikroprocesorowym

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Podstawy systemów mikroprocesorowych

Układy pamięci firmy Microchip w ofercie TME

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1

Mikrokontrolery w mechatronice. Wstępne uwagi

Firmware modułu ściemniacza UNIV

Programator STK500v2 USB

Instrukcja obsługi programatora AVR Prog USB v2

Aplikacja czujnika temperatury dla modułu uniwersalnego UNIV 1.0 i procesora UNIV 1.0 (CPU)

Metody obsługi zdarzeń

Chipset i magistrala Chipset Mostek północny (ang. Northbridge) Mostek południowy (ang. Southbridge) -

Dokumentacja Techniczna. Konwerter USB/RS-232 na RS-285/422 COTER-24I COTER-24N

MikloBit ul. Cyprysowa 7/ Jaworzno. JTAG + ISP dla AVR. rev

Sławomir Kulesza. Projektowanie automatów asynchronicznych

To jeszcze prostsze, MMcc1100!

Murasaki Zou むらさきぞう v1.1 Opis programowania modułu LPC2368/LPC1768 z wykorzystaniem ISP

ZAPRASZAMY NA NASZE AUKCJE SCIGANY81 (c) Copyright

Instrukcja obsługi programatora AVR Prog USB v2

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Instrukcja obsługi programatora AVR Prog USB v2

Systemy wbudowane Mikrokontrolery

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Systemy mikroprocesorowe. Literatura podręcznikowa. Przedmioty związane. Przykłady systemów wbudowanych. Pojęcie systemu wbudowanego embedded system

Instrukcja użytkownika

Układy czasowo-licznikowe w systemach mikroprocesorowych

Systemy wbudowane. Paweł Pełczyński

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Instytut Teleinformatyki

Wpływ temperatury na opór elektryczny metalu. Badanie zaleŝności oporu elektrycznego włókna Ŝarówki od natęŝenia przepływającego prądu.

Wstęp Architektura... 13

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

PROGRAMOWANIE PWM. Porty, które mogą być zamienione na PWM w każdym module RaT16 to port 3,4,5,6

Wbudowane układy komunikacyjne cz. 1 Wykład 10

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

1. Instalacja modułu w systemie Windows.

Mikrokontrolery AVR techniczne aspekty programowania

WEJŚCIE W TRYB PROGRAMOWANIA

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

LICZNIKI Liczniki scalone serii 749x

Instrukcja obsługi symulatora linii produkcyjnej Komunikacja Modbus RTU (sterowniki PSW, Beckhoff)

Oprogramowanie modułu ściemniacza UNIV

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

11.Mikrokomputeryjednoukładowe

R L. Badanie układu RLC COACH 07. Program: Coach 6 Projekt: CMA Coach Projects\ PTSN Coach 6\ Elektronika\RLC.cma Przykłady: RLC.cmr, RLC1.

Dziękujemy za wybór zasilacza impulsowego DC Axiomet AX-3004H. Przed przystąpieniem do pracy proszę przeczytać instrukcję obsługi.

1. Przeznaczenie testera.

Mikroprocesorowy miernik czasu

Magistrala I 2 C. Podstawy systemów mikroprocesorowych. Wykład nr 5 Interfejsy szeregowe c.d.

Zastosowania mikrokontrolerów w przemyśle

MSP430 w przykładach (2)

Przerwania, polling, timery - wykład 9

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

ZL17PRG. Programator ICP dla mikrokontrolerów ST7F Flash

Instalacja serwera Firebird

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

Projektowanie urządzeń mikroprocesorowych cz. 2 Wykład 4

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

LB-471P, panel ciśnieniomierza z pętlą prądową 4..20mA INSTRUKCJA UśYTKOWANIA wersja instrukcji 1.1

Ćwiczenie F3. Filtry aktywne

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

Architektura mikroprocesorów TEO 2009/2010

MIKROPROCESORY architektura i programowanie

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Układ elementarnej pamięci cyfrowej

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Raport z budowy robota typu Linefollower Mały. Marcin Węgrzyn

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Loader LX51 INSTRUKCJA OBSŁUGI DK Wszystkie prawa zastrzeżone

Struktury specjalizowane wykorzystywane w mikrokontrolerach

Transkrypt:

kpt. mgr inŝ. Paweł HŁOSTA kpt. mgr inŝ. Dariusz SZABRA Wojskowy Instytut Techniczny Uzbrojenia WYKORZYSTANIE WEWNĘTRZNYCH GENERATORÓW RC DO TAKTOWANIA MIKROKONTROLERÓW AVR W niektórych aplikacjach mikroprocesorowych, gdzie nie zaleŝy nam w głównej mierze na wysokiej stabilności układów czasowych mikrokontrolerów istnieje szansa wykorzystania wewnętrznych układów generatorów RC przeznaczonych do taktowania jądra procesora i jego wewnętrznych komponentów. We współczesnych mikrokontrolerach firmy Atmel istnieje szansa wymuszania częstotliwości pracy układu nie tylko na zasadzie zmian zewnętrznego rezonatora kwarcowego lecz równieŝ wykorzystanie mniej stabilnego źródła częstotliwości taktowania jakim jest wewnętrzny generator RC, ale za to pozwalającego nam na zmiany częstotliwości taktowania podczas pracy w układzie docelowym. 1. Wprowadzenie DuŜa część mikrokontrolerów AVR firmy Atmel posiada moŝliwości pracy z wykorzystaniem wewnętrznego oscylatora RC. Pierwotna kalibracja mikrokontrolerów przeprowadzana na etapie produkcji odbywa się przy stałym zasilaniu 5V lub 3,3V i temperaturze 25 0 C. Dokładność kalibracji na etapie produkcyjnym waha się w granicach +/- 3% lub +/- 10%. DuŜa cześć mikrokontrolerów serii AVR oferuje moŝliwość późniejszej kalibracji oscylatora RC do przedziału +/- 1% częstotliwości określanej specyfikacją pracy mikrokontrolera. 2. Teoria przeprowadzania kalibracji Mikrokontrolery AVR wymagają zapisania w nieulotnej pamięci informacji na bazie czego będzie odbywał się proces taktowania wewnętrznego zegara. Odbywa się to na etapie programowania kontrolera, poprzez ustawienie odpowiednich rejestrów mikrokontrolera na ustalone wartości, przedstawione w danych katalogowych producenta (tzw. Fuses). Niektóre mikrokontrolery dają moŝliwość wyboru nawet spośród czterech róŝnych generatorów RC. Wówczas zakres regulacji częstotliwości waha się w granicach od 1MHz do 9,6MHz. Aby właściwie wybrać zakres częstotliwości rejestr kalibracji oscylatora (OSCCAL) jest do dyspozycji programisty w wewnętrznym sektorze AVR IO. Rejestr OSCCAL ma długość jednego bajta. Kalibracja domyślna jest w większości mikrokontrolerów automatycznie ładowana z kolumny Signature Row i kopiowana do OSCCAL w czasie startu kontrolera, np. w ATmega8 zegar ustawiony jest standardowo na taktowanie wewnętrzne 1MHz. Wówczas podczas startu 125

mikrokontrolera wartość ta jest ładowana do OSCCAL automatycznie. Jeśli fuses są zmienione np. na 4MHz zamiast domyślnych ustawień, wówczas bajt kalibracji musi być ładowany manualnie. Dodatkowo przy strojeniu rejestru OSCCAL, niektóre mikrokontrolery wykorzystują przeskalowywanie zegara taktującego do wartości odpowiedniej do pracy pozostałych urządzeń mikrokontrolera, przy uŝyciu rejestru CLKPR. Oczywiście istnieje moŝliwość ustawienia CLKPR za pomocą rejestru fuses. Zaprogramowanie wartości zegara CK/8 ustawi na rejestrze CLKPR wartość odpowiadającą podziałowi zegara systemowego przez 8. MoŜliwość tę wykorzystuje się w celach zabezpieczenia pracy urządzenia, gdy korzystamy z maksymalnej szybkości pracy mikrokontrolera aby nie przekroczyć granicznej częstotliwości pracy jednostki. 3. RóŜnice w ustawieniach oscylatorów RC w poszczególnych egzemplarzach mikrokontrolerów AVR W czasie rozwoju mikrokontrolerów (ich złoŝoności i moŝliwości wewnętrznych podzespołów) stosowane były róŝne wewnętrzne narzędzia do zarządzania parametrami taktowania zegara systemowego. Przegląd kontrolerów wraz z zastosowanymi w nich wersjami oscylatorów przedstawia poniŝsza tabela. W tabeli przedstawione są tylko te kontrolery, w których moŝna regulować oscylatory. Tabela 1. Częstotliwości oscylatorów i cechy kontrolerów z wewnętrznymi oscylatorami RC. Wersja Mikrokontroler Częstotliwość oscylatora CKDIV PRSCK oscylatora RC [MHz] 1.1 ATtiny12 1,2 - - 1.2 ATtiny15 1,6 - - 2.0 ATmega163, 323 1 - - 3.0 ATmega8, 16, 32 ATmega8515 ATmega8535 ATtiny26 1; 2; 4; 8 - - 3.1 ATmega64, 128 1; 2; 4; 8 - XDIV (1) 4.0 ATmega162 ATmega169 (2) 8 tak tak ATmega165 4.1 ATtiny13 4,8 i 9,6 tak tak 4.2 Attiny2313 4 i 8 tak tak 5.0 Atmega48, 88, 168 Attiny25, 45, 85 Atmega325, 3250 Atmega645, 6450 Atmega329, 3290 Atmega649, 6490 AT90CAN128 AT90PWM2 AT90PWM3 8 tak tak 1 Rejestr preskalera w tej wersji nazwany jest XDIV 2 W wersji ATmega169/F uŝywana jest wersja 5.0 126

Wersja oscylatora 1.x Jest to najwcześniejsza wersja wewnętrznego oscylatora RC stosowana dla kontrolerów AVR, która posiada moŝliwość kalibracji. Oferowana jest z moŝliwością regulacji w zakresie 1,2MHz do 1,6MHz. Bajt kalibracji jest zapisany w Signature Row, lecz nie jest automatycznie ładowany przy starcie. Ładowanie rejestru OSCCAL musi być przeprowadzone w czasie programowania. Częstotliwość pracy oscylatora jest wysoce zaleŝna od napięcia i temperatury pracy. Wersja oscylatora 2.x Oscylator jest oferowany z częstotliwością 1MHz. ZaleŜność pomiędzy częstotliwością oscylatora a napięciem i temperaturą pracy jest znacząco zredukowana w stosunku do wersji 1.x Wersja oscylatora 3.x Wersja ta została wprowadzona wraz z rozpoczęciem nowego procesu technologicznego. System oscylatora RC został rozszerzony w celu zaoferowania kilku moŝliwości wyboru częstotliwości. Do wyboru są cztery róŝne oscylatory RC z częstotliwościami 1, 2, 4 i 8MHz. W wersji tej automatycznie ładowana jest wartość kalibracji 1MHz z rejestru SR. PoniewaŜ istnieją 4 niezaleŝne oscylatory RC, są dostępne 4 niezaleŝne bajty kalibracji zapisane w rejestrze SR. Jeśli wymagana jest inna niŝ domyślna wartość częstotliwości (1MHz), rejestr OSCCAL powinien być ładowany wraz z odpowiednim rejestrem kalibracji. Wersja oscylatora 4.x W wersji 4.0 oferowany jest jeden oscylator 4MHz. W wersjach późniejszych 4.x dostępne są dwie częstotliwości (4 i 8MHz dla ATtiny2313 oraz 4,8 i 9,6 dla ATtiny13). Zmieniony został rejestr OSCCAL i tylko 7 bitów jest uŝywanych od regulacji częstotliwości oscylatora. Pierwszy bit jest nie uŝywany. Występuje równieŝ automatyczne ładowanie domyślnej wartości kalibracji przy starcie systemu. Wersja oscylatora 5.x W tej wersji dostępna jest tylko jedna wartość częstotliwości oscylatora, 8MHz. Wszystkie 8 bitów w rejestrze OSCCAL są dostępne do programowania. Występuje równieŝ automatyczne ładowanie domyślnej wartości kalibracji przy starcie systemu. Rejestr OSCCAL został podzielony na dwie części. Bit MSB określa jeden z dwóch podzakresów częstotliwości, zaś 7 pozostałych bitów uŝywanych jest do regulacji częstotliwości oscylatora. 4. Charakterystyki oscylatorów PoniewaŜ częstotliwość wewnętrznego generatora RC w oczywisty sposób zaleŝy od temperatury otoczenia i napięcia zasilającego, przy projektowaniu układów naleŝy zwrócić na to uwagę. Na poniŝszym wykresie pokazano charakterystykę wpływu ww. parametrów na stabilność częstotliwości pracy oscylatora RC 8MHz w procesorze ATmega169. 127

Jak widać częstotliwość rośnie wraz ze wzrostem temperatury i delikatnie maleje przy zwiększaniu napięcia zasilania. Zmiany parametrów mogą być róŝne w róŝnych typach procesorów AVR, dlatego naleŝy zwracać uwagę na dane katalogowe producenta. Wszystkie procesory AVR z regulowanymi oscylatorami posiadają specjalnie do tego celu przeznaczony rejestr OSCCAL. NaleŜy pamiętać, Ŝe rejestr ten działa w odmienny sposób jak pozostałe rejestry. Dla niektórych typów procesorów pojedynczy wzrost wartości OSCCAL nie musi powodować wzrostu częstotliwości pracy rezonatora RC a wręcz delikatnie zmniejszać, gdzie w innych kaŝdorazowy wzrost wartości OSCCAL powoduje natychmiastowy wzrost częstotliwości pracy rezonatora RC. Inaczej jest przy zmianie wartości OSCCAL o dwie wartości w górę lub w dół. W takim przypadku zawsze nastąpi zmiana częstotliwości zgodne ze zmianą wartości rejestru. Informacja ta jest bardzo waŝna w przypadku programowego poszukiwania właściwej częstotliwości np. do ustalania parametrów pracy portów szeregowych w róŝnych konfiguracjach układowych. W przypadku procesora ATmega169 wartość częstotliwości w funkcji wartości OSCCAL zmienia się następująco: 128

Dodatkowo, bardzo waŝną informacją jest fakt, Ŝe producent nie zaleca podkręcania częstotliwości pracy oscylatora RC o więcej niŝ 10% powyŝej nominalnej wartości częstotliwości pracy oscylatora przedstawionej w danych katalogowych. Skutkiem tego moŝe być nieprawidłowa praca liczników wewnątrz procesora, uzaleŝnionych bezpośrednio od pracy oscylatora RC. Znajomość podstawowych charakterystyk oscylatora RC dla danego typu procesorów pomocna jest w ustalaniu kalibracji najbardziej wydajnej w kaŝdym zakresie temperatury i napięcia zasilania przy zachowaniu dokładności rzędu 1%. Wnioski Zastosowanie tego typu rozwiązania poza oczywistymi korzyściami finansowymi wynikającymi z eliminacji układów kwarcowych ma jeszcze kilka dodatkowych zalet. Podstawową zaletą tego typu rozwiązania jest moŝliwość pracy samego mikrokontrolera w ujemnych temperaturach, gdzie zastosowanie rezonatora kwarcowego byłoby kłopotliwe oraz oszczędność energii zuŝywanej przez sam mikrokontroler. Istnieje moŝliwość takiej modyfikacji oprogramowania zapisanego w pamięci procesora, aby ten w zaleŝności od wymaganej szybkości pracy dostosowywał sobie niejako sam warunki taktowania przebiegów zegarowych. W chwili, gdy nie ma konieczności pracy bardzo szybkiej pociągającej za sobą duŝe zuŝycie energii procesor moŝe sam zdecydować o przejściu w tryb oszczędzania energii lub zmniejszyć sobie częstotliwość pracy. W chwili zapotrzebowania na pracę wydajną zmienia tryb pracy i przez to odpowiednio szybkość taktowania do wartości przewidzianej do wykonania danego działania. Literatura: www.atmel.com 129