Bevezetés

A fejezet tartalma:
Az alábbi oldalakon az ARM Cortex-M0+ mikrovezérlők C nyelvű programozásával ismerkedünk meg. Kísérleti áramkör gyanánt az NXP (Freescale) FRDM-KL25Z kártyáját, integrált fejlesztői környezetnek pedig az ARM Keil MDK5 ingyenes változatát választottuk. Az itt elsajátított ismeretek azonban az ARM Cortex-M mikrovezérlő család többi tagjánál is felhasználhatók.

A FRDM-KL25Z kártya bemutatása

A FRDM-KL25Z mikrovezérlő kártyát ("Freedom board") a Freescale (amelyet azóta felvásárolt az NXP) az mbed-del együttműködve fejlesztette ki. Ez a névjegy méretű olcsó kártya jól használható tanulásra, valamint a Freescale Kinetis L25 sorozatú ARM Cortex-M0+ mikrovezérlőinek felhasználásával megvalósítható eszközök prototípusainak elkészítésére. A kártyán tüskesorra vagy tüskesor-fogadóra ki vannak vezetve a mikrovezérlő ki- és bemenetei, van néhány ráépített periféria (RGB LED, 3-tengelyű gyorsulásmérő, kapacitív csúszka).  A kivezetések úgy vannak kialakítva, hogy kompatibilis legyen az Arduino fedlapokkal (bővítőkártyákkal). A kártyán van ráépített programozó/hibavadász eszköz is, ami megkönnyíti a programfejlesztést.

A kártyát az NXP (korábban Freescale) által nyújtott fejlesztői szoftvereken mellett számos kereskedelmi és ingyenes fejlesztői környezet támogatja (Kinetis Design Studio IDE, Keil MDK, Rowley Crossworks for ARM, IAR EW, Atollic TrueStudio,  Somnium DRT, Green Hills Software IDE, Coocox CoIDE, GCC + Eclipse stb.). Gyors alkalmazásfejlesztéshez pedig az mbed.org online fejlesztői környezete és programkönyvtára is rendelkezésre áll, amelyről honlapunkon külön tananyagot találhat az olvasó.


1. ábra: A Freescale FRDM-KL25Z fejlesztői kártya

A kártya a Freescale KL25Z sorozatú MKL25Z128VLK4 mikrovezérlőjén alapul, melynek 32-bites ARM Cortex-M0+ CPU-ja max. 48MHz-en fut. A mikrovezérlő 128KB FLASH, valamint 16KB RAM memóriát tartalmaz és számos beépített perifériával rendelkezik. Többek között  USB Host/Device illesztő, SPI, I2C, UART, ADC, DAC, PWM, érintésérzékelés és más I/O eszköz található benne.


Jellemzők

Freescale KL25Z Kinetis KL2x mikrovezérlő (MKL25Z128VLK4)

  •  Nagy teljesítményű ARM Cortex-M0+ mag
  •  48MHz, 16KB RAM, 128KB FLASH
  •  USB OTG (Host/Device, max. 12 Mbit/sec)
  •  SPI (2)
  •  I2C (2)
  •  UART (3)
  •  PWM (10)
  •  ADC (16 bit)
  •  DAC (1x12bit, 1x6 bit)
  •  Érintésérzékelő (16 ch)
  •  GPIO (66)
  •  DMA (4 ch)

FRDM-KL25Z kártyára épített perifériák

  • MMA8451Q - 3-tengelyű gyorsulásmérő
  • Kapacitív érintésérzékelő csúszka
  • RGB LED

A kártya műszaki adatai

  • méret: 81mm x 53mm
  • 5V USB vagy 4.5-9V külső tápellátás (esetleg CR2032 elem)
  • USB FLASH "fogd és vidd" programozás (mbed)
  • CMSIS-DAP programozó/hibavadász
  • Arduino kompatibilis csatlakozók

Az Arduino-kompatibilis kivezetések

Az alábbi ábrán az Arduino-kompatibilis kivezetések kiosztása látható (a képre kattintva az ábra nagyobb felbontással is megjeleníthető). Az Arduino-kompatibilis kivezetéseken kívül az összes PT_XX kivezetés is használható GPIO kivezetésként.


2. ábra: A FRDM-KL25Z kártya kivezetései

A kártyán található perifériák


Az alábbi ábrán a kártyán található perifériák és a hozzájuk rendelt mikrovezérlő lábak kiosztása látható.


3. ábra: A kártyára szerelt perifériák


Felhasznált irodalom

A kártya kapcsolási rajza és a felhasználói leírás

Adatlapok

A programozó/hibavadász firmware