Mister - X - vagy atxmega (a atxmega32a4 példa) Quick Start

Összehasonlítva a sorozat ATmega és ATTINY ATXmega szerzett elég sok legvadabb szép zsemle, nevezetesen:

Az órajel-frekvencia a 32MHz.

Aritmetikai logikai egység (ALU). Most a jele annak, hogy a barátok, mert MK képes dolgozni velük hardvarnogo!

Többszintes (nevezetesen, 3. szint) megszakítás vezérlő.

Kezdje MK alapértelmezett taktorivaniya rendszer, és a választás a jobb közvetlenül a kódot. Most baj beállítás Fyuz lehetetlen, amikor kiválasztják a időmérő rendszer :)

PDI (2 huzalok, amelyek föld és az élelmiszer) és szoftver-hibakeresés 4-vezetékes interfész. Varrni és a hibakeresést keresztül ugyanazon a kis csatlakozó vadul hűvös véleményem :)

És sok zsemle, amely megtalálható a mi ugatás barátok

Ugyanez most teljesen lényegtelen, hogy az RC áramkör a RESET láb, de rezyukom a 10k kell húzta fel a tápegység.

Az egyetlen dolog, ami lehet egy kicsit zavaró újonc az átmenet a klasszikus AVR vezérlők -, hogy XMEGA sorozat igényel 3.3V kínálat. Sietek megnyugtatni, ez a követelmény nem olyan nehéz, mint amilyennek látszik. Miután egy sor embertelen kísérletekben azt találták, hogy MC remekül működik még a 4.2V, 5V röviden nyújtottak be, az MC nem is tüsszentés. Így táplálják a jelszintek 5V, és MK csendesen dolgozott velük anélkül, hogy elveszítené a teljesítményt.

időmérő rendszer
másféleség

Gyors kezdési időpont
Biztonságos szinkronizálása kapcsolási működés közben
A belső oszcillátor:
A belső RC-oszcillátor frekvenciája 32 MHz-es, automatikus kalibrálási
A belső RC-oszcillátor frekvenciája 2 MHz-es, automatikus kalibrálási
Belső kalibrált RC-oszcillátor frekvenciája 32 kHz
32 kHz-es sverhmalopotreblyayuschy első generátor (ULP-generátor)
Külső szinkronizáció forrásai
A kristály oszcillátor frekvencia 0,4 MHz ... 16
A kristály oszcillátor frekvencia 32,768 kHz
Külső szinkronizáló jel
PLL belső és külső források szinkronizálás és a frekvencia szorzó 1-31
Frekvenciaosztók szinkronizálás elosztjuk arány 1-2048
A gyors szinkronizálást IOCTL, 2 és 4-szer a processzor órajelét
Automatikus kalibráció belső oszcillátor
Kimutatása a kvarc oszcillátor hiba
Indításkor vagy alaphelyzetbe IC indul egy belső RC-oszcillátor frekvenciája 2 MHz-es. És akkor meg kell választani a kódot, hogy meg kell (ha szükséges, természetesen). Személy szerint én már a belső RC-oszcillátor frekvenciája 32 MHz, a stabilitása kielégíti az igényeimet.

Íme:


Minden egyszerű:
Mivel az elején mi is a munka a belső 32MHz órajel és olyan volt, mint kezdeni, és várjuk a hurok, amíg elkészíti, tobish gyakorisága nem állapítható meg, és ez lesz alkalmas, amit jelenteni kicsit RC32MRDY. Majd írunk az értéket a regisztrációhoz CCP. ezáltal lehetővé teszi számunkra, hogy zavarja Regisztráció CLK_CTRL. amely védett. De van még egy zsemle! Ahhoz, hogy engedélyezze az új biztonságos input-output nyilvántartás vagy végre egy biztonságos útmutató időintervallumban legfeljebb 4, a CPU utasítás ciklus után a nyilvántartást kell írásbeli CCP megfelelő aláírást. Minden megszakítások során észlelt ezen időköz figyelmen kívül hagyja, és annak lejártakor - a feldolgozott szintjének megfelelően és a prioritást. Ez csak 0xD8 és lehetővé teszi számunkra a következő 4 ciklusban változik az értéke a védett nyilvántartásba. Felbontás kapott, és nyilvántartást CLK_CTRL mondják, hogy „óraciklus a forrás (ebben az esetben a belső óra 32MHz)».

Más módszerek időmérő ugyanaz az elv, az egyetlen nyilvántartásokban.

És így, már kiválasztotta a kívánt frekvencia most szükséges, hogy egyfajta «Helló, világ!» A stílus az MC, azaz villogni a LED. És erre meg kell tanulni együtt dolgozni input-output portok.

Egy sor XMEGA dolgozni kikötők hasonló kikötők AVR klasszikus, de van még sok más kellemes legvadabb plüss, nevezetesen:

