Hlavní navigace

ESP32 má sedm hardwarových chyb, opraveny budou v únoru

Petr Stehlík

Toužebně očekávaný nástupce ESP8266 s názvem ESP32 je tady. Bohužel má ale sedm nepříjemných hardwarových chyb. Výrobce slibuje druhou revizi, která vyjde začátkem roku.

Už téměř rok se těšíme na nástupce oblíbeného Wi-Fi čipu ESP8266: ESP32. Od září ho intenzivně hledáme v e-shopech po celém světě a někteří šťastlivci už jej dokonce mají doma. Připomeňme si ve zkratce jeho úžasné parametry (úmyslně v originále, přesně opsáno z propagačního tweetu, aby se nic neztratilo v překladu):

  • WiFi 802.1BGN HT40 (150 Mbps)
  • Bluetooth Classic
  • Bluetooth Low Energy
  • Proprietary Long Range Wi-Fi (1 km range)
  • Dual core CPU
  • 7-stage pipeline CPU
  • 2× FPU (Single precision)
  • 240 MHz CPU clock
  • 240 MHz bus clock
  • 32×32 multiplier
  • 32-bit Integer divide
  • 40-bit MAC
  • 10× PWM
  • 512 kByte SRAM
  • 8 kB low power retention memory
  • Dynamic biasing
  • Instruction cache
  • 8 MByte Flash
  • 12× timer
  • 32× GPIO
  • 5µA low power
  • Memory protection unit
  • 4096-bit RSA hardware accelerator
  • Elliptical curve cryptography accelerator
  • AES-256 accelerator
  • Hardware flash encryption
  • Secure boot
  • 1024-bit OTP memory
  • 3× SPI
  • 3× I2C
  • SD-card Interface
  • LCD Interface
  • Camera Interface
  • PWM driver
  • 10× capacitive touch sensor
  • Hall sensor
  • Low noise amplifier
  • Slow clock
  • 12-channel dual ADC
  • Dual 10-bit DAC
  • Internal calibrated 8MHz clock
  • 160kHz low power RTC
  • Ethernet MAC
  • 32kHz crystal oscillator
  • 2.0V to 3.6V supply voltage

Takto vybavený (nebál bych se slova „nabušený“) čip o velikosti 6×6 mm a aktuální ceně kolem 5 dolarů slibuje stát se opravdovou revolucí nejen v internetu věcí. Bohužel není nebe bez mráčku a ani čerstvě vyvinutý čip není bez chyby. Espressif IOT Team právě uveřejnil dokument nazvaný ECO and Workarounds for Bugs in ESP32 [PDF], který popisuje hned sedm chyb přítomných v čipu ESP32 revize 0 (to je ta vydaná 1. září, jak jsme psali v článku).

První chyba se týká watchdogu, který nesprávně vyvolá reset jak po zapnutí napájení, tak i po probuzení z hlubokého spánku. Zatímco resetu po zapnutí se vyhnout nelze, reset po probuzení je možno obejít softwarově vymazáním jednoho příznaku v MMU.

Druhá chyba nastává při přístupu do externí SRAM paměti skrz keš, kdy při střídání operací čtení a zápisu dochází k náhodným chybám. Softwarově to opravit nejde, musí se pečlivě vyprazdňovat pipeline mezi čtením a zápisem do externí SRAM paměti (nebo mezi čtením a zápisem použít strojovou instrukci MEMW).

Třetí chyba se týká náhodných ztrát dat, které nastávají při opakovaném zápisu na stejnou adresu registrů periférií. Zde má pomoci přeskládat adresy registrů pro přístup k perifériím podle tabulky ve výše zmíněném dokumentu.

Čtvrtou chybou je, že nefunguje Brown-out Reset, tedy reset při poklesu napětí pod určitou mez. Na to nepomůže žádná softwarová klička.

Pátou chybou je pád procesoru („CPU crash“) při přepnutí jeho frekvence z 240 MHz na 80 nebo 160 MHz. Doporučovaná obezlička je docela vtipná: pokud už běžíte na 240 MHz, tak snižujte jedině na 40 MHz. Z 40 MHz můžete snížit na 2 MHz, a z 2 MHz pak můžete jít nahoru na požadovaných 80 nebo 160 MHz.

Šestá chyba zřejmě plyne z velké konfigurovatelnosti pinů procesoru ESP32. Některé piny jsou přístupné jak přes GPIO funkce, tak i přes RTC_GPIO registry. A zrovna tyto piny mají tu smůlu, že jejich pull-up a pull-down rezistory nejdou zapnout přes GPIO funkce, jak by člověk očekával, ale je nutno použít RTC_GPIO registry. Tato chyba je výjimečná i tím, že jako jediná nebude opravena ani v nové revizi čipu.

Poslední zatím známou chybou v ESP32 je omezený rozsah frekvencí „audio PLL“. V nové revizi čipu bude pro výpočet výstupní frekvence platit jiný vzorec než pro dnešní revizi 0.

No a kdy že bude nová revize ESP32, která opraví šest ze sedmi výše zmíněných chyb, dostupná? Výrobce plánuje, že ji pustí na trh v únoru 2017. Dokument tvrdí, že novou revizi poznáme podle nastavení bitu eFuse. Kardinální otázka ovšem je, jak to my kupující poznáme při vybírání hotových modulů s ESP32 v e-shopu. Pravděpodobně jediná možnost bude počkat nejméně do dubna/května, než se vyprodají zásoby starých čipů (za předpokladu, že tato chybná revize půjde na dračku a nezůstane ležet někde ve skladech). Mezitím nám alespoň poklesnou ceny, jak jsem prorokoval už v minulém článku.

Našli jste v článku chybu?

22. 11. 2016 8:57

Trident (neregistrovaný)

Primárně chyba v managementu, sekundarne v QA. Zažil jsem spoustu veselých příběhu z vývoje kdy do QA se nedostala ani informace o tom co mají testovat. Nebo se testování outsourcovalo a na konci to testovala cinanka z vesnice podle papírového návodu který nikdo nekotroloval. Další věc je tlak managementu na deadline. Prostě abysme stihli vydat první hw revizi v termínu tak serezte QA testy na minimum ať se stihnou ficurky doimplementovat a továrna stihne vyrobit posledni prototypy. A bum průser…

22. 11. 2016 9:39

Pořád přemýšlím, co dělalo těch 200 lidí, kteří dostali vzorky předprodukčních ESP32 už před 11 měsíci. Podle mě vybrali špatných 200 lidí, protože od nich nikdy nebyl žádný výstup a zřejmě tyto chyby ani nepomohli odhalit. Podle načasování se zdá, že je našli až skuteční zákazníci, kteří si koupili produkční čipy teď v září a začali na nich opravdu něco dělat.

Ovšem některé z těch chyb jsou opravdu hůře odhalitelné: třeba ta s externí SRAM, ta mě dostala - vůbec jsem netušil, že k ESP32 jde př…

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Vitalia.cz: Vychytané vály a válečky na vánoční cukroví

Vychytané vály a válečky na vánoční cukroví

DigiZone.cz: ČRo rozšiřuje DAB do Berouna

ČRo rozšiřuje DAB do Berouna

Měšec.cz: Komu musí od ledna zvýšit mzdu?

Komu musí od ledna zvýšit mzdu?

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Měšec.cz: Stavební spoření: alternativa i pro seniory

Stavební spoření: alternativa i pro seniory

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Vitalia.cz: Pamlsková vyhláška bude platit jen na základkách

Pamlsková vyhláška bude platit jen na základkách

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka