Table of Contents

Placa de proiect - ATmega328P Xplained Mini

Prezentare generală

ATmega328P Xplained Mini este o placă de dezvoltare/evaluare Microchip pentru microcontrolerul ATmega328P (AVR pe 8 biți). Placa include un debugger/programator integrat (mEDBG), alimentare prin USB și acces la semnalele microcontrolerului prin headere compatibile cu stilul Arduino/Xplained. Placa este compatibilă cu Arduino Uno, păstrând formatul pinilor de intrare/ieșire.

Este potrivită pentru:

Informațiile de mai jos sunt extrase din documentația oficială Microchip a plăcii.


Caracteristici principale ale plăcii


Alimentare și configurare tensiuni

Placa poate fi alimentată în două moduri:

Detalii utile:

Dacă se montează header-ele de selecție (J300/J301) și se folosesc jumpere, rezistențele de bypass 0Ω aferente trebuie îndepărtate, altfel apare conflict de alimentare.


mEDBG (debugger/programator integrat)

mEDBG (Mini Embedded Debugger) oferă:

Virtual COM Port (serial peste USB)

Portul serial virtual este conectat la UART-ul ATmega328P și permite comunicație cu aplicația (terminal serial pe PC).

Setări suportate:

Setările UART din firmware-ul ATmega328P trebuie să corespundă cu cele din terminalul serial de pe PC.

Pentru a funcționa Virtual COM Port-ul prin mEDBG, software-ul terminal trebuie să activeze semnalul DTR (Data Terminal Ready). Dacă DTR nu este activ, liniile UART ale mEDBG rămân în stare high-Z (tri-state).

Clock furnizat de mEDBG

mEDBG poate furniza clock către ATmega328P pentru a permite debug prin debugWIRE sincronizat.

Tensiune target Clock mEDBG către MCU
3.3V 8 MHz
5.0V 16 MHz

Clock-ul extern către MCU poate fi decuplat hardware (prin eliminarea strap-ului/rezistorului 0Ω corespunzător, R109).


Periferice onboard

Buton utilizator (SW200)

LED utilizator (D200)

LED status mEDBG

Placa are și un LED verde de status controlat de mEDBG (separat de LED-ul utilizator), utilizat pentru indicarea stării debuggerului:


Pinout (headere și conectori)

1) J200 – Digital I/O (High Byte)

Pin J200 Pin ATmega328P Pin Arduino Funcție / Observații
1 PB0 D8 GPIO
2 PB1 D9 GPIO
3 PB2 D10 SS (SPI Slave Select)
4 PB3 D11 MOSI (SPI)
5 PB4 D12 MISO (SPI)
6 PB5 D13 SCK (SPI), LED utilizator D200
7 GND Masă
8 AREF AREF Referință analogică ADC
9 PC4 A4 / D18 SDA (TWI/I²C), partajat cu ADC4
10 PC5 A5 / D19 SCL (TWI/I²C), partajat cu ADC5

2) J201 – Digital I/O (Low Byte)

Pin J201 Pin ATmega328P Pin Arduino Funcție / Observații
1 PD0 D0 (RX) RXD (USART)
2 PD1 D1 (TX) TXD (USART)
3 PD2 D2 GPIO / INT0 (funcție alternativă MCU)
4 PD3 D3 GPIO / INT1 / OC2B (funcții alternative MCU)
5 PD4 D4 GPIO / T0 / XCK (funcții alternative MCU)
6 PD5 D5 GPIO / PWM (funcție alternativă)
7 PD6 D6 GPIO / PWM (funcție alternativă)
8 PD7 D7 GPIO

3) J202 – Header alimentare

Pin J202 Semnal Pin Arduino Descriere
1 NC Neconectat
2 VCC_TARGET 5V/3V3 (depinde de selecție) Alimentarea target selectată (prin J301)
3 RESET_SENSE RESET Reset monitorizat de mEDBG; indisponibil în debug
4 VCC_P3V3 3.3V Ieșire regulator 3.3V
5 VCC_P5V0 5V (sursă) Sursa selectată (VIN sau VBUS prin J300)
6 GND GND Masă
7 GND GND Masă
8 VCC_VIN VIN Intrare alimentare externă

4) J203 – Intrări analogice (ADC)

Pin J203 Pin ATmega328P Pin Arduino Funcție
1 PC0 A0 / D14 ADC0
2 PC1 A1 / D15 ADC1
3 PC2 A2 / D16 ADC2
4 PC3 A3 / D17 ADC3
5 PC4 A4 / D18 ADC4
6 PC5 A5 / D19 ADC5

AREF este disponibil pe J200 pin 8.

5) J204 – ISP (programare externă)

Pin J204 Pin ATmega328P Pin Arduino Funcție
1 PB4 D12 MISO
2 VCC target 5V/3V3 Alimentare țintă
3 PB5 D13 SCK
4 PB3 D11 MOSI
5 PC6 RESET RESET
6 GND GND Masă

6) Semnale suplimentare (neexpuse pe headerele principale)

Unele semnale sunt disponibile în zona de grid/prototipare a plăcii:

Pin ATmega328P Poziție grid
ADC6 H5
ADC7 G5

Utilizare cu PlatformIO

Placa poate fi folosită foarte ușor cu PlatformIO (framework Arduino + MiniCore), inclusiv pentru upload prin debugger-ul onboard (EDBG/mEDBG) peste USB.

Exemplu de proiect compatibil: Arduino Shell (shell serial pentru ATmega328P).

Pași rapizi (PlatformIO Core / VSCode Plugin)

1) Clonează proiectul

git clone https://github.com/dantudose/Arduino-Shell.git
cd Arduino-Shell

După ce proiectul este clonat local, deschide directorul cu PlatformIO din VScode.

2) Conectează placa prin USB

3) Compilează și încarcă proiectul

Apasă pe Upload and Monitor din PlatformIO.

După deschiderea monitorului serial, ar trebui să vezi prompt-ul shell-ului (ex. arduino$).

Poți testa:

help
status
ver
fs stat
fs ls /
fs cat /scripts/boot.sh

Surse (documentație oficială)