SK LABS Peroteška kategorija
Nastavljamo naš serijal izrade osnovnih elektroničkih pločica, koristeći razne mikrokontrolere. I dalje se družimo sa kompanijom Microchip, ali ovaj put prelazimo na tešku kategoriju - radimo sa ATSAMD21G18, mikrokontrolerom koji se sreće i na originalnom Arduino Zero, čija šema i način programiranja ni ne spadaju u nešto što bi elektroničar-hobista želeo da isprati. Srećom, ovaj MCU se nalazi i na mnogim Adafruit razvojnim pločicama, prvenstveno na Adafruit Feather M0, koji, relativno jednostavno, može da se isprati. ATSAMD21G18 je 32-bitni ARM Cortex-M0+ mikrokontroler, čije srce kuca na 48 megaherca, a koji na raspolaganju ima 256 kilobajta fleša i 32 kilobajta SRAM-a. To je, dakle, ozbiljan iskorak u odnosu na AVR i slične mikrokontrolere. Ovaj ARM je koncipiran u šest komunikacionih modula (SERCOM) konfigurisanih u UART/USART, SPI/I2C, tri 16-bitna tajmera/brojača, 32-bitni RTC, 20 PWM kanala, 14 ADC-a u 12 bita i jedan 10-bitni DAC. Tu je i Full Speed USB, a zanimljivo je da MCU podržava čak 120 kanala osetljivih na dodir. Čip nije tolerantan na više od 3,63 volta, dakle, ni na pet volti, te to treba imati u vidu prilikom izrade projekta. Za programiranje se koristi SWD interfejs, ali uz odgovarajući bootloader, može da se programira direktno preko USB interfejsa. (O tome u nastavku teksta.) O samom čipu, naravno, ima mnogo više da se priča, ali mi nemamo nameru da prepisujemo tehničku dokumentaciju. Osnovna elektronička šema zahteva par kondenzatora na naponskim linijama. ATSAMD21G18 ne zahteva spoljašnji oscilator. Ako to vaš projekat zahteva, on može da se doda na XOSC izvode. Dodali smo jedan oscilator od 32768 kiloherca na XOSC32K izvode (PA00 i PA01), jer na ovaj način imamo bolju kontrolu pojačanja, programabilno vreme starta i drugo. Reset linija je preko 100K otpornika povezana sa naponom od 3,3 volta. Na istu liniju smo dodali taster povezan sa GND, radi ponovnog pokretanja mikrokontrolera. Da bi se upisao bootloader, potrebno je izvesti SWD izvode. Upotrebili smo 2×5 letvice (1,27”), zbog toga što takve koristi SEGGER J-Link EDU koji ćemo koristiti za upisivanje pokretačkog programa. Koristimo SWD (PA31), SWC (PA30), Reset, 3,3V i GND. Naša želja je da nakon upisanog bootloadera ovaj čip programiramo preko USB-a, te smo izveli i ove izvode. Ovde imamo D+ (PA25) i D- (PA24). Koristićemo Adafruit Feather M0 bootloader, te samim tim i mapiranje izvoda. Takozvana „Builtin LED” je na D13 (PA17). Sastavili smo našu pločicu, a prvi korak je bootloader. Potrebno je da uključimo napajanje naše pločice, te da je povežemo sa SEGGER J-Link EDU programatorom, jer je jedini smislen po pitanju cene - još uvek može da se nađe za male pare. Naleteli smo na neku akciju, te ga kupili za 20 dolara, ali i sadašnjih 60 dolara je dobra cena. Poređenja radi, SEGGER J-Link Base košta 500 dolara! Nastavljamo dalje. Sve je povezano, potrebno je još preuzeti odgovarajući bootloader koji može da se preuzme sa Adafruit GitHuba (uf2-samdx1). Tražimo bootloader_feather_m0_v3.16.0.bin. Ovo je najnovija verzija u trenutku dok ovo pišemo. Pre nego se upustimo u programiranje, potrebno je da dodamo paket podrške za naš mikrokontroler. To radimo tako što u URL polje, pod Preferences, unesemo https://adafruit.github.io/arduino-board-index/package_adafruit_index.json, te instaliramo ploče pod Boards. Da bismo upisali bootloader na čip, potreban nam je AtmelStudio. Pod Tools: Device Programming otvoriće se manji prozor, gde biramo Tool, Device, a zatim čitamo otisak. Ako je sve uredno povezano, odabran pravi čip i nema nikakvih drugih problema, trebalo bi da se dobije rezultat kao na slici. Sledeće na redu je podešavanje FUSE bitova, gde idemo na Fuses sa leve strane. FUSE pod nazivom USER_WORD_0.NVMCTRL_BOOTPROT treba postaviti na „0 Bytes” da bi se bootloader upisao u zaštićenom delu. Kasnije se ova vrednost vraća na „8192 Bytes”. Sledeći korak je na Memories, gde biramo BIN fajl i upisujemo ga na zaštićeni deo čipa. Ako je sve uspešno prošlo, vraćamo FUSE na „8192 Bytes”. Ako je i u nastavku sve prošlo kako treba, prilikom povezivanja pločice sa računarom, ona bi trebalo da se prijavi pod nekim COM portom. Arduino IDE će je videti kao Adafruit Feather M0 (SAMD21). Dovoljno je spustiti klasičan Blink korisnički program da bi naša lampica počela da trepće. Adafruit bootloader ima još jednog keca u rukavu: dvoklikom na taster ’Reset’, mikrokontroler se prijavljuje kao drajv FEATHERBOOT, odakle može da se pređe na MicroPython ili CircuitPython. Recimo, kopiranjem odgovarajućeg UF2 CircuitPython fajla na ovu našu pločicu, ona će se ponovo pokrenuti i ovaj put prijaviti kao CIRCUITPY. Ako nas pratite od ranije ili ste, generalno, upoznati sa ovim programskim jezikom, onda znate da dalje može da se nastavi sa MU ili Thonny razvojnim okruženjima. Naravno, iz čisto praktičnih razloga, napravili smo jednu Clicker pločicu sa ovim mikrokontrolerom. Koristimo Clicker format MikroElektronike zbog toga što se mikroBUS pokazao sjajno, pa čak i neke senzore pravimo u ovom formatu radi testiranja. Iako deo oko bootloadera deluje možda previše komplikovan, ali, zapravo, nije. SEGGER J-Link se možda nekom učini skup, ali bez njega, naprosto, ne može da se radi. EDU je povoljan i gledajte da ga ulovite po nekoj niskoj ceni. Sve što smo naveli uz manje prepravke važi i za mikrokontrolere SAMD51, ali uz odgovarajući bootloader.
|
||||||||||
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”... |
||||||||||