LAKI PINGVINI<>
102018<><>

Platforma Espressif ESP32

Snaga i moć

O razvojnim modulima baziranim na čipovima kineske kompanije Espressif smo pisali u par navrata (SK 5/2017 i SK 6/2018) i oni nisu nepoznanica za većinu mejkera. Reč je o generaciji mikrokontrolera koja je po izuzetno niskim cenama donela integraciju sa Wi-Fi tehnologijom i omogućila bukvalno svima (najjeftiniji moduli koštaju oko dva evra) da zavire u IoT svet budućnosti. Sve do pojave prve generacije njihovih čipova pod oznakom ESP8266, slična rešenja drugih proizvođača su se merila cenama od više desetina, pa nekada i stotina dolara. Uz nešto početnih problema koji su se odnosili na bezbednosne propuste, ESP8266 je evaluirao do jedne od najomiljenijih platformi u mejkerskom svetu. Osim pomenutog Wi-Fi interfejsa, u njegova dostojanstva spada i lepa zaliha procesorske snage, koja omogućava upotrebu u zahtevnim projektima. Njegov naslednik ESP32 nudi ubedljivo najbolji odnos cene i mogućnosti, pa je red da mu posvetimo par redova teksta.

Stepenica više

 
Kinezi su tehnologiju za ESP čipove preuzeli od američke kompanije Tensillica, koja je osnovana 1997. godine od strane ljudi uključenih u razvoj MIPS arhitekture. Iako se radi o efikasnom dizajnu koji u kombinaciji sa DSP blokom postiže odlične rezultate, ne može se reći da je nešto naročito prihvaćen u praksi. Svetli izuzeci su Microsoftove naočare Hololens i konzola Sony PS4, gde je ova arhitektura upotrebljena kao osnova zvučnog procesora.

Umesto jezgra L106 korišćenog za izradu modela ESP8266, ESP32 koristi noviji 32-bitni dizajn sa dva LX6 jezgra koja se izrađuju 40-nanometarskim tehnološkim procesom. Da budemo precizniji, čipovi sa šifrom D0WDQ6, D0WD i D2WD (svi počinju sa „D”) imaju po dva jezgra, dok čip S0WD ima jedno, ali se ne sreće često. Nažalost, ove oznake se nalaze na kućištu čipa ali nisu uočljive zbog prisustva zaštitnog metalnog pokrivača. Inače, ispod lima se pored glavnog čipa još nalaze eksterno SPI fleš skladište kapaciteta 32 megabajta i oscilator sa taktom od 40 megaherca.

Osim pomenutih jezgara, u mikrokontroler je integrisan dodatni koprocesor izrađen na osnovi ULV tehnologije koja obezbeđuje krajnje malu potrošnju energije. Njegova je funkcija da, dok se glavna jezgra nalaze u stanju dubokog sna, komunicira sa ADC ulazima, internim senzorom temperature i senzorima priključenim putem I2C interfejsa. Potrošnja čipa u ULP režimu je 150 mikroampera, dok u režimu hibernacije iznosi samo pet mikroampera, što mu omogućuje dugu autonomiju rada i sa najmanjim baterijama.

Tehnički priručnik koji ide uz čip ima preko šest stotina stranica, ali u njemu nema nikakvih podataka o načinu na koji ova jezgra izvršavaju instrukcije, a to nas je interesovalo iz razloga što ESP na taktu od 240 megaherca ostvaruje brzinu od čak 600 MIPS, što je rezultat dostojan svakog poštovanja. Isto tako nas je razočaralo odsustvo informacija o količini ugrađene keš memorije, tim pre što su takvi podaci dostupni za ESP8266. Sve u svemu, tehnologija firme Tensilica i dalje ostaje dosta velikom nepoznanicom za njene krajnje korisnike.

Jasno je da bi bez podrške za Wi-Fi interes za ove čipove bio mnogo manji i zahvaljujući njoj ESP platforma je postala to što jeste. ESP32 obezbeđuje povezivanje u radio opsegu na 2,4 gigaherca i ostvaruje maksimalnu brzinu prenosa od 150 megabita u sekundi, pri radu u režimu rada 802.11n. Šifrovanje podataka se obavlja po WPA/WPA2 standardima. Kao i kod prethodnika, postoji mogućnost rada u režimima Ad hoc, Infrastructure, P2P i SoftAP. Novina je uvođenje Bluetooth i BLE (Bluetooth low energy) komunikacije, što može da donese značajne uštede u odnosu na Wi-Fi, a to je posebno izraženo prilikom korišćenja podsistema BLE.

Lakše nego pre

