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:

  • prototipare rapidă;
  • testarea perifericelor ATmega328P;
  • programare și depanare (debug) fără programator extern;
  • aplicații embedded educaționale sau de laborator.

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


Caracteristici principale ale plăcii

  • debugger/programator integrat mEDBG (Mini Embedded Debugger);
  • suport pentru programare și depanare direct din Atmel Studio / MPLAB X;
  • Virtual COM Port (CDC) pentru comunicație serială cu PC-ul;
  • acces la aproape toate semnalele MCU pe headere;
  • LED utilizator (galben, D200);
  • buton utilizator (SW200);
  • tact extern furnizat de mEDBG:
    • 16 MHz la alimentare target de 5V
    • 8 MHz la alimentare target de 3.3V
  • alimentare prin USB;
  • regulator onboard 3.3V;
  • footprint-uri compatibile cu Arduino Shield;
  • footprint pentru header SPI ISP (programare externă).

Alimentare și configurare tensiuni

Placa poate fi alimentată în două moduri:

  • prin USB (implicit, 5.0V)
  • prin intrare externă VIN

Detalii utile:

  • portul USB este protejat cu siguranță resetabilă PTC 500 mA;
  • implicit, ATmega328P este alimentat la 5V din USB;
  • există selecții hardware (prin jumpere/rezistențe 0Ω) pentru:
    • sursa de intrare (USB vs VIN)
    • tensiunea target (3.3V vs tensiunea de intrare)

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ă:

  • programare și debug onboard (fără programator extern);
  • interfață USB compozită cu:
    • interfață de debugger
    • Virtual COM Port (CDC)
  • conectare la ATmega328P prin ISP/debugWIRE (dW)

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:

  • baud rate variabil
  • paritate
  • biți de stop

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)

  • buton general-purpose
  • conectat la pinul PB7 al ATmega328P

LED utilizator (D200)

  • LED galben pentru aplicația utilizator
  • conectat la PB5 (pin 17 ATmega328P)
  • aceeași linie este asociată și cu semnalul SCK; mEDBG lasă linia în tri-state când nu o folosește

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:

  • la pornire: se aprinde scurt
  • în funcționare normală: stins
  • la programare/debug: clipește


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

  • conectează ATmega328P Xplained Mini la PC prin USB;
  • mEDBG/EDBG va expune interfața de programare + port serial virtual;
  • pe unele sisteme poate apărea un port de tip ttyACM*, ttyUSB* sau usbmodem*.

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ă)

pm/proiect/xplainedmini.txt · Last modified: 2026/02/24 15:59 by dan.tudose
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0