ATmega328P е един от най-популярните в света микроконтролери, подходящи за „направи си сам“. Този едночипов микроконтролер е добър избор за онези, които се впускат в електрониката „Направи си сам“ и се намира в най-новото поколение Arduino Unos (заедно с други микроконтролерни платки). Но какво трябва да знаете за ATmega328P, преди да започнете да използвате своя Arduino?
Какво представлява микроконтролер ATmega328P?
Създаден от Atmel, ATmega328P е едночипов микроконтролер, базиран на 8-битово RISC процесорно ядро. Този малък микроконтролер е с ниска мощност и достъпна цена, което го прави отличен избор за различни приложения, включително проекти „Направи си сам“, които искате да направите.
Чипът ATmega328P е представен като важна част от Arduino от много години. Arduino Uno използва този микроконтролер, заедно с платките Arduino Pro Mini и Arduino Nano. Това го прави изключително често срещан в пространството на електрониката „Направи си сам“ и си струва да научите за неговите възможности, ако планирате да използвате тези платки.
Arduino платки, използващи микроконтролера ATmega328P
ATmega328P се намира на микроконтролерните платки Arduino Uno и Arduino Nano, два от най-популярните продукти на Arduino. Можете също така да закупите този чип като самостоятелен продукт, ако искате да го изпробвате без микроконтролерна платка, въпреки че това ще бъде труден начин да започнете. Можете да използвате нашето удобно ръководство, за да научите за различни видове микроконтролерни платки Arduino.
Спецификации на лист с данни ATmega328P
ATmega328P има изненадващо плътен лист с данни за такъв малък чип. Има редица спецификации, с които трябва да сте запознати, преди да започнете да пишете код за вашия микроконтролер. Разбихме ги, за да улесним разбирането на ограниченията и ограниченията на този чип. Нека започнем с основните спецификации, за да ви дадем представа как се оформя ATmega328P.
- ПРОЦЕСОР: 8-битов AVR с максимална скорост 20MHz
- Флаш памет: 32kB вградена флаш памет
- SRAM: 2kB
- EEPROM: 1kB
- Брой пинове: 28 или 32 (в зависимост от вида на опаковката)
- Капацитивни сензорни канали: 16
- Максимален брой I/O пинове: 23
- Външни прекъсвания: 2
Всяка от тези различни спецификации играе своя собствена роля, за да направи ATmega328P толкова подходящ за използване с развойни платки като Arduino. Но какво всъщност означава нещо от това?
- ПРОЦЕСОР: Централният процесор на чипа ATmega328P е 8-битов процесор, базиран на AVR RISC. RISC означава „компютър с намален набор от инструкции“ и е вид процесор, предназначен да опрости отделните задачи, които компютърът изпълнява. За разлика от това, процесорът Intel или AMD на вашия компютър вероятно е процесор CISC (компютър със сложен набор от инструкции).
- Флаш памет: Flash е вид енергонезависима памет, която се използва за постоянно съхранение. ATmega328P е оборудван само с 32kB флаш памет, въпреки че това е достатъчно за много код. Можете да научите за разликите между енергонезависима и енергонезависима памет на уебсайта на MUO.
- SRAM: SRAM означава "статична памет с произволен достъп". Тази памет играе същата роля като RAM във вашия компютър, като предоставя на чипа ATmega328P временна памет за съхраняване на данни и променливи, докато преминава през код.
- EEPROM: Това е вид байтова изтриваема памет, използвана за съхраняване на малки количества данни. За разлика от SRAM, EEPROM е енергонезависима и ще запази данните си, когато чипът ATmega328P не се захранва.
ATmega328P Pinout Diagram
Диаграмата на pinout на ATmega328P по-горе показва различните щифтове на ATmega328P DIP чипа и щифтовете на платка Arduino Uno. Това трябва да ви даде добра представа за това как този чип и популярната микроконтролерна платка работят заедно.
ATmega328P е универсален чип с разнообразни приложения. Като такива, редица различни пакети са налични за този чип, всички в различни форми и с различни видове олово. TQFP (четвъртен плосък пакет), MLF/VQFN (микро водеща рамка или четириплоски без изводи) и DIP (двоен редов пакет) са най-често срещаните от тези пакети.
Истинските платки Arduino Uno използват DIP варианта на чипа ATmega328P (известен още като ATmega328P-PU) и това означава, че чипът може да бъде премахнат и заменен (за разлика от ATmega328P-AU). Други типове платки Arduino използват различни ATmega чипове от типа quad-flat package и те не могат да бъдат премахнати.
Ограничения на ATmega328P и Arduino Uno
Както при всеки микроконтролен чип, ATmega328P идва с определени ограничения, които трябва да се имат предвид, преди да решите да работите с него. Тези ограничения се отнасят и за платките Arduino, които използват тези чипове.
Нисък бюджет на SRAM
Чипът ATmega328P идва с 2kB SRAM и това е достатъчно за повечето проекти. За тези, които искат да използват множество библиотеки и код с много променливи обаче, може лесно да изчерпят SRAM, което да доведе до неуспех на програмата ви.
Програмистите, работещи с платки Arduino, имат голям контрол върху управлението на паметта благодарение на използването на C++. Текст, изображения и други предварително създадени активи могат да се съхраняват във флаш памет като начин за освобождаване на допълнителна памет за програмите, които изпълнявате, подобрявайки бюджета си за SRAM.
Ограничена процесорна мощност
20Hz CPU, намиращ се в чипа ATmega328P, е чудесен за изпълнение на прост код, но предлага ограничена процесорна мощност за сложни приложения. Това означава, че не е подходящ за неща като разпознаване на реч, задълбочено обучение или други обичайни задачи на микроконтролера.
Разрешаването на този проблем не е възможно с ATmega328P. Ако имате нужда от повече мощност, ще трябва да потърсите по-подходяща микроконтролерна платка за вашата задача би искал да изпълни, но на пазара има много опции, които да ви дадат достъп до това, от което се нуждаете.
Предимства на ATmega328P и Arduino Uno
Наред с ограниченията на ATmega328P, има и предимства, които идват с използването на чип като този. Те често надвишават ограниченията на микроконтролера за прости проекти, особено ако сте нов в работата с микроконтролери.
- Достъпност: Чипът ATmega328P е достъпен и лесен за намиране, което го прави идеален за евтини DIY проекти. Благодарение на голямата стойност на този чип, Arduino Uno също е много достъпна платка.
- Лесна употреба: Създаден с мисъл за потребителите, ATmega328P е лесен за използване в сравнение с други микроконтролерни чипове, което го прави идеален за тези, които започват със собствени проекти „Направи си сам“.
- Самостоятелен чип: Чипът ATmega328P може да се използва самостоятелно или с микроконтролерна платка като Arduino Uno.
Научаване за ATmega328P и Arduino Uno
В мрежата има много ресурси, които са предназначени да ви помогнат да започнете с Arduino Uno и ATmega328P, които използва. Струва си да отделите време за изучаване на този хардуер, преди да започнете следващия си проект за микроконтролер, давайки си представа за ограниченията и предизвикателствата, с които може да се сблъскате по пътя.