"Teď, teď, teď tu byl. Museli jste se potkat." :)
https://www.root.cz/zpravicky/ctyrjadrovy-risc-v-minipocitac-starfive-visionfive-2-na-kickstarteru/
Bohuzel cina jako cina.. tohle je jenom dalsi zapis do meho NO-GO repertoaru.
Snad se jednou zapadni znacky vzchopi a udelaji nejakou masovku - ale vidim ponekud problem v tom, ze produkovat "one size fits it all" cip ve velkem neni uplne tady zadany... zapadni managori velice radi porcuji nabidku jako operatori - milion moznosti a jedna je predrazenejsi nez druha. To se pak tezko konkuruje.
Tady je hlavne cely navrh cinsky a jak je znamo, cina rada ohne trh sponzoringem kde ceho. Na ukor poradne dokumentace, takze si vyvojari muzou pocitat sediny.. ale hlavne ze to zakaznici chtej, protoze je to levny.
Nevadilo by mi, kdyby to byl zapadni navrh, se zapadni urovni dokumentace a podpory.. jenom vyroben v cinskem fabu.
Takže klasická otázka a bolest těchto destiček: na jakou nejmenší spotřebu se to umí suspendnout?
Na druhou stranu když to dělá Pine(Phone) - ten vydrží nějak na baterku snad, ne?
První pohled do schématu a už špatný, 1.1 mA z 5V USB jen kvůli příliš tvrdé odporové děličce, Iq regulátoru a always-on LEDce. Pod tohle číslo to nepůjde ani kdyby čip a ostatní věci na desce vůbec nebyly.
19. 10. 2022, 00:04 editováno autorem komentáře
Což o to, schéma je jednoduché a čip je v QFN, takže bych si klidně mohl udělat vlastní desku, nebo tu LEDku a měnič sundat, nebo někdo určitě za chvíli udělá klon desky co to mít nebude.
Koukal jsem do dokumentace a umí to HBN režim a Power-down sleep mode při kterých to ale smaže RAM, takže pro Linux nepoužitelné. A pak už jsem tam nic dalšího nenašel, takže smůla jako obvykle. Je to fakt hloupé, protože komerční mobily s Androidem se dokážou uspat na milliwatty, případně s wifi a LTE na nízké desítky mW.
No je to tak, ale i kdyby deska byla OK tak dalsi problem je software, tohle neni arduino s atmega nebo STM32 kde si to clovek je schopny nastudovat z datasheetu a ponastavovat tech par registru sam. treba v linuxu napsat kernel driver ktery funguje a driver ktery krome toho se umi uspat a vzbudit pripadne setrit za behu je rozdil. Krasne vyladene to mela Nokia v Maemo, treba android nasilne uspava vsechny procesy (=suspend to ram) pokud nekdo nedrzi wakelock ale Maemo nechalo vsechno bezet, zadny suspend, a stejne to vydrzelo az mesic v idle rezimu (pripadne 14 dni se zapnutym wifi) protoze s tickless kernelem a vyladenyma driverama i aplikacema proste vsechno spalo samo od sebe. mohls jsi mit na pozadi pusteny bash skript se 'sleep x' a on bezel celou dobu a vsecho spalo. Ae to je dnes spis utopie.
I to ESP32 na kterem postupne udelali spoustu prace v SDK to porad neni ani zdaleka idealni pokud clovek chce mit BLE nebo wifi zapnute a spat pripojeny k AP pripadne cekat na bluetooth spojeni nebo byt v advertising modu. pritom opet, kdyz je vsechno vyladene muze to zrat desitky uA i bez nejakeho nasilneho sleep/suspend volani. Treba u ESP32 dost pomuze externi 32kHz krystal (https://github.com/espressif/esp-idf/issues/947), nevidel jsem desku kde by ho meli protoze to skoro nikoho nezajima.
Treba i raspberry ktere je oproti cinskym vecem dost vyladene tohle tema (naprosto vedome) ignoruje protoze to je prilis mnoho prace s malym prinosem => nizka priorita. I ten RP2040 je z tohohle pohledu krok zpet oproti jiny cipum, sleep mod toho cipu je vylozene k smichu.
To je přesně ono... Chtěl jsem na ESP32 postavit pár věcí na baterku, ale zjistil jsem, že to nemá cenu. Jediný možný režim je deepsleep, který znamená "reboot" s bootovacím příznakem. To znamená WiFi, BT, čítače se restartují, takže pokud chci vysílat nějaká data, tak musím projít energeticky náročným přihlášením k síti nebo poměrně složitou a špatně zdokumentovanou inicializací BT (používání BT jako protokolu, ne jen na ESP32). Takže jsem se na to vykašlal.
u ESP32 nrevim co je presne vlastost chipu a vylepseni SDK ale minimalne ty novejsi cipy ESP32-C3,S2,S3 jsou mozna trosku lepsi viz ten bug report, s externim 32kHz krystalem pisou ke konci prumer 600 nebo 300 uA, nevim jestli i klasicky ESP32 to umi, pro ten tam driv psali jednotky mA. S BLE takovy problem neni, tam platforma kde to berou vazne je prumer v desitkach uA vcelku bez problemu, treba nRF52 platforma je krasne zdokumentovana a podporovana ( microbit 2, hromadka levnych cinskych hodinek/fitness trackeru nebo i moduly z aliexpress + sw arduino nebo espruino) nebo Telink cipy/moduly jsou relativne pouzitelne, napr TLSR8251 - xiaomi teplomer za $3-$4 https://github.com/pvvx/ATC_MiThermometer , je k tomu SDK v C, ma to par volnych gpio, na soucasny firmware to bezi cca rok na jednu CR2032 baterku. Takze pro vyvoj v C je hodne moznosti, ale treba pro uplneho zacatecnika to espruino na nrf52 je o napsani par radku v JS a je hotovo a spotreba minimalni.
Pro wifi neco podobneho momentalne nevim ale snad ty novejsi ESP se tam dostanou. Momentalni reseni je samozrejme mit neco co ma wifi i BLE na napajeni a vec s baterkou pak uz jen BLE.
Ohledne wifi mam jeste tip RTL8720DN - modul BW16 a Ameba Arduino, je k tomu i kompletni SDK a zdrojaky vseho na githubu - zajimavost je ze tenhle cip umi i 5Ghz ale tam jsem jeste nemel cas neco napsat a zmerit kolik to ma spotrebu. Datasheety treba i dole pod https://www.seeedstudio.com/Realtek8720DN-2-4G-5G-Dual-Bands-Wireless-and-BLE5-0-Combo-Module-p-4442.html ale jinak https://github.com/ambiot/ambd_sdk Na druhou stranu tohle asi nebude nikdy proslapany mainstream takze ESP32 je asi jednodussi cesta.
S tim BW16/RTL8720DN , ja si chtel buildit vlastni firmware ale ted jsem pogooglil arduino a neni to bohuzel zadna hitparada, je to srovnatelne s ESP32 viz treba https://forum.arduino.cc/t/using-wifi-in-sleep-mode-power-saving-ameba-arduino/659813 cca 14mA. pritom je to divny, wifi ma ve standardu power saving, na routeru se nastavi DTIM/beacon interval a zarizeni presne vi jak dlouho muze spat (i stovky milisekund) nez mu muze prijit dalsi packet tak nevim v cem je problem zustat asociovany s AP a vetsinu casu spat s temer nulovou spotrebou.