Sve do pre par meseci smo bili svedoci činjenice da je instalacija podrške za ESP32 u Arduino IDE bila relativno komplikovana, što je za posledicu imalo da brojni manje iskusni mejkeri zaobilaze ovu moćnu platformu. I da stvar bude još gora, sa pojavom svake nove verzije softvera korisnici su bili primorani da proceduru obavljaju iz početka. Međutim, sada je sve mnogo jednostavnije i ESP32 se instalira i koristi kao sav ostali hardver na Arduino platformi. Prvo je potrebno da preko menija File: Preferences: Settings, unutar opcije Additional Boards Manager URLs dodati link https://dl.espressif.com/dl/package_esp32_index.json.

 
Posle ovoga prelazimo u menadžer podržanih razvojnih platformi (Tools: Board: Boards Manager) i u polje za pretraživanje upisujemo ESP32, što će nas dovesti do modula za podršku ove platforme. Nakon njegove instalacije, u pomenutom meniju dobijamo znatno uvećan spisak podržanog hardvera, što jasno pokazuje kolika je popularnost ovih čipova među proizvođačima. Proces programiranja je praktično jednak onome kod Arduina, jedino moramo istaći da kompajliranje traje po nekoliko minuta, što u situacijama kada na kodu pravimo sitne ispravke zna prilično da frustrira.

Čip ESP32 u sebi sadrži ceo niz dodatnih uređaja. Tako, recimo, postoji ugrađeni senzor temperature koji funkcioniše u opsegu od -40 do 125 stepeni celzijusa. Nažalost, aktivno korišćenje Wi-Fi komunikacije može značajno da utiče na preciznost merenja. Tu je i Holov (Hall) senzor za detekciju magnetnog polja, kontroler za IC komunikaciju, senzor za touch ekrane i 16 kanala LED PWM kontrolera.

 
Najjeftiniji moduli su svakako i najrašireniji na dalekoistočnom tržištu, pa su zbog toga i najčešći izbor korisnika. Postoje dva osnovna modela koja se razlikuju jedino u čipu za komunikaciju preko USB porta. Kod jednih je to CH340G, dok je kod drugih CP2102, koji je za nijansu bolji izbor od prethodnika. O ovim čipovima smo već pisali u jednom od prethodnih brojeva i sve što je navedeno za USB<>UART module važi i ovde.

Espressif je nedavno lansirao modul pod nazivom ESP32-WROVER-B. Njegova značajna karakteristika je prisustvo osam megabajta PSRAM memorije (prethodni model je imao četiri megabajta). PSRAM (Pseudo-SRAM, ponekad se označava i kao PSDRAM) je relativno nova vrsta RAM-a, koja se u radu ponaša kao statički RAM (SRAM), a u stvari se radi o „običnom” dinamičkom RAM-u sa dodatkom kontrolera koji je zadužen za osvežavanje. Na ovaj način je dobijena veća gustina pakovanja, karakteristična za DRAM, kao i znatno niža cena koštanja po jedinici veličine. To su već memorijski kapaciteti koji omogućavaju komotnu upotrebu operativnih sistema u realnom vremenu.

 
U vreme pisanja teksta, najjeftiniji ESP32 moduli pogodni za rad sa prototipskim pločicama su koštali oko pet do šest evra. Nije mnogo za ono što pružaju, ali je to skoro dvostruko više od cene NodeMCU modula sa čipom ESP8266, koji imaju dosta slične mogućnosti (glavni minus je nedostatak Bluetootha). To opet znači da umesto ESP32, za veliki broj scenarija, mirne duše možemo koristiti njegovog prethodnika i uštedeti koji evro. Sa druge strane, novi model donosi noviju i bolju tehnologiju koja ima kvalitetnije rešeno pitanje ekonomije energije, a u uslovima gde se traže bežične komunikacije i velika brzina izvršavanja po skromnoj ceni, jednostavno nema premca. Osim toga, ovde imamo veći broj slobodnih GPIO portova i veći broj raspoloživih interfejsa. ESP32 je sjajna platforma koja jeftine mikrokontrolere po svim parametrima ostavlja daleko iza sebe i po brzini rada se približava računarskim sistemima tipa Raspberry Pi Zero, koji se prodaju po sličnoj ceni. Tačnije, bolje je poređenje sa modelom Zero W koji ima ugrađen Wi-Fi interfejs, ali su i skoro dvostruko skuplji. Obe ove platforme predstavljaju odlično rešenje, a izbor zavisi od specifičnosti projekta.

Igor S. RUŽIĆ

 
Instaliranje softvera u Linuxu (3)
Izvinjenje Linusa Torvaldsa
TTGO ESP8266 OLED
Rotary Encoder
Platforma Espressif ESP32
Šta mislite o ovom tekstu?

Procesor:
2 × Xtensa LX6 @ 160-240 MHz, dodatni ULP koprocesor
Memorija:
520 KB SRAM
Skladište:
448 KB (ROM), 1-16 MB (eksterno)
Radio:
Wi-Fi: 802.11 b/g/n WPA/WPA2, WFA, Bluetooth: v4.2 BR/EDR, BLE
Interfejsi:
3 × UART, 4 × SPI, 2 × I2C, 2 × I2S, 1 × (SD/eMMC/SDIO) host, 10 × touch senzori, IC, Motor PWM, CAN 2.0, LED PWM
ADC/DAC:
18 × 12-bit SAR ADC, 2 × 8-bit DAC
Ostalo:
Hall senzor, temperaturni senzor
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera