SK LABS
Nucleo-144 STM32L552
Nucleo u Arduino svetu
D. PETROVIĆ
1. avgust 2022.

Otvaranjem Arduino IDE za non-Arduino razvojne ploče i mikrokontrolere, kroz JSON pakete, dovelo je do toga da se ovo razvojno okruženje, koje nije tako savršeno, ali je lako za učenje, koristi i za programiranje drugih mikrokontrolera i razvojnih ploča, a mnoge od njih su čak i iz industrijskog sveta. Među onima koji su, po našem mišljenju, dosta „profitirali” je STMicroelectronics (Espressif još više) sa svojim STM32 mikrokontrolerima. Podrška je u toj meri dobra da ogroman broj biblioteka radi savršeno i na 32-bitnim mikrokontrolerima. Da ne ulazimo mnogo u same detalje arhitekture, razlike i sličnosti primera, reći ćemo da prednosti Arduino IDE i izuzetno velika zajednica okupljena oko njega nije prošla nezapaženo i od proizvođača MCU, u ovom slučaju STMicroelectronicsa. Predstavljamo vam Nucleo-144, Arduino kompatibilnu ploču iz STMicroelectronics kuhinje.

Nucleo-144 je serija Arduino kompatibilnih ploča koja utisak stečen pri radu uz Arduino, malo je reći, podiže na viši nivo. U više navrata smo se družili sa raznim brendiranim i ne tako poznatim razvojnim pločama, zasnovanim na STM32 mikrokontrolerima i pisali smo o velikim prednostima u odnosu na AVR. Razlike su neuporedive. Nucleo je ploča koja, pored toga što može da se programira kroz Arduino IDE, umnogome prati referentni dizajn pinouta standardnog Una. Plus, dodaje mnoge funkcionalnosti koje ovu ploču ne vezuju strogo za Arduino sistem. ST morpho headeri mogu da se koriste za veliki broj šildova. Nucleo-144 dolazi sa većim brojem mikrokontrolera koje može da ima na sebi. Primerak koji smo nabavili dolazi sa STM32L552.

Bela pločica, povećih dimenzija čak i za Mega footprint, donosi dve celine, jasno odvojene perforacijama na ploči. Kao i kod nekih sličnih rešenja drugih proizvođača, manji deo je, zapravo, programator/debager, dok je veći deo razvojni deo. Manji deo donosi ST-Link/V2-1, koji sa računarom komunicira putem mikro-USB priključka. Ovde se nalazi priličan broj headera i džampera. CN4 set džampera omogućava ploči programiranje na dva načina: ST-Link i Nucleo. Zatvoreni džamperi omogućavaju upotrebu on-board programatora, čije je srce STM32F103C8T6. Ako se nekom ova oznaka mikrokontrolera učini poznatom, to je zato što se isti MCU koristi i na opštepopularnoj Blue Pill. Otvoreni džamperi dozvoljavaju da se ploča programira preko SWD headera eksternim programatorom. T_NRST džamper mora ostati otvoren u tom slučaju (inače je zatvoren). U ovom delu su još prolazni GND headeri, kao i par LED. Do mikro-USB je višebojna COM LED, a njena boja govori o čak sedam različitih statusa ST-Link/V2-1 programatora i kao i o njegovoj komunikaciji sa računarom. Malo niže, jedva primetna crvena LED na LED5 će se upaliti ako dođe do preopterećenja naponskih regulatora na ploči; drugim rečima, ako potrošnja struje dok se ploča napaja preko USB priključka pređe pola ampera.

Pored mikro-USB priključka, postoji nekoliko eksternih načina gde ploča može da se napaja preko VIN, 5V_EXT pinova, ali i preko USB-C na drugom kraju ploče. Ovaj drugi USB priključak je USB host i podržava full-speed (FS) komunikaciju. Do njega je zelena LED za status 5V_USB_TYPEC. U ovom delu se nalaze dva tastera, Reset i korisnički na PC13, koji se može koristiti i za Wake-up funkciju. Ovaj drugi, veći deo ploče donosi nekoliko džampera i lampica. Tu je JD4 džamper za odabir radnog napona ploče, zatim, IDD preko koga se može meriti potrošnja struje. Najveći set džampera pod JP6 je Power Source, gde se bira uz pomoć kog od dva USB-a će ploča da se napaja, a osim ova dva, to još mogu biti VIN, CHARGER i drugo. Ovde su još četiri dodatne LED. Desna zelena svetli dok postoji napajanje od pet volti. Korisničke zelena, plava i crvena LED (PC7, PB7 i PA9) mogu da se koriste po potrebi. Kao built-in se, naravno, koristi zelena.

Centralno mesto zauzima STM32L552ZET6QU mikrokontroler u LQFP144 pakovanju, otuda i onih 144 iza Nucleo u nazivu. Iz oznake se vidi da je u pitanju ARM Cortex-M33, 32-bitni mikrokontroler. MCU kuca na pristojnih 110 megaherca i na raspolaganju mu je osetnih 512 kilobajta fleš memorije i 256 kilobajta RAM-a. Poput mikrokontrolera o kojima smo pisali ranije, i ovaj radi na 3,3 volta. S obzirom na broj pinova i ne čudi bogatstvo interfejsa i funkcija. Čak šest USART-a nam je na raspolaganju, 4×I2C, 3×SPI, 2×SAI (serial audio interface), FDCAN, SDMMC, do 22 pina koji mogu da se koriste u projektima gde se traže ulazi osetljivi na dodir. Tu su, naravno, ADC, DAC, RTC, SWD, JTAG, ETM i da ih ne nabrajamo. Zapravo, na raspolaganju nam je čak 114 brzih IO, gde svi podržavaju Interrupt i svi su tolerantni na petovoltnu naponsku logiku. Mikrokontroler svoje GPIO razvrstava u nekoliko headera. STMicroelectronics je postavio četiri dupla prolazna headera, gde je spoljašnja strana pin-to-pin kompatibilna sa Arduino Uno pinoutom. Unutrašnji red donosi druge pinove, a ceo konektor u ovakvom, dvoredom formatu naziva se ST Zio i može da se koristi za odgovarajuće šildove. Oznake pinova su sa strana headera i mogu da se učine zbunjujućim, tim pre što je Arduino header, u odnosu na USB preko koga se programira, okrenut za 180 stepeni, gledajući kroz prizmu Una. Kao dodatak, do ivica su dva dvoreda headera koji se protežu celom pločom. Ovi ST Morpho headeri takođe mogu da se koriste za namenske šildove. Oznake ovog nepopunjenog headera su sa donje strane. Sa donje strane, Nucleo leži na džamperima GND headera, te je ploča na taj način malo odvojena od površine na kojoj leži. Donja strana nije neiskorišćena, naprotiv. Tu su mostovi za dodeljivanje pinova LED-ovima. Postoji još osam mostova, četiri sastavljena, a tiču se SWD interfejsa. Preporuka je da se ne diraju.

O dodavanju podrške STM32 mikrokontrolera u Arduino IDE smo više puta pisali. Sve što je potrebno za ovu ploču, nakon povezivanja sa računarom preko mikro-USB priključka, jeste odabir Nucleo-144 pod Boards i Nucleo L552ZE-Q pod Board Part Number. Kao Upload Method ostaje Mass Storage. Inače, prilikom povezivanja sa računarom, Nucleo će se prijaviti pod COM portom, ali i kao drajv. Nažalost, još ne postoji podrška za ovu konkretnu ploču u jezicima Zmija. Zapravo, broj Nucleo ploča koje se mogu programirati nekim od Python jezika se može nabrojati na prste.

Probali smo nekoliko standardnih testova i malo je reći da je Nucleo bio brz. Možda je i najbolja ilustracija brzina računanja broja Pi, gde je sto hiljada iteracija Nucleo završio za nestvarnih 60 milisekundi. To je brzina koje se Nucleo neće postideti ni pred ESP32.

Nucleo-144 nije osuđen samo na Arduino IDE. STM32CubeIDE dolazi sa svim neophodnim primerima i bibliotekama za svaku Nucleo ploču. Običan Blink skeč u STM32CubeIDE bi išao ovako:

#include "main.h"

static void MX_GPIO_Init(void);

int main(void)

{

 HAL_Init();

 

 GPIO_InitTypeDef GPIO_InitStruct = {0};

 __HAL_RCC_GPIOA_CLK_ENABLE();

 /*Configure GPIO pin Output Level */

 HAL_GPIO_WritePin(LED_RED_GPIO_Port, LED_RED_Pin, GPIO_PIN_RESET);

 /*Configure GPIO pin : LED_RED_Pin */

 GPIO_InitStruct.Pin = LED_RED_Pin;

 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

 GPIO_InitStruct.Pull = GPIO_NOPULL;

 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

 HAL_GPIO_Init(LED_RED_GPIO_Port, &GPIO_InitStruct);

 

 while (1)

 {

  HAL_GPIO_TogglePin(GPIOA, LED_RED_Pin);

  HAL_Delay(100);

 }

}

Poređenja radi, isto to u Arduino IDE bi išlo ovako:

void setup() {

 pinMode(PA9, OUTPUT);

}

void loop() {

 digitalWrite(PA9, HIGH);

 delay(1000);

 digitalWrite(PA9, LOW);

 delay(1000);

}

Nucleo-144 je, inače, odlična platforma za razvoj. Ploča pruža veliki broj GPIO i interfejsa. Može da se koristi uz veliki broj šildova i dodataka, a može da se programira u više IDE-ova. Za kompleksnije projekte, svakako sa nekom od Nucleo platformi nećete pogrešiti.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
MAJ 2025
Microsoft Majorana 1
Kvantna topologija
Topološki kvantni računar otporan je na uticaj kosmičkog zračenja, ali i dalje mora da se ohladi skoro do apsolutne nule...
AMD Ryzen 9 9950X3D
Jedan, da svima vlada
Ako vam je potreban najbrži procesor, i za igranje, i za ozbiljnije zadatke, Ryzen 9 9950X3D nema konkurenciju...
Gigabyte GeForce RTX 5070 Ti Aero OC 16G i GeForce RTX 5070 Ti Gaming OC 16G
I za kreativce, i za igrače
Sasvim sposoban da se nosi sa 4K rezolucijom u svim igrama i pruži sasvim pristojne performanse, dok u 1440p apsolutno blista...
Asus ROG Strix Scar 18 (G835LX)
Fantastična zver i kako je kupiti (3)
Laptop namenjen onima koji „ne žale pare” da imaju ono što je trenutno najbolje i najbrže...
Deset najboljih Microsoft PowerToys alatki
Najbolji od najboljih
PowerToys Run je alatka kojoj treba da se okrenete ukoliko vam sistemska rutina za pretragu ne odgovara...
Apple iPhone 16e
Malo muzike za mnogo para
Problem nije samo cena i slabiji grafički podsistem, već i trajanje baterije...
Cemu 2.6
Wii U emulacija
Cemu omogućava pokretanje i privođenje kraju oko 57 procenata igara „napisanih” za Wii U...
.rs: nove usluge eUprave - novi propisi - najava 5G
Mnogo eNoviteta
U novom esDnevniku roditelji će dobijati notifikacije za ocene i izostanke...
Trgovinski rat Istoka i Zapada
Velika igra, nesagledive posledice
Kao u igri „kukavice”, dve supersile kreću se velikom brzinom jedna prema drugoj, izazivajući drugu da prva skrene...
Blue Prince
Jedinstveni dijamant i jedna od najoriginalnijih igara u poslednjih nekoliko godina...
Tempest Rising
Skupa i ambiciozna fotokopija legendarnog RTS klasika Command & Conquer...
South of Midnight
Magična igra koja izgleda kao živa bajka, animirana u stilu filmskog serijala „Spiderverse”...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama