Atmel

Atmel 8-bitni AVR mikrokontroler s 2/4/8K bajta programabilnim Flashom unutar sustavačip

 

Značajke

  • AVR® 8-bitni mikrokontroler visokih performansi male snage
  • Napredna RISC arhitektura
  • 120 snažnih uputa - Izvođenje većine ciklusa jednog sata
  • 32 x 8 radna registra opće namjene
  • Potpuno statična operacija
  • Trajna memorija programa i podataka
  • 2/4 / 8K bajta Flash memorije programa koji se može programirati u sustavu
  • Izdržljivost: 10,000 XNUMX ciklusa pisanja/brisanja
  • 128/256/512 bajtova EEPROM koji se može programirati u sustavu
  • Izdržljivost: 100,000 XNUMX ciklusa pisanja/brisanja
  • 128/256/512 Bytes Interni SRAM
  • Programska brava za samoprogramiranje Flash programa i EEPROM sigurnost podataka

Periferne značajke

  • 8-bitni timer / brojač s uređajem za predskaliranje i dva PWM kanala
  • 8-bitni tajmer / brojač velike brzine s odvojenim uređajem za pretcjenjivanje
  • 2 visokofrekventna PWM izlaza s odvojenim registrima za usporedbu izlaza
  • Programabilni generator mrtvog vremena
  • USI - Univerzalno serijsko sučelje s detektorom stanja pokretanja
  • 10-bitni ADC

4 jednokračna kanala

2 diferencijalna para ADC kanala s programabilnim pojačanjem (1x, 20x)

Mjerenje temperature

Programirani nadzorni sat s odvojenim oscilatorom na čipu

Ugrađena analogna usporednica na čipu

Posebne značajke mikrokontrolera

debugWIRE sustav za uklanjanje pogrešaka na čipu

Mogućnost programiranja u sustavu putem SPI porta

Vanjski i unutarnji izvori prekida

Neaktivni režim rada u mirovanju, ADC smanjenje buke i isključivanje

Poboljšani krug za resetiranje pri uključivanju

Programabilni krug za otkrivanje smeđeg izlaza

Unutarnji kalibrirani oscilator

Ulazno-izlazni i paketi

Šest programabilnih I / O linija

8-pinski PDIP, 8-pinski SOIC, 20 jastučića QFN / MLF i 8-pinski TSSOP (samo ATtiny45 / V)

Operativni svtage
- 1.8 - 5.5 V za ATtiny25V / 45V / 85V
- 2.7 - 5.5 V za ATtiny25 / 45/85

Ocjena brzine
- ATtiny25V / 45V / 85V: 0 - 4 MHz @ 1.8 - 5.5 V, 0 - 10 MHz @ 2.7 - 5.5 V
- ATtiny25 / 45/85: 0 - 10 MHz pri 2.7 - 5.5 V, 0 - 20 MHz pri 4.5 - 5.5 V

Raspon industrijskih temperatura

Niska potrošnja energije

Aktivni način rada:

1 MHz, 1.8 V: 300 uA

Način isključivanja:

Konfiguracije pinova

Pinout ATtiny25 / 45/85 Konfiguracija

Opisi pribadača

VCC: Supply svtage.
GND: Uzemljenje.
Priključak B (PB5:PB0): Priključak B je 6-bitni dvosmjerni ulazno-izlazni priključak s unutarnjim otpornicima (odabranim za svaki bit). Izlazni međuspremnici priključka B imaju simetrične pogonske karakteristike s visokom sposobnošću ponora i izvora. Kao ulazi, pinovi priključka B koji su eksterno povučeni nisko će biti izvor struje ako se aktiviraju pull-up otpornici. Pinovi priključka B imaju trostruko stanje kada uvjet resetiranja postane aktivan, čak i ako sat ne radi.

Luka B također služi funkcijama različitih posebnosti ATtiny25 / 45/85 kako su navedene
Na ATtiny25, programibilni I / O priključci PB3 i PB4 (pinovi 2 i 3) zamjenjuju se u načinu kompatibilnosti ATtiny15 radi podrške za povratnu kompatibilnost s ATtiny15.

RESETIRANJE: Resetiranje ulaza. Niska razina na ovom pinu dulja od minimalne duljine impulsa će generirati resetiranje, čak i ako sat ne radi i pod uvjetom da pin za resetiranje nije onemogućen. Minimalna duljina impulsa navedena je u Tablica 21-4 na stranici 165. Za kraći impuls nije zajamčeno da će generirati reset.

Igla za resetiranje može se koristiti i kao (slaba) I / O pinova.

Nadview

ATtiny25 / 45/85 je CMOS-ov 8-bitni mikrokontroler male snage, zasnovan na AVR poboljšanoj RISC arhitekturi. Izvršavajući moćne upute u jednom taktu, ATtiny25 / 45/85 postiže protok koji se približava 1 MIPS po MHz, omogućavajući dizajneru sustava da optimizira potrošnju energije u odnosu na brzinu obrade.

Blok dijagram Blok dijagram

Jezgra AVR kombinira bogat set uputa s 32 radna registra opće namjene. Svih 32 registra izravno su povezani s jedinicom aritmetičke logike (ALU), što omogućava pristup dvama neovisnim registrima u jednoj jedinoj naredbi koja se izvršava u jednom taktu. Rezultirajuća arhitektura učinkovitija je kodom, a postiže propusnost do deset puta bržu od uobičajenih CISC mikrokontrolera.

ATtiny25 / 45/85 pruža sljedeće značajke: 2/4 / 8K bajtova programabilnog bljeskalice u sustavu, 128/256/512 bajtova EEPROM-a, 128/256/256 bajtova SRAM-a, 6 I / O linija opće namjene, 32 općenito namjenski radni registri, jedan 8-bitni timer / brojač s načinima usporedbe, jedan 8-bitni brzi timer / brojač, univerzalno serijsko sučelje, unutarnji i vanjski prekidi, 4-kanalni, 10-bitni ADC, programabilni čuvar vremena s unutarnjim Oscilator i tri načina uštede energije koja se mogu odabrati prema softveru. U načinu mirovanja zaustavlja se CPU, a istovremeno omogućuje da SRAM, tajmer / brojač, ADC, analogni komparator i sustav prekida nastave funkcionirati. Način isključivanja sprema sadržaj registra, onemogućavajući sve funkcije čipa do sljedećeg prekida ili resetiranja hardvera. ADC način smanjenja šuma zaustavlja CPU i sve I / O module osim ADC-a, kako bi se smanjio šum prebacivanja tijekom ADC konverzija.

Uređaj je proizveden korištenjem Atmelove tehnologije hlapljive memorije velike gustoće. Ugrađeni ISP Flash omogućuje programiranu memoriju da se ponovo programira u sustavu putem serijskog sučelja SPI, pomoću konvencionalnog nehlapnog memorijskog programera ili pomoću čip-a za pokretanje na čipu koji radi na jezgri AVR-a.

ATtiny25 / 45/85 AVR podržan je s kompletnim paketom alata za razvoj programa i sustava, uključujući: C kompajlere, Macro Assemblers, program za pronalaženje pogrešaka / simulatore i komplete za procjenu.

O Resursima

Sveobuhvatan set razvojnih alata, napomena o aplikacijama i tablica podataka dostupan je za preuzimanje http://www.atmel.com/avr.

Kod npramples

Ova dokumentacija sadrži jednostavan kod npramplekcije koje ukratko pokazuju kako koristiti različite dijelove uređaja. Ovi kodovi npramples pretpostavlja da je zaglavlje specifično za dio file uključen je prije kompilacije. Imajte na umu da svi dobavljači C prevoditelja ne uključuju definicije bitova u zaglavlje files i rukovanje prekidima u C-u ovisi o prevodiocu. Molimo potvrdite s dokumentacijom C kompajlera za više pojedinosti.

Za U / I registre smještene na proširenoj I / O karti, upute "IN", "OUT", "SBIS", "SBIC", "CBI" i "SBI" moraju se zamijeniti uputama koje omogućuju pristup proširenom I / O. To obično znači "LDS" i "STS" u kombinaciji sa "SBRS", "SBRC", "SBR" i "CBR". Imajte na umu da svi AVR uređaji ne sadrže proširenu I / O kartu.

Kapacitivni senzor dodira

Atmel QTouch Library pruža jednostavno rješenje za sučelja osjetljiva na dodir na Atmel AVR mikrokontrolerima. QTouch Library uključuje podršku za QTouch® i QMatrix® metode akvizicije.

Detekcija dodira lako se dodaje u bilo koju aplikaciju povezivanjem knjižnice QTouch i korištenjem programskog sučelja za programiranje (API) knjižnice za definiranje dodirnih kanala i senzora. Zatim aplikacija poziva API za dohvaćanje podataka o kanalu i određivanje stanja osjetnika dodira.

QTouch knjižnica je besplatna i može se preuzeti s Atmela webmjesto. Za više informacija i pojedinosti o implementaciji pogledajte Korisnički vodič za knjižnicu QTouch – također dostupan kod Atmela webmjesto.

Zadržavanje podataka

Rezultati kvalifikacije pouzdanosti pokazuju da je predviđena stopa neuspjeha zadržavanja podataka mnogo manja od 1 PPM tijekom 20 godina na 85 ° C ili 100 godina na 25 ° C.

AVR CPU jezgra

Uvod

Ovaj odjeljak govori o arhitekturi jezgre AVR općenito. Glavna funkcija CPU jezgre je osigurati ispravno izvršavanje programa. CPU stoga mora biti u mogućnosti pristupiti memorijama, izvoditi izračune, kontrolirati periferne uređaje i upravljati prekidima.

Arhitektonski prekoview Arhitektura

Kako bi maksimalizirao performanse i paralelizam, AVR koristi arhitekturu Harvard - s odvojenim memorijama i sabirnicama za program i podatke. Upute u memoriji programa izvršavaju se cjevovodom s jednom razinom. Dok se izvršava jedna naredba, sljedeća se naredba unaprijed dohvaća iz memorije programa. Ovaj koncept omogućuje izvršavanje uputa u svakom taktu. Programska memorija je ugrađena Flash memorija u sustavu.

Registar brzog pristupa File sadrži 32 x 8-bitna radna registra opće namjene s jednim pristupnim vremenom takta. To omogućuje rad aritmetičko-logičke jedinice (ALU) u jednom ciklusu. U tipičnoj ALU operaciji, dva operanda izlaze iz registra File, operacija se izvršava, a rezultat se pohranjuje natrag u Registar File- u jednom ciklusu sata.

Šest od 32 registra mogu se koristiti kao tri 16-bitna indirektna pokazivača registara adresa za adresiranje prostora podataka - što omogućuje učinkovite izračune adresa. Jedan od ovih pokazivača adresa može se koristiti i kao pokazivač adrese za traženje tablica u memoriji Flash programa. Ovi dodani registri funkcija su 16-bitni X-, Y- i Z-registar, opisani kasnije u ovom odjeljku.

ALU podržava aritmetičke i logičke operacije između registara ili između konstante i registra. Operacije pojedinačnog registra mogu se izvršiti i u ALU. Nakon aritmetičke operacije, Statusni registar se ažurira tako da odražava informacije o rezultatu operacije.

Tok programa omogućen je uvjetnim i bezuvjetnim uputama za preskakanje i pozivanje, koje mogu izravno adresirati cijeli adresni prostor. Većina AVR uputa ima jedan 16-bitni format riječi, ali postoje i 32-bitne upute.

Tijekom prekida i poziva potprograma, brojač programa za povratak (PC) pohranjuje se na stog. Sklop je učinkovito dodijeljen u općenitim podacima SRAM-a, pa je stoga veličina snopa ograničena samo ukupnom veličinom SRAM-a i upotrebom SRAM-a. Svi korisnički programi moraju inicijalizirati SP u rutini Resetiranje (prije izvršavanja potprograma ili prekida). Pokazivač sloga (SP) dostupan je za čitanje / pisanje u I / O prostoru. Podaci SRAM-u mogu se lako pristupiti kroz pet različitih načina adresiranja podržanih u AVR arhitekturi.

Memorijski prostori u AVR arhitekturi su linearne i redovite memorijske karte.

Fleksibilni modul prekida ima svoje kontrolne registre u I / O prostoru s dodatnim bitom za omogućavanje globalnog prekida u Registru statusa. Svi prekidi imaju zasebni Vektor prekida u tablici Vektor prekida. Prekidi imaju prioritet u skladu s njihovim položajem Vektor prekida. Što je niža adresa vektora prekida, to je veći prioritet.

I/O memorijski prostor sadrži 64 adrese za CPU periferne funkcije kao što su kontrolni registri, SPI i druge I/O funkcije. I/O memoriji se može pristupiti izravno ili kao lokacijama podatkovnog prostora nakon onih u registru. File, 0x20 – 0x5F.

ALU - Aritmetička logička jedinica

AVR ALU visokih performansi djeluje u izravnoj vezi sa svih 32 radna registra opće namjene. Unutar jednog takta izvršavaju se aritmetičke operacije između registara opće namjene ili između registra i neposrednog. ALU operacije podijeljene su u tri glavne kategorije - aritmetičke, logičke i bit-funkcije. Neke implementacije arhitekture također pružaju snažan množitelj koji podržava množenje s potpisom / nepotpisom i razlomljeni format. Pogledajte odjeljak "Set uputa" za detaljan opis.

Registar statusa

Registar statusa sadrži informacije o rezultatu najnovije izvršene aritmetičke upute. Te se informacije mogu koristiti za promjenu tijeka programa radi izvođenja uvjetnih operacija. Imajte na umu da se Statusni status ažurira nakon svih ALU operacija, kako je navedeno u Referenci skupa uputa. To će u mnogim slučajevima ukloniti potrebu za korištenjem posebnih uputa za usporedbu, što rezultira bržim i kompaktnijim kodom.

Registar statusa ne pohranjuje se automatski prilikom unosa rutine prekida i ne vraća se kad se vraća s prekida. To mora riješiti softver.

SREG - AVR statusni registar

AVR statusni registar - SREG - definiran je kao:

bit 7 6 5 4 3 2 1 0
0x3F I T H S V N Z C SREG
Čitanje/Pisanje R/W R/W R/W R/W R/W R/W R/W R/W
Početna vrijednost 0 0 0 0 0 0 0 0

Bit 7 - I: Omogućeno globalno prekidanje

Za omogućavanje prekida mora se postaviti bit globalnog omogućavanja prekida. Pojedinačna kontrola omogućavanja prekida zatim se izvodi u zasebnim kontrolnim registrima. Ako je Globalni registar za omogućavanje prekida obrisan, niti jedan od prekida nije omogućen neovisno o pojedinačnim postavkama omogućavanja prekida. I-bit se hardverski briše nakon što je došlo do prekida, a postavlja ga RETI uputa da omogući naknadne prekide. I-bit aplikacija također može postaviti i obrisati pomoću SEI i CLI uputa, kako je opisano u uputama za skup uputa.

Bit 6 - T: Pohrana za kopiranje bitova

Upute za kopiranje bita BLD (Bit LoaD) i BST (Bit STore) koriste T-bit kao izvor ili odredište za upravljani bit. Malo iz registra u Registru File može se kopirati u T pomoću BST instrukcije, a bit u T može se kopirati u bit u registru u registru File prema BLD uputama.

Bit 5 - H: Zastavica s pola nošenja

Oznaka Half Carry H označava Half Carry u nekim aritmetičkim operacijama. Half Carry je koristan u BCD aritmetici. Pogledajte “Opis seta uputa” za detaljne informacije.

Bit 4 – S: Bit predznaka, S = N ⊕ V

S-bit je uvijek ekskluzivni ili između negativne zastavice N i zastave prelijevanja komplementa Dvoje. Pogledajte "Opis skupa uputa" za detaljne informacije.

Bit 3 - V: Oznaka prelijevanja komplementa Two

Oznaka preljeva komplementa Dvoje podržava aritmetiku komplementa dvojke. Pogledajte “Opis seta uputa” za detaljne informacije.

Bit 2 - N: Negativna zastavica

Negativna zastavica N označava negativan rezultat u aritmetičkoj ili logičkoj operaciji. Pogledajte “Opis seta uputa” za detaljne informacije.

Bit 1 - Z: Nulta zastavica

Nulta zastavica Z označava nulti rezultat u aritmetičkoj ili logičkoj operaciji. Pogledajte “Opis seta uputa” za detaljne informacije.

Bit 0 - C: Nosi zastavicu

Oznaka Carry C označava prijenos u aritmetičkoj ili logičkoj operaciji. Pogledajte “Opis seta uputa” za detaljne informacije.

Registar opće namjene File

Registar File optimiziran je za AVR Enhanced RISC skup instrukcija. Kako bi se postigle potrebne performanse i fleksibilnost, Registar podržava sljedeće ulazno/izlazne sheme File:

Jedan 8-bitni izlazni operand i jedan 8-bitni ulazni rezultat

Dva 8-bitna izlazna operanda i jedan 8-bitni ulazni rezultat

Dva 8-bitna izlazna operanda i jedan 16-bitni ulazni rezultat

Jedan 16-bitni izlazni operand i jedan 16-bitni ulazni rezultat

Slika 4-2 prikazuje strukturu 32 radna registra opće namjene u CPU-u. Opća namjena

Kao što je prikazano u Slika 4-2, svakom registru je također dodijeljena adresa memorije podataka, mapirajući ih izravno u prva 32 mjesta korisničkog podatkovnog prostora. Iako nije fizički implementirana kao SRAM lokacije, ova organizacija memorije pruža veliku fleksibilnost u pristupu registrima, budući da se registri pokazivača X, Y i Z mogu postaviti da indeksiraju bilo koji registar u file.Većina uputa koje djeluju na Registar File imaju izravan pristup svim registrima, a većina njih su instrukcije u jednom ciklusu.

X-registar, Y-registar i Z-registar

Registri R26..R31 imaju neke dodane funkcije za svoju opću namjenu. Ti su registri 16-bitni adresni pokazivači za neizravno adresiranje podatkovnog prostora. Tri registra neizravnih adresa X, Y i Z definirana su kako je opisano u Slika 4-3.

Registar

U različitim načinima adresiranja ovi adresni registri imaju funkcije kao fiksni pomak, automatski porast i automatski dekrement (za detalje pogledajte referencu skupa uputa).

Pokazivač naslaga

Stog se uglavnom koristi za pohranu privremenih podataka, za pohranu lokalnih varijabli i za pohranu povratnih adresa nakon prekida i poziva potprograma. Registar pokazivača stoga uvijek pokazuje na vrh stoga. Imajte na umu da se Stack implementira kako raste s većih memorijskih mjesta na niža memorijska mjesta. To podrazumijeva da naredba Stack PUSH smanjuje pokazivač stoga.

Pokazivač stoga pokazuje na područje SRAM stoga podataka gdje se nalaze stogovi potprograma i prekida. Ovaj prostor steka u podatkovnom SRAM-u program mora definirati prije izvođenja bilo kakvih poziva potprograma ili omogućavanja prekida. Pokazivač sloga mora biti postavljen na točku iznad 0x60. Pokazivač stoga smanjuje se za jedan kada se podaci guraju na stog s naredbom PUSH, a smanjuje za dva kad se povratna adresa gurne na stek pozivom ili prekidom potprograma. Pokazivač stoga povećava se za jedan kada se podaci iskaču iz stoga s POP naredbom, a povećava se za dva kada se podaci iskaču iz stoga s povratkom iz potprograma RET ili povratom iz prekida RETI.

Pokazivač AVR stacka implementiran je kao dva 8-bitna registra u I / O prostoru. Broj stvarno korištenih bitova ovisi o implementaciji. Imajte na umu da je podatkovni prostor u nekim implementacijama AVR arhitekture toliko malen da je potreban samo SPL. U tom slučaju, SPH registar neće biti prisutan.

SPH i SPL - Registar pokazivača stoga

bit 15 14 13 12 11 10 9 8
0x3E SP15 SP14 SP13 SP12 SP11 SP10 SP9 SP8 SPH
0x3D SP7 SP6 SP5 SP4 SP3 SP2 SP1 SP0 SPL
7 6 5 4 3 2 1 0
Čitanje/Pisanje R/W R/W R/W R/W R/W R/W R/W R/W
Čitanje/Pisanje R/W R/W R/W R/W R/W R/W R/W R/W
Početna vrijednost RAMENDA RAMENDA RAMENDA RAMENDA RAMENDA RAMENDA RAMENDA RAMENDA
Početna vrijednost RAMENDA RAMENDA RAMENDA RAMENDA RAMENDA RAMENDA RAMENDA RAMENDA

Vrijeme izvršenja upute

Ovaj odjeljak opisuje opće koncepte vremena pristupa za izvođenje instrukcija. AVR CPU pokreće CPU takt clkCPU, izravno generiran iz odabranog izvora takta za čip. Ne koristi se unutarnja podjela sata.

sl.4.4

Slika 4-4 prikazuje paralelna dohvaćanja instrukcija i izvršenja instrukcija omogućena harvardskom arhitekturom i registrom brzog pristupa File koncept. Ovo je osnovni koncept cjevovoda za dobivanje do 1 MIPS po MHz s odgovarajućim jedinstvenim rezultatima za funkcije po cijeni, funkcije po taktu i funkcije po jedinici napajanja.

Slika 4-5. ALU rad s jednim ciklusom

sl.4.5

Ponovno postavljanje i rukovanje prekidima

AVR nudi nekoliko različitih izvora prekida. Ovi prekidi i odvojeni vektor resetiranja imaju zasebni programski vektor u prostoru memorije programa. Svim prekidima dodijeljeni su pojedinačni bitovi za omogućavanje koji moraju biti napisani kao logički jedan zajedno s bitom za globalno prekidanje u Registru statusa kako bi se omogućio prekid.

Najniže adrese u programskom memorijskom prostoru prema zadanim su postavkama definirane kao resetiranje i prekid vektora. Cjelovit popis vektora prikazan je u “Prekidi” na stranici 48. Popis također određuje razine prioriteta različitih prekida. Što je adresa niža to je razina prioriteta veća. RESET ima najveći prioritet, a sljedeći je INT0 - Vanjski zahtjev za prekidom 0.

Kada se dogodi prekid, I-bit za globalno omogućavanje prekida se briše i svi su prekidi onemogućeni. Korisnički softver može upisati logički jedan u I-bit kako bi omogućio ugniježđena prekida. Svi omogućeni prekidi tada mogu prekinuti trenutnu rutinu prekida. I-bit se automatski postavlja kada se izvrši naredba Povratak s prekida - RETI.

U osnovi postoje dvije vrste prekida. Prvi tip pokreće događaj koji postavlja zastavicu prekida. Za ove prekide, programski brojač se vektorira na stvarni vektor prekida kako bi izvršio rutinu rukovanja prekidima, a hardver briše odgovarajuću zastavicu prekida. Oznake prekida također se mogu obrisati pisanjem logičke na položaje bitova zastave koje treba očistiti. Ako se dogodi uvjet prekida dok se briše odgovarajući bit za omogućavanje prekida, zastava prekida postavit će se i pamtiti dok se prekid ne omogući ili se zastavica ukloni softverom. Slično tome, ako se dogodi jedan ili više uvjeta prekida dok se briše bit za omogućavanje globalnog prekida, odgovarajuće zastavice (prekida) postavit će se i pamtiti sve dok se ne postavi bit za omogućavanje globalnog prekida, a zatim će se izvršavati prema redoslijedu prioriteta.

Druga vrsta prekida aktivirat će se sve dok je prisutno stanje prekida. Ovi prekidi nemaju nužno zastavice prekida. Ako uvjet prekida nestane prije nego što je prekid omogućen, prekid se neće aktivirati.

Kad AVR izađe iz prekida, uvijek će se vratiti u glavni program i izvršiti još jednu naredbu prije nego što se posluži bilo koji prekid na čekanju.

Imajte na umu da se Registar statusa ne pohranjuje automatski prilikom unosa rutine prekida, niti obnavlja kad se vraća iz rutine prekida. To mora riješiti softver.

Kada koristite CLI instrukciju za onemogućavanje prekida, prekidi će biti odmah onemogućeni. Nijedan prekid neće biti izvršen nakon CLI instrukcije, čak i ako se dogodi istovremeno s CLI naredbom. Sljedeći prampLe pokazuje kako se to može koristiti da se izbjegnu prekidi tijekom tempirane sekvence pisanja u EEPROM.

Montažni kodeks prample
u r16, SREG; pohraniti SREG vrijednost

cli; onemogućiti prekide tijekom vremenskog niza

sbi EECR, EEMPE ; započeti pisanje EEPROM-a

sbi EECR, EEPE

van SREG, r16; vratiti SREG vrijednost (I-bit)

C kod nprample
char cSREG;

cSREG = SREG; /* pohranjuje SREG vrijednost */

/* onemogući prekide tijekom vremenskog niza */

_CLI ();

