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,
nyissa meg és válassza ki az új projektet, és válassza ki a hex fájl helyét a következő képen
a következő lépés a mikrokontroller család kiválasztása
ezután megkapja a következő ablakot indító kóddal
és most írja be a következő kód
a következő lépés az épület a program megnyomásával F7
ezután megtalálja a hex fájlt a kiválasztott helyen
a következő lépés a Proteus szimulátor használata
és most hozzon létre egy sematikus a kiválasztott sablon
és válassza ki ne hozzon létre egy PCB elrendezés
végül végeztünk, de hozzá kell adnunk a hex fájlt, mint a következő képen
most szerkessze a CKSEL biztosítékokat
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