Együttműködik a port már 3 nyilvántartások. Cél IO vonal a felhasználó által beállítható programot. Minden port az alábbi sorokat ellenőrzési nyilvántartások / be: irány regiszter (DIR), az adatok kimeneti regiszterbe (OUT). Hogy feltérképezzük a állam a vonalak / adatokat biztosít bemeneti regiszter (IN), és további funkciók az egyes sorok / in keresztül lehet beállítani a konfigurációs regiszter bemeneti-kimeneti vonalon (PINnCTRL. Amennyiben n-számú sorok / in).

n vonal irányában meghatározza egy külön bit Dirn irányba DIR regiszter. Ha a bit Dirn hogy az egység, a sor n fog működni, mint egy konnektorba. Ha a bit Dirn tett nullával egyenlő, akkor a sor fog működni, mint egy bemeneti. Ha a vonal van kialakítva, amely a termelés, a bit regiszter OUTn OUT határozza meg az állapotát. Írásban egységet a bit OUTn létrehozásához vezet, magas szintű n sorban, és a nulla bejegyzés - alacsony szinten.

A felmérés vonal állapot regiszter biztosított. Poll vonal állapotát lehet végezni, függetlenül attól, a vonal bemeneti vagy kimeneti, kivéve, ha a digitális bemeneti fokozat van tiltva. Miután a továbbító eszköz egy reset állapotban, mind a vonalak / a, függetlenül attól, hogy a tevékenység a szinkronizálás lesz a nagy impedanciájú állapotban.

A regisztrációhoz DIR OUT és kiegészítő nyilvántartásokban rögzíteni. CLR. GL ahol SET - állítsa be az értéket, CLR - törli az értéket, GL - fordítsa az érték a kívánt bit felvevő egységgel a szükséges bitek egy ilyen nyilvántartások, attól függően, hogy mire van szükségünk. Mindez nem zárja ki számunkra, hogy a DIR nyilvántartás és OU T a klasszikus AVR.
Igazából nem az elején a tanulmány az MC:


Továbbá, minden port támogatja bármilyen konfigurációban 2 lába a külső megszakítás, miközben egy külön vektor az egyes 2 megszakítás a port.

További információk az input-output portok itt olvasható

Multi-szintű programmegszakítás vezérlőnek

Mivel már említettük a munka megszakításokkal, meg kell beszélni, hogyan kell dolgozni ezeket a megszakításokat.
És igen, van 2 fajta megszakítást engedélyező. Global engedélyt, ami történik meg, hogy egy kicsit sreg nyilvántartásban:

De ez a művelet nem engedélyezett a munka megszakításokkal, mert előtte meg kell igazodnia megszakítani vezérlő. Íme:

Ebben a példában hagyjuk összes megszakítási szintet, amely mint lehet érteni 3. példa megszakít egy magasabb szintű akkor is előfordulhat során alacsony szintű programmegszakítás, és egy alacsony-szintű programmegszakítás nem szakít meg egy magasabb szintre.

Ez a cikk vegye figyelembe a bevezető része MK sorozat XMEGA. Az ő célja az volt, hogy az első indítási azok számára, akik szeretnék olvasni ezt a sorozatot MK.
Én személy szerint nagyon tetszett ez a sorozat egyszerűen dolgozni vele, a szép shustrosti és tolerancia az embertelen kísérleteket.
Az alábbi cikk azt ismerteti, hogyan kell dolgozni a különböző felületek az MC.

Nos, vannak tranziensek. Tedd a tartályt a Reset, az időjárás nekik. Telepítéskor Fuse 0 ms, még mindig van egy késés N ms, és ha nincs beállítva, akkor az MK többször átmenet „rezet” olyan gyorsan, hogy nem volt ideje elindítani. Kiderült, hogy a telepítés során Fuse 0 ms, akkor ugyanaz N ms késleltetéssel. Nos, ha létrehoz egy késés az N ms, akkor ez felülírja az átmeneti folyamatok. Kiderül, hogy a kapacitás nincs szükség. A másik dolog, ha van egy kis „segítség” Schmitt-trigger növelésére időtartama a hiszterézis, ha rezet mászik akadályt a folyamat a MC (jó, például vizsgálati statika). Az összes jó már elfelejtette az egyik asszisztens - a BOI.

Általában AFAIK mindezek késedelmek számítanak csak a MK teljesítmény elérte a kívánt szintet, POR hagyjuk dolgozni. Annak érdekében, hogy a tranziensek a tápfeszültség MK telnie ered ez a késés. Meg kell várni egy „végső” stabilizáló hatást és hogy időt hagyjunk inicializálás más áramköri elemek, valamint stabilizálására egy kristály oszcillátor.