)
Olvasótoll alacsony fogyasztású mélyalvás üzemmód: a készenléti áram csökkentése 0,7 mA-ről 0,08 mA-re
Célközönség: Ez a cikk az OEM firmware-mérnököket, az alacsony fogyasztású hardvertervezőket és a beszerzési csapatokat célozza, akiknek egyetlen töltéssel 30–180 nap készenléti időt kell biztosítaniuk. Végigvezet a mélyalvás állapotgépen, az ébresztési forrásokon és a DCDC hatásfokon minden aktív SKU-n (B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2, Y6), 23 °C-on mért készenléti árammal.
Egy 4000 darabos iskolai tender Katarban 2025 elején indult – de a tollak 11 hétig vámraktárban maradtak, mert az importengedély papírmunkája csúszott. Mire elérték az osztálytermet, a tollak fele 0%-os akkumulátorral rendelkezett, és nem volt hajlandó felébredni. A kiváltó ok egy firmware-hiba volt: a P2 régi tollak mélyalvás állapotgépe egy „részleges alvásba” lépett, amelyben a Wi-Fi rádió aktív keresésben maradt, és folyamatosan 4,6 mA-t fogyasztott. 11 hét × 7 nap × 24 óra × 4,6 mA után az 500 mAh-s akkumulátor lemerült.
A megoldás a P2 firmware 2.0.3 volt, amely mélyalvásba kényszeríti a BK3254-et, és kikapcsolja a Wi-Fi keresést, hacsak nem történik kifejezett ébresztés. A készenléti áram a P2-n 0,7 mA-ről 0,18 mA-re csökkent, ami 115 nap polckészenléti időt ad. Ugyanez a firmware-architektúra érvényes mind a 11 SKU-ra, de az ébresztési források mátrixa eltérő.
Ez a cikk az alacsony fogyasztású tervezési referencia, amelyet OEM partnereinknek adunk át NPI során. Gyári méréseken alapul, nem elméleten.
1. A mélyalvás állapotgép
Egy modern olvasótoll négy energiaszinttel rendelkezik, áramfogyasztás szerint rendezve:
- Aktív — teljes SoC 240 MHz-en, minden periféria bekapcsolva. ~80 mA.
- Tétlen — CPU leállítva, perifériák órajelkapuzva. ~12 mA.
- Könnyű alvás — CPU ki, RTC + RAM megtartva, lassú óra fut. ~1,2 mA.
- Mély alvás — a legtöbb periféria ki, RTC fut, GPIO ébresztés engedélyezve, csak retention RAM. ~0,08–0,7 mA SKU-tól függően.
Az átmeneteket a PMU (Power Management Unit) vezérli. A BK7251 / BK7252 (F8, K7, KF1, Q8, T2) esetén a PMU a SoC-ba van integrálva. A Realtek RTL8723DS (L5, Y6) és RTL8710B (P2) esetén a PMU egy külső AXP223 vagy SY8089. Az Actions ATW1531 (B1, B2, Q6) esetén a PMU belső.
Az ébresztési források:
- RTC riasztás — naptári esemény, periodikus időzítő.
- OID szenzor megszakítás — IR-LED + fotodióda érzékeli a nyomtatott kódot.
- GPIO — gombnyomás, USB csatlakozás, fedélnyitás kapcsoló.
- BLE hirdetés — fix ütemezés, nem megszakítás-vezérelt.
- Wi-Fi DTIM — beacon figyelés, minden 100 ms × DTIM.
Mély alvásban csak az RTC, az OID szenzor és a GPIO ébresztheti a SoC-t. A BLE és a Wi-Fi le van kapcsolva. Az ébredési idő mély alvásból aktívba 18–45 ms SKU-tól függően.
2. SKU-nkénti készenléti áram
23 °C-on, 50% relatív páratartalom mellett, teljesen feltöltött akkumulátorral, 30 percig használaton kívül:
| Modell | Aktív (mA) | Tétlen (mA) | Könnyű alvás (mA) | Mély alvás (mA) | Ébredési idő (ms) |
|---|---|---|---|---|---|
| B1 | 78 | 11 | 1,4 | 0,6 | 36 |
| B2 | 76 | 10 | 1,3 | 0,6 | 35 |
| F8 | 80 | 12 | 1,5 | 0,5 | 32 |
| K7 | 75 | 10 | 1,2 | 0,55 | 30 |
| KF1 | 76 | 11 | 1,2 | 0,5 | 28 |
| L5 | 82 | 13 | 1,6 | 0,55 | 30 |
| P2 | 84 | 14 | 1,8 | 0,18 (firmware 2.0.3) | 45 |
| Q6 | 76 | 11 | 1,4 | 0,55 | 34 |
| Q8 | 78 | 12 | 1,4 | 0,5 | 26 |
| T2 | 90 | 14 | 1,7 | 0,6 | 25 |
| Y6 | 82 | 13 | 1,6 | 0,55 | 30 |
A P2 a 2.0.3-as firmware-rel 0,18 mA-ra csökken – jobb, mint bármely más típus – mivel a korábbi RTL8710B szilícium egy hardveres mély alvó üzemmóddal rendelkezik, amely teljesen megkerüli a Wi-Fi blokkot. A 2.0.3 előtti firmware-en a P2 0,7 mA volt, ezért a 11 hetes vámprobléma.
3. Ébresztési források prioritása és késleltetése
Az ébresztési forrás prioritása határozza meg a felhasználói élményt. Egy toll, amely az OID szenzor megszakítására ébred, azonnalinak érződik; amelyik csak RTC-re ébred, élettelennek tűnik.
| Ébresztési forrás | Késleltetés (ms) | Energia ébresztésenként (mAs) | Prioritás |
|---|---|---|---|
| OID szenzor megszakítás | 8 | 0,4 | 1 (legmagasabb) |
| Bekapcsoló gomb | 22 | 0,9 | 2 |
| Fedélnyitás kapcsoló (KF1, L5, Q8, T2, Y6) | 28 | 1.2 | 3 |
| RTC ébresztés | 32 | 1.4 | 4 |
| USB VBUS csatlakozás | 18 | 0.8 | 5 |
| BLE hirdetési slot | 90 | 4.6 | 6 (legalacsonyabb) |
Az OID-érzékelő ébresztése a domináns útvonal – a gyermek a tollat egy nyomtatott kódra irányítja, és azonnali hangot vár. A 8 ms késleltetést a fotodióda-erősítő felfutási ideje és az MCU óra újraindítása határozza meg. A K7 és KF1 modelleknél egy hardveres aluláteresztő szűrőt adtunk az OID-érzékelő bemenetéhez, amely 78%-kal csökkenti a téves ébresztéseket (körülbelül 2.3 mAh/nap megtakarítás egy tanteremben).
4. A PMU és a DCDC hatásfoka
A DCDC átalakító az aktív üzemmód második legnagyobb fogyasztója, és a mély alvásban is jelentős tényező. Alapértelmezett PMU-választásaink:
| Modell | PMU | Aktív hatásfok | Mély alvás nyugalmi áram | BOM költség |
|---|---|---|---|---|
| B1, B2 | Belső LDO | 78% (lineáris) | 4 µA | $0.00 |
| F8 | SY8089 | 92% | 8 µA | $0.12 |
| K7, KF1 | SY8089 | 92% | 8 µA | $0.12 |
| L5 | TPS62840 | 95% | 1.5 µA | $0.28 |
| P2 | RT9013 LDO | 75% (lineáris) | 6 µA | $0.05 |
| Q6 | SY8089 | 92% | 8 µA | $0.12 |
| Q8 | TPS62840 | 95% | 1.5 µA | $0.28 |
| T2 | TPS62840 + AXP223 | 96% | 0.8 µA | $0.46 |
| Y6 | TPS62840 | 95% | 1.5 µA | $0.28 |
A TPS62840 (TI) és az AXP223 (X-Powers) a nagy hatásfokú megoldások. Az L5, Q8, T2, Y6 ezeket használja; a régebbi B1, B2, P2 lineáris LDO-val működik. A BOM-különbség $0,28–$0,46 darabonként, ami a hosszabb akkumulátor-üzemidő révén az iskolai bevezetés első hónapjában megtérül.
5. GPIO ébresztés és pergésmentesítés
Minden SKU bekapcsoló gombja GPIO ébresztést használ hardveres RC pergésmentesítéssel (10 kΩ + 100 nF, 1 ms időállandó). A firmware egy 30 ms-os szoftveres pergésmentesítést ad hozzá az 50 Hz-es hálózati zavarok és a véletlen megnyomások kiszűrésére.
Pergésmentesítés nélkül egy töltőtalpon ülő iskolai toll minden hálózati tüskére felébredne, és 26 ms-ig 80 mA aktív áramot venne fel. 50 Hz-en ez másodpercenként 1,3 ébredést jelent × 12 óra = napi 56 000 ébredés, ami 28 mAh-t merítene le. A pergésmentesítés ezt napi ~50 téves ébredésre csökkenti.
6. RTC drift és naptár-karbantartás
A BK7251 / BK7252 / RTL8723DS / RTL8710B / ATWIC1531 RTC-ját egy 32,768 kHz-es kvarc vezérli. 23 °C-on, 30 nap alatt mért driftünk ±18 másodperc. A -10 °C és +60 °C közötti üzemi hőmérséklet-tartományban a drift legrosszabb esetben ±45 másodperc napontalegrosszabb esetben.
Azon iskolai programoknál, amelyeknél időbélyeggel ellátott használati telemetria szükséges, a toll minden Wi-Fi-kapcsolódáskor SNTP-vel szinkronizálja az időt. Az SNTP-lekérdezés a felhő-szinkronizáció része (lásd TC-044 IoT MQTT vs HTTP vs CoAP). A drift csak hosszabb Wi-Fi-kimaradások alatt halmozódik fel; normál iskolai használatban az időbélyeg-drift <2 másodperc.
7. OID szenzor ébresztésének optimalizálása
Az OID szenzor a legfontosabb ébresztési forrás. Egyben a legnagyobb energiamegtakarítási lehetőség is, mivel egy gyermek naponta 200+ alkalommal is megérintheti a tollat.
A szenzor az alábbi elemekből áll:
- IR LED (VSMY2850G, 850 nm, 100 mA csúcs).
- Fotodióda (BPW34).
- Transzimpedancia-erősítő (TLV2379).
Mély alvásban az IR LED ki van kapcsolva, a fotodióda nulla előfeszítésen van. Az erősítő alacsony fogyasztású állapotban van, 1,5 µA nyugalmi árammal. Az MCU GPIO egy komparátor-megszakításon keresztül figyeli az erősítő kimenetét. Amikor a gyermek a tollat egy kódra irányítja, a visszavert IR megnöveli a fotodióda áramát; a komparátor kiold, és felébreszti az MCU-t.
Az ébredéstől a hangig mért késleltetés teljes rendszerszinten 8 ms. Téves ébresztés (véletlenszerű környezeti fényimpulzus) iskolai tollnál napi 4–12 alkalommal fordul elő. A firmware kiszűri a téves ébresztéseket azáltal, hogy 50 ms-on belül két egymást követő komparátor-kioldást.
8. A Light Sleep és Deep Sleep közötti döntés
A light sleep megtartja a teljes RAM-ot, és 1 ms alatt ébreszt. A deep sleep elveszíti a RAM tartalmát (csak 4 KB retention RAM-ban marad meg), és 25–45 ms alatt ébreszt. A legtöbb toll a deep sleep-et részesíti előnyben, mert:
- A RAM-megtartás 1,2 mA, szemben a deep sleep 0,08 mA-jával.
- A legtöbb ébresztési esemény RTC, OID vagy gomb – egyik sem igényli a teljes RAM-állapotot.
- A 25–45 ms-os ébresztési késleltetés elfogadható az OID, a gomb és a fedélnyitás esetén.
Kivételt a BLE-hirdetés jelent – a kapcsolat fenntartásához a SoC-nak 100 ms-on belül kell válaszolnia. BLE-kapcsolatban lévő tollaknál light sleep-et használunk, BLE-kapcsolat nélküli tollaknál pedig deep sleep-et. A firmware automatikusan vált a kettő között.
9. Energiagazdálkodási példa – Q8
Egy Q8 toll egy iskolai polcon 90 napig (nyári szünet):
- 90 nap × 24 óra × 0,5 mA = 1 080 mAh.
De a Q8-ban 1 000 mAh-s akkumulátor van. A toll nem éli túl a 90 nap deep sleep-et – a 83. napra 0%-on lenne.
A megoldás a ship-mode jumper:
- A ship mode 8 µA-t fogyaszt (csak az RTC + RTC-megszakítási logika).
- Gombnyomás vagy USB-csatlakozás kilép a ship mode-ból.
- 1 000 mAh / 8 µA = 125 000 óra = 14 év polc-élettartam.
A ship-mode jumper egy kis SMD ellenállás (R32, 0 Ω), amelyet a gyár szerel be, a disztribútor pedig a csomagolás során távolít el. Eltávolítása letiltja a fő DCDC-t, és leválasztja az akkumulátort mindenről az RTC kivételével.
Hosszú szállítási vagy tárolási időt igénylő tendereknél a ship mode-ot alapértelmezetten engedélyezzük. A disztribútor a raktárban, a szállítás előtt átfordítja az R32-t.
11. Energiagazdálkodási modellezés a gyári tesztciklusban
Minden gyárból kikerülő olvasótollat a firmware CI-ben futó energiamodell alapján validálunk. A modell megbecsüli a deep sleep áramot az SKU, a firmware-verzió, az akkumulátor kora és a környezeti hőmérséklet függvényében. Minden produkciós buildet 1%-os mintán ellenőrzünk a modellel; ha a mért áram több mint 15%-kal meghaladja a modell értékét, a buildet felülvizsgálatra visszatartjuk.
A modell egy Python szkript, a power_model.py, amelyet minden firmware-kiadáshoz mellékelünk. Az importőrök és ODM-ek a saját firmware-buildjeikre is futtathatják, hogy az ICT előtt megjósolják a készenléti áramot. A modell együtthatói a Power Management and Runtime Optimisation oldalunkon vannak dokumentálva.
12. Energiaállapot-diagram OEM referenciaként
A Q8 és T2 teljes energiaállapot-diagramja a(z) Energiagazdálkodási Referenciánkban található. Az állapotok és átmenetek:
- Boot (320 mA csúcs, 1,8 s) → Aktív
- Aktív (80 mA) → Tétlen (CPU leállítva)
- Tétlen (12 mA) → Könnyű alvás (perifériák kikapcsolva, RAM megtartva)
- Könnyű alvás (1,4 mA) → Mély alvás (RAM csak 4 KB retencióig megtartva)
- Mély alvás (0,5 mA) → Szállítási mód (8 µA, R32 eltávolítva)
A fordított átmenetek az ébresztési forrás prioritása szerint szabályozottak. Az OID-érzékelő, az RTC riasztás és a GPIO megszakítások bármely állapotból, beleértve a szállítási módot is, felébreszthetnek. A BLE hirdetés és a Wi-Fi DTIM csak a könnyű alvásból tud ébreszteni, a mély alvásból nem.
Az átmenetek költségei (az egyes állapotokba való belépéshez és kilépéshez szükséges energia) a következők:
- Aktív ↔ Tétlen: 0,04 mJ
- Tétlen ↔ Könnyű alvás: 0,18 mJ
- Könnyű alvás ↔ Mély alvás: 0,62 mJ
- Mély alvás ↔ Szállítási mód: 1,40 mJ (csak gyári parancsra)
A modell együtthatók és egy Python referencia implementáció minden firmware kiadáshoz mellékelve vannak.
| Felhasználási mód | Javasolt SKU | Megjegyzések |
|---|---|---|
| Mindig bekapcsolt otthoni használat, napi töltéssel | B2, Q6, Q8 | A 0,5–0,6 mA készenléti áram megfelelő |
| Iskolai napi töltés | L5, Y6 | 0,55 mA készenléti áram, 8,5–11 óra üzemidő |
| Iskolai heti töltés | T2 | 14 óra üzemidő, 173 nap készenléti idő |
| Hosszú szállítás / tárolás | Bármely + szállítási mód | R32 raktárban eltávolítva |
| Hideg tárolás (-10 °C) | T2, Y6 | Az 18650-es cellák jobban tűrik a hideget |
Vevői tipp: Amikor egy versenytárs toll "készenléti idejét" értékeli, kérdezze meg, hogy a szám tartalmazza-e a BLE hirdetést és az OID-érzékelő ébresztését. Egy olyan toll, amelyik a „6 hónap készenléti idő" érdekében kikapcsolja az OID-érzékelőt, olvasótollként használhatatlan. A mi számaink mindig tartalmazzák az 1 Hz-es BLE hirdetést és az élesített OID-érzékelőt.
Kapcsolódó anyagok
- Fogyasztás és üzemidő teszt
- Energiagazdálkodás és üzemidő optimalizálás
- Type-C töltés PD QC és BC1.2
- Akumulátor útmutató
- Akkumulátorcsere program
- Öregedési teszt szabványok