IGRE

TELEFONI

HARDVER

SOFTVER

NAUKA

TV I FILM

DOGAĐAJI

INTERNET

PRVI UTISCI

INTERVJU

VESTI

NAJAVA


NOVI BROJ

ARHIVA

FORUM

O NAMA
LAKI PINGVINI
Teensy 2.0 & Teensy 3.6
Može li brže?
Dejan PETROVIĆ
1. mart 2020.

Teensy porodica Arduino kompatibilnih ploča predstavlja vrh onoga što se može naći na tržištu. Za ove ploče nema mnogo tutorijala online, nema klonova i u Arduino ekosistemu i IDE okruženju neće baš sve biblioteke raditi kako treba. Ipak, ekipa koja stoji iza njih (www. pjrc. com) (na čelu je Paul Stofreggen) ih je savršeno dokumentovala i na zvaničnim stranicama se može naći apsolutno sve što je potrebno. Teensy ploče delimo na 8-bitne i 32-bitne, a mi smo za ovaj članak pripremili po jednu. Cela porodica broji više ploča, dok ćemo se mi na neke samo osvrnuti.

8-bitni

Iako bi možda neki voleli da na ovim stranicama pročitaju koji red o ljubavi između 8-bitnih Teensy i Sony igračkih konzola, moraćemo vas razočarati. Na mreži ima dovoljno podataka o tome, a Google je svemoguć. PJRC u svom opusu ima samo dve 8-bitne ploče, Teensy++ 2.0 i Teensy 2.0. Ova prva ploča koristi Mikročipov AT90USB1286 8-bitni AVR RISC mikrokontroler sa klokom na 16 megaherca. MCU na raspolaganju ima 128 kilobajta ISP fleš memorije uz četiri kilobajta EEPROM-a i osam kilobajta SRAM-a. Ploča forme Nanoa pruža osam analognih ulaz i 48 digitalnih IO od kojih devet imaju mogućnost PWM. Da bi se zadržala kraća dužina ploče, PJRC je postavio čak 14 pinova unutar ploče. Iako je ploča u osnovi breadboard friendly, ovi unutrašnji izvodi se mogu koristiti samo uz hedere. Teensy++ 2.0 na raspolaganji ima UART, I2C i dva SPI namenjena izvoda. Ploča radi na pet volti za šta se može koristiti mini USB port ili VIN pin.

Mi smo pripremili Teensy 2.0, ploču manjih dimenzija i sa nama dobro poznatim ATmega32u4 mikrokontrolerom sa kojim smo se sretali na Leonardu i Pro Micro (SK 2/2019), kao i na Linkitu (SK 11/2018). Mogućnosti mikrokotrolera nećemo ponavljati. Teensy 2.0 je manjih dimenzija i na svoja tri oboda ima raspoređene 25 digitalnih IO od kojih su sedam sa PWM, dok analognih ulaza ima 12. Na sredini ima još dva izvoda, AREF i E6. Kada govorimo o power menadžmentu, ovaj Teensy radi na pet volti i može se napajati preko mini USB-a ili VIN pina. Obe 8-bitne ploče se mogu „tvikovati” da rade na 3,3 volta tako što će se sa donje strane zalemiti naponski regulator na za to predviđene padove. Tanka ruta između 5V i srednjeg pada se treba preseći skalpelom, a srednji pad i 3,3V spojiti. Na obe ploče je napajanje malo specifično i treba voditi računa. Ploča je pri radu na pet volti sposobna da isporuči do 40 miliampera po pinu. Na ploči još treba pomenuti reset taster koji je jako bitan, a o kome ćemo kasnije, i ugrađenu LED, koja je kod Teensy 2.0 vezana na pin 11. Na ++2.0 ploči iznad je to na pinu 6.

32-bitni

Teensy LC kao najpovoljniji u 32-bitnoj seriji na sebi nosi ARM Cortex-M0+ sa taktom na 48 megaherca. Mikrokontroler na raspolaganju ima 62 kilobajta fleš memorije i osam kilobajta RAM-a. Po tri oboda su poređani izvodi mikrokontrolera, uz još četiri u drugom redu, što je ukupno 27 IO pinova preko kojih ima na raspolaganju po dva SPI i I2C interfejsa i čak tri serijska. Od ovih pinova, LC ima čak 13 analognih ulaza sa 12 i 16-bitnim rezolucijama i jedan 12-bitni analogni izlaz. Na digitalnim pinovima imamo 10 sa PWM. GPIO nisu tolerantni na više od 3,3 volta.

Teensy 3.2 prati footprint LC-a, ali samo što se tiče veličine i PTH otvora. Mikrokontroler na ploči je MK20DX256VLH7, što je Cortex-M4 sa taktom na 72 megaherca. Ovaj Teensy ima 64 kilobajta RAM-a i dva kilobajta EEPROM-a. U odnosu na LC, ovde osim PTH GPIO pinova imamo i gomilu njih u vidu padova ispod i namena im je da se koriste uz razrađen projekat zalemljene direktno na „matičnu” ploču. Preko svih ovih izvoda na raspolaganju nam je čak 34 digitalna GPIO od kojih 12 su sa PWM i tolerantni su na pet volti. Analognih ulaza ima čak 21 sa 16-bitnom rezolucijom uz jedan 12-bitni analogni izlaz. Od interfejsa, Teensy 3.2 ima tri serijska, SPI, dva I2C i po jedan CAN i I2S. Power managment je takođe ispod ploče u vidu padova za VUSB i VIN, ali i mestom predviđenim za dodavanje kondenzatora ako će se ploča koristiti kao USB host. Takođe, sa donje strane imamo mesto predviđeno za dodavanje kristala za već ugrađeni RTC.

Ploče Teensy 3.5 i 3.6 su vizuelno naizgled identične, ali razlike ipak postoje. Teensy 3.5 je uzan poput Nano, ali ipak nešto duži. Na njemu je MK64FX512VMD12 mikrokontroler iza koga stoji NXP. Sa svojih 120 megaherca ovaj ARM Cortex-M4 je prava zver. Na raspolaganju mu je 512 kilobajta fleša uz 256 kilobajta RAM-a i četiri kilobajta EEPROM-a, što je i više nego dovoljno. Ako vas nije impresionirala brzina ove ploče, možda će činjenica da ovaj Teensy ima na raspolaganju čak 62 GPIO gde su 42 breadboard friendly, dok su ostali ispod u vidu padova. Da, „čak 62”, jer se radi o ploči malo većoj od Arduino Nano. Svi digitalni GPIO iako rade na 3,3 volta, tolerantni su na petovoltnu logiku, a na 20 njih je moguć PWM. Na 25 analognih ulaza je omogućena 12-bitna rezolucija, dok su u istoj rezoluciji dva analogna izlaza. Mogućnostima ovde nije kraj: tu je jedan CAN bus, 16 DMA kanala, Ethernet MAC (100 Mbit/s), pa čak i ugrađeni slot mikro SD kartice (četvorobitni SDIO). Od interfejsa imamo jedan I2S audio-port sa četiri kanala, čak šest serijskih portova, po tri SPI i I2C, 14 hardverskih tajmera, RTC, CRC, Random nr generator i Cryptographic Acceleration unit. RTC ima svoj built-in kristal. Power managment ispod je vrlo sličan Teensy 3.2. Trebalo bi da smo vam sada malo privukli pažnju.

Mi smo nabavili malo snažnijeg rođaka prethodne ploče sa oznaom Teensy 3.6. Ovo „malo snažnijeg” shvatite ovo kao blagu ocenu, jer je ovde mikrokontroler koji kuca na čak 180 megaherca, uz isti footprint kao 3.5. Na ovom Teensyju je MK66FX1M0VMD18 ARM Cortex-M4 uz USB High Speed (480 Mbit/s) port. Iako sa istim fizičkim brojem GPIO, razlike ipak postoje, a prva je da ova ploča nije tolerantna na pet voltnu logiku i jasno se mogu videti prazna mesta gde su na modelu 3.5 ugrađeni naponski regulator i kondenzator. Od 62 GPIO ovde imamo isti broj analognih IO, ali i 22 digitalna sa PWM funkcijom. Tu su još dva CAN busa, čak četiri I2C, 11 osetljivih na dodir, 6 serijskih i tri SPI. Slot mikro SD kartice je tu, uz RTC, CRC i sve ostalo sa 3.5.

Na kraju, Teensy 4.0 koga ne znamo kako da nazovemo sa svojim NXP IiMXRT1062 mikrokontrolerom čiji je radni takt vrtoglavih 600 megaherca. To je najbrži mikrokontroler trenutno dostupan. ARM Cortex-M7 ima čak 1024 kilobajta RAM-a, 2048 kilobajta fleša, od kojih je 64 kilobajta rezervisano za EEPROM emulaciju. Na dva USB porta Teensy ostvaruje brzine od 480 Mbit/s, a na 40 GPIO koji nisu tolerantni na pet volti ostvaruje dva I2S, tri SPI, tri I2C i čak sedam serijskih komunikacija. Tu je i jedan SDIO za SD kartice, tri CAN-a, jedan S/PDIF, rtc, Cryptographic Acceleration, Random number generator, programmable FlexIO, Pixel Processing Pipeline i Peripheral cross triggering. Ovaj Teensy je kraći od 3.6 zbog manje GPIO, ali to mu je jedini minus. Da ne zaboravimo da istaknemo da su svih 40 GPIO interrupt sposobni, a za analogni ulaz se mogu koristiti njih 14, dok se za izlaz mogu koristiti dva.

Programiranje Teensyja

Programiranje je malo drugačije u odnosu na neke druge razvojne ploče o kojima smo do sada pisali. Svaka ploča dolazi sa Blink skečom, ali i HalfKay butloaderom. Zašto to formulišemo na ovakav način? Zato što Teensy ploče sadrže zapravo dva programa paralelno, gde se bootloader može pozvati svaki put pritiskom na taster ’reset’. Vraćanje nazad na korisnički program se postiže resetovanjem preko napajanja ili nakon prebacivanja korisničkog programa (skeča), kako vam je lakše.

Korisnički program se na Teensy može prebaciti u dva oblika, kao HEX fajl ili kao INO fajl preko Arduino IDE razvojnog okruženja. Za ovo prvo je neophodno preuzeti Teensy Loader sa zvanične stranice, što je izvršni mali programčić sa još manjim prozorom. Nakon pokretanja i povezivanja ploče sa računarom, on će nam tražiti da preko ’reset’ tastera pozovemo bootloader. Nakon toga možemo uploadovati HEX fajl, i resetovati ploču da pokrene korisnički program. Loader ima vrlo malo opcija gde je jedna od njih i Verbose info gde između ostalog jasno možemo videti da je loader prepoznao ploču, to jest, nije potreban nikakav odabir. HEX fajl između ostalog možemo napraviti i preko Arduino IDE tako što pripremljen skeč prebacimo u binary (Sketch->Export compiled Binary) gde će se isti snimiti u istom folderu gde i sam INO od kojeg i pravimo HEX.

Drugi, nama možda komotniji način, jeste putem Arduino IDE, kao kada bismo prebacivali skeč na Uno. Za ovo je potrebno da sa PJRC stranice preuzmemo Teensyduino što je zapravo instalacioni fajl koji će u Arduino IDE razvojno okruženje instalirati sve Teensy ploče, sve biblioteke koje provereno rade sa Teensy pločama i gomilu primera. Jasno je da momci iz PJRC ništa nisu prepustili slučaju. U toj meri da se mnogi originalni skečevi u IDE blago modifikuju, pa tako je recimo u Blink skeču u komentarima iznad dodat pinout za built-in LED za svaku Teensy. Pod Tools biramo ploču, po potrebi takt (overclock), keyboard layout i slično, dok se ploča ne prijavljuje samo pod standardnim portom, jer govorimo o HID protokolu. Prilikom prebacivanja skeča, a nakon verifikacije, opet će se pojaviti Loader koji će tražiti da se pritisne reset taster.

Na www. pjrc. com/ teensy/ gui imamo Audio System Design Tool koji je dizajniran za Teensy Audio Library. Sa ovom alatkom se može napraviti jedinstven zvučni sistem, a alatka će automatski napraviti neophodan source code. Ako idemo na primere vezane za Teensy pod Audio, pod bilo kojim primerom možemo videti segmente poput onog koji smo dobili putem ove alatke. On svojom koncepcijom najviše podseća na Visuino gde biramo blokove sa leve strane i ređamo ih na sredini uz Info o svemu sa desne strane. Svaki blok se vezuje linijama potpuno isto kao na Visuinu, a nakon završetka projekta, sa Export dobijamo odgovarajući segment kôda, koji potom dodajemo u skeč. Dovoljno je da se malo isprati kakva je struktura audio primera i uz pomoć Info, da se napravi custom zvučni sistem.

Teensy 3.6 ima ugrađeni kristal za RTC, ali je neophodno dodati bateriju (coin) da čuva vreme. U primerima za Teensy pod Time->TimeTeensy3 je funkcionalan skeč gde će se tačno vreme preuzeti sa računara.

Teensy ploče su očekivano brze pa smo ih testirali matematičkim zadacima, pogotovo Teensy 2.0 koji koristi isti MCU kao i Leonardo. Rezultati su u tabeli i ono što vidimo je da je Teensy 2.0 za dlaku bolji od Leonarda. Razlog tome je više memorije koje Teensy ima na raspolaganju, jer je HalfKay bootloader znatno manji. Teensy je „oduvao” čak i ESP32, mada ne previše, što znači da 20 megaherca više i te kako znači. Koliko znači je možda i najbolji pokazatelj mogućnost pokretanja video klipa sa memorijske kartice, a link ka skeču imate na adresi i. sk. rs/ 357338, dok je dokumentacija na forumu i. sk. rs/ 357339. Ako je 3.6 ovako moćan, šta li reći za 4.0 koji je iznad svih? Ovaj poslednji možete očekivati u nekom narednom periodu, jer mu je cena zaista pristupačna.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
MAJ 2020
Izazovi online prodaje tokom epidemije
Haotična kupovina iz karantina
Ako nam je potreban još jedan dokaz da se svet tokom krize izazvane pandemijom novog virusa korona u potpunosti promenio, šta ...
BOPIS
Zašto je prodavnici potreban sajt?
Svakodnevno slušamo kako je neki biznis ili neka mala porodična firma zatvorena iz jednog od dva razloga. Ili je, pod jedan, t...
AMD Ryzen Threadripper 3960X i Asus ROG Strix TRX40-E Gaming
I kvantitet i kvalitet
Prva generacija Ryzen procesora vratila je AMD u trku kao ravnopravnog takmaca, druga je već ozbiljno ugrozila konkurentsku poz...
Tehnološke inovacije u auto-industriji u 2020. godini
Pristupačnije novotarije
Proizvođači automobila nezaustavljivo nastavljaju sa integracijom modernih tehnologija u sve povoljnije modele
Samsung Galaxy Z Flip
Savijača na korejski način
Mlađoj populaciji verovatno nije sasvim jasno čemu tolika frka oko savitljivih telefona, ali oni sa malo više staža na GSM f...
Groove Music, Movies & TV, Photos, Weather, Paint 3D, Sticky Notes, Maps, Snip & Sketch
Najbolje sistemske aplikacije za Windows 10
Količina bloatwarea koji stiže sa Windowsom svake godine sve veća je i veća. Čini nam se da se Microsoft na ovom polju ugle...
3D štampa u kućnim uslovima
Lako stvaranje predmeta
3D štampa nije više toliko egzotika, koliko postaje uobičajena i korisna stvar
Mount & Blade II: Bannerlord
Čekajući Mount & Blade II: Bannerlord, mnogi su lipsali kao magarci željni zelene trave. Najavljen pre osam godina, nasta...
Final Fantasy VII Remake
Pravljenje rimejkova igara koji su ostavili dubokog traga u svetu popularne kulture svakako nije nova rabota, ali u slučaju (se...
Resident Evil 3
U ovoj lite apokalipsi igranje apokaliptičnih igara, barem meni, zabavnije je nego u normalnim uslovima. Zato sam bijesno vrisn...
MotoGP 20
Da odmah pređemo na stvar – najveći novitet koji MotoGP 20 donosi je kampanja! Možete da se pridružite Moto3, Moto2 ili Mo...
© 2020 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama