lépésről lépésre útmutató a mikrokontroller programozásához

ez egy lépésről lépésre útmutató azok számára, akik a mikrokontroller programozásával szeretnének kezdeni. A cikk néhány alapvető kifejezés bevezetésével kezdődik, amelyeket az útmutatóban, az eszközök listájában, a programozási nyelvekben és a végén egy letölthető kód példájával, lépésről lépésre, amelyet felhasználhat a mikrokontroller programozásának gyakorlására.

de mielőtt a mikrokontroller programozásába merülne. Határozzuk meg az első két alapvető kifejezést: Hardver és szoftver.

a hardver a rendszer fizikai összetevőiből áll, például chipekből, billentyűzetből, egérből, monitorból, memóriákból, I/O eszközökből. A hardvert nehezebb fejleszteni a szoftverhez képest, nagyon speciális alkalmazásokhoz kell tervezni, és nagyon hatékony és tökéletes megoldás nagy sebességű rendszerekben.

a Szoftver a hardveren futó nem fizikai összetevők vagy alkalmazások, például operációs rendszerek, számítógépes játékok és hálózati alkalmazások. A szoftver nagyon konfigurálható, könnyen és gyorsabban fejleszthető, a hardverhez képest is nagyon olcsó.

mi a mikrovezérlő

ahhoz, hogy megértsük, mi a mikrovezérlő, először meg kell értenünk, mi a mikroprocesszor vagy a CPU (központi feldolgozó egység). A CPU minden számítógépes rendszer szíve, olyan, mint az emberi agy egy feladat végrehajtásakor. Alapvetően két alapvető részre oszthatjuk:

vezérlőegység: ez az egység az adatok memóriából történő lekérésére szolgál.

végrehajtási egység: ez az egység az adatok végrehajtására vagy futtatására szolgál.

A processzorok típusai

a processzorok számos kategóriája létezik, mint például az általános célú processzorok, az alkalmazásspecifikus rendszerprocesszorok és a többprocesszoros rendszerek. Az általános célú processzornak számos típusa van:

6260>

6869> 6260>

6869> 6260>

a mikroprocesszor egy félvezető eszköz vagy egy chipen lévő számítógép, de nem teljesen működőképes számítógép. A központi processzoregység

xhamsterből

xhamsterből

programszámlálóból

nyilvántartásból

)

a mikrokontroller egy olyan IC, amely mikroprocesszort és néhány perifériát tartalmaz, hogy teljes funkcionális számítógép legyen, perifériák pl. ADC, RAM, ROM, DAC.

a mikrokontroller története

eredetileg az Intel corporation volt a mikrokontrollerek első gyártása. Az első mikrokontrollert 1971-ben gyártották az Egyesült Államokban. Ez egy 4 bites mikrokontroller volt, i4004 néven. Ez utóbbi időben az Intel kifinomultabb modelleket gyártott abban az időben egy 8 bites mikrovezérlővel, majd ezt követően a Toshiba kifejlesztett egy 12 bites mikrovezérlőt.

mikrovezérlők alkalmazásai

a Mikrovezérlőknek számos alkalmazása van számos iparágban, pl. autóipar, orvosi, ipari automatizálás, repülőgépipar, robotika.

az autóiparban például a modern autók manapság több mint 100 mikroprocesszorral rendelkeznek olyan rendszerekhez, mint a légkondicionáló, az ABS, az EBD és az ADAS vagy a fejlett vezetéstámogató rendszerek, például az adaptív curies vezérlő és a lane assist, az alábbiakban egy ECU vagy elektronikus vezérlőegység képe látható.

az orvosi területen vannak olyan orvostechnikai eszközök, amelyek mikrokontrollereket tartalmaznak, például MRI, glükóz tesztkészlet, hordozható EKG. A következő kép egy glükóz teszt eszköz.

a repülőgépiparban a legtöbb repülőgépet új, mikrokontrollereket használó repüléstechnikai rendszerekkel tervezték. Ezen kívül vannak repülésirányító rendszerek, légiforgalmi irányító rendszerek, navigációs és időjárási rendszerek, amelyek mind mikrokontrollereken alapulnak.

népszerű mikrovezérlők

számos mikrovezérlő típus és platform létezik, de a mikrovezérlő kiválasztása sok tényezőtől függ:

▪ Alkalmazás

▪ Költségvetés

▪ Teljesítmény

▪ Száma GPIO csapok

▪ Memória mérete

▪ Hőmérséklet működési környezet

▪ fogyasztás

AVR Mikrokontroller

A következő képet tartalmaz egy blokk diagram AVE12DA, az egyik legnépszerűbb mikrokontroller famlily — az AVR mikrokontroller:

AVR microcontrollers által termelt Atmel corporation (ma: Mikrochip), az Atmel 6 család AVR mikrokontroller, 4 család általános célú mikrokontroller és 2 speciális célú mikrokontroller. Általános célú mikrokontrollerek:

8 bites-mega AVR

8 bites-apró

▪ 8 & 16 bit-AVR Xmega

32 bit – AVR

speciális célú mikrokontrollerek:

6260>

6869>autóipar AVR

autóipar AVR, a nevéből, hogy már kifejlesztett autóipari alkalmazások. Nagyon magas hőmérsékleten, akár 150 Celsius fokig is működhet, és rövidzárlati problémák esetén védelmi rendszereket tartalmaz.

Battery management a mikrokontrollert az akkumulátorkezelő rendszerekhez fejlesztették ki a töltési és kisütési műveletek biztosítására.

példák az AVR platformokra

argentinok Arduino UNO

argentinok Adafruit Blue fruit Micro

argentinok Raspduino

argentinok Digispark Pro

ARM mikroprocesszor/mikrokontroller

arm mikroprocesszor is a világ legnépszerűbb processzora, különösen a fogyasztói alkalmazásokban. Lehet, hogy van ARM processzor alapú eszköze, de nem tudja! Az ARM többnyire minden sikeres 32 bites beágyazott rendszer kulcsfontosságú eleme. Az első karot 1985-ben fejlesztették ki.

RISC technológia

az ARM a RISC technológiát használja, a RISC a csökkentett utasításkészletű számítógépet jelenti, ez egy tervezési filozófia, amely egyszerű utasításokat szállít egyetlen cikluson belül. Inkább a szoftverre támaszkodik. Másrészt a CISC technológia inkább a hardverre támaszkodik.

a RISC technológia a processzor utasításkészletének csökkentésére összpontosít. Másrészt a CISC processzor nem rögzített számú utasításkészlettel rendelkezik.

ARM jellemzők

az Arm számos funkcióval rendelkezik minden beágyazott rendszertervező számára, pl. alacsony energiafogyasztás kompakt mérete miatt, a nagy kódsűrűség is egy másik jellemző, mivel beágyazott rendszereket fejlesztünk, a legtöbb esetben korlátozott erőforrásokkal rendelkezünk.

az ARM-alapú mikrovezérlő belső szerkezete

ez az ábra a legtöbb ARM-alapú eszköz belső szerkezetét mutatja:

a dobozok funkciókat, a vonalak buszokat képviselnek. Beszéljünk többet minden alkatrészről részletesen:

^ az ARM processzor a fő összetevő, amely felelős a feldolgozási műveletekért

a vezérlők a rendszer funkcióinak koordinálására szolgálnak, mint memória és megszakításvezérlők

a perifériák a rendszer bemeneteinek és kimeneteinek biztosítására szolgálnak

a busz a rendszer különböző komponensei közötti adatcserére szolgál

példák ARM platformokra

számos eszköz és beágyazott platform létezik arm mikroprocesszorral, pl.

6260>

ons

Ft Málna Pi

mlm32f103c8t6

6868 NXP LPC1768

Egyéb mikrokontroller és platformok

mint mondtuk, mielőtt kiválasztja a mikrokontroller vagy platform függ számos tényező (költségvetés, csapok száma stb.…). Vannak más mikrokontrollerek és platformok is, pl.

ons mikrokontroller

▪ 8051

▪ ESP32

mindegy Motorola mikrokontroller

mikrokontroller szoftver-és hardvereszközök

a mikrokontroller létrehozása óta sokféle szoftver-és hardverfejlesztő eszköz létezik. Természetesen néhány eszköz használható különböző mikrokontroller típusokban, de néhány nagyon specifikus mikrokontrollerenként. Mielőtt elkezdené a mikrokontroller programozást, érdemes megismerkednie a mikrokontroller programozási eszközökkel és végül, de nem utolsósorban a fejlesztési folyamattal.

beágyazott fejlesztőeszközök használatával a következő eszközökre lehet szükségünk:

Assembler

ez egy olyan szoftvereszköz, amely az assembly forráskódját gépi kóddá alakítja, például (GNU assembler).

Fordító

ez egy olyan szoftver, amely a forráskódot egy magas szintű programozási nyelven assembly nyelvre vagy gépi kódra takarja. Összeállítás lehet:

natív: ez azt jelenti, hogy a fordítót és a generált kódot ugyanazon a gépen futtatja

++ kereszt: ez azt jelenti, hogy a fordítót egy gépen futtatja, a generált kód pedig egy másik gépen fut (processzor architektúra).

Linker and Locator

a linker egy olyan program, amely összegyűjti és összekapcsolja az összeállításokat, összeállítja a műveleteket, és egyetlen exe-t hoz létre.

a lokátor egy olyan programeszköz, amely a linker kimenet memóriatérképének megváltoztatására használható.

Simulator

ez egy olyan program, amely utánozza a valós forgatókönyv, termel közelítése a valós idejű rendszerek. A szimulátor használják:

6869 ha az igazi hardver nem áll rendelkezésre

6862 > veszélyes tesztkörnyezetek és forgatókönyvek

Debugger

ez egy szoftver program és hardver eszköz, amely lehet csatlakoztatni a PC-hez, hogy a beágyazott cél. Egy hibakeresőt használnak:

xhamstertörzsek

xhamstervégrehajtások nyomon követésére

ons memória kiürítésére

hardveres hibakereső is lehet

ca-áramköri hibakereső

GmbH fedélzeti hibakereső szoftver

Flash loader

ez egy olyan program és hardver eszköz, amely használható:

6869> program Rom/Flash

6869> 6869

profiler

Profiler egy eszköz teljesítményének ellenőrzésére a szoftver kód

integrált fejlesztői környezet

ez egy szoftver, amely a legtöbb eszközt minden a saját egy. Ez magában foglalhatja

▪ szövegszerkesztők

▪ Fordító

▪ Debuggers

▪ Profilozók

▪ Szimulátorok

▪ Linkers

Mikrokontroller Szoftver Nyelvek

Mi lehet osztályozni őket két csoportba:

magas szintű

C/C++

Argentina

Argentina

Argentina

ezzel a típussal biztosítja az absztrakciót a hardver szinten

alacsony szintű

gépi kód

It 0 és 1s, és nehéz írni az emberek, de könnyű a számítógépek megérteni

Assembly

ez egy emlékeztető kód és ál utasítások javítása olvashatóság

példák:

az utasítás mnemonikus (opcode) + operandusokból áll

az Opcode egy gépi processzor által végzett művelet

az operandusok a végső cél; az opcode-nak műveletet kell végrehajtania.

az Assembly nyelv jobban olvasható és érthető, mint a gépi kód, de egy adott processzoron kell használni, és ismernie kell az architektúráját.

C/C++ programozási nyelvek

a magas szintű nyelvek a következő tulajdonságokkal rendelkeznek

6869> könnyen írható

6869> hajlékony

Processzorfüggetlen

Anavar magas termelékenységű

mikrokontroller programozási példa AVR ATMEGA16 használatával 6166 >

az Atmega 16 A következő tulajdonságokkal rendelkezik:

▪ 16 Kb, A rendszer programozható, Egyéni flash memória

▪ 512 Bájt EEPROM

▪ 1 Kbyte Belső SRAM

▪ Programozási Lock biztonsági

Perifériás Funkciók

▪ Valós idejű Számláló Külön Oszcillátor

▪ Programozható Soros USART

▪ Négy PWM Csatorna

▪ 8-csatorna, 10 bites ADC

▪ On-chip Oszcillátor

▪ Power-on Többi, Barna-ki Észlelési

▪ Belső RC Oszcillátor Megszakítani Források

▪ Feszültség (2.7 v 5.5V)

LED villogó Program példa ATmeg16 és Proteus használatával

LED villogó program beágyazott rendszerekben, mint például a “hello world” program alkalmazásfejlesztésben. A következő példában a Proteus simulator segítségével futtathatja az első programot. A forrásfájlok letöltéséhez keresse fel ezt a mappát.

írja be a programot az Atmel studio

használatával az IDE letöltése után,

mikrokontroller programozás AVR

nyissa meg és válassza ki az új projektet, és válassza ki a hex fájl helyét a következő képen

mikrokontroller programozás AVR

a következő lépés a mikrokontroller család kiválasztása

mikrokontroller programozás AVR

ezután megkapja a következő ablakot indító kóddal

mikrokontroller programozás AVR

és most írja be a következő kód

mikrokontroller programozás AVR

a következő lépés az épület a program megnyomásával F7

mikrokontroller programozás AVR

ezután megtalálja a hex fájlt a kiválasztott helyen

mikrokontroller programozás AVR

a következő lépés a Proteus szimulátor használata

és most hozzon létre egy sematikus a kiválasztott sablon

 mikrokontroller programozás AVR

és válassza ki ne hozzon létre egy PCB elrendezés

mikrokontroller programozás AVR

végül végeztünk, de hozzá kell adnunk a hex fájlt, mint a következő képen

mikrokontroller programozás AVR

most szerkessze a CKSEL biztosítékokat

mikrokontroller programozás AVR

mentés és kattintson a lejátszás

és láthatjuk, hogy a LED ki van kapcsolva 500ms (bal oldali) és 500ms (jobb oldali)

Program magyarázat soronként

a forrásfájlok letöltéséhez keresse fel ezt a mappát.

#define f_CPU 100000UL // állandó létrehozásához és a processzor sebességének kiválasztásához

#include < avr/io.h>/ / a bemenetek és kimenetek egyes fájljainak visszahívása

#include < avr / delay.h> // hívja vissza ezt a fájlt a késleltetési funkciók használatához

int main(void){ // A kezdő funkció és a fő program

DDRA = 0b0000001; // az a pin konfigurálásához kimenetként / irányként

míg(1){ // a hurok örökre

PORTA = 0b00000001; // hogy a pa0 = 1 és a kimenet 5V (LED világít)

_delay_ms(500); // késleltetés fél másodpercig

PORTA = 0b0000000; / / a PA0 = 0 és a kimenet 0V (a LED ki van kapcsolva)

_delay_ms (500); / / késleltetés fél másodpercig

}

vissza 0;

} //a program vége

következtetés

manapság a beágyazott rendszereket létfontosságú termékekben használják, és sok ember védelmére és megmentésére használhatók, mint az orvosi területen és más alkalmazásokban. A mikrokontroller programozásának áttekintése és bemutatása után folytatnia kell a tanulást. A következő lépés a beágyazott szoftvertervezés és a valós idejű kiváltott rendszerek megtanulása.

https://www.faa.gov/regulations_policies/handbooks_manuals/aviation/phak/

AVR mikrokontroller és beágyazott rendszerek: Pearson Új Nemzetközi kiadás: Assembly és C használata, Muhammad Ali Mazidi, DeVry Egyetem

ARM Rendszer Fejlesztői útmutató rendszerszoftver tervezése és optimalizálása A Morgan Kaufmann sorozat számítógépes architektúra és Design könyv * 2004

Leave a Reply

Az e-mail-címet nem tesszük közzé.