Microchip ATmega328P

ATmega328P er en 8-bit AVR-mikrokontroller med RISC-arkitektur. Dette opslag handler om selve chippen, ikke Arduino Uno-printkortet. Chippen blev brugt som hovedmikrokontroller i den klassiske Arduino Uno R3.

Hukommelse og lagring

LagerStørrelseBrug
Flash32 KBProgramkode; dele af Flash kan reserveres til bootloader afhængigt af konfiguration.
SRAM2 KBFlygtig arbejdshukommelse til globale variable, stak og data under kørsel.
EEPROM1 KBIkke-flygtig datalagring, der bevares uden strøm. Har begrænset antal skrive-/slettecyklusser.

Pakke, ben og I/O

EgenskabSpecifikationBemærkning
Ben/pads pr. pakke28-pin SPDIP; 32-lead TQFP; 28- eller 32-pad VQFNDen klassiske Uno R3 med gennemhulskomponent bruger normalt 28-pin PDIP-udgaven. Overflademonterede varianter har andre pakker.
Programmerbare GPIO23GPIO-funktioner deler ben med ADC, timer/PWM og serielle grænseflader. Ikke alle ben er frie i enhver pakke eller kredsløbsopsætning.
Driftsspænding1,8–5,5 VTilladt clockfrekvens afhænger af forsyningsspændingen; se clocktabellen.

Kommunikation og indbyggede funktioner

FunktionAntal / egenskabDetalje
USART1Programmerbar seriel kommunikation; kan konfigureres til UART.
SPI1Seriel synkron bus, controller- eller peripheral-tilstand.
TWI1To-ledningsinterface kompatibelt med I²C.
ADC10 bit6 kanaler i SPDIP-pakken; databladet angiver 8 kanaler i relevante TQFP/VQFN-varianter.
DACIngenChippen har ikke en indbygget digital-til-analog-konverter. PWM er digital udgang og ikke en ægte DAC.
Timere/tællere2 × 8 bit, 1 × 16 bitTimerfunktioner understøtter blandt andet tidsmåling, sammenligning og PWM.
PWM6 kanalerUdgangsfunktion fra timerne; PWM giver en pulserende digital spænding.
ØvrigtRTC-timer, watchdog, analog komparatorRTC-timeren kan bruge en separat oscillator; chippen har også intern kalibreret oscillator.

Clock og beregningsydelse

Forsyning (VCC)Databladets frekvensområdeTypisk Uno R3
1,8–5,5 VOp til 4 MHz—
2,7–5,5 VOp til 10 MHz—
4,5–5,5 VOp til 20 MHz16 MHz

Databladet angiver en gennemstrømning på op til 20 MIPS ved 20 MHz og bemærker, at mange instruktioner udføres på én clockcyklus. MIPS er et teoretisk maksimum, ikke et sikkert mål for et programs hastighed: instruktioner, ventetider og programarbejde påvirker den faktiske ydelse. Til sammenligning er arkitektur og clockfrekvens normalt mere nyttige at oplyse.

Uno R3's velkendte 16 MHz er boardets clockkonfiguration, ikke en egenskab ved alle ATmega328P-anvendelser. Clockkilde og frekvens fastlægges af det omgivende kredsløb og skal overholde databladets spændings-/frekvensgrænser.

Kilder og relateret