EECR |= (1<

EECR | = (1 <

SREG = cSREG; /* vrati SREG vrijednost (I-bit) */

Kada koristite SEI instrukciju za omogućavanje prekida, instrukcija koja slijedi SEI izvršit će se prije bilo kakvih prekida na čekanju, kao što je prikazano u ovom pr.ample.

Montažni kodeks prample
sei ; postavite Global Interrupt Enable

spavati; ući u stanje mirovanja, čekajući prekid

; napomena: ući će u stanje spavanja prije bilo kojeg stanja na čekanju

; prekid (i)

C kod nprample
_SEI(); /* postavi globalno uključivanje prekida */

_SPAVATI(); /* ulazak u stanje mirovanja, čekanje prekida */

/ * napomena: ući će u stanje mirovanja prije bilo kojih prekida na čekanju * /

Vrijeme odziva na prekid

Odgovor izvršenja prekida za sve omogućene AVR prekide je najmanje četiri ciklusa takta. Nakon četiri ciklusa takta izvršava se programska vektorska adresa za stvarnu rutinu obrade prekida. Tijekom ovog razdoblja od četiri sata, programski brojač gurne se na stog. Vektor je obično skok na rutinu prekida i ovaj skok traje tri ciklusa sata. Ako se tijekom izvršavanja višecikličke naredbe dogodi prekid, ova se uputa dovršava prije nego što se prekid posluži. Ako se prekine kada je MCU u stanju mirovanja, vrijeme odgovora izvršavanja prekida povećava se za četiri ciklusa takta. Ovo povećanje dolazi uz vrijeme pokretanja iz odabranog načina mirovanja.

Povratak iz rutine upravljanja prekidima traje četiri ciklusa sata. Tijekom ova četiri ciklusa takta, programski brojač (dva bajta) iskače se iz stoga, pokazivač stoga povećava se za dva i postavlja I-bit u SREG-u.

AVR sjećanja

Ovaj odjeljak opisuje različita sjećanja u ATtiny25 / 45/85. Arhitektura AVR ima dva glavna memorijska prostora, Data memoriju i Programsku memoriju. Uz to, ATtiny25 / 45/85 ima EEPROM memoriju za pohranu podataka. Sva su tri memorijska prostora linearna i pravilna.

Re-programibilna memorija Flash programa u sustavu

ATtiny25 / 45/85 sadrži 2/4 / 8K bajtova ugrađene Flash memorije u sustavu, koja se može programirati u sustavu, za pohranu programa. Budući da su sve AVR upute široke 16 ili 32 bita, Flash je organiziran kao 1024/2048/4096 x 16.

Flash memorija ima izdržljivost od najmanje 10,000 25 ciklusa upisivanja / brisanja. Programski brojač ATtiny45 / 85/10 (PC) širok je 11/12/1024 bita, obraćajući se tako memorijskim mjestima programa 2048/4096/XNUMX. “Program memorije- ming “na stranici 147 sadrži detaljan opis serijskog preuzimanja Flash podataka pomoću SPI pinova.

Stalne tablice mogu se dodijeliti unutar cijelog adresnog prostora memorije programa (pogledajte opis uputa LPM - Load Program memory).

Slika 5-1. Mapa memorije programa Karta memorije

SRAM memorija podataka

Slika 5-2 pokazuje kako je organizirana ATtiny25 / 45/85 SRAM memorija.

Donje memorijske lokacije 224/352/607 podataka adresiraju oba registra File, I/O memoriju i SRAM internih podataka. Prva 32 mjesta adresiraju Registar File, sljedećih 64 mjesta je standardna I/O memorija, a posljednjih 128/256/512 lokacija adresiraju interni podatkovni SRAM.

Pet različitih načina adresiranja za pokrov memorije podataka: izravno, neizravno s pomakom, neizravno, neizravno s preddekrementom i neizravno s naknadnim povećanjem. U Registru File, registri R26 do R31 sadrže registre pokazivača neizravnog adresiranja.

Izravno adresiranje doseže čitav podatkovni prostor.

Način neizravnog pomicanja doseže 63 lokacije adresa od osnovne adrese koju daje Y- ili Z- registar.

Kada se koriste načini neizravnog adresiranja registara s automatskim preddekrementiranjem i naknadnim povećanjem, registri adresa X, Y i Z se smanjuju ili povećavaju.

32 radna registra opće namjene, 64 I/O registra i 128/256/512 bajtova internog podatkovnog SRAM-a u ATtiny25/45/85 svi su dostupni kroz sve ove načine adresiranja. Registar File opisano je u „Gen- eralni registar namjene File” na stranici 10.

Slika 5-2. Mapa memorije podataka Karta memorije 2

Pristup memoriji podataka puta

Ovaj odjeljak opisuje opće koncepte vremena pristupa za pristup internoj memoriji. Pristup SRAM internim podacima izvodi se u dva clkCPU ciklusa kao što je opisano u Slika 5-3.

Slika 5-3. Ciklusi pristupa SRAM podacima na čipu O podacima o čipovima EEPROM memorija podataka

ATtiny25 / 45/85 sadrži 128/256/512 bajtova podatkovne EEPROM memorije. Organiziran je kao zaseban podatkovni prostor u kojem se mogu čitati i pisati pojedinačni bajtovi. EEPROM ima izdržljivost od najmanje 100,000 XNUMX ciklusa upisivanja / brisanja. Pristup između EEPROM-a i CPU-a opisan je u nastavku, navodeći EEPROM-ove adresne registre, EEPROM-ov podatkovni registar i EEPROM-ov kontrolni registar. Za detalje pogledajte “Serijsko preuzimanje” na stranici 151.

EEPROM pristup za čitanje / pisanje

Pristupni registri EEPROM-a dostupni su u I / O prostoru.

Vremena pristupa za pisanje za EEPROM data su u Tablica 5-1 na stranici 21. Međutim, funkcija samotempiranja omogućuje korisničkom softveru da otkrije kada se sljedeći bajt može zapisati. Ako korisnički kod sadrži upute koje zapisuju EEPROM, potrebno je poduzeti neke mjere opreza. U jako filtriranim izvorima napajanja, VCC će vjerojatno polagano rasti ili padati

Uključivanje/isključivanje. To uzrokuje da uređaj neko vrijeme radi na voltage niže od navedenog kao minimuma za korištenu frekvenciju takta. Vidjeti “Sprečavanje EEPROM korupcije” na stranici 19 za detalje o tome kako izbjeći probleme u tim situacijama.

Da bi se spriječilo nenamjerno upisivanje EEPROM-a, mora se slijediti određeni postupak upisivanja. Pogledajte “Atomski Programiranje bajtova ”na stranici 17 “Programiranje podijeljenog bajta” na stranici 17 za detalje o ovome.

Kada se pročita EEPROM, CPU se zaustavlja na četiri takta prije izvršavanja sljedeće naredbe. Kada se napiše EEPROM, CPU se zaustavlja na dva takta prije izvršavanja sljedeće naredbe.

Programiranje atomskih bajtova

Korištenje atomskog bajt programiranja najjednostavniji je način. Prilikom upisivanja bajta u EEPROM, korisnik mora upisati adresu u EEAR registar, a podatke u EEDR registar. Ako su EEPMn bitovi nula, pisanje EEPE (unutar četiri ciklusa nakon što se napiše EEMPE) pokrenut će operaciju brisanja / pisanja. I ciklus brisanja i pisanja izvodi se u jednoj operaciji, a ukupno vrijeme programiranja daje se u Tablica 5-1 na stranici 21. EEPE bit ostaje postavljen sve dok se operacije brisanja i pisanja ne dovrše. Dok je uređaj zauzet programiranjem, nije moguće raditi druge EEPROM operacije.

Programiranje podijeljenih bajtova

Moguće je podijeliti ciklus brisanja i pisanja u dvije različite operacije. Ovo može biti korisno ako sustav zahtijeva kratko vrijeme pristupa kroz neko ograničeno vremensko razdoblje (obično ako je napajanje voltage pada). Da biste iskoristili prednost- tage ove metode, potrebno je da se mjesta koja se upisuju budu izbrisana prije operacije pisanja. No budući da su operacije brisanja i pisanja podijeljene, moguće je izvršiti operacije brisanja kada sustav dopušta izvođenje vremenski kritičnih operacija (obično nakon uključivanja).

Izbriši

Da biste izbrisali bajt, adresa mora biti zapisana u EEAR. Ako su EEPMn bitovi 0b01, pisanje EEPE-a (unutar četiri ciklusa nakon što se napiše EEMPE) pokrenut će samo operaciju brisanja (vrijeme programiranja dato je u Tablica 5-1 na stranica 21). EEPE bit ostaje postavljen sve dok se operacija brisanja ne dovrši. Dok je uređaj zauzet programiranjem, nije moguće obavljati druge EEPROM operacije.

Pisati

Da bi napisao mjesto, korisnik mora upisati adresu u EEAR, a podatke u EEDR. Ako su EEPMn bitovi 0b10, pisanje EEPE-a (unutar četiri ciklusa nakon što se napiše EEMPE) pokrenut će samo operaciju upisivanja (vrijeme programiranja dato je u Tablica 5-1 na stranici 21). EEPE bit ostaje postavljen dok se operacija upisa ne dovrši. Ako mjesto koje se zapisuje nije izbrisano prije pisanja, pohranjeni podaci moraju se smatrati izgubljenima. Dok je uređaj zauzet programiranjem, nije moguće raditi druge EEPROM operacije.

Kalibrirani oscilator koristi se za vremensko usklađivanje pristupa EEPROM-u. Provjerite je li frekvencija oscilatora unutar zahtjeva opisanih u “OSCCAL - Registar kalibracije oscilatora” na stranici 31.

Sljedeći kod npramplesovi pokazuju jedan sklop i jednu C funkciju za brisanje, pisanje ili atomsko upisivanje EEPROM-a. BivšiampPretpostavljamo da se prekidi kontroliraju (npr. globalno onemogućavanjem prekida) tako da se prekidi neće dogoditi tijekom izvršavanja ovih funkcija.

Montažni kodeks prample
EEPROM_pisati:

; Pričekajte završetak prethodnog pisanja

sbic EECR,EEPE

rjmp EEPROM_pisati

; Postavite način programiranja

ldi        r16, (0<<EEPM1)|(0<<EEPM0)

van EECR, r16

; Postavite adresu (r18: r17) u registar adresa

van EEARH, r18

van EEARL, r17

; Zapišite podatke (r19) u registar podataka

van EEDR, r19

; Napišite logični u EEMPE

sbi EECR,EEMPE

; Pokrenite pisanje eeproma postavljanjem EEPE

sbi EECR,EEPE

ret

C kod nprample
void EEPROM_write(unsigned char ucAddress, unsigned char ucData)

{

/* Pričekajte završetak prethodnog pisanja */ while(EECR & (1<

;

/* Postavi način programiranja */

EECR = (0 <

/ * Postavi registre adresa i podataka * / EEAR = ucAddress;

EEDR = ucData;

/* Napiši logički jedan u EEMPE */

EECR | = (1 <

/ * Započnite pisanje eeproma postavljanjem EEPE * /

EECR | = (1 <

}

Sljedeći kod npramples show funkcije sklopa i C za čitanje EEPROM-a. BivšiampPretpostavljamo da su prekidi kontrolirani tako da se prekidi neće dogoditi tijekom izvršavanja ovih funkcija.

Montažni kodeks prample
EEPROM_čitano:

; Pričekajte završetak prethodnog pisanja

sbic EECR,EEPE

rjmp EEPROM_čitanje

; Postavite adresu (r18: r17) u registar adresa

van EEARH, r18

van EEARL, r17

; Započnite čitanje eeproma pisanjem EERE

sbi EECR,EERE

; Očitavanje podataka iz registra podataka

u r16,EEDR

ret

C kod nprample
unsigned char EEPROM_read(unsigned char ucAddress)

{

/ * Pričekajte dovršetak prethodnog pisanja * /

dok (EECR & (1 <

;

/ * Postavi registar adresa * / EEAR = ucAddress;

/* Započnite čitanje eeproma pisanjem EERE */

EECR | = (1 <

/ * Vrati podatke iz registra podataka * /

vratiti EEDR;

}

Sprječavanje EEPROM korupcije

Tijekom razdoblja niskog VCC-a, EEPROM podaci mogu biti oštećeni jer je voltage je prenizak da bi CPU i EEPROM ispravno radili. Ovi problemi su isti kao i za sustave na razini ploče koji koriste EEPROM, a trebala bi se primijeniti ista projektna rješenja.

Oštećenje podataka EEPROM-a može biti uzrokovano dvije situacije kada je voltage je preniska. Prvo, redoviti slijed upisivanja u EEPROM zahtijeva minimalni volumentage da radi ispravno. Drugo, sam CPU može pogrešno izvršiti instrukcije, ako je opskrba voltage je prenizak.

Oštećenje EEPROM podataka lako se može izbjeći slijedeći ovu preporuku za dizajn:

Održavajte AVR RESET aktivnim (niskim) tijekom razdoblja nedovoljnog napajanja voltage. To se može učiniti omogućavanjem internog detektora zatamnjenja (BOD). Ako razina detekcije internog BOD-a ne odgovara

potrebnu razinu detekcije, može se koristiti vanjski niski VCC zaštitni krug za resetiranje. Ako dođe do resetiranja dok je operacija pisanja u tijeku, operacija pisanja će biti dovršena pod uvjetom da je voltage je dovoljno.

I / O memorija

Definicija I / O prostora ATtiny25 / 45/85 prikazana je u “Sažetak registracije” na stranici 200.

Svi I / O uređaji i periferne jedinice ATtiny25 / 45/85 smješteni su u I / O prostor. Uputama LD / LDS / LDD i ST / STS / STD mogu se pristupiti svim I / O lokacijama, prenoseći podatke između 32 opća namjenska radna registra i I / O prostorom. Ulazno-izlazni registri unutar raspona adresa 0x00 - 0x1F izravno su bitno dostupni pomoću SBI i CBI uputa. U tim registrima vrijednost pojedinačnih bitova može se provjeriti pomoću uputa SBIS i SBIC. Više pojedinosti potražite u odjeljku s uputama. Kada se koriste I / O naredbe IN i OUT, moraju se koristiti I / O adrese 0x00 - 0x3F. Kada se I / O registri obraćaju kao podatkovni prostor pomoću LD i ST uputa, na ove adrese mora se dodati 0x20.

Radi kompatibilnosti s budućim uređajima, rezervirane bitove treba zapisati na nulu ako im se pristupi. Rezervirane adrese I / O memorije nikada ne smiju biti napisane.

Neke se statusne zastave brišu na način da im se napiše logička. Imajte na umu da će CBI i SBI upute raditi samo na navedenom bitu i stoga se mogu koristiti na registrima koji sadrže takve statusne oznake. Upute CBI i SBI rade samo s registrima 0x00 do 0x1F.

Ulazno-izlazni i periferni kontrolni registri objašnjeni su u sljedećim odjeljcima.

Opis registra

EEARH - EEPROM adresni registar

bit 7 6 5 4 3 2 1 0
0x1F UHO8 UHO
Čitanje/Pisanje R R R R R R R R/W
Početna vrijednost 0 0 0 0 0 0 0 X/0

Bitovi 7: 1 - Rez: Rezervirani bitovi

Ti su bitovi rezervirani za buduću upotrebu i uvijek će se čitati kao nula.

Bitovi 0 - EEAR8: EEPROM adresa

Ovo je najznačajniji EEPROM adresni bit ATtiny85. U uređajima s manje EEPROM-a, tj. ATtiny25 / ATtiny45, ovaj je bit rezerviran i uvijek će čitati nulu. Početna vrijednost EEPROM adresnog registra (EEAR) nije definirana i zato se mora pristupiti odgovarajućoj vrijednosti prije pristupanja EEPROM-u.

EEARL - EEPROM adresni registar

bit

0x1E UHO7 UHO6 UHO5 UHO4 UHO3 UHO2 UHO1 UHO0 RANO
Stražnji / Napiši R/W R/W R/W R/W R/W R/W R/W R/W
Početna vrijednost X X X X X X X X

Bit 7 - EEAR7: EEPROM adresa

Ovo je najznačajniji EEPROM adresni bit ATtiny45. U uređajima s manje EEPROM-a, tj. ATtiny25, ovaj je bit rezerviran i uvijek će čitati nulu. Početna vrijednost EEPROM adresnog registra (EEAR) nije definirana i stoga se mora pristupiti odgovarajućoj vrijednosti prije pristupanja EEPROM-u.

Bitovi 6: 0 - EEAR [6: 0]: EEPROM adresa

To su (niski) bitovi EEPROM adresnog registra. EEPROM podatkovni bajtovi adresiraju se linearno u rasponu 0 ... (128/256 / 512-1). Početna vrijednost EEAR-a nije definirana i stoga mora biti napisana odgovarajuća vrijednost prije pristupanja EEPROM-u.

EEDR - EEPROM registar podataka

bit 7 6 5 4 3 2 1 0
0x1D EEDR7 EEDR6 EEDR5 EEDR4 EEDR3 EEDR2 EEDR1 EEDR0 EEDR
Čitanje/Pisanje R/W R/W R/W R/W R/W R/W R/W R/W
Početna vrijednost 0 0 0 0 0 0 0 0

Za operaciju pisanja EEPROM-a, EEDR registar sadrži podatke koji se upisuju u EEPROM na adresu navedenu u EEAR-ovom registru. Za operaciju čitanja EEPROM-a, EEDR sadrži podatke očitane iz

EEPROM na adresi koju je dao EEAR.

 

5.5.4 EECR - EEPROM kontrolni registar

Bit 7 6 5 4 3 2 1 0
0x1C        – EEPM1 EEPM0 JEZIV EEMPE EEPE EERE EECR
Čitanje / pisanje R R R / W R/W R/W R/W R/W R/W
Početna vrijednost 0 0 X X 0 0 X 0

Bit 7 - Res: Rezervirani bit

Ovaj je bit rezerviran za buduću upotrebu i u ATtiny0 / 25/45 uvijek će čitati kao 85. Radi kompatibilnosti s budućim AVR uređajima, uvijek zapišite ovaj bit na nulu. Nakon čitanja zamaskirajte ovaj dio.

Bit 6 - Res: Rezervirani bit

Ovaj je bit rezerviran u ATtiny25 / 45/85 i uvijek će se čitati kao nula.

Bitovi 5: 4 - EEPM [1: 0]: Bitovi načina programiranja EEPROM-a

Postavka bitova načina programiranja EEPROM definira koja će se programska radnja pokrenuti prilikom pisanja EEPE-a. Moguće je programirati podatke u jednoj atomskoj operaciji (izbrisati staru vrijednost i programirati novu vrijednost) ili podijeliti operacije brisanja i pisanja u dvije različite operacije. Vremena programiranja za različite načine prikazana su u Tablica 5-1. Dok je postavljen EEPE, svako zapisivanje u EEPMn bit će zanemareno. Tijekom resetiranja, EEPMn bitovi vratit će se na 0b00, osim ako je EEPROM zauzet programiranjem.

Tablica 5-1. Bitovi EEPROM načina rada

EEPM1 EEPM0 Vrijeme programiranja Operacija
0 0 3.4 ms Brisanje i pisanje u jednoj operaciji (atomska operacija)
0 1 1.8 ms Samo obriši
1 0 1.8 ms Samo piši
1 1 Rezervirano za buduću upotrebu

Bit 3 - EERIE: Omogućen prekid spreman za EEPROM

Zapisivanje EERIE na jedan omogućuje EEPROM spreman prekid ako je postavljen I-bit u SREG-u. Zapisivanje EERIE na nulu onemogućava prekid. Prekid spreman za EEPROM generira stalni prekid kada je trajna memorija spremna za programiranje.

Bit 2 - EEMPE: Omogućen glavni program EEPROM-a

EEMPE bit određuje hoće li pisanje EEPE na jedan imati učinka ili ne.

Kada se postavi EEMPE, postavljanjem EEPE unutar četiri takta programira se EEPROM na odabranoj adresi. Ako je EEMPE nula, postavljanje EEPE neće imati učinka. Kada je softver EEMPE zapisan na jedan, hardver briše bit na nulu nakon četiri takta.

Bit 1 - EEPE: Omogućivanje programa EEPROM

Signal za omogućavanje programa EEPROM EEPE je signal za omogućavanje programiranja na EEPROM. Kada se napiše EEPE, EEPROM će se programirati prema postavci EEPMn bitova. EEMPE bit mora biti zapisan u jedan prije nego što je logični zapisan u EEPE, inače se ne događa EEPROM upisivanje. Kada protekne vrijeme pristupa upisu, hardver briše EEPE bit. Kad je postavljen EEPE, CPU se zaustavlja na dva ciklusa prije izvršavanja sljedeće naredbe.

Bit 0 - EERE: Omogući čitanje EEPROM-a

EEPROM signal za omogućavanje čitanja - EERE - je strop za čitanje na EEPROM. Kada se u EEAR registru postavi ispravna adresa, EERE bit mora biti zapisan u jedan da bi se pokrenulo čitanje EEPROM-a. Pristup za čitanje EEPROM-a traje jednu uputu i zatraženi podaci su odmah dostupni. Kada se pročita EEPROM, CPU se zaustavlja na četiri ciklusa prije izvršavanja sljedeće naredbe. Korisnik bi trebao anketirati EEPE bit prije početka postupka čitanja. Ako je operacija upisa u tijeku, nije moguće pročitati EEPROM niti promijeniti EEAR registar.

Sistemski sat i opcije sata

Sustavi satova i njihova distribucija

Raspodjela sata

CPU sat

CPU takt se usmjerava na dijelove sustava koji se bave radom AVR jezgre. nprampTakvi moduli su Registar opće namjene File, statusni registar i memoriju podataka koja drži pokazivač staka. Zaustavljanje CPU takta sprječava jezgru u izvođenju općih operacija i izračuna.

I / O sat - clkI / O

Ulazno-izlazni sat koristi većina I / O modula, poput Timer / Counter. Ulazno-izlazni sat također koristi modul Vanjski prekid, ali imajte na umu da se neki vanjski prekidi detektiraju asinkronom logikom, što omogućuje otkrivanje takvih prekida čak i ako je I / O sat zaustavljen.

Flash sat - clkFLASH

Flash sat kontrolira rad Flash sučelja. Flash sat je obično aktivan istovremeno s CPU taktom.

ADC sat - clkADC

ADC je opremljen namjenskom domenom sata. To omogućuje zaustavljanje CPU i I / O satova kako bi se smanjio šum koji generiraju digitalni sklopovi. To daje preciznije rezultate pretvorbe ADC-a.

Interni PLL za brzu perifernu generaciju sata - clkPCK

Interni PLL u ATtiny25 / 45/85 generira frekvenciju takta koja je 8x pomnožena od ulaznog izvora. Prema zadanim postavkama PLL koristi izvor internog, 8.0 MHz RC oscilatora kao izvor. Ako je postavljen bit LSM za PLLCSR, PLL će koristiti izlaz RC oscilatora podijeljen s dva. Stoga je izlaz PLL-a, brzi periferni takt 64 MHz. Brzi periferni sat ili sat koji je unaprijed predškoliran može se odabrati kao izvor sata za Timer / Counter1 ili kao sistemski sat. Vidjeti Slika 6-2. Frekvencija brzog perifernog takta dijeli se s dva kada je postavljen LSM od PLLCSR, što rezultira frekvencijom takta od 32 MHz. Imajte na umu da se LSM ne može postaviti ako se PLLCLK koristi kao sistemski sat.

Slika 6-2. PCK sustav takta. Takt PCK

PLL je zaključan na RC oscilatoru, a podešavanje RC oscilatora putem OSCCAL registra istovremeno će prilagoditi brzi periferni sat. Međutim, čak i ako se RC oscilator odvede na višu frekvenciju od 8 MHz, brza periferna frekvencija sata zasićuje se na 85 MHz (najgori slučaj) i ostaje oscilirajuća na maksimalnoj frekvenciji. Treba imati na umu da PLL u ovom slučaju više nije zaključan s RC oscilator satom. Stoga se preporučuje da ne podesite OSCCAL podešavanja na veću frekvenciju od 8 MHz kako bi se PLL održao u ispravnom radnom opsegu.

Interni PLL omogućen je kada:

Postavljen je PLLE bit u registru PLLCSR.

Osigurač CKSEL programiran je na '0001'.

Osigurač CKSEL programiran je na '0011'.

PLLCSR bit PLOCK postavljen je kada je PLL zaključan. I interni RC oscilator i PLL isključeni su u načinu rada isključenog napajanja i mirovanja u stanju mirovanja.

Interni PLL u načinu kompatibilnosti ATtiny15

Budući da je ATtiny25 / 45/85 uređaj za migraciju korisnika ATtiny15, postoji način kompatibilnosti ATtiny15 za kompatibilnost s pozadinama. Način kompatibilnosti ATtiny15 odabire se programiranjem CKSEL osigurača na '0011'.

U načinu kompatibilnosti ATtiny15 frekvencija internog RC oscilatora kalibrirana je na 6.4 MHz, a faktor množenja PLL-a postavljen na 4x. Vidjeti Slika 6-3. Ovim prilagodbama sustav takta je kompatibilan s ATtiny15, a rezultirajući brzi periferni sat ima frekvenciju od 25.6 MHz (isto kao u ATtiny15).

Slika 6-3. PCK sustav takta u načinu kompatibilnosti s ATtiny15. Sustav takta

Izvori sata

Uređaj ima sljedeće mogućnosti izvora sata, koje se mogu odabrati bljeskovima bljeskalica, kao što je prikazano u nastavku. Sat iz odabranog izvora ulazi se u generator AVR takta i usmjerava na odgovarajuće module.

Tablica 6-1. Opcije sata uređaja Odaberite

Opcija takta uređaja CKSEL[3:0](1)
Vanjski sat (vidjeti stranica 26) 0000
Visokofrekventni PLL sat (vidjeti stranica 26) 0001
Kalibrirani unutarnji oscilator (vidjeti stranica 27) 0010(2)
Kalibrirani unutarnji oscilator (vidjeti stranica 27) 0011(3)
Interni oscilator od 128 kHz (vidjeti stranica 28) 0100
Kristalni oscilator niske frekvencije (vidjeti stranica 29) 0110
Kristalni oscilator / keramički rezonator (vidjeti stranica 29) 1000 – 1111
Rezervirano 0101, 0111

Za sve osigurače "1" znači neprogramirano, dok "0" znači programirano.

Uređaj se isporučuje s odabranom ovom opcijom.

Ovo će odabrati način kompatibilnosti ATtiny15, gdje je sistemski sat podijeljen s četiri, što rezultira frekvencijom takta od 1.6 MHz. Za više informacija, vidi “Kalibrirani unutarnji oscilator” na stranici 27.

Različiti izbori za svaku opciju takta dani su u sljedećim odjeljcima. Kada se CPU probudi nakon isključivanja, odabrani izvor takta koristi se za vremensko određivanje pokretanja, osiguravajući stabilan rad oscilatora prije početka izvršavanja naredbi. Kada se CPU pokrene od resetiranja, dolazi do dodatnog kašnjenja koje omogućuje da snaga dosegne stabilnu razinu prije početka normalnog rada. Oscilator čuvara koristi se za vremensko određivanje ovog dijela vremena pokretanja u stvarnom vremenu. Broj ciklusa WDT oscilatora korištenih za svako vremensko ograničenje prikazan je u Tablica 6-2.

Tablica 6-2. Broj ciklusa Watchdog oscilatora

Tipično istek Broj ciklusa
4 ms 512
64 ms 8K (8,192)

Vanjski sat

Za pogon uređaja iz vanjskog izvora takta, CLKI treba voziti kako je prikazano na Slika 6-4. Da bi uređaj radio na vanjskom taktu, osigurači CKSEL moraju biti programirani na "00".

Slika 6-4. Konfiguracija pogona vanjskog sata

sl.6.4

Kad je odabran ovaj izvor sata, vremena pokretanja određuju se osiguračima SUT, kao što je prikazano u Tablica 6-3.

Tablica 6-3. Vremena pokretanja za odabir vanjskog sata

SUB[1:0] Vrijeme pokretanja nakon isključivanja Dodatno kašnjenje od resetiranja Preporučena uporaba
00 6 KZ 14CK BPK omogućen
01 6 KZ 14CK + 4 ms Snaga koja brzo raste
10 6 KZ 14CK + 64 ms Polako rastuća snaga
11 Rezervirano

Pri primjeni vanjskog sata potrebno je izbjegavati nagle promjene primijenjene frekvencije takta kako bi se osigurao stabilan rad MCU-a. Varijacija frekvencije od više od 2% od jednog do drugog ciklusa takta može dovesti do nepredvidljivog ponašanja. Potrebno je osigurati da se MCU zadrži u resetiranju tijekom takvih promjena u frekvenciji takta.

Imajte na umu da se pretprodaja sistemskog sata može koristiti za provođenje promjena vremena rada interne frekvencije takta, a da istovremeno osigurava stabilan rad. Pogledajte “Prescaler sistemskog sata” na stranici 31 za detalje.

Visokofrekventni PLL sat

Postoji interni PLL koji nudi nominalni takt od 64 MHz zaključan na RC oscilator za upotrebu perifernog timera / brojača1 i za izvor sistemskog takta. Kada se odabere kao izvor sistemskog sata, programiranjem CKSEL osigurača na '0001', podijeljen je s četiri kao što je prikazano u Tablica 6-4.

Tablica 6-4. Načini rada visokofrekventnog PLL takta

CKSEL[3:0] Nominalna frekvencija
0001 16 MHz

Kad je odabran ovaj izvor sata, vremena pokretanja određuju se SUT osiguračima, kao što je prikazano u Tablica 6-5.

Tablica 6-5. Vremena pokretanja za visokofrekventni PLL takt

SUB[1:0] Vrijeme pokretanja od isključenja Dodatna odgoda od resetiranja pri uključivanju (VCC = 5.0 V) Preporučena uporaba
00 14CK + 1K (1024) CK + 4 ms 4 ms BPK omogućen

Tablica 6-5. Vremena pokretanja za visokofrekventni PLL takt

SUB[1:0] Vrijeme pokretanja od isključenja Dodatna odgoda od resetiranja pri uključivanju (VCC = 5.0 V) Preporučena uporaba
01 14CK + 16K (16384) CK + 4 ms 4 ms Snaga koja brzo raste
10 14CK + 1K (1024) CK + 64 ms 4 ms Polako rastuća snaga
11 14CK + 16K (16384) CK + 64 ms 4 ms Polako rastuća snaga

Kalibrirani unutarnji oscilator

Prema zadanim postavkama, interni RC oscilator osigurava takt od približno 8.0 MHz. Iako je godtagOvisno o temperaturi, ovaj sat korisnik može vrlo precizno kalibrirati. Vidjeti „Kalibrirani unutarnji RC oscilator racy “na stranici 164 “Interna brzina oscilatora” na stranici 192 za više detalja. Uređaj se isporučuje s programiranim osiguračem CKDIV8. Vidjeti “Prescaler sistemskog sata” na stranici 31 za više detalja.

Ovaj sat se može odabrati kao sistemski sat programiranjem CKSEL osigurača kako je prikazano na Tablica 6-6 na stranici

27. Ako se odabere, radit će bez vanjskih komponenata. Tijekom resetiranja, hardver učitava unaprijed programiranu vrijednost kalibracije u OSCCAL registar i time automatski kalibrira RC oscilator. Točnost ove kalibracije prikazana je kao tvornička kalibracija u Tablica 21-2 na stranici 164.

Promjenom registra OSCCAL iz SW, vidi “OSCCAL - Registar kalibracije oscilatora” na stranici 31, moguće je postići veću točnost kalibracije nego korištenjem tvorničke kalibracije. Točnost ove kalibracije prikazana je kao Korisnička kalibracija u Tablica 21-2 na stranici 164.

Kad se ovaj oscilator koristi kao čipovski sat, oscilator čuvara i dalje će se koristiti za nadzorni sat i vremensko ograničenje resetiranja. Za više informacija o unaprijed programiranoj vrijednosti kalibracije, pogledajte odjeljak „Kali- bration Bytes “na stranici 150.

Unutarnji oscilator također se može postaviti tako da pruža takt od 6.4 MHz zapisujući CKSEL osigurače na "0011", kao što je prikazano u Tablica 6-6 ispod. Ova se postavka naziva ATtiny15 način kompatibilnosti i namijenjena je kalibriranom taktu od 6.4 MHz, kao u ATtiny15. U načinu kompatibilnosti ATtiny15, PLL koristi unutarnji oscilator koji radi na 6.4 MHz za generiranje perifernog takta od 25.6 MHz za timer / brojač1 (vidi “8-bitni timer / brojač1 in Način ATtiny15 ”na stranici 95). Imajte na umu da je u ovom načinu rada signal takta od 6.4 MHz uvijek podijeljen s četiri, pružajući sistemski takt od 1.6 MHz.

Tablica 6-6. Načini rada internog kalibriranog RC oscilatora

CKSEL[3:0] Nominalna frekvencija
0010(1) 8.0 MHz
0011(2) 6.4 MHz

Uređaj se isporučuje s odabranom ovom opcijom.

Ova postavka će odabrati način kompatibilnosti ATtiny15, gdje je sistemski sat podijeljen s četiri, što rezultira taktnom frekvencijom od 1.6 MHz.

Kada je kalibrirani unutarnji oscilator od 8 MHz odabran kao izvor takta, vremena pokretanja određuju se SUT osiguračima kao što je prikazano u Tablica 6-7 ispod.

Tablica 6-7. Vremena pokretanja internog kalibriranog sata RC oscilatora

SUB[1:0] Vrijeme pokretanja nakon isključivanja Dodatna odgoda od resetiranja (VCC = 5.0 V) Preporučena uporaba
00 6 KZ 14CK(1) BPK omogućen
01 6 KZ 14CK + 4 ms Snaga koja brzo raste
10(2) 6 KZ 14CK + 64 ms Polako rastuća snaga
11 Rezervirano

1. Ako je programiran osigurač RSTDISBL, ovo vrijeme pokretanja povećat će se na 14CK + 4 ms kako bi se osiguralo da se može ući u način programiranja.
2. Uređaj se isporučuje s odabranom ovom opcijom.

U načinu rada kompatibilnosti ATtiny15 vremena pokretanja određuju se SUT osiguračima kao što je prikazano na Tablica 6-8 ispod.

Tablica 6-8. Vremena pokretanja internog kalibriranog sata RC oscilatora (u načinu rada ATtiny15)

SUB[1:0] Vrijeme pokretanja nakon isključivanja Dodatna odgoda od resetiranja (VCC = 5.0 V) Preporučena uporaba
00 6 KZ 14CK + 64 ms
01 6 KZ 14CK + 64 ms
10 6 KZ 14CK + 4 ms
11 1 KZ 14CK(1)

Napomena: Ako je RSTDISBL osigurač programiran, ovo vrijeme pokretanja će se povećati na 14CK + 4 ms kako bi se osiguralo da se može ući u način programiranja.

Ukratko, više informacija o načinu kompatibilnosti ATtiny15 možete pronaći u odjeljcima "Priključak B (PB5: PB0)" uključen stranica 2“Interni PLL u načinu kompatibilnosti ATtiny15” na stranici 24“8-bitni timer / brojač1 u načinu ATtiny15” uključen stranica 95“Ograničenja programa za ispravljanje pogrešaka” na stranici 140“Kalibracijski bajtovi” na stranici 150 i u tablici “Isključivač sata Odaberite ”na stranici 33.

Interni oscilator od 128 kHz

Interni oscilator od 128 kHz je oscilator male snage koji ima takt od 128 kHz. Frekvencija je nominalna na 3V i 25°C. Ovaj sat se može odabrati kao sistemski sat programiranjem CKSEL osigurača na “0100”.

Kad je odabran ovaj izvor sata, vremena pokretanja određuju se osiguračima SUT, kao što je prikazano u Tablica 6-9.

Tablica 6-9. Vremena pokretanja internog oscilatora od 128 kHz

SUB[1:0] Vrijeme pokretanja nakon isključivanja Dodatno kašnjenje od resetiranja Preporučena uporaba
00 6 KZ 14CK(1) BPK omogućen
01 6 KZ 14CK + 4 ms Snaga koja brzo raste
10 6 KZ 14CK + 64 ms Polako rastuća snaga
11 Rezervirano

Napomena: Ako je RSTDISBL osigurač programiran, ovo vrijeme pokretanja će se povećati na 14CK + 4 ms kako bi se osiguralo da se može ući u način programiranja.

Kristalni oscilator niske frekvencije

Da biste koristili satni kristal od 32.768 kHz kao izvor sata za uređaj, niskofrekventni kristalni oscilator mora se odabrati postavljanjem osigurača CKSEL na '0110'. Kristal treba spojiti kako je prikazano na Slika 6-5. Da biste pronašli prikladnu nosivost za krisal od 32.768 kHz, obratite se tehničkom listu proizvođača.

Kada je odabran ovaj oscilator, vremena pokretanja određuju se osiguračima SUT, kao što je prikazano u Tablica 6-10.

Tablica 6-10. Vremena pokretanja za odabir takta niskofrekventnog kristalnog oscilatora

SUB[1:0] Vrijeme pokretanja od isključenja Dodatna odgoda od resetiranja (VCC = 5.0 V) Preporučena uporaba
00 1K (1024) CK(1) 4 ms Omogućena brza snaga ili BOD
01 1K (1024) CK(1) 64 ms Polako rastuća snaga
10 32K (32768) CK 64 ms Stabilna frekvencija pri pokretanju
11 Rezervirano

Napomena: Ove opcije treba koristiti samo ako stabilnost frekvencije pri pokretanju nije važna.

Niskofrekventni kristalni oscilator pruža unutarnju nosivost, vidi Tablica 6-11 na svakom TOSC pinu.

Tablica 6-11. Kapacitet niskofrekventnog kristalnog oscilatora

Uređaj 32 kHz Osc. Tip Poklopac (Xtal1 / Tosc1) Poklopac (Xtal2 / Tosc2)
ATtiny25 / 45/85 Osc. Sustava. 16 pF 6 pF

Kristalni oscilator / keramički rezonator

XTAL1 i XTAL2 su ulaz, odnosno izlaz invertiranja ampLifier koji se može konfigurirati za korištenje kao On-chip oscilator, kao što je prikazano u Slika 6-5. Može se koristiti kvarcni kristal ili keramički rezonator.

C1 i C2 trebaju uvijek biti jednaki i za kristale i za rezonatore. Optimalna vrijednost kondenzatora ovisi o kristalu ili rezonatoru koji se koristi, količini rasipnog kapaciteta i elektromagnetskom šumu okoline. Neke početne smjernice za odabir kondenzatora za korištenje s kristalima dane su u Tablica 6-12 ispod. Za keramičke rezonatore treba koristiti vrijednosti kondenzatora koje daje proizvođač.

Tablica 6-12. Načini rada kristalnog oscilatora

CKSEL[3:1] Raspon frekvencija (MHz) Preporučeni raspon za kondenzatore C1 i C2 za upotrebu s kristalima (pF)
100(1) 0.4 – 0.9
101 0.9 – 3.0 12 – 22
110 3.0 – 8.0 12 – 22
111 8.0 – 12 – 22

Napomene: ovu opciju ne treba koristiti s kristalima, samo s keramičkim rezonatorima.

Oscilator može raditi u tri različita načina rada, svaki optimiziran za određeni frekvencijski raspon. Način rada odabiru osigurači CKSEL [3: 1] kako je prikazano na Tablica 6-12.

Osigurač CKSEL0 zajedno sa osiguračima SUT [1: 0] odabire vrijeme pokretanja kao što je prikazano na Tablica 6-13.

Tablica 6-13. Vremena pokretanja za odabir sata kristalnog oscilatora

CKSEL0 SUB[1:0] Vrijeme pokretanja nakon isključivanja Dodatno kašnjenje od resetiranja Preporučena uporaba
0 00 258 KZ(1) 14CK + 4 ms Keramički rezonator, brzo rastuća snaga
0 01 258 KZ(1) 14CK + 64 ms Keramički rezonator, polako rastuća snaga
0 10 1K (1024) CK(2) 14CK Keramički rezonator, omogućen BPK
0 11 1K (1024) CK(2) 14CK + 4 ms Keramički rezonator, brzo rastuća snaga
1 00 1K (1024) CK(2) 14CK + 64 ms Keramički rezonator, polako rastuća snaga
1 01 16K (16384) CK 14CK Kristalni oscilator, BOD omogućen
1 10 16K (16384) CK 14CK + 4 ms Kristalni oscilator, brzo rastuća snaga
1 11 16K (16384) CK 14CK + 64 ms Kristalni oscilator, polako rastuća snaga

Bilješke

Ove se opcije trebaju koristiti samo kada ne rade blizu maksimalne frekvencije uređaja i samo ako stabilnost frekvencije pri pokretanju nije važna za aplikaciju. Ove opcije nisu prikladne za kristale.

Ove su opcije namijenjene za upotrebu s keramičkim rezonatorima i osigurat će stabilnost frekvencije pri pokretanju. Također se mogu koristiti s kristalima kada ne rade blizu maksimalne frekvencije uređaja, a ako stabilnost frekvencije pri pokretanju nije važna za primjenu.

Zadani izvor sata

Uređaj se isporučuje s programiranim CKSEL = “0010”, SUT = “10” i CKDIV8. Zadana postavka izvora takta je stoga unutarnji RC oscilator koji radi na 8 MHz s najdužim vremenom pokretanja i početnim predskaliranjem takta sustava od 8, što rezultira taktom sustava od 1.0 MHz. Ova zadana postavka osigurava da svi korisnici mogu postaviti željenu postavku izvora sata koristeći In-System ili High-voltage Programer.

Preskaler za sistemski sat

Sistemski sat ATtiny25 / 45/85 može se podijeliti podešavanjem “CLKPR - Registar pretkale sata” na stranici 32. Ova se značajka može koristiti za smanjenje potrošnje energije kada je zahtjev za procesorskom snagom nizak. Ovo se može koristiti sa svim opcijama izvora takta, a to će utjecati na frekvenciju takta CPU-a i svih sinkronih perifernih uređaja. clkI/O, clkADC, clkCPU i clkFLASH podijeljeni su faktorom kao što je prikazano u Tablica 6-15 na stranici 33.

Vrijeme prebacivanja

Kada se prebacujete između postavki predcjelitelja, sistemski sat za predscjepljivanje osigurava da se u satnom sustavu ne dogode propusti i da nijedna međufrekvencija ne bude veća od frekvencije takta koja odgovara prethodnoj postavci, niti frekvencije takta koja odgovara novoj postavci.

Brojač mreškanja koji implementira uređaj za predskaliranje radi na frekvenciji nepodijeljenog takta, što može biti brže od frekvencije takta CPU-a. Stoga nije moguće odrediti stanje predcjeljivača - čak i ako je čitljivo, a točno vrijeme potrebno za prelazak s jedne podjele sata na drugu ne može se točno predvidjeti.

Od trenutka kada se zapišu vrijednosti CLKPS, potrebno je između T1 + T2 i T1 + 2 * T2 prije nego što nova frekvencija sata bude aktivna. U tom se intervalu stvaraju 2 aktivna ruba sata. Ovdje je T1 prethodno razdoblje takta, a T2 razdoblje koje odgovara novoj postavci uređaja za predkaliranje.

Izlazni međuspremnik takta

Uređaj može izlaziti sistemski sat na CLKO pin (kada se ne koristi kao XTAL2 pin). Da bi se omogućio izlaz, mora se programirati osigurač CKOUT. Ovaj je način prikladan kada se čipovni sat koristi za pogon drugih sklopova u sustavu. Imajte na umu da se sat neće resetirati tijekom resetiranja i da će normalan rad I / O pina biti nadjačan kada se programira osigurač. Unutarnji RC oscilator, WDT oscilator, PLL i vanjski sat (CLKI) mogu se odabrati kada se sat prikazuje na CLKO. Kristalni oscilatori (XTAL1, XTAL2) ne mogu se koristiti za izlaz sata na CLKO. Ako se koristi sistemski pretkazar sata, izlaz je podijeljeni sistemski sat.

Opis registra

OSCCAL - Registar kalibracije oscilatora

bit 7 6 5 4 3 2 1 0
0x31 CAL7 CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0 OSKALNO
Čitanje/Pisanje R/W R/W R/W R/W R/W R/W R/W R/W

Bitovi 7: 0 - CAL [7: 0]: Vrijednost kalibracije oscilatora

Registar kalibracije oscilatora koristi se za obrezivanje kalibriranog unutarnjeg RC oscilatora kako bi se uklonile varijacije procesa s frekvencije oscilatora. Unaprijed programirana vrijednost kalibracije automatski se zapisuje u ovaj registar tijekom resetiranja čipa, dajući tvornički kalibriranu frekvenciju kako je navedeno u Tablica 21-2 na stranici 164. Aplikacijski softver može zapisati ovaj registar za promjenu frekvencije oscilatora. Oscilator se može kalibrirati na frekvencije kako je navedeno u Tablica 21-2 na stranici 164. Kalibracija izvan tog raspona nije zajamčena.

Imajte na umu da se ovaj oscilator koristi za vremensko usklađivanje pristupa EEPROM-u i Flash zapisu, a na to će se vremenski utjecati. Ako su napisani EEPROM ili Flash, ne kalibrirajte na više od 8.8 MHz. U suprotnom, EEPROM ili Flash zapis mogu propasti.

Bit CAL7 određuje opseg rada oscilatora. Postavljanje ovog bita na 0 daje najniži raspon frekvencija, a postavljanje ovog bita na 1 daje najviši raspon frekvencija. Dva frekvencijska raspona se preklapaju, drugim riječima postavka OSCCAL = 0x7F daje veću frekvenciju od OSCCAL = 0x80.

Bitovi CAL [6: 0] koriste se za podešavanje frekvencije unutar odabranog raspona. Postavka 0x00 daje najnižu frekvenciju u tom rasponu, a postavka 0x7F daje najvišu frekvenciju u tom rasponu.

Da bi se osigurao stabilan rad MCU-a, vrijednost kalibracije treba malo mijenjati. Varijacija frekvencije od jednog do drugog ciklusa veća od 2% može dovesti do nepredvidivog ponašanja. Promjene u OSCCAL-u ne bi trebale prelaziti 0x20 za svaku kalibraciju. Potrebno je osigurati da se MCU zadrži u resetiranju tijekom takvih promjena u frekvenciji takta

Tablica 6-14. Frekvencijski raspon unutarnjeg RC oscilatora

OSCCAL Vrijednost Tipična najniža frekvencija s obzirom na nominalnu frekvenciju Tipična najviša frekvencija s obzirom na nominalnu frekvenciju
0x00 50% 100%
0x3F 75% 150%
0x7F 100% 200%

CLKPR - Registar pretkale sata

bit 7 6 5 4 3 2 1 0
0x26 CLKPCE CLKPS3 CLKPS2 CLKPS1 CLKPS0 CLKPR
Čitanje/Pisanje R/W R R R R/W R/W R/W R/W

Početna vrijednost 0 0 0 0 Pogledajte opis bita

Bit 7 - CLKPCE: Omogući promjenu pretkolača sata

CLKPCE bit mora biti zapisan u logički da bi se omogućila promjena CLKPS bitova. Bit CLKPCE ažurira se samo kada su ostali bitovi u CLKPR istovremeno zapisani na nulu. CLKPCE se hardverski briše četiri ciklusa nakon što je napisan ili kada su napisani CLKPS bitovi. Ponovno prepisivanje CLKPCE bita unutar ovog razdoblja isteka ne produžuje razdoblje isteka niti brisanje CLKPCE bita.

Bitovi 6: 4 - Rez: Rezervirani bitovi

Ovi su bitovi rezervirani bitovi u ATtiny25 / 45/85 i uvijek će se čitati kao nula.

Bitovi 3: 0 - CLKPS [3: 0]: Bitovi za odabir uređaja za predskaliranje sata 3 - 0

Ovi bitovi definiraju faktor podjele između odabranog izvora takta i unutarnjeg sata sata. Ti se bitovi mogu zapisati u vrijeme izvođenja kako bi se frekvencija takta mijenjala prema zahtjevima aplikacije. Kako razdjelnik dijeli ulaz glavnog sata na MCU, brzina svih sinkronih perifernih uređaja smanjuje se kada se koristi faktor podjele. Faktori podjele dani su u Tablica 6-15.

Da bi se izbjegle nenamjerne promjene frekvencije takta, mora se slijediti poseban postupak pisanja za promjenu CLKPS bitova:

Zapišite bit za omogućavanje promjene predračunača sata (CLKPCE) na jedan, a sve ostale bitove u CLKPR na nulu.

Unutar četiri ciklusa zapišite željenu vrijednost u CLKPS dok ispisujete nulu u CLKPCE.

Prekidi se moraju onemogućiti prilikom promjene postavke pretkolača kako bi se osiguralo da postupak upisa nije prekinut.

CKDIV8 Fuse određuje početnu vrijednost CLKPS bitova. Ako CKDIV8 nije programiran, CLKPS bitovi će se resetirati na "0000". Ako je CKDIV8 programiran, CLKPS bitovi se vraćaju na "0011", dajući faktor dijeljenja osam pri pokretanju. Ovu značajku treba koristiti ako odabrani izvor takta ima višu frekvenciju od maksimalne frekvencije uređaja u trenutnim radnim uvjetima. Imajte na umu da se bilo koja vrijednost može upisati u CLKPS bitove bez obzira na postavku CKDIV8 Fuse. Aplikacijski softver mora osigurati dovoljan faktor dijeljenja

odabrano ako odabrani izvor takta ima veću frekvenciju od maksimalne frekvencije uređaja u trenutnim radnim uvjetima. Uređaj se isporučuje s programiranim osiguračem CKDIV8.

Tablica 6-15. Clock Prescaler Odaberite

CLKPS3 CLKPS2 CLKPS1 CLKPS0 Faktor podjele sata
0 0 0 0 1
0 0 0 1 2
0 0 1 0 4
0 0 1 1 8
0 1 0 0 16
0 1 0 1 32
0 1 1 0 64
0 1 1 1 128
1 0 0 0 256
1 0 0 1 Rezervirano
1 0 1 0 Rezervirano
1 0 1 1 Rezervirano
1 1 0 0 Rezervirano
1 1 0 1 Rezervirano
1 1 1 0 Rezervirano
1 1 1 1 Rezervirano

Napomena: Prescaler je onemogućen u načinu rada kompatibilnosti s ATtiny15 i niti pisanje u CLKPR niti programiranje osigurača CKDIV8 nema nikakvog utjecaja na takt sustava (koji će uvijek biti 1.6 MHz).

Upravljanje napajanjem i načini mirovanja

Visoke performanse i vodeća efikasnost koda čine AVR mikrokontrolere idealnim izborom za primjene male snage. Osim toga, načini mirovanja omogućuju aplikaciji isključivanje neiskorištenih modula u MCU-u, štedeći tako energiju. AVR pruža različite načine mirovanja omogućujući korisniku prilagodbu potrošnje energije prema zahtjevima aplikacije.

Načini mirovanja

Slika 6-1 na stranici 23 predstavlja različite satne sustave i njihovu distribuciju u ATtiny25 / 45/85. Slika je korisna pri odabiru odgovarajućeg načina mirovanja. Tablica 7-1 prikazuje različite načine mirovanja i njihove izvore buđenja.

Tablica 7-1. Domene aktivnog sata i izvori buđenja u različitim načinima mirovanja

Domene aktivnog sata Oscilatori Izvori buđenja
Način mirovanja clkCPU clkFLASH clkIO clkADC clkPCK Omogućen glavni izvor sata INT0 i promjena pina SPM / EEPROM

Spreman

 

USI startni uvjet

ADC Drugi I/O Pas čuvar Prekinuti
besposlen X X X X X X X X X X
ADC smanjenje buke X X X(1) X X X X
Nema struje X(1) X X

Napomena: Za INT0, samo prekid razine.

Da biste ušli u bilo koji od tri načina mirovanja, bit SE u MCUCR mora biti zapisan u logički jedan i mora se izvršiti SLEEP naredba. SM [1: 0] bitovi u MCUCR registru odabiru koji će način mirovanja (Idle, ADC Noise Reduction ili Power-down) aktivirati SLEEP naredba. Vidjeti Tablica 7-2 za sažetak.

Ako dođe do omogućenog prekida dok je MCU u stanju mirovanja, MCU se budi. MCU se zatim zaustavlja na četiri ciklusa uz vrijeme pokretanja, izvršava rutinu prekida i nastavlja izvršavanje iz instrukcije nakon SLEEP. Sadržaj Registra File i SRAM su nepromijenjeni kada se uređaj probudi iz stanja mirovanja. Ako dođe do resetiranja tijekom stanja mirovanja, MCU se budi i izvršava iz Reset Vector.

Napomena: ako se prekid aktiviran razinom koristi za buđenje, promijenjena razina se mora zadržati neko vrijeme da se probudi MCU (i da MCU uđe u rutinu usluge prekida). Vidjeti “Vanjski prekidi” na stranici 49 za detalje.

Način mirovanja

Kada se SM[1:0] bitovi zapišu na 00, instrukcija SLEEP tjera MCU da uđe u stanje mirovanja, zaustavljajući CPU, ali dopuštajući analognom komparatoru, ADC-u, USI-ju, mjeraču vremena/brojaču, nadzornom pasu i sustavu prekida da nastave s radom. jesti. Ovaj način mirovanja u osnovi zaustavlja clkCPU i clkFLASH, dok dopušta ostalim satovima da rade.

Način mirovanja omogućuje MCU-u da se probudi iz vanjskih okidačkih prekida kao i unutarnjih poput Timer Overflow. Ako buđenje iz prekida analognog usporednika nije potrebno, analogni usporednik može se isključiti postavljanjem ACD bita u “ACSR - Registar upravljanja i stanja analognih komparatora” na stranici 120. To će smanjiti potrošnju energije u načinu mirovanja. Ako je ADC omogućen, pretvorba započinje automatski kada se uđe u ovaj način.

ADC način smanjenja buke

Kada se SM[1:0] bitovi zapišu u 01, instrukcija SLEEP tjera MCU da uđe u način rada za smanjenje šuma ADC-a, zaustavljajući CPU, ali dopuštajući ADC-u, vanjskim prekidima i Watchdogu da nastave s radom (ako je omogućen). Ovaj način mirovanja zaustavlja clkI/O, clkCPU i clkFLASH, dok dopušta ostalim satovima da rade.

Ovo poboljšava okruženje buke za ADC, omogućujući mjerenja veće razlučivosti. Ako je ADC omogućen, pretvorba započinje automatski kada se uđe u ovaj način. Osim prekida ADC Conversion Complete, samo vanjski reset, reset Watchdoga, Brown-out reset, SPM / EEPROM spreman prekid, prekid vanjske razine na INT0 ili prekid promjene pina mogu probuditi MCU iz ADC smanjenja šuma način rada.

Način isključivanja

Kada se SM [1: 0] bitovi zapišu na 10, SLEEP naredba navodi MCU da uđe u način isključenja. U ovom načinu rada oscilator se zaustavlja, dok vanjski prekida, otkrivanje stanja pokretanja USI i Watchdog nastavljaju raditi (ako je omogućeno). Samo vanjski reset, reset Watchdoga, Brown-out reset, USI start prekid, vanjski nivo prekida na INT0 ili prekid promjene pin-a mogu probuditi MCU. Ovaj način mirovanja zaustavlja sve generirane satove, omogućujući rad samo asinkronih modula.

Onemogući BPK softvera

Kad je detektor izbacivanja (BOD) omogućen BODLEVEL osiguračima (vidi Tablica 20-4 na stranici 148), BOD aktivno prati opskrbu voltage tijekom perioda spavanja. U nekim je uređajima moguće uštedjeti energiju tako da softverski onemogući BOD u načinu mirovanja s isključenim napajanjem. Potrošnja energije u stanju mirovanja tada će biti na istoj razini kao kada je BOD globalno onemogućen osiguračima.

Ako je BOD softver onemogućen, BOD funkcija se isključuje odmah nakon ulaska u stanje mirovanja. Nakon buđenja iz stanja mirovanja, BOD se automatski ponovno uključuje. Ovo osigurava siguran rad u slučaju da je razina VCC pala tijekom razdoblja mirovanja.

Kad je BOD onemogućen, vrijeme buđenja iz stanja mirovanja bit će isto kao i vrijeme buđenja iz RESET-a. Korisnik mora ručno konfigurirati vrijeme buđenja tako da referentna širina pojasa ima vremena za pokretanje i da BPK ispravno radi prije nego što MCU nastavi s izvršavanjem koda. Pogledajte bitove osigurača SUT [1: 0] i CKSEL [3: 0] u tablici “Osigurač s malim bajtom” na stranici 149

BOD onemogućavanje kontrolira BODS (BOD Sleep) bit MCU kontrolnog registra, vidi “MCUCR - MCU kontrola Registriraj se ”na stranici 37. Zapisivanjem ovog bita u jedan isključuje se BPK u Power-Downu, dok upisivanje nule održava BPK aktivnim. Zadana postavka je nula, tj. BOD aktivan.

Zapisivanje u BODS bit kontrolira se vremenskim slijedom i bitom za omogućavanje, vidi „MCUCR - Registar upravljanja MCU- ter ”na stranici 37.

Ograničenja

Funkcija onemogućavanja BPK-a implementirana je samo na sljedeće uređaje:

ATtiny25, revizija E i novija

ATtiny45, revizija D i novija

ATtiny85, revizija C i novija

Revizije su označene na paketu uređaja i mogu se nalaziti na sljedeći način:

Donja strana paketa 8P3 i 8S2

Gornja strana paketa 20M1

Registar smanjenja snage

Registar smanjenja snage (PRR), vidi “PRR - Registar smanjenja snage” na stranici 38, pruža metodu za smanjenje potrošnje energije zaustavljanjem sata na pojedinim perifernim uređajima. Trenutno stanje periferne jedinice je zamrznuto i I / O registri se ne mogu čitati ili pisati. Resursi koje periferna jedinica koristi prilikom zaustavljanja sata ostat će zauzeti, stoga bi perifernu mrežu u većini slučajeva trebalo onemogućiti prije zaustavljanja sata. Buđenje modula, što se vrši brisanjem bita u PRR-u, dovodi modul u isto stanje kao i prije isključivanja.

Isključivanje modula može se koristiti u načinu mirovanja i aktivnom načinu rada kako bi se značajno smanjila ukupna potrošnja energije. U svim ostalim načinima mirovanja sat je već zaustavljen. Vidjeti “Opskrbna struja I / O modula” na stranici 177 na primjeramples.

Minimiziranje potrošnje energije

Postoji nekoliko problema koje treba uzeti u obzir kada pokušavate smanjiti potrošnju energije u sustavu kontroliranom AVR-om. Općenito, način mirovanja treba koristiti što je više moguće, a način mirovanja treba odabrati tako da radi što manje funkcija uređaja. Treba onemogućiti sve funkcije koje nisu potrebne. Konkretno, sljedeći će moduli možda trebati posebno razmotriti kada pokušavaju postići najmanju moguću potrošnju energije.

Analogno-digitalni pretvarač

Ako je omogućeno, ADC će biti omogućen u svim načinima mirovanja. Da biste uštedjeli energiju, ADC treba onemogućiti prije ulaska u bilo koji način mirovanja. Kad se ADC isključi i ponovno uključi, sljedeća pretvorba bit će proširena pretvorba. Pogledajte “Analogno-digitalni pretvarač” na stranici 122 za detalje o radu ADC-a.

Analogna usporednica

Prilikom ulaska u stanje mirovanja, analogni komparator bi trebao biti onemogućen ako se ne koristi. Prilikom ulaska u način rada za smanjenje šuma ADC-a, analogni komparator bi trebao biti onemogućen. U drugim načinima mirovanja, analogni komparator je automatski onemogućen. Međutim, ako je analogni komparator postavljen za korištenje Internal Voltage Referentni kao ulaz, analogni komparator bi trebao biti onemogućen u svim načinima mirovanja. Inače, Internal Voltage Referenca će biti omogućena, neovisno o načinu mirovanja. Pogledajte na “Analogna usporedba” na stranici 119 za detalje o tome kako konfigurirati analogni komparator.

Smeđi detektor

Ako Brown-out detektor nije potreban u aplikaciji, ovaj modul treba isključiti. Ako je BODLEVEL osiguračima omogućen Brown-out detektor, on će biti omogućen u svim načinima mirovanja i stoga uvijek troši energiju. U dubljem načinu mirovanja, to će značajno pridonijeti ukupnoj trenutnoj potrošnji. Vidjeti “Otkrivanje smeđeg cija “na stranici 41 “Softver BOD Disable” na stranici 35 za detalje o tome kako konfigurirati Brown-out detektor.

Unutarnji svtage Referenca

The Internal Voltage Referenca će biti omogućena kada je to potrebno za detekciju zatamnjenja, analogni komparator ili ADC. Ako su ovi moduli onemogućeni kako je opisano u gornjim odjeljcima, interni voltagReferenca će biti onemogućena i neće trošiti energiju. Kada se ponovno uključi, korisnik mora dopustiti da se referenca pokrene prije nego što se koristi izlaz. Ako je referenca uključena u stanju mirovanja, izlaz se može odmah koristiti. Pogledajte na “Interni svtage Referenca” na stranici 42 za detalje o vremenu pokretanja.

Watchdog Timer

Ako u aplikaciji nije potreban Watchdog Timer, ovaj bi modul trebao biti isključen. Ako je Watchdog Timer omogućen, bit će omogućen u svim načinima mirovanja, a time i uvijek troši energiju. U dubljem načinu mirovanja, to će značajno pridonijeti ukupnoj trenutnoj potrošnji. Pogledajte “Watchdog Timer” na stranici 42 za detalje o tome kako konfigurirati Watchdog Timer.

Lučke igle

Prilikom ulaska u stanje mirovanja, svi pinovi porta trebaju biti konfigurirani za korištenje minimalne snage. Najvažnije je tada osigurati da nijedan zatik ne pokreće otporna opterećenja. U načinima mirovanja gdje su I/O takt (clkI/O) i ADC takt (clkADC) zaustavljeni, ulazni međuspremnici uređaja bit će onemogućeni. Time se osigurava da se ne troši struja

logikom unosa kad nije potrebno. U nekim je slučajevima ulazna logika potrebna za otkrivanje uvjeta buđenja i

tada će biti omogućeno. Pogledajte odlomak “Omogućavanje digitalnog ulaza i načini mirovanja” na stranici 57 za detalje o tome koji su pribadači omogućeni. Ako je ulazni međuspremnik omogućen, a ulazni signal ne radi ili ima razinu analognog signala blizu VCC/2, ulazni međuspremnik će koristiti prekomjernu snagu.

Za analogne ulazne pinove, digitalni ulazni međuspremnik treba uvijek biti onemogućen. Razina analognog signala blizu VCC/2 na ulaznom pinu može uzrokovati značajnu struju čak iu aktivnom načinu rada. Digitalni ulazni međuspremnici mogu se onemogućiti upisivanjem u registar za onemogućavanje digitalnog ulaza (DIDR0). Odnosi se na “DIDR0 - Registar za onemogućavanje digitalnog ulaza 0” na stranici 121 za detalje.

Opis registra

MCUCR - MCU kontrolni registar

MCU kontrolni registar sadrži kontrolne bitove za upravljanje napajanjem.

bit 7 6 5 4 3 2 1 0
0x35 BODS PUD SE SM1 SM0 BODSE ISC01 ISC00 MCUCR
Čitanje/Pisanje R R/W R/W R/W R/W R R/W R/W
Početna vrijednost 0 0 0 0 0 0 0 0

Bit 7 - BODS: BOD Sleep

Funkcija onemogućavanja BPK-a dostupna je samo na nekim uređajima. Vidjeti “Ograničenja” na stranici 36.

Kako bi onemogućili BPK tijekom spavanja (vidi Tablica 7-1 na stranici 34) bit BODS mora biti zapisan u logički. To kontrolira vremenski slijed i bit za omogućavanje, BODSE u MCUCR. Prvo, i BODS i BODSE moraju biti postavljeni na jedan. Drugo, unutar četiri ciklusa takta, BODS mora biti postavljen na jedan, a BODSE mora biti postavljen na nulu. Bit BODS aktivan je tri takta nakon što je postavljen. Upute za spavanje moraju se izvršiti dok je BODS aktivan kako bi se BOD isključio za stvarni način mirovanja. Bit BODS automatski se briše nakon tri takta.

Na uređajima u kojima zaspan BPK nije implementiran, ovaj bit se ne koristi i uvijek će očitavati nulu.

Bit 5 - SE: Omogući stanje mirovanja

Bit SE mora biti zapisan u logiku jedan kako bi MCU ušao u stanje mirovanja kada se izvrši instrukcija SLEEP. Kako bi se izbjegao ulazak MCU-a u stanje mirovanja, osim ako to nije svrha programatora, preporuča se zapisati bit Sleep Enable (SE) na jedan neposredno prije izvršenja SLEEP instrukcije i izbrisati ga odmah nakon buđenja.

Bitovi 4: 3 - SM [1: 0]: Biranje bitova 1 i 0 u načinu mirovanja

Ovi bitovi biraju između tri dostupna načina mirovanja, kao što je prikazano u Tablica 7-2.

Tablica 7-2. Odabir načina mirovanja

SM1 SM0 Način mirovanja
0 0 besposlen
0 1 ADC smanjenje buke
1 0 Nema struje
1 1 Rezervirano

Bit 2 - BODSE: Omogući BOD spavanje

Funkcija onemogućavanja BPK-a dostupna je samo na nekim uređajima. Vidjeti “Ograničenja” na stranici 36.

Bit BODSE omogućuje postavljanje kontrolnog bita BODS, kao što je objašnjeno u opisu boda BODS. Onemogućavanje BPK kontrolira se vremenskim slijedom.

Taj se bit ne koristi na uređajima na kojima nije implementiran onemogućavanje BPK-a i na tim će uređajima čitati kao nulu.

PRR - Registar smanjenja snage

Registar smanjenja napajanja nudi metodu za smanjenje potrošnje energije omogućavajući onemogućavanje signala perifernog sata.

bit 7 6 5 4 3 2 1 0
0x20 PRTIM1 PRTIM0 PRUSI PRADC PRR
Čitanje/Pisanje R R R R R/W R/W R/W R/W
Početna vrijednost 0 0 0 0 0 0 0 0

Bitovi 7: 4 - Rez: Rezervirani bitovi

Ovi su bitovi rezervirani bitovi u ATtiny25 / 45/85 i uvijek će se čitati kao nula.

Bit 3 - PRTIM1: Tajmer / brojač redukcije snage

Zapisivanje logičkog na ovaj bit isključuje modul Timer / Counter1. Kad je timer / brojač1 omogućen, rad će se nastaviti kao i prije isključivanja.

Bit 2 - PRTIM0: Tajmer / brojač redukcije snage

Zapisivanje logičkog na ovaj bit isključuje modul Timer / Counter0. Kad je timer / brojač0 omogućen, rad će se nastaviti kao i prije isključivanja.

Bit 1 - PRUSI: USI za smanjenje snage

Zapisivanje logičkog na ovaj bit isključuje USI zaustavljanjem sata na modulu. Kada se ponovno budi USI, USI treba ponovno pokrenuti kako bi se osigurao ispravan rad.

Bit 0 - PRADC: ADC za smanjenje snage

Zapisivanje logičkog na ovaj bit isključuje ADC. ADC mora biti onemogućen prije isključivanja. Imajte na umu da ADC sat koriste i neki dijelovi analogne usporedbe, što znači da se analogna usporednica ne može koristiti kada je ovaj bit visok.

Kontrola i poništavanje sustava

Resetiranje AVR-a

Tijekom resetiranja svi su I / O registri postavljeni na svoje početne vrijednosti, a program započinje izvršavanje iz Reset vektora. Uputa smještena na Vektor za poništavanje mora biti RJMP - Relativni skok - uputa za rutinu rukovanja resetiranjem. Ako program nikada ne omogući izvor prekida, vektori prekida se ne koriste i na tim se mjestima može postaviti redoviti programski kod. Shema spoja u Slika 8-1 prikazuje logiku resetiranja. Električni parametri sklopa za resetiranje dati su u “Karakteristike sustava i resetiranja” na stranici 165.

Slika 8-1 Logika resetiranja Reset-logika

Ulazno / izlazni priključci AVR-a odmah se vraćaju u početno stanje kada izvor resetiranja postane aktivan. To ne zahtijeva pokretanje bilo kojeg izvora sata.

Nakon što svi izvori resetiranja postanu neaktivni, poziva se brojač kašnjenja, istežući unutarnje resetiranje. To omogućuje da snaga dosegne stabilnu razinu prije početka normalnog rada. Razdoblje vremenskog ograničenja brojača kašnjenja definira korisnik putem osigurača SUT i CKSEL. Različiti odabiri za razdoblje kašnjenja predstavljeni su u "Sat Izvori ”na stranici 25.

Resetiranje izvora

ATtiny25 / 45/85 ima četiri izvora resetiranja:

Resetiranje pri uključivanju. MCU se resetira kada se opskrbni voltage je ispod praga ponovnog postavljanja nakon uključenja (VPOT).

Vanjsko resetiranje. MCU se resetira kada je na RESET pinu prisutna niska razina dulju od minimalne duljine impulsa.

Vraćanje čuvara. MCU se resetira kada istekne razdoblje Watchdog Timer i Watchdog je omogućen.

Poništavanje zatamnjenja. MCU se resetira kada se napajanje voltage VCC je ispod praga za ponovno postavljanje Brown-out (VBOT) i detektor Brown-outa je omogućen.

Resetiranje nakon uključivanja

Puls za ponovno pokretanje (POR) generira se krugom za otkrivanje na čipu. Razina otkrivanja definirana je u "Sys- tem i resetiranje karakteristika “na stranici 165. POR se aktivira kad god je VCC ispod razine detekcije. POR sklop se može koristiti za pokretanje resetiranja pri pokretanju, kao i za detektiranje kvara u voltage.

Krug za resetiranje pri uključivanju (POR) osigurava da se uređaj resetuje nakon uključivanja. Dostizanje praga za ponovno postavljanje pri uključivanju voltage poziva brojač kašnjenja, koji određuje koliko dugo se uređaj drži u RESET-u nakon porasta VCC. Signal RESET ponovno se aktivira, bez ikakve odgode, kada VCC padne ispod razine detekcije.

Slika 8-2. MCU pokretanje, RESET Vezano za VCC

INTERNO RESETIRANJE

Slika 8-3. MCU pokretanje, RESET prošireno eksterno

Vanjsko resetiranje

Vanjsko poništavanje generira se niskom razinom na RESET pinu ako je omogućeno. Resetirajte impulse duže od minimalne širine impulsa (vidi “Karakteristike sustava i resetiranja” na stranici 165) će generirati resetiranje, čak i ako sat ne radi. Nije zajamčeno da će kraći impulsi generirati resetiranje. Kada primijenjeni signal dosegne Reset Threshold Voltage – VRST – na svom pozitivnom rubu, brojač odgode pokreće MCU nakon isteka vremenskog razdoblja.

Slika 8-4. Vanjski reset tijekom rada sl.8.4

Otkrivanje smeđeg out-a

ATtiny25/45/85 ima sklop za detekciju kvara (BOD) na čipu za praćenje razine VCC tijekom rada uspoređujući je s fiksnom razinom okidača. Razina okidanja za BOD može se odabrati osiguračima BODLEVEL. Razina okidača ima histerezu kako bi se osiguralo otkrivanje smeđe boje bez šiljaka. Histerezu na razini detekcije treba tumačiti kao VBOT+ = VBOT + VHYST/2 i VBOT- = VBOT – VHYST/2.

Kada je BOD omogućen i VCC se smanjuje na vrijednost ispod razine okidača (VBOT-in Slika 8-5), Resetiranje zatamnjenja se odmah aktivira. Kada se VCC poveća iznad razine okidača (VBOT+ in Slika 8-5), brojač odgode pokreće MCU nakon isteka vremenskog razdoblja tTOUT.

BOD sklop će detektirati pad VCC samo ako voltage ostaje ispod razine okidača dulje od danog tBOD “Karakteristike sustava i resetiranja” na stranici 165. sl.8.5

Vraćanje čuvara

Kada Watchdog istekne, generirat će kratki impuls resetiranja u trajanju od jednog CK ciklusa. Na padajućem rubu ovog impulsa, mjerač vremena odgode počinje brojati razdoblje istjecanja tTOUT. Odnosi se na “Watchdog Timer” na stranici 42 za detalje o radu Watchdog Timer-a.

Voltage Referentni signali za omogućavanje i vrijeme pokretanja

VoltagReferenca ima vrijeme početka koje može utjecati na način na koji bi se trebala koristiti. Vrijeme pokretanja je navedeno “Karakteristike sustava i resetiranja” na stranici 165. Da biste uštedjeli energiju, referenca nije uvijek uključena. Reference su uključene u sljedećim situacijama:

Kada je BOD omogućen (programiranjem BODLEVEL [2: 0] bitova osigurača).

Kad je referentna širina pojasa povezana s analognim usporednikom (postavljanjem ACBG bita u ACSR).

Kad je ADC omogućen.

Dakle, kada BOD nije omogućen, nakon postavljanja ACBG bita ili omogućavanja ADC-a, korisnik mora uvijek dopustiti pokretanje reference prije nego što se koristi izlaz iz Analognog usporednika ili ADC-a. Kako bi smanjio potrošnju energije u načinu isključenja, korisnik može izbjeći gornja tri uvjeta kako bi osigurao da se referenca isključi prije ulaska u način isključenja.

Watchdog Timer

Watchdog Timer radi na oscilatoru na čipu koji radi na 128 kHz. Upravljanjem prescalerom Watchdog Timer, interval resetiranja Watchdog-a može se prilagoditi kako je prikazano na Tablica 8-3 na stranici 46. WDR - Poništavanje čuvara - upute resetiraju tajmer za nadzor. Watchdog timer se također resetira kad je onemogućen i kada se dogodi reset čipa. Za određivanje razdoblja resetiranja može se odabrati deset različitih ciklusa takta. Ako razdoblje resetiranja istekne bez ponovnog resetiranja čuvara, ATtiny25 / 45/85 se resetira i izvršava iz vektora za resetiranje. Pojedinosti o vremenskom okviru za Vraćanje čuvara potražite na Tablica 8-3 na stranici 46.

Watchdog Timer se također može konfigurirati da generira prekid umjesto resetiranja. To može biti vrlo korisno kada se Watchdog koristi za buđenje nakon isključivanja.

Da bi se spriječilo nenamjerno onemogućavanje čuvara ili nenamjerna promjena razdoblja isteka, osiguračem WDTON odabiru se dvije različite sigurnosne razine kao što je prikazano u Tablica 8-1 Odnosi se na „Tempirani nizovi za promjenu kon- figuracija Watchdog Timer-a “na stranici 43 za detalje.

Tablica 8-1. WDT konfiguracija kao funkcija postavki osigurača WDTON-a

WDTON Razina sigurnosti WDT početno stanje Kako onemogućiti WDT Kako promijeniti vremensko ograničenje
Neprogramirano 1 Onesposobljeno Vremenski slijed Bez ograničenja
Programirano 2 Omogućeno Uvijek omogućeno Vremenski slijed

Slika 8-7. Watchdog Timer Pas čuvar

Vremenske sekvence za promjenu konfiguracije nadzornika vremena

Redoslijed promjene konfiguracije neznatno se razlikuje između dviju razina sigurnosti. Za svaku razinu opisani su zasebni postupci.

Razina sigurnosti 1: U ovom načinu rada Watchdog Timer je inicijalno onemogućen, ali se može omogućiti upisivanjem WDE bita u jedan bez ikakvih ograničenja. Vremenski slijed je potreban kada se onemogućuje omogućen Watchdog Timer. Da biste onemogućili omogućen Watchdog Timer, morate slijediti sljedeći postupak:

U istoj operaciji napišite logičku WDCE i WDE. Logika se mora upisati u WDE bez obzira na prethodnu vrijednost WDE bita.

U sljedeća četiri ciklusa takta, u istoj operaciji, napišite WDE i WDP bitove po želji, ali s brisanim WDCE bitom.

Sigurnosna razina 2: U ovom načinu rada Watchdog Timer je uvijek omogućen, a WDE bit će uvijek čitati kao jedan. Vremenski određen slijed je potreban kada se mijenja Watchdog Time-out period. Da biste promijenili Watchdog Time-out, morate slijediti sljedeći postupak:

U istoj operaciji napišite logički WDCE i WDE. Iako je WDE uvijek postavljen, WDE mora biti zapisan na jedan da bi započeo vremenski slijed.

U sljedeća četiri ciklusa takta, u istoj operaciji, napišite WDP bitove po želji, ali s brisanim WDCE bitom. Vrijednost zapisana u WDE bit nije bitna.

Kod nprample

Sljedeći kod nprample prikazuje jedan sklop i jednu C funkciju za isključivanje WDT-a. Bivšiample pretpostavlja da su prekidi kontrolirani (npr. globalno onemogućavanjem prekida) tako da se prekidi neće dogoditi tijekom izvršavanja ovih funkcija.

Montažni kodeks prample(1)
WDT_isključenje:

wdr

; Očisti WDRF u MCUSR-u

ldi r16, (0<

van MCUSR, r16

; Napišite logički WDCE i WDE

; Zadržite staru postavku predograđivača kako biste spriječili nenamjerno resetiranje nadzornika

u r16, WDTCR

ori r16, (1<

van WDTCR, r16

; Isključite WDT

ldi r16, (0<

van WDTCR, r16

ret

C kod nprample(1)
void WDT_off(void)

{

_WDR ();

/* Obriši WDRF u MCUSR */ MCUSR = 0x00

/* Upišite logički jedan u WDCE i WDE */ WDTCR |= (1<

/ * Isključi WDT * / WDTCR = 0x00;

}

Napomena: 1. Vidi “Pramples” na stranici 6.

Opis registra

MCUSR - Registar statusa MCU

Registar statusa MCU pruža informacije o tome koji je izvor resetiranja uzrokovao reset MCU-a.

bit 7 6 5 4 3 2 1 0
0x34 WDRF BORF EXTRF PORF MCUSR
Čitanje/Pisanje R R R R R/W R/W R/W R/W

Početna vrijednost 0 0 0 0 Pogledajte opis bita

Bitovi 7: 4 - Rez: Rezervirani bitovi

Ovi su bitovi rezervirani bitovi u ATtiny25 / 45/85 i uvijek će se čitati kao nula.

Bit 3 - WDRF: Oznaka za poništavanje čuvara

Ovaj je bit postavljen ako se dogodi Reset čuvara. Bit se resetira Power-on Resetom ili ispisom logičke nule na zastavicu.

Bit 2 - BORF: Smeđe zastavica resetiranja

Ovaj je bit postavljen ako se dogodi Brown-out Reset. Bit se resetira Power-on Resetom ili ispisom logičke nule na zastavicu.

Bit 1 - EXTRF: Oznaka vanjskog resetiranja

Ovaj je bit postavljen ako se dogodi vanjsko resetiranje. Bit se resetira Power-on Resetom ili ispisom logičke nule na zastavicu.

Bit 0 - PORF: Oznaka resetiranja po uključenju

Ovaj je bit postavljen ako se dogodi resetiranje po uključenju. Bit se resetira samo zapisivanjem logičke nule u zastavicu.

Da bi upotrijebio Reset Flags za identificiranje stanja resetiranja, korisnik bi trebao pročitati i resetirati MCUSR što je ranije moguće u programu. Ako je registar obrisan prije ponovnog resetiranja, izvor resetiranja može se pronaći ispitivanjem zastavica za poništavanje.

WDTCR - Registar nadzora nadzornika

bit 7 6 5 4 3 2 1 0
0x21 WDIF WDIE WDP3 WDCE WDE WDP2 WDP1 WDP0 WDTCR
Čitanje/Pisanje R/W R/W R/W R/W R/W R/W R/W R/W
Početna vrijednost 0 0 0 0 X 0 0 0

Bit 7 - WDIF: Oznaka prekida vremenskog ograničenja čuvara

Ovaj se bit postavlja kada se u nadzornom tajmeru dogodi vremensko ograničenje i kada se vremenski tajmer konfigurira za prekid. WDIF se uklanja hardverom pri izvršavanju odgovarajućeg vektora upravljanja prekidima. Alternativno, WDIF se briše pisanjem logičkog na zastavu. Kada se postave I-bit u SREG-u i WDIE-u, izvršava se prekid vremenskog ograničenja čuvara.

Bit 6 - WDIE: Omogućeno prekidanje vremenskog ograničenja

Kada se ovaj bit upiše u jedan, WDE se briše i postavlja I-bit u registru statusa, omogućen je prekid nadzornog vremena. U ovom se načinu izvršava odgovarajući prekid umjesto resetiranja ako dođe do vremenskog ograničenja u Watchdog Timeru.

Ako je postavljen WDE, WDIE se automatski uklanja pomoću hardvera kada dođe do vremenskog ograničenja. Ovo je korisno za čuvanje sigurnosnih postavki čuvara tijekom korištenja prekida. Nakon brisanja WDIE bita, sljedeći time-out će generirati reset. Da bi se izbjeglo resetiranje nadzornika, WDIE se mora postaviti nakon svakog prekida.

Tablica 8-2. Konfiguracija nadzornog mjerača vremena

WDE WDIE Držav tajmera Akcija na time-outu
0 0 Zaustavljeno Nijedan
0 1 Trčanje Prekinuti
1 0 Trčanje Resetiraj
1 1 Trčanje Prekinuti

Bit 4 - WDCE: Omogući promjenu čuvara

Ovaj bit mora biti postavljen kada je WDE bit zapisan na logičku nulu. U suprotnom, Watchdog neće biti onemogućen. Jednom kad je zapisan na jedan, hardver će očistiti ovaj bit nakon četiri takta. Pogledajte opis WDE bita za postupak onemogućavanja Watchdoga. Ovaj bit mora biti postavljen i pri promjeni bitova za predskaliranje. Vidjeti “Vremenske sekvence za promjenu konfiguracije Watchdog timera ”na stranici 43.

Bit 3 - WDE: Omogući čuvara

Kada se WDE upiše u logičku jedinicu, Watchdog Timer je omogućen, a ako je WDE zapisan u logičku nulu, funkcija Watchdog Timer je onemogućena. WDE se može obrisati samo ako WDCE bit ima logičku razinu jedan. Da biste onemogućili omogućeni Watchdog Timer, mora se slijediti sljedeći postupak:

U istoj operaciji napišite logičku WDCE i WDE. Logika mora biti zapisana u WDE iako je postavljena na jednu prije nego što započne operacija onemogućavanja.

U sljedeća četiri ciklusa takta upišite logiku 0 u WDE. Ovo onemogućava Watchdoga.

U razini sigurnosti 2, nije moguće onemogućiti Watchdog Timer, čak ni s gore opisanim algoritmom. Vidjeti “Tempirani nizovi za promjenu konfiguracije nadzornika vremena” na stranici 43.

U razini sigurnosti 1, WDE je nadjačan od strane WDRF u MCUSR-u. Vidjeti “MCUSR - Registar statusa MCU” na stranici 44 za opis WDRF-a. To znači da se WDE uvijek postavlja kad se postavi WDRF. Da biste očistili WDE, potrebno je očistiti WDRF prije nego što onemogućite Watchdoga gore opisanim postupkom. Ova značajka osigurava višestruko resetiranje tijekom uvjeta koji uzrokuju kvar i sigurno pokretanje nakon kvara.

Napomena: Ako se nadzorni mjerač vremena neće koristiti u aplikaciji, važno je proći kroz proceduru onemogućavanja nadzornog psa u inicijalizaciji uređaja. Ako je Watchdog slučajno uključen, nprampAko se pobjegne pokazivač ili stanje zatamnjenja, uređaj će se resetirati, što će zauzvrat dovesti do ponovnog resetiranja nadzornog psa. Kako bi se izbjegla ova situacija, aplikacijski softver uvijek treba izbrisati WDRF zastavicu i WDE kontrolni bit u inicijalizacijskoj rutini.

Bitovi 5, 2: 0 - WDP [3: 0]: Watchrog Timer Prescaler 3, 2, 1 i 0

WDP [3: 0] bitovi određuju prednamjenjivanje Watchdog Timer-a kada je Watchdog Timer omogućen. Različite vrijednosti predkaliranja i pripadajuća razdoblja isteka prikazana su u Tablica 8-3.

Tablica 8-3. Watchdog Timer Prescale Select

WDP3 WDP2 WDP1 WDP0 Broj ciklusa WDT oscilatora Tipično vremensko ograničenje pri VCC = 5.0 V
0 0 0 0 2K (2048) ciklusa 16 ms
0 0 0 1 4K (4096) ciklusa 32 ms
0 0 1 0 8K (8192) ciklusa 64 ms
0 0 1 1 16K (16384) ciklusa 0.125 s
0 1 0 0 32K (32764) ciklusa 0.25 s
0 1 0 1 64K (65536) ciklusa 0.5 s
0 1 1 0 128K (131072) ciklusa 1.0 s
0 1 1 1 256K (262144) ciklusa 2.0 s
1 0 0 0 512K (524288) ciklusa 4.0 s
1 0 0 1 1024K (1048576) ciklusa 8.0 s

Tablica 8-3. Watchdog Timer Prescale Select (nastavak)

WDP3 WDP2 WDP1 WDP0 Broj ciklusa WDT oscilatora Tipično vremensko ograničenje pri VCC = 5.0 V
1 0 1 0 Rezervirano(1)
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1

Napomena: 1. Ako je odabrano, koristit će se jedna od važećih postavki ispod 0b1010.

prekida

Ovaj odjeljak opisuje specifičnosti obrade prekida kako je izvedeno u ATtiny25 / 45/85. Opće objašnjenje postupanja s AVR prekidima potražite u “Ponovno postavljanje i rukovanje prekidima” na stranici 12.

Vektori prekida u ATtiny25 / 45/85

Vektori prekida ATtiny25 / 45/85 opisani su u Tablica 9-1ispod.

Tablica 9-1. Vektori resetiranja i prekida

Vektor br. Adresa programa Izvor Definicija prekida
1 0x0000 RESETIRANJE Vanjski pin, resetiranje napajanja, resetiranje smeđeg, vraćanje čuvara
2 0x0001 INT0 Vanjski zahtjev za prekidom 0
3 0x0002 PCINT0 Zahtjev za prekidom izmjene pribadače 0
4 0x0003 TIMER1_COMPA Tajmer / brojač1 Usporedite podudaranje A
5 0x0004 TIMER1_OVF Tajmer / brojač1 Preljev
6 0x0005 TIMER0_OVF Tajmer / brojač0 Preljev
7 0x0006 EE_RDY EEPROM spreman
8 0x0007 ANA_COMP Analogna usporednica
9 0x0008 ADC ADC konverzija dovršena
10 0x0009 TIMER1_COMPB Tajmer / brojač1 Usporedite podudaranje B
11 0x000A TIMER0_COMPA Tajmer / brojač0 Usporedite podudaranje A
12 0x000B TIMER0_COMPB Tajmer / brojač0 Usporedite podudaranje B
13 0x000C WDT Istek čuvara
14 0x000D USI_START USI POČETAK
15 0x000E USI_OVF USI Preljev

Ako program nikada ne omogući izvor prekida, vektori prekida se ne koriste i na tim se mjestima može postaviti redoviti programski kod.

Tipična i opća postavka za adrese vektora prekida u ATtiny25/45/85 prikazana je u programu npr.ample ispod.

Montažni kodeks prample
.org 0x0000 ; Postavite adresu sljedećeg izjava
rjmp RESETIRANJE ; Adresa 0x0000
rjmp INT0_ISR ; Adresa 0x0001
rjmp PCINT0_ISR ; Adresa 0x0002
rjmp TIM1_COMPA_ISR ; Adresa 0x0003
rjmp TIM1_OVF_ISR ; Adresa 0x0004
rjmp TIM0_OVF_ISR ; Adresa 0x0005
rjmp EE_RDY_ISR ; Adresa 0x0006
rjmp ANA_COMP_ISR ; Adresa 0x0007
rjmp ADC_ISR ; Adresa 0x0008
rjmp TIM1_COMPB_ISR ; Adresa 0x0009
rjmp TIM0_COMPA_ISR ; Adresa 0x000A
rjmp TIM0_COMPB_ISR ; Adresa 0x000B
rjmp WDT_ISR ; Adresa 0x000C
rjmp USI_START_ISR ; Adresa 0x000D
rjmp USI_OVF_ISR ; Adresa 0x000E
VRAĆANJE: ; Početak glavnog programa
; Adresa 0x000F

Napomena: Vidi “Pramples” na stranici 6.

Vanjski prekidi

Vanjske prekide pokreće pin INT0 ili bilo koji od pinova PCINT [5: 0]. Imajte na umu da će se, ako je omogućeno, prekida aktivirati čak i ako su pinovi INT0 ili PCINT [5: 0] konfigurirani kao izlazi. Ova značajka pruža način generiranja softverskog prekida. Prekidi promjene pina PCI će se aktivirati ako se uključi bilo koji omogućeni pint PCINT [5: 0]. PCMSK Registar kontrolira koje igle doprinose prekidima promjene igle. Prekidi promjene pinova na PCINT-u [5: 0] otkrivaju se asinkrono. To podrazumijeva da se ovi prekidi mogu koristiti za buđenje dijela i iz načina mirovanja koji nisu iz mirovanja.

Prekidi INT0 mogu se pokrenuti padom ili usponom ruba ili niskom razinom. Ovo je postavljeno kako je navedeno u specifikaciji za MCU kontrolni registar - MCUCR. Kada je omogućen prekid INT0 i konfiguriran je kao okidač razine, prekid će se aktivirati sve dok se pin drži nisko. Imajte na umu da prepoznavanje prekida prekida ili padajućeg ruba na INT0 zahtijeva prisutnost I / O sata, opisanog u "Sustavi satova i njihova distribucija" na stranica 23.

Prekid niske razine

Prekid niske razine na INT0 otkriva se asinkrono. To implicira da se ovaj prekid može koristiti za buđenje dijela i iz načina mirovanja koji nisu iz mirovanja. I / O sat zaustavljen je u svim načinima mirovanja, osim u stanju mirovanja.

Imajte na umu da ako se prekid aktiviran razinom koristi za buđenje nakon isključenja, zahtijevana razina mora se držati dovoljno dugo da MCU dovrši buđenje kako bi pokrenuo prekid razine. Ako razina nestane prije kraja vremena pokretanja, MCU će se i dalje probuditi, ali se neće generirati prekid. Vrijeme pokretanja definirano je osiguračima SUT i CKSEL kao što je opisano u “Sistemski sat i opcije sata” na stranici 23.

Ako se donja razina na prekidnom pinu ukloni prije nego što se uređaj probudi, izvršavanje programa neće se preusmjeriti na rutinu usluge prekida, već će se nastaviti s uputama nakon naredbe SLEEP.

Vreme prekida pin promjene

Bivšiampprikazano je vrijeme prekida promjene pina Slika 9-1.

Opis registra

MCUCR - MCU kontrolni registar

Vanjski registar kontrole prekida A sadrži kontrolne bitove za kontrolu osjećaja prekida.

bit 7 6 5 4 3 2 1 0
0x35 BODS PUD SE SM1 SM0 BODSE ISC01 ISC00 MCUCR
Čitanje/Pisanje R R/W R/W R/W R/W R R/W R/W
Početna vrijednost 0 0 0 0 0 0 0 0

Bitovi 1: 0 - ISC0 [1: 0]: Kontrola osjeta prekida 0 Bit 1 i Bit 0

Vanjski prekid 0 aktivira se vanjskim pinom INT0 ako su postavljeni SREG I-zastavica i odgovarajuća maska ​​prekida. Razina i rubovi na vanjskom INT0 pinu koji aktiviraju prekid definirani su u Tablica 9-2. Vrijednost na pinu INT0 je sampvodio prije otkrivanja rubova. Ako je odabran rubni ili preklopni prekid, impulsi koji traju dulje od jednog takta generirat će prekid. Nije zajamčeno da će kraći impulsi generirati prekid. Ako je odabran prekid niske razine, niska razina se mora zadržati do završetka instrukcije koja se trenutno izvršava kako bi se generirao prekid.

Tablica 9-2. Prekid 0 Kontrola osjetila

ISC01 ISC00 Opis
0 0 Niska razina INT0 generira zahtjev za prekidom.
0 1 Svaka logička promjena na INT0 generira zahtjev za prekidom.
1 0 Donji rub INT0 generira zahtjev za prekidom.
1 1 Uzlazni rub INT0 generira zahtjev za prekidom.

GIMSK - Opći registar maski prekida

bit 7 6 5 4 3 2 1 0
0x3B INT0 PCIE GIMSK
Čitanje/Pisanje R R/W R/W R R R R R
Početna vrijednost 0 0 0 0 0 0 0 0

Bitovi 7, 4: 0 - Rez: Rezervirani bitovi

Ovi su bitovi rezervirani bitovi u ATtiny25 / 45/85 i uvijek će se čitati kao nula.

Bit 6 - INT0: Omogućen vanjski zahtjev za prekidom 0

Kada je postavljen bit INT0 (jedan) i postavljen je I-bit u registru statusa (SREG) (jedan), omogućen je vanjski prekid pina. Kontrolni senzori prekida 0 bitova 1/0 (ISC01 i ISC00) u MCU upravljačkom registru (MCUCR) definiraju hoće li se vanjski prekid aktivirati na rastućem i / ili padajućem rubu INT0 pina ili osjetne razine. Aktivnost na pinu uzrokovat će zahtjev za prekidom čak i ako je INT0 konfiguriran kao izlaz. Odgovarajući prekid vanjskog zahtjeva za prekidom 0 izvršava se iz vektora prekida INT0.

Bit 5 - PCIE: Omogući prekid promjene pina

Kad je postavljen PCIE bit (jedan) i postavljen je I-bit u registru statusa (SREG) (jedan), omogućen je prekid promjene pina. Svaka promjena na bilo kojem omogućenom PCINT [5: 0] pinu uzrokovat će prekid. Odgovarajući prekid zahtjeva za prekidom promjene pina izvršava se iz vektora prekida PCI. PCINT [5: 0] pinove omogućuje PCMSK0 Registar pojedinačno.

GIFR - Registar općih prekida

bit 7 6 5 4 3 2 1 0
0x3A INTF0 PCIF GIFR
Čitanje/Pisanje R R/W R/W R R R R R
Početna vrijednost 0 0 0 0 0 0 0 0

Bitovi 7, 4: 0 - Rez: Rezervirani bitovi

Ovi su bitovi rezervirani bitovi u ATtiny25 / 45/85 i uvijek će se čitati kao nula.

Bit 6 - INTF0: Oznaka vanjskog prekida 0

Kada promjena ruba ili logike na pinu INT0 pokrene zahtjev za prekidom, INTF0 postaje postavljen (jedan). Ako su postavljeni I-bit u SREG-u i INT0-bit u GIMSK-u (jedan), MCU će skočiti na odgovarajući vektor prekida. Oznaka se briše kada se izvrši rutina prekida. Alternativno se zastava može očistiti tako da joj se napiše logična. Ova se zastavica uvijek briše kada je INT0 konfiguriran kao prekid razine.

Bit 5 - PCIF: Oznaka prekida za promjenu pina

Kada promjena logike na bilo kojem PCINT [5: 0] pinu pokrene zahtjev za prekidom, PCIF postaje postavljen (jedan). Ako su postavljeni I-bit u SREG-u i PCIE bit u GIMSK-u (jedan), MCU će skočiti na odgovarajući Vektor prekida. Oznaka se briše kada se izvrši rutina prekida. Alternativno se zastava može očistiti tako da joj se napiše logična.

PCMSK - Registar za promjenu maske za pin

bit 7 6 5 4 3 2 1 0
0x15 PCINT5 PCINT4 PCINT3 PCINT2 PCINT1 PCINT0 PCMSK
Čitanje/Pisanje R R R/W R/W R/W R/W R/W R/W
Početna vrijednost 0 0 0 0 0 0 0 0

Bitovi 7: 6 - Rez: Rezervirani bitovi

Ovi su bitovi rezervirani bitovi u ATtiny25 / 45/85 i uvijek će se čitati kao nula.

Bitovi 5: 0 - PCINT [5: 0]: Maska za omogućavanje promjene pina 5: 0

Svaki bit PCINT [5: 0] odabire je li omogućen prekid promjene pina na odgovarajućem I / O pinu. Ako je postavljeno PCINT [5: 0] i postavljen je PCIE bit u GIMSK, prekid promjene pina omogućen je na odgovarajućem I / O pinu. Ako se PCINT [5: 0] izbriše, onemogućen je prekid promjene pina na odgovarajućem I / O pinu.

I/O portovi

Uvod

Svi AVR portovi imaju istinsku funkciju Read-Modify-Write kada se koriste kao opći digitalni I/O portovi. To znači da se smjer jednog pina porta može promijeniti bez nenamjerne promjene smjera bilo kojeg drugog pina s uputama SBI i CBI. Isto vrijedi za promjenu vrijednosti pogona (ako je konfiguriran kao izlaz) ili omogućavanje/onemogućavanje pull-up otpornika (ako je konfigurirano kao ulaz). Svaki izlazni međuspremnik ima simetrične karakteristike pogona s velikom sposobnošću ponora i izvora. Pin drajver je dovoljno jak da izravno pokreće LED zaslone. Svi pinovi priključka imaju individualno odabrane pull-up otpornike s napajanjemtage nepromjenljivi otpor. Svi I/O pinovi imaju zaštitne diode i za VCC i za uzemljenje kao što je naznačeno u Slika 10-1. Odnosi se na “Električne karakteristike” na stranici 161 za potpuni popis parametara.

Slika 10-1. I/O Pin ekvivalentna shema

sl.10

Svi registri i reference bitova u ovom odjeljku napisani su u općem obliku. Malo slovo “x” predstavlja numeričko slovo za port, a malo “n” predstavlja broj bita. Međutim, kada se koristi registar ili bit definira u programu, mora se koristiti precizan oblik. Za nprample, PORTB3 za bit br. 3 u portu B, ovdje je općenito dokumentirano kao PORTxn. Fizički I/O registri i mjesta bitova navedeni su u "Opis registra" na stranica 64.

Tri su lokacije U / I memorijske adrese dodijeljene za svaki port, po jedno za Registar podataka - PORTx, Registar usmjeravanja podataka - DDRx i Ulazni pinovi ulaza - PINx. Ulazno / izlazno mjesto ulaznih pinova priključka samo je za čitanje, dok se Registar podataka i Registar za usmjeravanje podataka čitaju / zapisuju. Međutim, upisivanje logičkog u bit u PINx registar rezultirat će prebacivanjem u odgovarajući bit u Registru podataka. Uz to, Pull-up Disable - PUD bit u MCUCR-u onemogućava funkciju pull-up za sve pinove u svim priključcima kada je postavljen.

Korištenje ulazno-izlaznog priključka kao općeg digitalnog I / O-a opisano je u “Priključci kao opći digitalni I / O” na stranici 53. Većina pinova priključaka multipleksira se s zamjenskim funkcijama za periferne značajke na uređaju. Kako je svaka zamjenska funkcija ometala pin priključka opisano je u “Alternativne funkcije porta” na stranici 57. Pogledajte pojedine odjeljke modula za cjelovit opis zamjenskih funkcija.

Imajte na umu da omogućavanje zamjenske funkcije nekih pinova priključka ne utječe na upotrebu ostalih pinova u priključku kao općeniti digitalni I / O.

Priključci kao General Digital I / O

Priključci su dvosmjerni I / O priključci s opcijskim unutarnjim izvlačenjima. Slika 10-2 prikazuje funkcionalni opis jednog I / O-portnog pina, ovdje generički nazvanog Pxn.

Slika 10-2. Opći digitalni I/O(1)

sl.10

Konfiguriranje pribadače

Svaki pin priključka sastoji se od tri bita registra: DDxn, PORTxn i PINxn. Kao što je prikazano u "Opis registra" na stranica 64, DDxn bitovima se pristupa na DDRx I / O adresi, PORTxn bitovima na PORTx I / O adresi, a PINxn bitovima na PINx I / O adresi.

DDxn bit u registru DDRx odabire smjer ovog pina. Ako je DDxn zapisan kao logički, Pxn je konfiguriran kao izlazni pin. Ako je DDxn zapisan kao logička nula, Pxn je konfiguriran kao ulazni pin.

Ako je PORTxn zapisan kao logički jedan kada je pin konfiguriran kao ulazni pin, aktivira se otpor za izvlačenje. Da biste isključili pull-up otpornik, PORTxn mora biti zapisan kao logička nula ili pin mora biti konfiguriran kao izlazni pin. Pribadače porta se navode tri puta kada stanje resetiranja postane aktivno, čak i ako ne rade satovi.

Ako je PORTxn zapisan kao logički jedan kada je pin konfiguriran kao izlazni pin, pin priključka je postavljen visoko (jedan). Ako je PORTxn napisana logička nula kada je pin konfiguriran kao izlazni pin, pin priključka se vozi nisko (nula).

Prebacivanje pina

Pisanje logičke logike u PINxn prebacuje vrijednost PORTxn, neovisno o vrijednosti DDRxn. Imajte na umu da se SBI uputa može koristiti za prebacivanje jednog bita u priključku.

Prebacivanje između ulaza i izlaza

Prilikom prebacivanja između trostrukog stanja ({DDxn, PORTxn} = 0b00) i visokog izlaza ({DDxn, PORTxn} = 0b11), srednjeg stanja s omogućenim podizanjem {DDxn, PORTxn} = 0b01) ili niskog izlaza ({DDxn, PORTxn} = 0b10) se mora pojaviti. Normalno, omogućeno stanje povlačenja u potpunosti je prihvatljivo, jer okruženje visoke impedancije neće primijetiti razliku između snažnog visokog pokretača i povlačenja. Ako to nije slučaj, PUD bit u registru MCUCR može se postaviti da onemogući sva povlačenja u svim priključcima.

Prebacivanje između ulaza s povlačenjem i izlaza nisko generira isti problem. Korisnik mora upotrijebiti ili tri-stanje ({DDxn, PORTxn} = 0b00) ili visoko izlazno stanje ({DDxn, PORTxn} = 0b10) kao međukorak.

Tablica 10-1 sažima upravljačke signale za vrijednost pina.

Tablica 10-1. Konfiguracije pinova porta

DDxn PORTxn PUD

(u MCUCR)

I/O Povlačenje Komentar
0 0 X Ulazni Ne Tri države (Hi-Z)
0 1 0 Ulazni Da Pxn će izvor struje ako je vanjski. povukao nisko.
0 1 1 Ulazni Ne Tri države (Hi-Z)
1 0 X Izlaz Ne Izlaz nizak (sudoper)
1 1 X Izlaz Ne Izlaz visok (izvor)

Čitanje vrijednosti pribadače

Neovisno o postavci bita za usmjeravanje podataka DDxn, pin porta može se pročitati kroz bit za registraciju PINxn. Kao što je prikazano u Slika 10-2, bit za registraciju PINxn i prethodni zasun čine sinkronizator. To je potrebno kako bi se izbjegla metastabilnost ako fizički pin mijenja vrijednost blizu ruba unutarnjeg sata, ali uvodi i kašnjenje. Slika 10-3 prikazuje vremenski dijagram sinkronizacije pri očitavanju vanjske primijenjene vrijednosti pina. Maksimalna i minimalna kašnjenja širenja označena su tpd,max i tpd,min respektivno.

Razmotrite razdoblje sata koje počinje ubrzo nakon prvog pada ruba sistemskog sata. Zasun je zatvoren kad je sat nizak, a postaje proziran kada je sat visok, što pokazuje zasjenjeno područje signala "SYNC LATCH". Vrijednost signala zaključava se kada sistemski sat padne. Uvršten je u PINxn registar na sljedećem pozitivnom rubu sata. Kao što pokazuju dvije strelice tpd, max i tpd, min, jedan prijelaz signala na pinu odgodit će se između ½ i 1½ razdoblja takta sustava, ovisno o vremenu tvrdnje.

Pri ponovnom očitavanju softverski dodijeljene vrijednosti pin-a, mora se umetnuti nop uputa kako je naznačeno u Slika 10-4. Uputa za izlaz postavlja signal "SYNC LATCH" na pozitivnom rubu sata. U ovom slučaju, kašnjenje tpd kroz sinkronizator jedno je vrijeme sata sustava.

Sljedeći kod nprample pokazuje kako postaviti pinove porta B 0 i 1 visoko, 2 i 3 na nisko i definirati pinove porta od 4 do 5 kao ulaz s povlačenjem dodijeljenim pinu porta 4. Rezultirajuće vrijednosti pinova ponovno se očitavaju, ali kao što je prethodno objašnjeno, nop instrukcija je uključena kako bi se mogla pročitati vrijednost nedavno dodijeljena nekim od pinova.

Montažni kodeks prample(1)

; Definirajte zgibove i postavite visoke rezultate

; Definirajte upute za priključke

ldi        r16,(1<<PB4)|(1<<PB1)|(1<<PB0)

ldi        r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0)

izlaz PORTB,r16

van DDRB, r17

; Umetnite nop za sinkronizaciju

ne

; Očitajte priključke pinova

u r16, PINB

Napomena: Za asemblerski program, dva privremena registra koriste se za minimiziranje vremena od postavljanja povlačenja na pinove 0, 1 i 4, dok se bitovi smjera ne postave ispravno, definirajući bitove 2 i 3 kao niske i redefinirajući bitove 0 i 1 kao jaki visoki vozači.

C kod nprample
nepotpisani znak i;

/* Definirajte zgibove i postavite visoke rezultate */

/* Definirajte smjerove za pinove porta */ PORTB = (1<

DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0);

/* Umetnite nop za sinkronizaciju*/

_NOP ();

/* Čitaj pinove porta */ i = PINB;

Omogućeni digitalni ulaz i režimi mirovanja

Kao što je prikazano u Slika 10-2, digitalni ulazni signal može biti clamped na masu na ulazu schmitt-triggera. Signal koji je na slici označen kao SLEEP, postavlja MCU Sleep Controller u Power-down modu kako bi se izbjegla velika potrošnja energije ako neki ulazni signali ostanu neaktivni ili imaju razinu analognog signala blizu VCC/2.

SLEEP je nadjačan za pinove priključaka omogućene kao vanjske pinove prekida. Ako vanjski zahtjev za prekidom nije omogućen, SLEEP je aktivan i za ove pinove. SLEEP također nadjačavaju razne druge zamjenske funkcije kako je opisano u “Alternativne funkcije porta” na stranici 57.

Ako je logička visoka razina ("jedan") prisutna na asinkronom vanjskom prekidnom pinu konfiguriranom kao "Prekid na rastućem rubu, padajućem rubu ili bilo kojoj logičkoj promjeni na pinu", dok vanjski prekid nije omogućen, odgovarajuća zastavica vanjskog prekida će postaviti kada se vraćate iz gore navedenog stanja mirovanja, kao clampstavljanje u ovaj način mirovanja proizvodi traženu logičku promjenu.

Nepovezane igle

Ako se neke igle ne koriste, preporučuje se osigurati da te igle imaju definiranu razinu. Iako je većina digitalnih ulaza onemogućena u načinima dubokog spavanja, kao što je gore opisano, plutajuće ulaze treba izbjegavati kako bi se smanjila potrošnja struje u svim ostalim načinima u kojima su omogućeni digitalni ulazi (Resetiranje, aktivni način rada i način mirovanja).

Najjednostavnija metoda za osiguranje definirane razine neiskorištene igle je omogućiti unutarnje povlačenje. U tom slučaju, pull-up će biti onemogućen tijekom resetiranja. Ako je niska potrošnja energije tijekom resetiranja važna, preporučuje se korištenje vanjskog pull-up ili pulldown. Spajanje pinova koji se ne koriste izravno na VCC ili GND se ne preporučuje, budući da to može uzrokovati prekomjerne struje ako se pin slučajno konfigurira kao izlaz.

Alternativne funkcije porta

Većina pinova priključaka imaju i zamjenske funkcije, uz općenite digitalne U / I. Slika 10-5 pokazuje kako upravljački signali pin-a ulaza iz pojednostavljenog Slika 10-2 mogu nadjačati zamjenske funkcije. Nadređeni signali možda neće biti prisutni u svim priključcima priključaka, ali slika služi kao generički opis primjenjiv na sve priključke u obitelji AVR mikrokontrolera.

Tablica 10-2. Generički opis nadjačavajućih signala za alternativne funkcije

Naziv signala Puno ime Opis
PUOE Pull-up Override Enable Ako je postavljen ovaj signal, omogućavanjem povlačenja upravlja PUOV signal. Ako se ovaj signal izbriše, povlačenje je omogućeno kada

{DDxn, PORTxn, PUD} = 0b010.

PUOV Vrijednost nadjačavanja navlačenja Ako je postavljen PUOE, povlačenje je omogućeno / onemogućeno kad je postavljen / obrisan PUOV, bez obzira na postavke bita DDxn, PORTxn i PUD.
DDOE Omogući nadjačavanje smjera podataka Ako je ovaj signal postavljen, izlaznim pokretačkim programom omogućuje se DDOV signal. Ako se ovaj signal izbriše, izlazni pokretački pogon omogućuje bit za registraciju DDxn.
DDOV Vrijednost nadjačavanja smjera podataka Ako je postavljen DDOE, izlazni pokretački program je omogućen / onemogućen kad je postavljen / obrisan DDOV, bez obzira na postavku bita za registraciju DDxn.
PVOE Omogući poništavanje vrijednosti priključka Ako je ovaj signal postavljen i omogućen je izlazni pokretački program, vrijednost priključka kontrolira se PVOV signalom. Ako je PVOE obrisan, a izlazni pokretački program omogućen, Vrijednost porta kontrolira bit PORTxn Registra.
PVOV Vrijednost nadjačavanja vrijednosti priključka Ako je postavljen PVOE, vrijednost priključka postavljena je na PVOV, bez obzira na postavku bita PORTxn registra.
PTOE Omogući premošćivanje prebacivanja priključka Ako je postavljen PTOE, bit registra PORTxn se obrće.
DIEOE Omogući digitalni ulaz Omogući poništavanje Ako je ovaj bit postavljen, Omogućivanjem digitalnog ulaza upravlja DIEOV signal. Ako se ovaj signal izbriše, Omogućavanje digitalnog ulaza određuje se prema stanju MCU-a (normalni način, način mirovanja).
DIEOV Vrijednost nadjačavanja digitalnog ulaza Ako je postavljeno DIEOE, digitalni ulaz je omogućen / onemogućen kad je postavljen / obrisan DIEOV, bez obzira na stanje MCU-a (normalni način rada, način mirovanja).
DI Digitalni ulaz Ovo je digitalni ulaz za zamjenu funkcija. Na slici je signal povezan s izlazom Schmitt-okidača, ali prije sinkronizatora. Ako se digitalni ulaz ne koristi kao izvor takta, modul s zamjenskom funkcijom koristit će vlastiti sinkronizator.
AIO Analogni ulaz / izlaz Ovo je analogni ulaz / izlaz na / iz zamjenskih funkcija. Signal je povezan izravno s pločicom i može se koristiti dvosmjerno.

Sljedeći pododjeljci ukratko opisuju zamjenske funkcije za svaki port i povezuju nadjačavajuće signale s zamjenskom funkcijom. Dodatne pojedinosti potražite u opisu zamjenske funkcije.

Alternativne funkcije priključka B

Pribadače porta B s zamjenskom funkcijom prikazane su u Tablica 10-3.

Tablica 10-3. Alternativne funkcije pinova priključka B

Port Pin Alternativna funkcija
PB5

RESET: Resetiraj pin

dW: otklanjanje pogrešakaWIRE I / O ADC0: ADC ulazni kanal 0

PCINT5: Prekid promjene pina, izvor 5

PB4 XTAL2: Izlaz kristalnog oscilatora CLKO: Sistemski izlaz sata ADC2: ADC ulazni kanal 2

OC1B: Tajmer / brojač1 Usporedite izlaz B podudaranja PCINT4: Prekid promjene pina 0, izvor 4

PB3 XTAL1: Ulaz kristalnog oscilatora CLKI: Ulaz vanjskog takta ADC3: ADC ulazni kanal 3

OC1B: Dopunski timer / brojač1 Usporedite izlaz B podudaranja PCINT3: Prekid promjene pina 0, izvor 3

PB2 SCK: Ulaz serijskog sata ADC1: Ulazni kanal ADC 1

T0: Tajmer / brojač0 Izvor sata USCK: USI sat (trožični način rada) SCL: USI sat (dvožični način rada) INT0: Vanjski prekid 0 Ulaz PCINT2: Prekid promjene pina 0, izvor 2

PB1 MISO: Ulaz glavnih podataka SPI / izlaz slave podataka AIN1: Analogna usporedba, negativni ulaz OC0B: Tajmer / brojač0 Usporedba rezultata B Izlaz OC1A: Tajmer / brojač1 Usporedba izlaza A podudaranje DO: USI izlaz podataka (način rada s tri žice) PCINT1: Prekid promjene pina 0, Izvor 1
PB0 MOSI :: Izlaz matičnih podataka SPI / Ulaz podataka podređenih podataka AIN0: Analogna usporednica, pozitivan ulaz

OC0A: Timer/Counter0 Compare Match A izlaz

OC1A: Dopunski timer / brojač1 Usporedite podudaranje izlaza DI: Ulaz podataka USI (način rada s tri žice)

SDA: USI unos podataka (dvožični način) AREF: Vanjska analogna referenca PCINT0: Prekid promjene pina 0, izvor 0

Priključak B, bit 5 - RESET / dW / ADC0 / PCINT5

RESET: Ulaz vanjskog resetiranja aktivan je nizak i omogućen je neprogramiranjem („1“) osigurača RSTDISBL. Pullp se aktivira i izlazni pokretački program i digitalni ulaz deaktiviraju se kada se pin koristi kao RESET pin.

dW: Kada je programiran osigurač za omogućavanje ispravljača (DWEN), a bitovi za zaključavanje nisu programirani, aktivira se sustav za uklanjanje pogrešaka u ciljnom uređaju. PIN za RESET priključka konfiguriran je kao dvosmjerni I / O pin sa žicom I (otvorenim odvodom) s omogućenim povlačenjem i postaje komunikacijski pristupnik između cilja i emulatora.

ADC0: Analogno-digitalni pretvarač, kanal 0.

PCINT5: Izvor prekida za promjenu pina 5.

Priključak B, bit 4 - XTAL2 / CLKO / ADC2 / OC1B / PCINT4

XTAL2: Pin čipa oscilatora sata 2. Koristi se kao klin sata za sve izvore takta čipa, osim unutarnjeg kalibriranog RC oscilatora i vanjskog sata. Kad se koristi kao pin sata, ne može se koristiti kao I / O pin. Kada koristite unutarnji kalibrirajući RC oscilator ili vanjski sat kao izvore čipskog sata, PB4 služi kao obični I / O pin.

CLKO: Podijeljeni sistemski sat može se prikazati na pinu PB4. Podijeljeni sistemski sat izlazit će ako je programiran osigurač CKOUT, bez obzira na postavke PORTB4 i DDB4. Također će biti prikazan tijekom resetiranja.

ADC2: Analogno-digitalni pretvarač, kanal 2.

OC1B: Izlaz za usporedbu rezultata podudaranja: PB4 pin može poslužiti kao vanjski izlaz za timer / brojač1 Usporedite podudaranje B kada je konfiguriran kao izlaz (set DDB4). OC1B pin je ujedno i izlazni pin za funkciju tajmera PWM načina.

PCINT4: Izvor prekida za promjenu pina 4.

Priključak B, bit 3 - XTAL1 / CLKI / ADC3 / OC1B / PCINT3

XTAL1: Pribadača oscilatora čipsa sata 1. Koristi se za sve izvore takta čipa, osim unutarnjeg kalibriranog RC oscilatora. Kad se koristi kao pin sata, ne može se koristiti kao I / O pin.

CLKI: Ulaz sata iz vanjskog izvora takta, vidi “Vanjski sat” na stranici 26.

ADC3: Analogno-digitalni pretvarač, kanal 3.

OC1B: Izlaz za usporedbu obrnutog izlaza: Pin PB3 može poslužiti kao vanjski izlaz za Timer / Counter1 Compare Match B kada je konfiguriran kao izlaz (DDB3 set). OC1B pin je ujedno i obrnuti izlazni pin za funkciju tajmera PWM načina.

PCINT3: Izvor prekida za promjenu pina 3.

Priključak B, bit 2 - SCK / ADC1 / T0 / USCK / SCL / INT0 / PCINT2

SCK: Izlaz glavnog sata, ulazni pin podređenog sata za SPI kanal. Kad je SPI omogućen kao slave, ovaj je pin konfiguriran kao ulaz bez obzira na postavku DDB2. Kad je SPI omogućen kao glavni, smjer podataka ovog pina kontrolira DDPB2. Kada SPI prisili da je SPI ulaz, povlačenjem se i dalje može upravljati bitom PORTB2.

ADC1: Analogno-digitalni pretvarač, kanal 1.

T0: Timer / Counter0 izvor brojača.

USCK: Sat s univerzalnim serijskim sučeljem s tri žice.

SCL: Serijski sat s dvožičnim načinom rada za dvožični način rada USI.

INT0: Vanjski izvor prekida 0.

PCINT2: Izvor prekida za promjenu pina 2.

Priključak B, bit 1 - MISO / AIN1 / OC0B / OC1A / DO / PCINT1

MISO: Unos matičnih podataka, podređeni izlazni pin za SPI kanal. Kad je SPI omogućen kao glavni, ovaj je pin konfiguriran kao ulaz bez obzira na postavku DDB1. Kad je SPI omogućen kao slave, smjerom podataka ovog pina upravlja DDB1. Kad je SPI prisiljen da je ulaz ulaz, povlačenjem se i dalje može upravljati bitom PORTB1.

AIN1: Negativni ulaz analogne usporedbe. Konfigurirajte pin priključka kao ulaz s isključenim unutarnjim povlačenjem kako biste izbjegli ometanje funkcije digitalnih priključaka u funkciji analognog usporednika.

OC0B: Izlaz Usporedite izlaz. Pin PB1 može poslužiti kao vanjski izlaz za upoređivanje podudarnosti Timer / Counter0 B. Pin PB1 mora biti konfiguriran kao izlaz (set DDB1 (jedan)) da bi služio ovoj funkciji. OC0B pin je ujedno i izlazni pin za funkciju tajmera PWM načina.

OC1A: Izlaz za usporedbu izlaza: Pin PB1 može poslužiti kao vanjski izlaz za timer / brojač1 Usporedi podudaranje B kada je konfiguriran kao izlaz (set DDB1). OC1A pin je ujedno i izlazni pin za funkciju tajmera PWM načina.

DO: Izlaz podataka univerzalnog serijskog sučelja u načinu rada s tri žice. Trožični način Izlaz podataka zamjenjuje vrijednost PORTB1 i on se preusmjerava na priključak kad je postavljen bit smjera podataka DDB1 (jedan). PORTB1 i dalje omogućuje povlačenje, ako je smjer ulazni i ako je PORTB1 postavljen (jedan).

PCINT1: Izvor prekida za promjenu pina 1.

Priključak B, bit 0 - MOSI / AIN0 / OC0A / OC1A / DI / SDA / AREF / PCINT0

MOSI: Izlaz glavnih podataka SPI-a, Unos podataka slave-a za SPI kanal. Kad je SPI omogućen kao slave, ovaj je pin konfiguriran kao ulaz bez obzira na postavku DDB0. Kad je SPI omogućen kao glavni, smjerom podataka ovog pina upravlja DDB0. Kada SPI prisili da je SPI ulaz, povlačenjem se i dalje može upravljati PORTB0 bitom.

AIN0: Pozitivni ulaz analogne usporedbe. Konfigurirajte pin priključka kao ulaz s isključenim unutarnjim izvlačenjem kako biste izbjegli ometanje funkcije digitalnih priključaka u funkciji analognog usporednika.

OC0A: Izlaz Usporedite izlaz. Pin PB0 može poslužiti kao vanjski izlaz za timer / brojač0 Usporedi podudaranje A kada je konfiguriran kao izlaz (DDB0 set (jedan)). OC0A pin je ujedno i izlazni pin za funkciju tajmera PWM načina.

OC1A: Izlaz za usporedbu obrnutog izlaza: Pin PB0 može poslužiti kao vanjski izlaz za Timer / Counter1 Compare Match B kada je konfiguriran kao izlaz (DDB0 set). OC1A pin je ujedno i obrnuti izlazni pin za funkciju timera PWM načina.

SDA: Podaci o serijskom sučelju s dvije žice.

AREF: Vanjska analogna referenca za ADC. Drajver za povlačenje i izlaz su onemogućeni na PB0 kada se pin koristi kao vanjska referenca ili unutarnji Voltage Referenca s vanjskim kondenzatorom na pinu AREF.

DI: Unos podataka u USI trožičnom načinu. USI trožični način rada ne nadjačava uobičajene funkcije priključka, pa pin mora biti konfiguriran kao ulaz za DI funkciju.

PCINT0: Izvor prekida za promjenu pina 0.

Tablica 10-4 Tablica 10-5 povezuju zamjenske funkcije priključka B s glavnim signalima prikazanim u Slika 10-5 na stranica 58.

Tablica 10-4. Nadjačavanje signala za alternativne funkcije u PB-u[5:3]

Naziv signala PB5 / RESET / ADC0 / PCINT5 PB4/ADC2/XTAL2/ OC1B/PCINT4 PB3/ADC3/XTAL1/ OC1B/PCINT3
PUOE

RSTDISBL(1) • DWEN(1)

0 0
PUOV 1 0 0
DDOE RSTDISBL(1) • DWEN(1) 0 0
DDOV debugWire Prijenos 0 0
PVOE 0 OC1B Omogući

OC1B Omogući

PVOV 0 OC1B OC1B
PTOE 0 0 0
DIEOE

RSTDISBL(1) + (PCINT5 • PCIE + ADC0D)

PCINT4 • PCIE + ADC2D PCINT3 • PCIE + ADC3D
DIEOV ADC0D ADC2D ADC3D
DI Ulaz PCINT5 Ulaz PCINT4 Ulaz PCINT3
AIO RESET ulaz, ADC0 ulaz ADC2 ulaz ADC3 ulaz

Napomena: kada je osigurač "0" (programirano).

Tablica 10-5. Nadjačavanje signala za alternativne funkcije u PB-u[2:0]

Naziv signala PB2/SCK/ADC1/T0/ USCK/SCL/INT0/PCINT2 PB1/MISO/DO/AIN1/ OC1A/OC0B/PCINT1 PB0/MOSI/DI/SDA/AIN0/AR EF/OC1A/OC0A/

PCINT0

PUOE USI_DVIJE_ŽICE 0 USI_DVIJE_ŽICE
PUOV 0 0 0
DDOE USI_DVIJE_ŽICE 0 USI_DVIJE_ŽICE
DDOV (USI_SCL_HOLD + PORTB2) • DDB2 0  

(SDA + PORTB0) • DDB0

PVOE USI_DVIJE_ŽICE • DDB2 OC0B Omogući + OC1A Omogući + USI_THREE_WIRE

OC0A Omogući + OC1A Omogući + (USI_TWO_WIRE

DDB0)

PVOV 0 OC0B + OC1A + DO

OC0A + OC1A

PTOE USITC 0 0
DIEOE PCINT2 • PCIE + ADC1D + USISIE PCINT1 • PCIE + AIN1D PCINT0 • PCIE + AIN0D + USISIE
DIEOV ADC1D AIN1D AIN0D
DI T0 / USCK / SCL / INT0 /

Ulaz PCINT2

Ulaz PCINT1 DI / SDA / PCINT0 ulaz
AIO ADC1 ulaz Negativni ulaz analogne usporedbe Pozitivni ulaz analogne usporedbe

Opis registra

MCUCR - MCU kontrolni registar

bit 7 6 5 4 3 2 1 0
0x35 BODS PUD SE SM1 SM0 BODSE ISC01 ISC00 MCUCR
Čitanje/Pisanje R R/W R/W R/W R/W R R/W R/W
Početna vrijednost 0 0 0 0 0 0 0 0

Bit 6 - PUD: Onemogućeno povlačenje

Kada se ovaj bit zapiše u jedan, povlačenja u U / I priključcima su onemogućena čak i ako su registri DDxn i PORTxn konfigurirani da omoguće izvlačenja ({DDxn, PORTxn} = 0b01). Vidjeti “Konfiguriranje pribadače” na stranici 54 za više detalja o ovoj značajci.

PORTB - Registar podataka porta B

bit 7 6 5 4 3 2 1 0
0x18 PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB0 PORTB
Čitanje/Pisanje R R R/W R/W R/W R/W R/W R/W
Početna vrijednost 0 0 0 0 0 0 0 0

DDRB - Registar usmjeravanja podataka porta B

bit 7 6 5 4 3 2 1 0
0x17 DDB5 DDB4 DDB3 DDB2 DDB1 DDB0 DDRB
Čitanje/Pisanje R R R/W R/W R/W R/W R/W R/W
Početna vrijednost 0 0 0 0 0 0 0 0

PINB - Adresa ulaznih pinova priključka B

bit 7 6 5 4 3 2 1 0
0x16 PINB5 PINB4 PINB3 PINB2 PINB1 PINB0 PINB
Čitanje/Pisanje R R R/W R/W R/W R/W R/W R/W
Početna vrijednost 0 0 N/A N/A N/A N/A N/A N/A

8-bitni timer / brojač0 s PWM-om

Značajke

Dvije neovisne jedinice za usporedbu izlaza

Registri za usporedbu dvostrukog međuspremnika izlaza

Očisti odbrojavanje za usporedbu podudaranja (automatsko ponovno učitavanje)

Modul za ispravljanje fazne ispravne širine impulsa (PWM), bez kvarova

Promjenjivo PWM razdoblje

Generator frekvencije

Tri nezavisna izvora prekida (TOV0, OCF0A i OCF0B)

Nadview

Timer / Counter0 je 8-bitni modul tajmera / brojača opće namjene, s dvije neovisne jedinice za usporedbu izlaza i s PWM podrškom. Omogućuje točno vrijeme izvršavanja programa (upravljanje događajima) i generiranje valova.

Pojednostavljeni blok dijagram 8-bitnog tajmera / brojača prikazan je u Slika 11-1. Za stvarno postavljanje I / O zatiča pogledajte “Pinout ATtiny25 / 45/85” na stranici 2. Ulazno-izlazni registri s CPU-om, uključujući I / O bitove i I / O pinove, prikazani su podebljanim slovima. Ulazno-izlazni registar specifičan za uređaj i mjesta bitova navedeni su u “Opis registra” na stranici 77.

Timer/Counter (TCNT0) i registri usporedbe izlaza (OCR0A i OCR0B) su 8-bitni registri. Svi signali zahtjeva za prekid (skraćeno od Int.Req. na slici) vidljivi su u Registru zastavice prekida vremena (TIFR). Svi prekidi su pojedinačno maskirani s Timer Interrupt Mask Register (TIMSK). TIFR i TIMSK nisu prikazani na slici.

Tajmer/brojač se može taktirati interno, preko predskalera ili pomoću vanjskog izvora takta na T0 pinu. Logički blok odabira sata kontrolira koji izvor takta i rub koristi tajmer/brojač za povećanje (ili smanjenje) svoje vrijednosti. Timer/Counter je neaktivan kada nije odabran izvor sata. Izlaz iz logike odabira sata naziva se sat tajmera (clkT0).

Dvostruko puferirani izlazni usporedni registri (OCR0A i OCR0B) u svakom se trenutku uspoređuju s vrijednošću tajmera / brojača. Rezultat usporedbe može se koristiti generatorom valnih oblika za generiranje PWM-a ili promjenjive frekvencijske izlazne vrijednosti na izlaznim usporednim pinovima (OC0A i OC0B). Pogledajte “Izlazna jedinica za usporedbu” na stranici 69. za detalje. Događaj Usporedba podudaranja također će postaviti zastavicu za usporedbu (OCF0A ili OCF0B) koja se može koristiti za generiranje zahtjeva za prekidom Usporedba rezultata.

Definicije

Mnoge reference i bitovi u ovom odjeljku napisane su u općenitom obliku. Malim slovom "n" zamjenjuje se broj tajmera / brojača, u ovom slučaju 0. Malim slovom "x" zamjenjuje se jedinica za usporedbu izlaza, u ovom slučaju jedinica za usporedbu A ili jedinica za usporedbu B. Međutim, kada se koristi registar ili bit definira u programu se mora koristiti precizan obrazac, tj. TCNT0 za pristup vrijednosti brojača Timer / Counter0 i tako dalje.

Definicije u Tablica 11-1 također se široko koriste u cijelom dokumentu.

Tablica 11-1. Definicije

Konstanta Opis
DNO Brojač doseže DNO kada postane 0x00
MAKS Brojač dosegne svoj MAXimum kada postane 0xFF (decimalni 255)
VRH Brojač doseže VRH kada postane jednak najvećoj vrijednosti u slijedu brojanja. VRHUNSKOJ vrijednosti može se dodijeliti fiksna vrijednost 0xFF (MAX) ili vrijednost pohranjena u OCR0A registru. Dodjeljivanje ovisi o načinu rada

Izmjerivač brojača / brojača i izvori sata

Tajmer / brojač može taktirati unutarnji ili vanjski izvor sata. Izvor sata odabire logika odabira sata kojom upravlja bitovi za odabir sata (c) koji se nalaze u kontrolnom registru vremena / brojača0 (TCCR0B).

Unutarnji izvor sata s prescalerom

Tajmer/Brojač0 može se taktirati izravno satom sustava (postavljanjem CS0[2:0] = 1). Ovo omogućuje najbrži rad, s maksimalnom frekvencijom takta mjerača vremena/brojača koja je jednaka frekvenciji takta sustava (fCLK_I/O). Alternativno, jedan od četiri odvojka iz predskalera može se koristiti kao izvor takta. Prethodno skalirani sat ima frekvenciju bilo koje

Resetiranje predsmjenjivača

Predskaler radi slobodno, tj. radi neovisno o logici odabira sata za Timer/Counter0. Budući da na predskaler ne utječe odabir sata timera/brojača, stanje predskalera imat će implikacije za situacije u kojima se koristi unaprijed skalirani sat. Jedan bivšiampLe artefakta predskaliranja je kada je mjerač vremena/brojač omogućen i taktiran od strane predskalera (6 > CS0[2:0] > 1). Broj ciklusa sistemskog takta od trenutka kada je timer omogućen do prvog brojanja može biti od 1 do N+1 ciklusa takta sustava, gdje je N jednako djelitelju predskalera (8, 64, 256 ili 1024).

Moguće je koristiti Resetiranje prescalera za sinkronizaciju odbrojavanja / brojača za izvršavanje programa.

Vanjski izvor sata

Vanjski izvor takta primijenjen na pin T0 može se koristiti kao sat tajmera/brojača (clkT0). Pin T0 je sampvođen jednom u svakom ciklusu takta sustava pomoću pin sinkronizacije logike. Sinkronizirani (sampled) signal se tada propušta

kroz detektor ruba. Slika 11-2 prikazuje funkcionalni ekvivalentni blok dijagram T0 sinkronizacije i logike detektora rubova. Registri se taktiraju na pozitivnom rubu internog sistemskog sata (clkI/O). Zasun je proziran u visokom razdoblju unutarnjeg sistemskog sata.

Detektor ruba generira jedan impuls clkT0 za svaki pozitivni (CS0[2:0] = 7) ili negativni (CS0[2:0] = 6) rub koji detektira.

OCR0x registri dvostruko su međuspremni kada se koristi bilo koji od načina modulacije širine impulsa (PWM). Za normalni i Clear Timer na načinima Usporedbe (CTC) dvostruko međuspremništvo je onemogućeno. Dvostruko puferiranje sinkronizira ažuriranje OCR0x Registra za usporedbu na vrh ili na dno niza brojanja. Sinkronizacija sprječava pojavu nesimetričnih PWM impulsa neparne duljine, čineći tako izlaz bez grešaka.

Pristup OCR0x Registru može se činiti složenim, ali to nije slučaj. Kada je omogućeno dvostruko puferiranje, CPU ima pristup registru OCR0x međuspremnika, a ako je dvostruko međuspremništvo onemogućeno, CPU će pristupiti OCR0x izravno.

Usporedba izlaznih snaga

U načinima generiranja valnog oblika koji nisu PWM, izlazni rezultat usporedbe može se prisiliti upisivanjem jednog u bit Usporedbe izlaznih sila (FOC0x). Prisiljavanje Usporedbe podudaranja neće postaviti OCF0x zastavicu niti će ponovno učitati / obrisati tajmer, ali OC0x pribadača će se ažurirati kao da je došlo do stvarne Usporedbe podudaranja (postavke bitova COM0x [1: 0] definiraju je li OC0x pribadača postavljena, obrisana ili prebačena).

Usporedite blokiranje podudaranja TCNT0 Write

Sve operacije upisivanja CPU-a u registar TCNT0 blokirat će svako uspoređivanje koje se dogodi u sljedećem ciklusu takta, čak i kad je tajmer zaustavljen. Ova značajka omogućuje inicijalizaciju OCR0x na istu vrijednost kao TCNT0 bez pokretanja prekida kada je omogućen sat odbrojavanja / brojača.

Korištenje jedinice za usporedbu rezultata

Budući da će pisanje TCNT0 u bilo kojem načinu rada blokirati sve Usporedne podudarnosti za jedan ciklus takta timera, postoje rizici povezani s promjenom TCNT0 kada se koristi jedinica za usporedbu izlaza, neovisno o tome radi li tajmer / brojač. Ako je vrijednost zapisana u TCNT0 jednaka vrijednosti OCR0x, uspoređivanje će se propustiti, što će rezultirati nepravilnim generiranjem valnog oblika. Slično tome, ne zapisujte vrijednost TCNT0 jednaku Dnu kada brojač odbrojava.

Postavljanje OC0x treba izvršiti prije postavljanja Registra smjera podataka za izlaz porta pin-a. Najlakši način postavljanja vrijednosti OC0x je upotreba strob-bitova Force Output Compare (FOC0x) u normalnom načinu rada. OC0x registri zadržavaju svoje vrijednosti čak i kada se mijenjaju između načina generiranja valnih oblika.

Imajte na umu da COM0x [1: 0] bitovi nisu dvostruko međuspremni zajedno s vrijednošću usporedbe. Promjena bitova COM0x [1: 0] stupit će na snagu odmah.

Usporedite izlaznu jedinicu podudaranja

Bitovi načina Usporedba izlaza (COM0x [1: 0]) imaju dvije funkcije. Generator valnih oblika koristi COM0x [1: 0] bitove za definiranje stanja izlazne usporedbe (OC0x) na sljedećem Usporednom uspoređivanju. Također, bitovi COM0x [1: 0] kontroliraju izlazni izvor pin-a OC0x. Slika 11-6 prikazuje pojednostavljenu shemu logike na koju utječe postavka bita COM0x [1: 0]. I / O registri, I / O bitovi i I / O zatiči na slici prikazani su podebljano. Prikazani su samo dijelovi općih U / I registara za kontrolu ulaza (DDR i PORT) na koje utječu bitovi COM0x [1: 0]. Kada se govori o stanju OC0x, referenca se odnosi na interni OC0x Registar, a ne na OC0x pin. Ako se dogodi resetiranje sustava, OC0x Registar vraća se na "0".

Kad je OC0A / OC0B spojen na I / O pin, funkcija bitova COM0A [1: 0] / COM0B [1: 0] ovisi o postavci bita WGM0 [2: 0]. Tablica 11-2 prikazuje funkciju bita COM0x [1: 0] kada su bitovi WGM0 [2: 0] postavljeni na normalan ili CTC način rada (ne-PWM).

Tablica 11-2. Usporedite izlazni način, ne-PWM način

COM0A1 COM0B1 COM0A0 COM0B0 Opis
0 0 Uobičajeni rad priključka, OC0A / OC0B je odspojen.
0 1 Prebaci OC0A / OC0B na Match Match
1 0 Očistite OC0A / OC0B na Match Matchu
1 1 Postavite OC0A / OC0B na Match Match

Tablica 11-3 prikazuje funkciju bita COM0x [1: 0] kada su bitovi WGM0 [2: 0] postavljeni na brzi PWM način.

Tablica 11-3. Usporedite izlazni način, brzi PWM način(1)

COM0A1 COM0B1 COM0A0 COM0B0 Opis
0 0 Uobičajeni rad priključka, OC0A / OC0B je odspojen.
0 1 Rezervirano
1 0 Očistite OC0A / OC0B na Usporednom podudaranju, postavite OC0A / OC0B na DNO (neinvertirajući način)
1 1 Postavite OC0A / OC0B na Usporedi podudaranje, očistite OC0A / OC0B DONO (način okretanja)

Napomena: Poseban slučaj se događa kada je OCR0A ili OCR0B jednako TOP i postavljeno je COM0A1/COM0B1. U ovom slučaju, usporedba podudaranja se zanemaruje, ali postavljanje ili brisanje se vrši na DNU. Vidjeti “Način brzog PWM-a” na stranici 73 za više detalja.

Tablica 11-4 prikazuje funkciju bita COM0x [1: 0] kad su bitovi WGM0 [2: 0] postavljeni na fazno ispravan PWM način.

Tablica 11-4. Usporedite izlazni način rada, PWM način ispravne faze(1)

COM0A1 COM0B1 COM0A0 COM0B0 Opis
0 0 Uobičajeni rad priključka, OC0A / OC0B je odspojen.
0 1 Rezervirano
1 0 Očistite OC0A / OC0B na Match Matchu prilikom brojanja. Postavite OC0A / OC0B na Usporedi podudaranje prilikom odbrojavanja.
1 1 Postavite OC0A / OC0B na Usporedi podudaranje prilikom brojanja prema gore. Očistite OC0A / OC0B na Match Matchu prilikom odbrojavanja.

Napomena: 1. Poseban slučaj se događa kada je OCR0A ili OCR0B jednako TOP i postavljeno je COM0A1/COM0B1. U ovom slučaju, usporedba podudaranja se zanemaruje, ali postavljanje ili brisanje se vrši na VRHU. Vidjeti “Način ispravljanja PWM faze” na stranici 74 za više detalja.

Bitovi 3: 2 - Rez: Rezervirani bitovi

Ovi su bitovi rezervirani bitovi u ATtiny25 / 45/85 i uvijek će se čitati kao nula.

Bitovi 1: 0 - WGM0 [1: 0]: Način generiranja valnog oblika

U kombinaciji s bitom WGM02 koji se nalazi u registru TCCR0B, ovi bitovi kontroliraju slijed brojenja brojača, izvor maksimalne (TOP) vrijednosti brojača i vrstu generiranja valnog oblika, pogledajte Tablica 11-5. Načini rada koje podržava jedinica Timer / Counter su: Normalni način rada (brojač), Clear Timer on Compare Match (CTC) način rada i dvije vrste načina modulacije impulsne širine (PWM) (vidi “Načini rada” na stranici 71).

Tablica 11-5. Opis bita načina generiranja valnog oblika

Način rada WGM 02 WGM 01 WGM 00 Način rada timera / brojača VRH Ažuriranje OCRx na Postavljena zastava TOV
0 0 0 0 Normalan 0xFF Odmah MAKS(1)
1 0 0 1 PWM, faza ispravna 0xFF VRH DNO(2)
2 0 1 0 CTC OCRA Odmah MAKS(1)
3 0 1 1 Brzi PWM 0xFF DNO(2) MAKS(1)
4 1 0 0 Rezervirano
5 1 0 1 PWM, faza ispravna OCRA VRH DNO(2)
6 1 1 0 Rezervirano
7 1 1 1 Brzi PWM OCRA DNO(2) VRH

Bit 7 - FOC0A: Usporedba izlaza snage A

Bit FOC0A aktivan je samo kada WGM bitovi određuju način koji nije PWM.

Međutim, da bi se osigurala kompatibilnost s budućim uređajima, ovaj bit mora biti postavljen na nulu kada je zapisan TCCR0B kada se radi u PWM načinu. Kada zapisujete logički u bit FOC0A, odmah se uspoređuje podudaranje na jedinici za generiranje valnih oblika. Izlaz OC0A mijenja se prema postavci bitova COM0A [1: 0]. Imajte na umu da je bit FOC0A implementiran kao stroboskop. Stoga je vrijednost prisutna u COM0A [1: 0] bitovima taj koji određuje učinak prisilne usporedbe.

Strobonski signal FOC0A neće generirati nikakav prekid niti će očistiti tajmer u CTC načinu rada koristeći OCR0A kao TOP. Bit FOC0A uvijek se čita kao nula.

Bit 6 - FOC0B: Usporedba izlaza snage B

Bit FOC0B aktivan je samo kada WGM bitovi određuju način koji nije PWM.

Međutim, da bi se osigurala kompatibilnost s budućim uređajima, ovaj bit mora biti postavljen na nulu kada je TCCR0B zapisan kada radi u PWM načinu. Prilikom upisivanja logičkog u bit FOC0B, odmah se uspoređuje podudaranje na jedinici za generiranje valnih oblika. Izlaz OC0B mijenja se u skladu s postavkom bitova COM0B [1: 0]. Imajte na umu da je bit FOC0B implementiran kao stroboskop. Stoga vrijednost prisutna u COM0B [1: 0] bitovima određuje učinak prisilne usporedbe.

Strobonski signal FOC0B neće generirati nikakav prekid niti će očistiti tajmer u CTC načinu rada koristeći OCR0B kao TOP.

Bit FOC0B uvijek se čita kao nula.

Bitovi 5: 4 - Rez: Rezervirani bitovi

Ovi su bitovi rezervirani bitovi u ATtiny25 / 45/85 i uvijek će se čitati kao nula.

Bit 3 - WGM02: Način generiranja valnog oblika

Pogledajte opis u “TCCR0A - Registar kontrole vremena / brojača A” na stranici 77.

Bitovi 2: 0 - CS0 [2: 0]: odabir sata

Tri bita za odabir sata odabiru izvor sata koji će koristiti timer / brojač.

Tablica 11-6. Sat Odaberite Opis bita

CS02 CS01 CS00 Opis
0 0 0 Nema izvora sata (tajmer / brojač zaustavljen)
0 0 1 clkI/O/(bez predskaliranja)
0 1 0 clkI/O/8 (iz predskalera)
0 1 1 clkI/O/64 (iz predskalera)
1 0 0 clkI/O/256 (iz predskalera)
1 0 1 clkI/O/1024 (iz predskalera)
1 1 0 Vanjski izvor takta na T0 pinu. Sat na padajućem rubu.
1 1 1 Vanjski izvor takta na T0 pinu. Sat na usponu ruba.

Ako se za timer / brojač0 koriste vanjski načini pinova, prijelazi na T0 pinu taktirat će brojač, čak i ako je pin konfiguriran kao izlaz. Ova značajka omogućuje softversku kontrolu brojanja.

Broji i usporedi jedinice

Općenita radnja Timer / Counter1 opisana je u asinkronom načinu rada, a rad u sinkronom načinu rada spominje se samo ako postoje razlike između ova dva načina. Slika 12-2 prikazuje blok-dijagram registra sinkronizacije brojač / brojač 1 i kašnjenja sinkronizacije između registara. Imajte na umu da svi detalji o dobivanju sata nisu prikazani na slici. Vrijednosti registra Timer / Counter1 prolaze kroz interne registre sinkronizacije, koji uzrokuju kašnjenje ulazne sinkronizacije, prije nego što utječu na rad brojača. Registri TCCR1, GTCCR, OCR1A, OCR1B i OCR1C mogu se pročitati odmah nakon pisanja registra. Vrijednosti povratnog očitanja kasne za registar Timer / Counter1 (TCNT1) i zastavice (OCF1A, OCF1B i TOV1), zbog ulazne i izlazne sinkronizacije.

Odbrojavanje / Brojilo1 odlikuje se visokom razlučivošću i visokom preciznošću uz niže mogućnosti predkaliranja. Također može podržati dva precizna, 8-bitna modulatora širine impulsa velike brzine koji koriste brzine takta do 64 MHz (ili 32 MHz u načinu male brzine). U ovom načinu rada, timer / brojač1 i registri za usporedbu izlaza služe kao dvostruki samostalni PWM s nepreklopljenim neinvertiranim i invertiranim izlazima. Pogledajte stranica 86 za detaljan opis ove funkcije. Slično tome, mogućnosti visokog predkaliranja čine ovu jedinicu korisnom za funkcije niže brzine ili za točno određivanje vremena s rijetkim radnjama.

Slika 12-2. Blok dijagram registra sinkronizacije mjerača vremena/brojača 1.

Tajmer / Brojač1 i uređaj za predskaliranje omogućuju pokretanje CPU-a iz bilo kojeg izvora takta dok uređaj za predskaliranje radi na brzom 64 MHz (ili 32 MHz u načinu brze obrade) PCK taktu u asinkronom načinu rada.

Imajte na umu da taktna frekvencija sustava mora biti niža od jedne trećine PCK frekvencije. Mehanizam sinkronizacije asinkronog mjerača vremena / brojača1 treba najmanje dva ruba PCK-a kada je sistemski sat visok. Ako je frekvencija sistemskog sata previsoka, rizik je da se podaci ili kontrolne vrijednosti izgube.

Sljedeće Slika 12-3 prikazuje blok dijagram za Timer / Counter1.

Tablica 12-1. Način usporedbe Odaberite u načinu rada PWM

COM1x1 COM1x0 Učinak na izlazne usporedne igle
0 0 OC1x nije povezan. OC1x nije povezan.
0 1 OC1x je obrisan na usporedbi. Postavite kadaTCNT1 = $ 00. OC1x postavljen na usporedbu. Brisano kada je TCNT1 = 00 USD.
1 0 OC1x je obrisan na usporedbi. Postavite kada je TCNT1 = $ 00. OC1x nije povezan.
1 1 OC1x Postavljeno za usporedbu. Brisano kada je TCNT1 = 00 USD. OC1x nije povezan.

Karakteristike ADC-a

Tablica 21-8. Karakteristike ADC-a, jednostruki kanali. TA = -40°C do +85°C

Simbol Parametar Stanje Min Tip Maks jedinice
Rezolucija 10 Bitovi
Apsolutna točnost (uključujući INL, DNL i kvantizaciju, pogreške pojačanja i pomaka) VREF = 4V, VCC = 4V,

ADC takt = 200 kHz

2 LSB
VREF = 4V, VCC = 4V,

ADC takt = 1 MHz

3 LSB
VREF = 4V, VCC = 4V,

ADC takt = 200 kHz

Način smanjenja buke

1.5 LSB
VREF = 4V, VCC = 4V,

ADC takt = 1 MHz

Način smanjenja buke

2.5 LSB
Integralna nelinearnost (INL) (točnost nakon kalibracije pomaka i pojačanja) VREF = 4V, VCC = 4V,

ADC takt = 200 kHz

1 LSB
Diferencijalna nelinearnost (DNL) VREF = 4V, VCC = 4V,

ADC takt = 200 kHz

0.5 LSB
Dobiti pogrešku VREF = 4V, VCC = 4V,

ADC takt = 200 kHz

2.5 LSB
Pogreška pomaka VREF = 4V, VCC = 4V,

ADC takt = 200 kHz

1.5 LSB
Vrijeme pretvorbe Besplatna pretvorba 14 280 pS
Frekvencija sata 50 1000 kHz
VIN broj Ulazni voltage GND VREF V
Ulazna širina pojasa 38.4 kHz
AREF Vanjske reference Voltage 2.0 VCC V
VINT Unutarnji svtage Referenca 1.0 1.1 1.2 V
Interna referenca od 2.56 V (1) VCC > 3.0 V 2.3 2.56 2.8 V
RREF 32
KIŠA Otpor analognog ulaza 100
Izlaz ADC-a 0 1023 LSB

Napomena: 1. Vrijednosti su samo smjernice.

Tablica 21-9. Karakteristike ADC-a, diferencijalni kanali (unipolarni način). TA = -40°C do +85°C

Simbol Parametar Stanje Min Tip Maks jedinice
Rezolucija Dob = 1x 10 Bitovi
Dob = 20x 10 Bitovi
Apsolutna točnost (uključujući INL, DNL i

Pogreške kvantizacije, pojačanja i pomaka)

Dob = 1x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

10.0 LSB
Dob = 20x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

20.0 LSB
Integralna nelinearnost (INL) (preciznost nakon pomaka i kalibracije pojačanja) Dob = 1x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

4.0 LSB
Dob = 20x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

10.0 LSB
Dobiti pogrešku Dob = 1x 10.0 LSB
Dob = 20x 15.0 LSB
Pogreška pomaka Dob = 1x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

3.0 LSB
Dob = 20x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

4.0 LSB
Vrijeme pretvorbe Besplatna pretvorba 70 280 pS
Frekvencija sata 50 200 kHz
VIN broj Ulazni voltage GND VCC V
VDIFF Ulazni diferencijal Voltage VREF/pojačanje V
Ulazna širina pojasa 4 kHz
AREF Vanjske reference Voltage 2.0 VCC – 1.0 V
VINT Unutarnji svtage Referenca 1.0 1.1 1.2 V
Interna referenca od 2.56 V (1) VCC > 3.0 V 2.3 2.56 2.8 V
RREF Referentni ulazni otpor 32
KIŠA Otpor analognog ulaza 100
Izlaz ADC pretvorbe 0 1023 LSB

Napomena: vrijednosti su samo smjernice.

Tablica 21-10. Karakteristike ADC-a, Diferencijalni kanali (Bipolarni mod). TA = -40°C do +85°C

Simbol Parametar Stanje Min Tip Maks jedinice
Rezolucija Dob = 1x 10 Bitovi
Dob = 20x 10 Bitovi
Apsolutna točnost (uključujući INL, DNL i

Pogreške kvantizacije, pojačanja i pomaka)

Dob = 1x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

8.0 LSB
Dob = 20x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

8.0 LSB
Integralna nelinearnost (INL) (preciznost nakon pomaka i kalibracije pojačanja) Dob = 1x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

4.0 LSB
Dob = 20x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

5.0 LSB
Dobiti pogrešku Dob = 1x 4.0 LSB
Dob = 20x 5.0 LSB
Pogreška pomaka Dob = 1x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

3.0 LSB
Dob = 20x

VREF = 4V, VCC = 5V

ADC sat = 50 - 200 kHz

4.0 LSB
Vrijeme pretvorbe Besplatna pretvorba 70 280 pS
Frekvencija sata 50 200 kHz
VIN broj Ulazni voltage GND VCC V
VDIFF Ulazni diferencijal Voltage VREF/pojačanje V
Ulazna širina pojasa 4 kHz
AREF Vanjske reference Voltage 2.0 VCC – 1.0 V
VINT Unutarnji svtage Referenca 1.0 1.1 1.2 V
Interna referenca od 2.56 V (1) VCC > 3.0 V 2.3 2.56 2.8 V
RREF Referentni ulazni otpor 32
KIŠA Otpor analognog ulaza 100
Izlaz ADC pretvorbe -512 511 LSB

Sažetak skupa uputa

Mnemotehnika Operandi Opis Operacija Zastave # Satovi
ARITMETIČKE I LOGIČKE UPUTE
DODATI Rd, Rr Dodajte dva registra Rd ← Rd + Rr Z, C, N, V, H 1
ADC Rd, Rr Dodajte s Carry dva registra Rd ← Rd + Rr + C Z, C, N, V, H 1
ADIW Rdl, K Riječ dodajte odmah Rdh:Rdl ← Rdh:Rdl + K Z, C, N, V, S 2
POD Rd, Rr Oduzmi dva registra Rd ← Rd – Rr Z, C, N, V, H 1
POPEO SAM SE Rd, K Oduzmi konstantu iz Registra Rd ← Rd – K Z, C, N, V, H 1
SBC Rd, Rr Oduzmi s Carry dva registra Rd ← Rd – Rr – C Z, C, N, V, H 1
SBCI Rd, K Oduzmi s Carry Constant iz Reg. Rd ← Rd – K – C Z, C, N, V, H 1
SBIW Rdl, K Oduzmi odmah od riječi Rdh:Rdl ← Rdh:Rdl – K Z, C, N, V, S 2
I Rd, Rr Logički I registri Rd ← Rd ∙ Rr Z, N, V 1
ANDI Rd, K Logično I registriraj se i konstantno Rd ← Rd ∙ K Z, N, V 1
OR Rd, Rr Logični ILI registri Rd ← Rd v Rr Z, N, V 1
ORI Rd, K Logično ILI registrirati i konstantno Rd ← Rd v K Z, N, V 1
EOR Rd, Rr Ekskluzivni ILI registri Rd ← Rd ⊕ Rr Z, N, V 1
COM Rd Nečiji dodatak Rd ← 0xFF − Rd Z, C, N, V 1
NEG Rd Komplement dvojke Rd ← 0x00 − Rd Z, C, N, V, H 1
SBR Rd, K Postavite bit (e) u Registrirajte se Rd ← Rd v K Z, N, V 1
CBR Rd, K Očisti bit (ove) u Registruj se Rd ← Rd ∙ (0xFF – K) Z, N, V 1
INC Rd Povećanje Rd ← Rd + 1 Z, N, V 1
PROS Rd opadanje Rd ← Rd − 1 Z, N, V 1
TST Rd Test za nulu ili minus Rd ← Rd ∙ Rd Z, N, V 1
CLR Rd Očisti registar Rd ← Rd ⊕ Rd Z, N, V 1
SER Rd Postavi registar Rd ← 0xFF Nijedan 1
UPUTE ZA PODRUŽNICE
RJMP k Relativni skok PC ← PC + k + 1 Nijedan 2
IJMP Neizravni skok na (Z) PC ← Z Nijedan 2
POZOVITE k Relativni poziv potprograma PC ← PC + k + 1 Nijedan 3
ICALL Neizravni poziv na (Z) PC ← Z Nijedan 3
RET Povratak potprograma PC ← STOK Nijedan 4
MREŽE Povratak prekida PC ← STOK I 4
CPSE Rd, Rr Usporedite, preskočite ako je jednako ako je (Rd = Rr) PC ← PC + 2 ili 3 Nijedan 1
CP Rd, Rr Usporedi Rd − Rr Z, N, V, C, H 1
CPK Rd, Rr Usporedi s Carry Rd − Rr − C Z, N, V, C, H 1
CPI Rd, K Usporedite registraciju s neposrednom Rd − K Z, N, V, C, H 1
SBRC Rr, b Preskoči ako je bit u Registru izbrisan ako je (Rr(b)=0) PC ← PC + 2 ili 3 Nijedan 1
SBRS Rr, b Preskoči ako je postavljeno Bit in Register ako je (Rr(b)=1) PC ← PC + 2 ili 3 Nijedan 1
ŠBIĆ P, rođ Preskoči ako je izbrisan bit u I / O registru ako je (P(b)=0) PC ← PC + 2 ili 3 Nijedan 1
SBIS P, rođ Preskoči ako je postavljeno Bit in I / O Register ako je (P(b)=1) PC ← PC + 2 ili 3 Nijedan 1
BRBS s, k Podružnica ako je postavljena zastava statusa ako je (SREG(s) = 1) tada je PC ←PC+k + 1 Nijedan 1/2
BRBC s, k Podružnica ako je oznaka statusa izbrisana ako je (SREG(s) = 0) tada je PC ←PC+k + 1 Nijedan 1/2
BREQ k Grana ako je jednaka ako je (Z = 1) tada je PC ← PC + k + 1 Nijedan 1/2
BRNE k Grana ako nije jednaka ako je (Z = 0) tada je PC ← PC + k + 1 Nijedan 1/2
BRCS k Podružnica ako nosi set ako je (C = 1) tada je PC ← PC + k + 1 Nijedan 1/2
BRCC k Podružnica ako je Carry Clearing ako je (C = 0) tada je PC ← PC + k + 1 Nijedan 1/2
BRSH k Podružnica ako je ista ili viša ako je (C = 0) tada je PC ← PC + k + 1 Nijedan 1/2
BRLO k Podružnica ako je niža ako je (C = 1) tada je PC ← PC + k + 1 Nijedan 1/2
BRMI k Podružnica ako je minus ako je (N = 1) tada je PC ← PC + k + 1 Nijedan 1/2
BRPL k Podružnica ako je plus ako je (N = 0) tada je PC ← PC + k + 1 Nijedan 1/2
BRGE k Podružnica ako je veća ili jednaka, potpisana ako je (N ⊕ V= 0) tada je PC ← PC + k + 1 Nijedan 1/2
BRLT k Podružnica ako je manja od nule, potpisano ako je (N ⊕ V= 1) tada je PC ← PC + k + 1 Nijedan 1/2
BRHS k Grana ako je postavljena zastavica s pola nosača ako je (H = 1) tada je PC ← PC + k + 1 Nijedan 1/2
BRHC k Podružnica ako je oznaka upola nošena ako je (H = 0) tada je PC ← PC + k + 1 Nijedan 1/2
BRTS k Grana ako je postavljena zastavica T ako je (T = 1) tada je PC ← PC + k + 1 Nijedan 1/2
BRTC k Grana ako je T zastavica uklonjena ako je (T = 0) tada je PC ← PC + k + 1 Nijedan 1/2
BRVS k Grananje ako je postavljena zastavica za prelijevanje ako je (V = 1) tada je PC ← PC + k + 1 Nijedan 1/2
BRVC k Razgranaj se ako je obrisana zastavica preljeva ako je (V = 0) tada je PC ← PC + k + 1 Nijedan 1/2
BRIE k Podružnica ako je omogućen prekid ako je ( I = 1) tada je PC ← PC + k + 1 Nijedan 1/2
VJEBENICA k Podružnica ako je prekid onemogućen ako je ( I = 0) tada je PC ← PC + k + 1 Nijedan 1/2
UPUTE ZA BIT I BIT-TEST
SBI P, b Postavi bit u I / O registru I/O(P,b) ← 1 Nijedan 2
CBI P, b Očisti bit u I / O registru I/O(P,b) ← 0 Nijedan 2
LSL Rd Logičan pomak ulijevo Rd(n+1) ← Rd(n), Rd(0) ← 0 Z, C, N, V 1
LSR Rd Logičan pomak udesno Rd(n) ← Rd(n+1), Rd(7) ← 0 Z, C, N, V 1
ULOGA Rd Rotirajte lijevo kroz Carry Rd(0)←C,Rd(n+1) ← Rd(n),C←Rd(7) Z, C, N, V 1
ROR Rd Rotiraj desno kroz Carry Rd(7)←C,Rd(n) ← Rd(n+1),C←Rd(0) Z, C, N, V 1
ASR Rd Aritmetički pomak udesno Rd(n) ← Rd(n+1), n=0..6 Z, C, N, V 1
Mnemotehnika Operandi Opis Operacija Zastave # Satovi
ZAMJENA Rd Zamijenite grickalice Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0) Nijedan 1
BSET s Set zastava SREG(ovi) ← 1 SREG (s) 1
BCLR s Označi jasno SREG(ovi) ← 0 SREG (s) 1
BST Rr, b Bit Store od Registriraj se do T T ← Rr(b) T 1
BLD Rd, b Bitno opterećenje od T do Registra Rd(b) ← T Nijedan 1
SEK Postavi Carry C ← 1 C 1
CLC Clear Carry C ← 0 C 1
SEN Postavi negativnu zastavicu N ← 1 N 1
CLN Očisti negativnu zastavicu N ← 0 N 1
SEZ Postavi nultu zastavicu Z ← 1 Z 1
CLZ Jasna nulta zastavica Z ← 0 Z 1
SEI Omogućivanje globalnog prekida ja ← 1 I 1
CLI Onemogući globalni prekid ja ← 0 I 1
SES Postavite potpisanu testnu zastavicu S ← 1 S 1
CLS Očistite potpisanu testnu zastavicu S ← 0 S 1
SEV Postavite Dvostruko nadopunjavanje. V ← 1 V 1
CLV Očistite preljev dopunjavanja dvojki V ← 0 V 1
SET Postavite T u SREG T ← 1 T 1
CLT Vedro T u SREG-u T ← 0 T 1
SEH Postavite Half Carry Flag u SREG H ← 1 H 1
CLH Očistite zastavicu za pola nošenja u SREG-u H ← 0 H 1
UPUTE ZA PRIJENOS PODATAKA
MOV Rd, Rr Pomicanje između registara Rd ← Rr Nijedan 1
MOVW Rd, Rr Kopiraj Registar riječi Rd+1:Rd ← Rr+1:Rr Nijedan 1
LDI Rd, K Opterećenje odmah Rd ← K Nijedan 1
LD Rd, X Opterećenje neizravno Rd ← (X) Nijedan 2
LD Rd, X + Učitaj neizravno i naknadno uklj. Rd ← (X), X ← X + 1 Nijedan 2
LD Rd, - X Učitaj neizravno i prije prosinca. X ← X – 1, Rd ← (X) Nijedan 2
LD Rd, Y Opterećenje neizravno Rd ← (Y) Nijedan 2
LD Rd, Y + Učitaj neizravno i naknadno uklj. Rd ← (Y), Y ← Y + 1 Nijedan 2
LD Rd, - Y Učitaj neizravno i prije prosinca. Y ← Y – 1, Rd ← (Y) Nijedan 2
LDD Rd, Y + q Neizravno opterećenje istiskivanjem Rd ← (Y + q) Nijedan 2
LD Rd, Z Opterećenje neizravno Rd ← (Z) Nijedan 2
LD Rd, Z + Učitaj neizravno i naknadno uklj. Rd ← (Z), Z ← Z+1 Nijedan 2
LD Rd, -Z Učitaj neizravno i prije prosinca. Z ← Z – 1, Rd ← (Z) Nijedan 2
LDD Rd, Z + q Neizravno opterećenje istiskivanjem Rd ← (Z + q) Nijedan 2
LDS Rd, k Učitaj izravno iz SRAM-a Rd ← (k) Nijedan 2
ST X, Rr Pohranite neizravno (X) ← Rr Nijedan 2
ST X +, Rr Pohranite neizravno i naknadno uključeno. (X) ← Rr, X ← X + 1 Nijedan 2
ST - X, Rr Pohranite neizravno i prije prosinca. X ← X – 1, (X) ← Rr Nijedan 2
ST Y, Rr Pohranite neizravno (Y) ← Rr Nijedan 2
ST Y +, Rr Pohranite neizravno i naknadno uključeno. (Y) ← Rr, Y ← Y + 1 Nijedan 2
ST - Da, Rr Pohranite neizravno i prije prosinca. Y ← Y – 1, (Y) ← Rr Nijedan 2
STD Y + q, Rr Pohranite neizravno s istiskivanjem (Y + q) ← Rr Nijedan 2
ST Z, Rr Pohranite neizravno (Z) ← Rr Nijedan 2
ST Z +, Rr Pohranite neizravno i naknadno uključeno. (Z) ← Rr, Z ← Z + 1 Nijedan 2
ST -Z, Rr Pohranite neizravno i prije prosinca. Z ← Z – 1, (Z) ← Rr Nijedan 2
STD Z + q, Rr Pohranite neizravno s istiskivanjem (Z + q) ← Rr Nijedan 2
OPS k, Rr Pohranite izravno na SRAM (k) ← Rr Nijedan 2
LPM Učitaj memoriju programa R0 ← (Z) Nijedan 3
LPM Rd, Z Učitaj memoriju programa Rd ← (Z) Nijedan 3
LPM Rd, Z + Učitaj memoriju programa i post-Inc Rd ← (Z), Z ← Z+1 Nijedan 3
SPM Pohranite programsku memoriju (z) ← R1:R0 Nijedan
IN Rd, P. U luci Rd ← P Nijedan 1
VAN P, Rr Izlazna luka P ← Rr Nijedan 1
GURNUTI Rr Pritisnite registra na stogu STOK ← Rr Nijedan 2
POP Rd Pop registar iz stoga Rd ← STOG Nijedan 2
UPUTE ZA UPRAVLJANJE MCU-om
NOP Bez operacije Nijedan 1
SPAVATI Spavati (vidi specifični opis funkcije spavanja) Nijedan 1
WDR Vraćanje čuvara (vidi specifični opis za WDR / timer) Nijedan 1
BREAK Pauza
Brzina (MHz) (1) Opskrba Voltage (V) Raspon temperature Paket (2) Kod naručivanja (3)
10 1.8 – 5.5 Industrijski

(-40 ° C do + 85 ° C) (4)

8P3 ATtiny45V-10PU
8S2 ATtiny45V-10SU ATtiny45V-10SUR ATtiny45V-10SH ATtiny45V-10SHR
8X ATtiny45V-10XU ATtiny45V-10XUR
20M1 ATtiny45V-10MU ATtiny45V-10MUR
20 2.7 – 5.5 Industrijski

(-40 ° C do + 85 ° C) (4)

8P3 ATtiny45-20PU
8S2 ATtiny45-20SU ATtiny45-20SUR

ATtiny45-20SH ATtiny45-20SHR

8X ATtiny45-20XU ATtiny45-20XUR
20M1 ATtiny45-20MU ATtiny45-20MUR

Napomene: 1. Za brzinu u odnosu na opskrbu voltage, vidi odjeljak 21.3 “Brzina” na stranici 163.

Sva su pakiranja bez Pb, bez halida i potpuno zelena te su u skladu s Europskom direktivom o ograničavanju opasnih tvari (RoHS).

Indikatori koda

H: NiPdAu vodeća završna obrada

U: mat lim

R: traka i kolut

Ovi se uređaji mogu isporučiti i u obliku oblatne. Molimo kontaktirajte vaš lokalni prodajni ured Atmel za detaljne informacije o narudžbi i minimalne količine.

tiskarske pogreške

Pogreška ATtiny25

Revizijsko pismo u ovom odjeljku odnosi se na reviziju uređaja ATtiny25.

Otk D - F

Nije poznata pogreška.

Otkrivenje B - C

Čitanje EEPROM-a možda neće uspjeti pri malom volumenu napajanjatage / niska taktna frekvencija

Čitanje EEPROM-a možda neće uspjeti pri malom volumenu napajanjatage / niska taktna frekvencija

Pokušaj čitanja EEPROM-a na niskim taktnim frekvencijama i/ili malom volumenu napajanjatage može rezultirati nevažećim podacima.

Rješavanje problema / rješenje

Nemojte koristiti EEPROM kada je frekvencija takta ispod 1MHz i volumen napajanjatage je ispod 2V. Ako se radna frekvencija ne može povisiti iznad 1MHz, tada se obtage bi trebao biti veći od 2V. Slično, ako opskrba voltage se ne može povisiti iznad 2V tada bi radna frekvencija trebala biti veća od 1MHz.

Poznato je da je ova značajka ovisna o temperaturi, ali nije karakterizirana. Smjernice su dane samo za sobnu temperaturu.

Vlč

Ne sampvodio.

Pogreška ATtiny45

Revizijsko pismo u ovom odjeljku odnosi se na reviziju uređaja ATtiny45.

Otk F - G

Nije poznata pogreška

Otk D - E

Čitanje EEPROM-a možda neće uspjeti pri malom volumenu napajanjatage / niska taktna frekvencija

Čitanje EEPROM-a možda neće uspjeti pri malom volumenu napajanjatage / niska taktna frekvencija

Pokušaj čitanja EEPROM-a na niskim taktnim frekvencijama i/ili malom volumenu napajanjatage može rezultirati nevažećim podacima.

Rješavanje problema / rješenje

Nemojte koristiti EEPROM kada je frekvencija takta ispod 1MHz i volumen napajanjatage je ispod 2V. Ako se radna frekvencija ne može povisiti iznad 1MHz, tada se obtage bi trebao biti veći od 2V. Slično, ako opskrba voltage se ne može povisiti iznad 2V tada bi radna frekvencija trebala biti veća od 1MHz.

Poznato je da je ova značajka ovisna o temperaturi, ali nije karakterizirana. Smjernice su dane samo za sobnu temperaturu.

Otkrivenje B - C

PLL se ne zaključava

EEPROM čitanje iz aplikacijskog koda ne radi u načinu zaključavanja bitova 3

Čitanje EEPROM-a možda neće uspjeti pri malom volumenu napajanjatage / niska taktna frekvencija

Generiranje izlaza PWM brojača brojača vremena 1 na OC1B-XOC1B ne radi ispravno

PLL se ne zaključava

Kada je na frekvencijama ispod 6.0 ​​MHz, PLL se neće zaključati

Rješavanje problema / rješenje

Kada koristite PLL, pokrenite na 6.0 MHz ili više.

EEPROM čitanje iz aplikacijskog koda ne radi u načinu zaključavanja bitova 3

Kada su bitovi za zaključavanje memorije LB2 i LB1 programirani u način 3, EEPROM očitanje ne radi iz aplikacijskog koda.

Rješavanje problema / zaobilaženje

Ne postavljajte način zaštite zaključavanja bitova 3 kada kod aplikacije treba čitati s EEPROM-a.

Čitanje EEPROM-a možda neće uspjeti pri malom volumenu napajanjatage / niska taktna frekvencija

Pokušaj čitanja EEPROM-a na niskim taktnim frekvencijama i/ili malom volumenu napajanjatage može rezultirati nevažećim podacima.

Rješavanje problema / rješenje

Nemojte koristiti EEPROM kada je frekvencija takta ispod 1MHz i volumen napajanjatage je ispod 2V. Ako se radna frekvencija ne može povisiti iznad 1MHz, tada se obtage bi trebao biti veći od 2V. Slično, ako opskrba voltage se ne može povisiti iznad 2V tada bi radna frekvencija trebala biti veća od 1MHz.

Poznato je da je ova značajka ovisna o temperaturi, ali nije karakterizirana. Smjernice su dane samo za sobnu temperaturu.

Generiranje izlaza PWM brojača brojača 1 na OC1B - XOC1B ne radi ispravno

Izlaz brojača vremena 1 PWM OC1B-XOC1B ne radi ispravno. Samo u slučaju kada su upravljački bitovi COM1B1 i COM1B0 u istom načinu rada kao COM1A1, odnosno COM1A0, izlaz OC1B-XOC1B radi ispravno.

Rješavanje problema / zaobilaženje

Jedino zaobilazno rješenje je korištenje iste kontrolne postavke na upravljačkim bitovima COM1A [1: 0] i COM1B [1: 0], pogledajte tablicu 14-4 u tehničkom listu. Problem je riješen za Tiny45 rev D.

Vlč

Prevelika potrošnja električne energije

DebugWIRE gubi komunikaciju kada pojedinačno prelazi u prekide

PLL se ne zaključava

EEPROM čitanje iz aplikacijskog koda ne radi u načinu zaključavanja bitova 3

Čitanje EEPROM-a možda neće uspjeti pri malom volumenu napajanjatage / niska taktna frekvencija

Prevelika potrošnja električne energije

Tri situacije će dovesti do previsoke potrošnje električne energije. Ovi su:

Vanjski sat odabiru osigurači, ali I / O PORT je i dalje omogućen kao izlaz.

EEPROM se očitava prije ulaska u napajanje.

VCC je 4.5 volti ili veći.

Odricanje od odgovornosti: Informacije u ovom dokumentu dane su u vezi s Atmel proizvodima. Ovim dokumentom ili u vezi s prodajom Atmelovih proizvoda ne daje se nikakva licenca, izričita ili implicitna, estoppelom ili na drugi način, za bilo koje pravo intelektualnog vlasništva. OSIM KAKO JE NAVEDENO U ATMEL UVJETIMA I ODREDBAMA PRODAJE KOJI SE NALAZE NA ATMEL-U WEBMJESTA, ATMEL NE PREUZIMA NIKAKVU ODGOVORNOST I ODRIČE SE BILO KAKVOG IZRIČITOG, IMPLICITNOG ILI ZAKONSKOG JAMSTVA KOJE SE ODNOSI NA NJEGOVE PROIZVODE, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA, IMPLICITNO JAMSTVO PRODAJE, PRIKLADNOSTI ZA ODREĐENU NAMJENU ILI NEKRŠENJA. ATMEL NI U KOM SLUČAJU NEĆE BITI ODGOVORAN ZA BILO KAKVU IZRAVNU, NEIZRAVNU, POSLJEDIČNU, KAZNENU, POSEBNU ILI SLUČAJNU ŠTETU (UKLJUČUJUĆI, BEZ OGRANIČENJA, ŠTETU ZBOG GUBITKA I DOBITI, PREKIDA U POSLOVANJU ILI GUBITKA INFORMACIJA) KOJA PROIZLAZI ZRAK UPOTREBE ILI NEMOGUĆNOSTI OVAJ DOKUMENT, ČAK I AKO JE ATMEL UPOZOREN O MOGUĆNOSTI TAKVE ŠTETE.

Atmel ne daje nikakva zastupanja niti jamstva u pogledu točnosti ili potpunosti sadržaja ovog dokumenta i zadržava pravo izmjene specifikacija i opisa proizvoda u bilo kojem trenutku bez prethodne najave. Atmel se ne obvezuje ažurirati ovdje sadržane informacije. Osim ako nije drugačije navedeno, Atmel proizvodi nisu prikladni i ne smiju se koristiti u automobilskim aplikacijama. Atmel proizvodi nisu namijenjeni, ovlašteni ili zajamčeni za upotrebu kao komponente u aplikacijama namijenjenim održavanju ili održavanju života.

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *