SK LABS Kad realizacija zataji
Prošlo je skoro tri godine otkako smo najavili MicroMod (i.sk.rs/n1824). Kao u onom vicu: te danas ću, te sutra ću - prođoše godine. Tek, uspeli smo da se dokopamo jedne MicroMod pločice sa dodatnom mikrokontrolerskom pločicom. Ova MicroMod pločica je utoliko značajnija što na sebi donosi Mikroelektronikino mikroBUS podnožje. SparkFun MicroMod mikroBUS ploča nosač je pun naziv matične pločice, koja je nastala u saradnji kompanije SparkFun Electronics i domaće MikroElektronike. U čemu se sve ova saradnja ogleda, saznaćete kasnije u tekstu, a mi ćemo prvo pročešljati SparkFunov deo, za koji imamo čak i neke zamerke. Pločica nosač je nešto drugačijeg dizajna u odnosu na slična SparkFunova rešenja koja na sebi nose MicroMod podnožje. Zaštitni znak MicroMod pločica je, naravno, MicroMod M.2 konektor, konstruisan tako da prihvati MicroMod pločice sa različitim mikrokontrolerima na sebi. SparkFun u ponudi ima više MicroMod mikrokontrolerskih pločica, a navešćemo samo neke, poput SAMD51, Artemis (SK 7/2020, i.sk.rs/28263), STM32, RP2040 (SK 3/2021, i.sk.rs/29330), ESP32, Teensy (SK 3/2020, i.sk.rs/27855) i druge. Konektor dolazi sa šrafom, da bi se MicroMod pričvrstio. O začkoljicama, kasnije. Pločica se sa računarom povezuje putem USB-C konektora, a preko njega se i napaja. Na pločici nosaču ne postoji UART most, što mnoge mikrokontrolere u određenoj meri udaljava od ovog standarda, barem što se tiče programiranja na način kao što bismo programirali jedan Uno. Daleko od toga da ne može, ali svakako zahteva malo veći broj komponenata. To je i razlog zašto se kod zvaničnih SparkFun pločica, uglavnom, nalaze mikrokontroleri koji imaju direktnu vezu sa računarom, bez UART mosta. Za regulaciju napona zadužen je AP7361C, koji na 3,3 volta isporučuje jedan amper struje. Osim preko USB-C, pločica nosač može da se napaja i preko Li-Ion ili Li-Po baterije, a na pločici se nalaze i strujna kola za njeno punjenje i zaštitu. Do JST konektora za bateriju su dve LED (3V3 i CHG), kao i dve PTH, ukoliko će baterija provodnicima da se poveže sa pločicom. Ako će pločica da se koristi isključivo za rad na bateriju, možda je zgodno preseći trasu ispod obeleženu sa 3V3LED. Ispod je još nekoliko trasa za razdvajanje i prespajanje vodova. Trasa 3V3EN, kojom se ovaj upravljački pin naponskog regulatora dovodi do mikrokontrolera, može da se koristi da se regulatorom upravlja softverski. Preko trase FUSEBYP može da se prespoji 6V/2A osigurač na pločici. Tu su dva PTH otvora sa trasom između. Presečena trasa omogućava postavljanje mernog uređaja na ove PTH, radi merenja potrošnje struje. Desno od MicroMod podnožja su tasteri ’Reset’ i ’Boot’, zatim, JTAG konektor, kao i dva QWIIC konektora za povezivanje I2C uređaja. Pločica ne dolazi sa zalemljenim JTAG pinovima, a čak ne dolazi sa ovim pinovima uopšte. Razmak pinova od 2×5, sa korakom od 1,27 milimetara nije svuda dostupno kod nas, a da ne pričamo o lemljenju ovih pinova lemilicom. Tek, nije nam jasna odluka da se ovi pinovi izostave, prvenstveno imajući u vidu da je JTAG bitan za Mikroelektronikin deo. Strpite se još malo. Češljanje pločice nosača nastavljamo sa levom stranom, gde se nalazi nepopunjen „drvored” od devet pinova na kome razlikujemo dva prekidačka interrupt pina, reset pin, kao i SPI interfejs. Zanimljivo je i to da se sve češće SPI pinovi, umesto MISO i MOSI, označavaju sa CIPO i COPI. Odluka da se sa MISO i MOSI pređe na CIPO i COPI je doneta, nećete verovati, zbog reference o roblju. S obzirom na upliv „zapadnih vrednosti” svuda, ni elektronika nije izuzetak. MISO označava Master In Slave Out, a sada imamo CIPO što znači Controller In Peripheral Out. Isto se odnosi i na MOSI/COPI. Treba da budemo ponosni na Sretenjski ustav, ako ništa drugo, a ono zbog činjenice da je naša zemlja druga u svetu ukinula feudalizam, odmah iza Francuske. No, da se vratimo elektronici, gde nam je za kraj ostao mikroBUS konektor. mikroBUS je definitivno postao svetski standard i ogroman broj razvojnih ploča velikih svetskih proizvođača nosi bar po jedno ovo podnožje. O mikroBUS-u smo više puta pisali; tek, reći ćemo da se u dva reda po osam pinova smestilo dosta toga. Tu su SPI, I2C, i UART interfejsi, PWM, interrupt, analog i drugo. To je dovoljno da se apsolutno svaki senzor, aktuator ili nekakvo integralno kolo lako poveže sa mikrokontrolerom. Odlučili smo se za MicroMod STM32 pločicu iz čisto praktičnih razloga, jer želimo da probamo ovu pločicu i u Mikroelektronikinom okruženju, a već imamo STM32 CodeGrip programator. Na MicroMod pločici se nalazi STM32F405RGT6 mikrokontroler. To je ARM Cortex-M4, 32-bitni mikrokontroler sa RISC jezgrom koje kuca na 168 megaherca. STM32 dolazi sa jednim megabajtom fleš memorije, ali bez FSMC memorijskog kontrolera. Ipak, ono što je nama bitno jeste da ima podršku za DFU bootloader. SparkFun je STM32 opskrbio sa dodatnih 16 megabajta fleš memorije koju je postavio sa donje strane MicroMod pločice. Ostalo je još da dodamo plavu STAT LED pored STM32. STM32 je 3,3-voltni mikrokontroler i pinove ne treba izlagati petovoltnoj naponskoj logici. Postoje dva načina za programiranje ovog mikrokontrolera, prema SparkFunu. Prvi je koristeći JTAG, što je preporuka, dok je drugi preko USB-a i nije preporučen. STM32 svakako može da se programira i korišćenjem drugih alatki. ’Kao da nam je prvi put da idemo bosi po trnju. Zato, pravac Arduino IDE, iako ga SparkFun ne preporučuje, ali ga svrstava u jednu od opcija. Za ovaj STM32 treba preuzeti definicije preko Boards menadžera, kao i STM32Cube Programmer. O ovom poslednjem smo više puta pisali kada smo govorili o STM32 (SK 2/2022, i.sk.rs/30661), a u pitanju je alat koji se preuzima sa zvaničnih STMicroelectronics stranica. Bez njega, nema ni rada sa STM32. Paket podrške SparkFuna za STM32 u Arduino IDE menadžeru ploča je... ispario. Ni traga, ni glasa. Čak ni na zvaničnim GitHub stranicama SparkFuna. Nadamo se da je ovo trenutni problem usled nadogradnje verzije ili slično, a u suprotnom je to veliki propust ovog proizvođača. Srećom, imamo podršku STM32duino u kojoj nalazimo ovaj STM32. Postavljamo USB podršku na CDC (generic ’Serial’ supersede U(S)ART), a za metod spuštanja korisničkog programa biramo STM32CubeProgrammer (DFU). Prema šemi, STAT LED je na pinu PA15. Prebacivanje STM32 u DFU režim se postiže tako što se mikrokontroler resetuje dok se taster ’Boot’ drži pritisnutim. Ostaje još klik na Uplaod. Prvo, pa greška. IDE ne može da uspostavi komunikaciju sa STM32. Na SparkFunu nema podataka o ovom problemu. Prvo što smo proverili jeste da računar ne vidi STM32 dok on nije u režimu DFU. U režimu DFU ga vidi kao STM Device in DFU mode pod Universal Serial Bus controllers. Ništa što Zadig ne može da reši. Zadig je alatka, bolje reći „švajcarski nož” za drajvere sličnih uređaja. S obzirom na to da računar ipak vidi STM32 dok je u DFU modu, Zadig ga neće izlistati kao neprepoznat uređaj. Potrebno je pod Option odabrati List All Devices, a zatim instalirati preporučeni drajver. Nakon ponovnog prebacivanja STM32 u režim DFU, on će se prijaviti kao STM32 Bootloader pod Universal Serial Bus Devices. Spuštanje korisničkog programa (Blink, za početak) proteklo je veoma brzo. Nakon prvog spuštanja programa, pločica se resetovala i prijavila kao USB Serial Device pod Ports. Za svako sledeće spuštanje korisničkog programa, STM32 mora nazad u režim DFU, ali nije potrebna nikakva druga, dodatna akcija. Pa, da probamo Necto kao SparkFunovu preporuku. Da bi se MicroMod programirao kroz Mikroelektronikino razvojno okruženje, osim CodeGrip programatora potrebno je i mesto gde će se on povezati sa pločicom. Rekosmo, JTAG dolazi nepopunjen, a 2×5 u razmaku 1,27 milimetara je teško naći. Ipak, snašli smo se nekako sa muškim pinovima. Međutim, javio se drugi problem. IDC konektor na programatoru je sa razmakom od 2,54 milimetra, dok je ovde to upola manje. Treba nam i neki adapter, jer se kratkospojnicama to ne može rešiti. Srećom, dosta ranije smo napravili jedan mali „1,27 na 2,54” adapter, dok smo radili sa Particle Xenon (SK 6/2021, i.sk.rs/29646). Iz kompanije Segger imamo i IDC kablić u koraku 1,27, tako da smo i te probleme rešili. Ako se odlučite za nabavku jednog ovakvog kompleta, gledajte da nabavite sve što smo naveli. Prvi korak je da vidimo da li CodeGrip uopšte može da ostvari komunikaciju sa STM32 preko svih ovih žica. To smo ostvarili koristeći CodeGrip Suite. Za MCU, pod Options, biramo STM32F405RG, protokol postavljamo na SWD i Halt on Connect na Enabled. Ostalo ne diramo. Pod Programming idemo na Detect, koji će, ako je sve u redu, prikazati Target is Detected. Sledeći korak je Necto Studio. Potrebno je proći kroz postavljanje novog projekta i tamo odabrati MicroMod ploču nosač, odgovarajući STM32, i CodeGrip uz iste postavke kao i na Suite. Program za treptanje LED na pinu PA15 izgleda ovako: #include "drv_digital_out.h" static digital_out_t ledPin; int main(void) { digital_out_init(&ledPin, PA15); while (1) { digital_out_toggle(&ledPin); Delay_1sec(); }
return 0; } Komplet je upotrebljiv u toj meri da koristimo STM32 mikrokontroler koji je pokriven podrškom koja nije proizašle iz SparkFunove kuhinje. STM32Duino kroz Arduino IDE je pokrio veliki broj STM32 mikrokontrolera, te je to spas. SparkFunov paket podrške više ne postoji, niti postoji pojašnjenje šta uraditi sa hardverom u nedostatku podrške proizvođača. Ovo nema veze sa pločicom nosačem, već sa samim MicroMod mikrokontrolerom, koji može da se koristi i sa drugim MicroMod pločicama nosačima. Za programiranje kroz Necto, SparkFun je postavio 1,27 JTAG konektor, iako je na Mikroelektronikinim programatorima razmak pinova 2,54, uprkos tome što je pločica nastala u saradnji dve firme, pa, čak, i tome što je SparkFunova preporuka Necto i CodeGrip. SparkFun je u početku nudio pločicu-adapter koja se sa svoje donje strane naslanja na samu MicroMod pločicu sa mikrokontrolerom, te predlaže da se između dve pločice stavi krep-traka. Ovakvo rešenje ne bi ni nama palo na pamet. U međuvremenu je adapter dorađen. Postoji još jedan problem, a to je mapiranje pinova. Ne postoji drugi način, sem da se odštampa pinout MicroMod pločice sa mikrokontrolerom i pinout pločice nosača, pa da se uporede. Tačno je da i Mikroelektronika ima sličan sistem sa SiBrain, ali tamo su svi pinovi izvedeni i oznake su prema portovima za svaki pin. Plus, Necto u pozadini sve to „sažvaće”, te ne treba mnogo da brinemo o oznakama pinova, pogotovo ako je u pitanju neko od mikroBus podnožja. Ovde imamo PWM označeno na mikroBus podnožju, ali gde taj pin ide? Vidimo da se interno označavaju brojevima pinova samog M.2; mogli su makar sa donje strane da ispišu oznake M.2 konektora za svaki od pinova. To bi umnogome olakšalo posao. Ako se odlučite za neki drugi MicroMod mikrokontroler, proverite da li igde postoji podrška. Za Necto ne postoji podrška, niti za jednu drugu MicroMod pločicu, sem ove koju opisasmo. Opet, sve druge nemaju smisla na ovoj pločici nosaču zbog mikroBus podnožja. Šta reći? Jako dobro zamišljeno, ali ne i realizovano. Bar ne onako kako smo na to navikli od SparkFuna.
|
||||||||||
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
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... South of Midnight Magična igra koja izgleda kao živa bajka, animirana u stilu filmskog serijala „Spiderverse”... |
||||||||||