SK LABS Nucleo u Arduino svetu
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.
|
||||||||||
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Microsoft Windows 11 23H2 Sveže oprani Prozori Windows Copilot, ugrađeni AI pomoćnik, već sada je daleko više od toga što je Cortana ikad bila i mogla da bude... Asus ROG Maximus Z790 Formula Hladna zimi, hladna leti Uz Raptor Lake Refresh generaciju Intelovih Core procesora paralelno je „osvežena” i ponuda modela matičnih ploča... Apple Watch Ultra 2 i Apple Watch Series 9 Ovogodišnji „ vršioci dužnosti” Oba sata dolaze sa preinstaliranim WatchOS-om 10.x i to je jedna od značajnih novina... Asus ROG Ally Z1 Extreme Saveznik je stigao! Ovo je Windows PC, oličen u formi ručne igračke konzole, što ga već na prvu loptu razlikuje od najvećeg konkurenta, Valveovog Steam Decka... Estetska vizija Pavela Surovog Arhetipsko kulturno nasleđe i AI Kako to izgleda kad AI u svoje ruke uzme neko ko i te kako ume da ga iskoristi kao alatku? Razvoj traktorskog snopa Svemirski čistač Naučnici su na korak od stvaranja tehnologije koja je donedavno bila sastavni deo naučne fantastike... Samsung Galaxy Tab S9 FE+ Povoljan kvalitet Uređaj laserski fokusiran na zonu gde se preklapaju vrh srednjeg dela tržišta i početak onog najvišeg... Borba YouTubea protiv adblockera Reklamokalipsa YouTubea Alphabet očekuje da mu se vrati uloženo, što je sasvim normalno, ali sam kvalitet usluge na svim nivoima opada u svim Googleovim proizvodima... Regulacija kripto-trgovanja Kripto-tržište u paklenoj kuhinji Tržište kripto-valuta i srodnih finansijskih instrumenata pretrpelo je još jedan veliki i razočaravajući potres... Alan Wake II Ovo je hrabar, na momente lud i superpretenci-ozan, ali nikada dosadan eksperiment kombinovanja naracije i gejmpleja... The Talos Principle 2 Bolju, impresivniju, zarazniju i produkcijski napucaniju glavolomku u ovome trenutku nećete naći... Call of Duty: Modern Warfare III Kampanja je kratka, multiplayer recikliran, a glavna novost je zombi režim DMZ, posuđen iz Warzonea... |
||||||||||