[elektro] STM32L1 STOP mode / Exit
hg12345
hg12345 at freemail.hu
Tue May 30 23:09:46 CEST 2017
Mivel ebben nincs LPTIMER így addig nem nem teheted STOP-ba amíg időzítő megy. (Utána nincs órájele)
Ha STOP állapotban is szükséges időzítés, akkor is van több lehetőséged
- közös alap idő, felébredéskor SW időzítés
- RTC ALARMA és ALARMB beállítása (ez lehet fix idős, vagy periodikus...)
- mivel a ébresztő láb is működik, egy kondi és egy vagy két ellenállás nem pontos, de használható időzítő állítható be.
-------------------------------------------------------------------------------------
range... érdemes olvasni...
az újabb fejlesztésű STM32-sek belső CPU-ja alacsonyabb feszültségről jár 1.2 vagy 1.8V-ról ez a gyártási csík szélességtől függ, ezért egy kis fogyasztású belső követő stabilizátort tartalmaz, ennek a működését/feszültségét lehet szabályozni, minél kisebb feszültség annál kisebb órajel érhető. (maga a stabilizátor is kikapcsolható)
Ezen kívül még érdemes figyelni és szabályozni a FLASH wait állapotokat, illetve a buffer és a utasítás cache állítást. Bizonyos sebesség alatt nem sok értelme van ezeknek, csak feleslegesen fogyasztanak.
L073 standby + RTC + W.ATCHDOG + 1sec periodic time és 3 láb tesztelése, 2...3uA közötti érték érhető el.
Ez elvileg újabb típus mint amit használsz és némi fogyasztás ennek a javára, M0+ mag miatt.
"uprogc ." <uprogc at gmail.com> írta:
>Koszi !
>
>Ezt olvastam en is, de ugy latszik megsem fogtam fel :)
>Tehat akkor nekem kell a kodbol kovetni hogy melyik timer fut meg eppen, es
>amig fut addig ne engedni stop modba.
>
>A range mire vonatkozik ? belso fesz szabalyzo vagy egyeb ?
>Azt tudom hogy ha low power kell a belso stabra nezve is, akkor nem lehet a
>legkissebb a VCORE fesz. Asszem nem lehet akkor range 3.
>
>En egyelore regulator_ON es WFI Stop moddal kiserletezem.
>Latszik az aramfelvetelen a kulonbseg, tehat bemegy stop modba a proci.
>
>Udv,
>Szabi
>
>2017-05-30 21:58 GMT+03:00 hg12345 <hg12345 at freemail.hu>:
>
>> Hi
>>
>> kell leírásnak lenni-e, az órajel elosztásnál kell keresni, (((elsőre
>> sikerült .....)))
>>
>> ID026119 REV 6 3.1 fejezet.
>>
>> Stop mode achieves the lowest power consumption while retaining the RAM and
>> register contents and real time clock. All clocks in the VCORE domain are
>> stopped, the
>> PLL, MSI RC, HSI RC and HSE crystal oscillators are disabled.
>>
>> A RAM és a fenti eszközök kivételével mindent leállít.... Vagyis a
>> TIMER-ek se fognak menni.
>>
>> (((Ja apró betű, de nem tudom hol :-), ha nem megfelelő "Range" állítod
>> akkor meg nem lépbe a STOP állapotba....)))
>>
>> Érdemes tanulmányozni a HAL-t és utáni átírni a standard perriféria
>> kezelésre, de most már ez se kell
>> mert emlékeim szerint a 1.7.0 HAL már kiegészült az LL jelzésű
>> #define-okkal, ami már standard periféria szintű kezelést biztosít a HAL
>> elnevezések megtartásával.
>>
>> Utána ellapozol néhány oldallal tovább és a 17 és 18 oldalon megtalálod mi
>> az ami működik, de az igen szegényes lesz, arról nem is beszélve 8us
>> szükséges a feléledéshez....
>>
>> Általában erre és a standby feléledésre van a RTC kiegészítve periodic
>> timerrel, ez beállíthatö 512 lépésekben mikor élesszen, is viszonylag
>> egyszerűen tudsz előállítani 1sec felébredést, ha időre hajtasz. Aszinkron
>> ébresztésekre meg a tudod használni, AWU lábakat, EXTI lábakat is, de ott
>> figyelni kell a belső kötésekre és, hogy forrásnak legyen órajele.....
>>
>> Hogy könnyen megtaláld doksit :
>>
>> http://www.st.com/content/ccc/resource/technical/document/
>> datasheet/91/c7/99/86/66/f9/4d/21/DM00111457.pdf/files/
>> DM00111457.pdf/jcr:content/translations/en.DM00111457.pdf
>>
>> Üdv
>>
>>
>>
>>
>>
>>
>> "uprogc ." <uprogc at gmail.com> írta:
>> >Szia !
>> >
>> >Koszi.
>> >
>> >Nem HALal dolgozok...Azt majd a H7-en fogom kiprobalni, mivel ott mar
>> nincs
>> >standard periph. lib.
>> >
>> >A timerek es a STOP mode kapcsolatarol nem talaltam semmit az adatlapban.
>> >EXTIre es meg nehany dologra irja hogy torolni kell a flageket kulonben
>> nem
>> >megy be STOP modba.
>> >Viszont hogy van ez timer eseten ? Ugy latom hogy hiaba fut a timer, ugyis
>> >bemegy stop modba a proci, ha kiadom az utasitast. Ha igy van akkor vegig
>> >kell flag-ezzem a timereket, hogy eppen fut-e valamelyik.
>> >Azt nem tudnam megmondani hogy timer-IRQ vegrehajtas kozben is bemegy-e
>> >STOP allapotba, vagy csak mikozben fut a timer es meg nincs IRQ.
>> >
>> >Udv.
>> >Szabi
>> >
>> >
>> >
>> >2017-05-30 19:20 GMT+03:00 hg12345 <hg12345 at freemail.hu>:
>> >
>> >> Hi,
>> >>
>> >> STANDBY-ból resettel jön ki,
>> >> STOP-ból újra éled, a CPU, de az MSI vagy LSI vagy LSE-ről megy, azért
>> >> húzzák újra az órajelet, mert STOP állapotba állításkor minimálisra
>> >> állítják az óra jelet a fogyasztás miatt, és a CORE feszültséget is
>> >> állítják minimálisra, mert jótékony hatással van a fogyasztásra.
>> >> Tapasztalat szerint a megadott fogyasztási értékek csak nagyon extrém
>> >> beállítások mellett érhetőek el, elég sok energiát vesz el az új
>> sebesség
>> >> beállítása és leállítása.
>> >>
>> >> Nem véletlen, hogy igazán jó eredményeket már nem HAL érik el, hanem
>> ennek
>> >> a LL kiterjesztésével, ami közvetlenül kezeli a regisztereket
>> perifériákat
>> >> nem egy program mögé rejtve áttranszformálva.
>> >>
>> >> Amire nagyon érdemes figyelni, nem tudom ez a típus milyen RTC quartzot
>> >> kíván, de a L0x sorozat már 6pF igényel, ugyan nagyon kicsi a
>> fogyasztása
>> >> de nagyon ingatag az üzemképessége, mivel közvetlenül nem mérhető a
>> rezgés,
>> >> mert azonnal leáll, (kivéve ha van mérő mikrofonod), optimálisan a
>> >> programozható órajel lábra programozva az RTC osci kimenetét tudod
>> >> ellenőrizni, ha ezen a lábon nézve a négyszög kitöltési tényezőjét tudod
>> >> hangolni a oscillátorhoz tartozó teljesítmény állítással,
>> alaphelyzetben 00
>> >> ami a legkisebb teljesítményt jelenti....
>> >> A 6pf qaurtz indulása szintén problémás, 100ms.... tól akár 500ms is
>> >> eltarthat, ha program nincs erre felkészítve kellemetlen meglepetéséket
>> >> okozhat. Hasonlóan problémás nekünk nem sikerült saját kóddal
>> beindítani,
>> >> csak a HAL -s szerencsétlenséggel....
>> >>
>> >> Szintén ügyelni kell az watchdog-ra mert ez nem megfelelő beállítás
>> esetén
>> >> a független működés miatt resetre tudja hozni a visszatérést.....
>> >>
>> >> Amúgy a STOP és STNDBY üzemmódok nagyon érzékenyek a minta programon egy
>> >> kis szerencsétlen változtatás és többet nem működik, néha eredeti
>> állapotba
>> >> vissza állítás után is.
>> >> A tesztelésnél figyelni kell a hideg és meleg indításra nem egyformán
>> >> működik
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> "uprogc ." <uprogc at gmail.com> írta:
>> >> >Sziasztok !
>> >> >
>> >> >Az emlitett uc-t probalom STOP modba kuldeni es onnan kihozni.
>> >> >
>> >> >Tobb forrasbol is probaltam informalodni.
>> >> >Lattam olyan kodot hogy elkuldi STOP modba, aztan kozvetlen utanna
>> >> >bekapcsol egy LEDet, utanna meg engedelyezi az orajelet.
>> >> >Ez erdekes, mert amikor kijon a STOP allapotbol, akkor elmeletileg az
>> >> >orajelek ki vannak kapcsolva [ ha nincs, akkor miert konfiguraljak
>> ujra ?
>> >> >], akkor meg egyaltalan hogy lehet ujra konfiguralni az orajelet? :)
>> >> >En MSI orajel forrassal probalkozom. STOP modba be is lepik, de utanna
>> >> >halott az egesz. Pedig en is ujrakonfiguralom a STOP modba valo belepes
>> >> >utan az MSI orajelet...Vagyis amikor kijon STOP modbol az RTC-IT vagy
>> egy
>> >> >kulso IT miatt, akkor onnan kellene folytassa a mukodest ahol
>> abbahagyta.
>> >> >Az RTC es a kulso ITk mukodnek, mert sleep moddal mukodik a rendszer.
>> >> >
>> >> >Udv.
>> >> >Szabi
>> >> >-----------------------------------------
>> >> > elektro[-flame|-etc]
>> >> >
>> >>
>> >> -----------------------------------------
>> >> elektro[-flame|-etc]
>> >>
>> >-----------------------------------------
>> > elektro[-flame|-etc]
>>
>> -----------------------------------------
>> elektro[-flame|-etc]
>>
>-----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list