ATmega328P je eden najbolj priljubljenih DIY prijaznih mikrokrmilnikov na svetu. Ta mikrokrmilnik z enim čipom je dobra izbira za tiste, ki se podajajo v elektroniko DIY, in ga najdemo na najnovejši generaciji Arduino Unos (skupaj z drugimi ploščami mikrokrmilnikov). Toda kaj morate vedeti o ATmega328P, preden lahko začnete uporabljati svoj Arduino?
Kaj je mikrokrmilnik ATmega328P?
ATmega328P, ki ga je ustvaril Atmel, je mikrokrmilnik z enim čipom, ki temelji na 8-bitnem procesorskem jedru RISC. Ta majhen mikrokrmilnik je nizke porabe energije in cenovno ugoden, zaradi česar je odlična izbira za različne aplikacije, vključno s projekti DIY, ki jih želite narediti.
Čip ATmega328P je že vrsto let predstavljen kot pomemben del Arduina. Arduino Uno uporablja ta mikrokrmilnik skupaj s ploščama Arduino Pro Mini in Arduino Nano. Zaradi tega je izjemno pogosta v prostoru elektronike DIY, zato je vredno izvedeti o njenih zmožnostih, če nameravate uporabljati te plošče.
Plošče Arduino z uporabo mikrokrmilnika ATmega328P
ATmega328P najdemo na ploščah mikrokrmilnikov Arduino Uno in Arduino Nano, dveh najbolj priljubljenih izdelkov podjetja Arduino. Ta čip lahko kupite tudi kot samostojen izdelek, če ga želite preizkusiti brez mikrokontrolerske plošče, čeprav bo to zahteven način za začetek. Če želite izvedeti več o tem, lahko uporabite naš priročni vodnik različne vrste mikrokrmilniških plošč Arduino.
Specifikacije podatkovnega lista ATmega328P
ATmega328P ima presenetljivo gosto podatkovno listo za tako majhen čip. Preden začnete pisati kodo za svoj mikrokrmilnik, se morate zavedati številnih specifikacij. Te smo razčlenili, da bi lažje razumeli omejitve in omejitve tega čipa. Začnimo z osnovnimi specifikacijami, da boste dobili predstavo o tem, kako se oblikuje ATmega328P.
- procesor: 8-bitni AVR z največjo hitrostjo 20MHz
- Flash pomnilnik: 32 kB vgrajena bliskavica
- SRAM: 2kB
- EEPROM: 1kB
- Število pinov: 28 ali 32 (odvisno od vrste paketa)
- Kapacitivni kanali na dotik: 16
- Največje V/I zatiči: 23
- Zunanje prekinitve: 2
Vsaka od teh različnih specifikacij ima svojo vlogo pri ustvarjanju ATmega328P tako primernega za uporabo z razvojnimi ploščami, kot je Arduino. Toda kaj vse to dejansko pomeni?
- procesor: CPU na čipu ATmega328P je 8-bitni CPE, ki temelji na AVR RISC. RISC pomeni "računalnik z zmanjšanim naborom ukazov" in je vrsta procesorja, zasnovanega za poenostavitev posameznih nalog, ki jih računalnik izvaja. Nasprotno pa je procesor Intel ali AMD vašega osebnega računalnika verjetno procesor CISC (complex instruction set computer).
- Flash pomnilnik: Flash je vrsta obstojnega pomnilnika, ki se uporablja za trajno shranjevanje. ATmega328P je opremljen s samo 32 kB bliskovnega pomnilnika, čeprav je to dovolj za veliko kode. Lahko se naučite o razlike med hlapnim in obstojnim pomnilnikom na spletni strani MUO.
- SRAM: SRAM pomeni "statični pomnilnik z naključnim dostopom". Ta pomnilnik igra enako vlogo kot RAM v vašem računalniku in zagotavlja čipu ATmega328P začasen pomnilnik za shranjevanje podatkov in spremenljivk, medtem ko teče skozi kodo.
- EEPROM: To je vrsta bajtno izbrisljivega pomnilnika, ki se uporablja za shranjevanje majhnih količin podatkov. Za razliko od SRAM-a je EEPROM nehlapen in bo obdržal svoje podatke, ko čip ATmega328P ni napajan.
ATmega328P Pinout Diagram
Zgornji diagram pinout ATmega328P prikazuje različne nožice na čipu ATmega328P DIP in nožice na plošči Arduino Uno. To bi vam moralo dati dobro predstavo o tem, kako ta čip in priljubljena mikrokontrolerska plošča delujeta skupaj.
ATmega328P je vsestranski čip z različnimi aplikacijami. Tako je za ta čip na voljo več različnih paketov, vsi v različnih oblikah in z različnimi vrstami svinca. TQFP (quad-flat package), MLF/VQFN (micro leadframe ali quad-flat brez vodnikov) in DIP (dual in-line package) so najpogostejši izmed teh paketov.
Originalne plošče Arduino Uno uporabljajo različico DIP čipa ATmega328P (tudi ATmega328P-PU), kar pomeni, da je čip mogoče odstraniti in zamenjati (za razliko od ATmega328P-AU). Druge vrste plošč Arduino uporabljajo različne čipe ATmega v paketu quad-flat in teh ni mogoče odstraniti.
Omejitve ATmega328P in Arduino Uno
Kot pri vsakem mikrokrmilniškem čipu ima tudi ATmega328P določene omejitve, ki jih je treba upoštevati, preden se odločite za delo z njim. Te omejitve veljajo tudi za plošče Arduino, ki uporabljajo te čipe.
Nizek proračun SRAM
Čip ATmega328P ima 2 kB SRAM-a, kar je dovolj za večino projektov. Za tiste, ki želijo uporabljati več knjižnic in kodo z veliko spremenljivkami, pa lahko zlahka zmanjka SRAM-a, kar povzroči, da vaš program ne uspe.
Programerji, ki delajo s ploščami Arduino, imajo zaradi uporabe C++ velik nadzor nad upravljanjem pomnilnika. Besedilo, slike in druga vnaprej pripravljena sredstva lahko shranite v bliskovni pomnilnik kot način za sprostitev dodatnega pomnilnika za programe, ki jih izvajate, in tako izboljšate svoj proračun SRAM.
Omejena procesorska moč
20Hz CPE na čipu ATmega328P je odličen za izvajanje preproste kode, vendar ponuja omejeno procesorsko moč za kompleksne aplikacije. To pomeni, da ni primeren za stvari, kot so prepoznavanje govora, poglobljeno učenje ali druge pogoste naloge mikrokrmilnika.
Rešitev te težave ni mogoča z ATmega328P. Če potrebujete več moči, boste morali poiskati primernejšo mikrokrmilniško ploščo za vašo nalogo bi radi opravljali, vendar je na trgu veliko možnosti, ki vam omogočajo dostop do tistega, kar potrebujete.
Prednosti ATmega328P in Arduino Uno
Poleg omejitev ATmega328P obstajajo tudi prednosti, ki jih prinaša uporaba takšnega čipa. Te pogosto odtehtajo omejitve mikrokrmilnika za preproste projekte, še posebej, če šele začnete delati z mikrokrmilniki.
- Cenovna dostopnost: Čip ATmega328P je cenovno ugoden in ga je enostavno najti, zaradi česar je idealen za nizkocenovne DIY projekte. Zahvaljujoč veliki vrednosti tega čipa je Arduino Uno tudi zelo dostopna plošča.
- Enostavnost uporabe: ATmega328P, narejen z mislijo na potrošnike, je enostaven za uporabo v primerjavi z drugimi mikrokontrolerskimi čipi, zaradi česar je idealen za tiste, ki začenjajo z lastnimi projekti DIY.
- Samostojni čip: Čip ATmega328P se lahko uporablja samostojno ali z mikrokrmilniško ploščo, kot je Arduino Uno.
Spoznavanje ATmega328P in Arduino Uno
V spletu je veliko virov, ki so zasnovani tako, da vam pomagajo pri začetku uporabe Arduino Uno in ATmega328P, ki ga uporablja. Preden začnete z naslednjim mikrokrmilniškim projektom, se splača porabiti čas za učenje o tej strojni opremi in si tako ustvariti predstavo o omejitvah in izzivih, s katerimi se lahko srečate na tej poti.