reference u stm32f162rd

Jan Waclawek konfera na efton.sk
Pátek Únor 19 20:18:16 CET 2016


Naviazem tesnejsie :-)

Ako prve som si stiahol zbrusu novy RM0038 rev.13 a chvilu studoval.
VREFINT som sice v 

Predpokladam, ze pod

>A druhak je v registru k mani flag o tom, zda je uz reference ready.

myslis PWR_CSR.VREFINTRDYF. Nie je to sice v jeho popise explicitne
napisane, ale z kapitoly 5.2.4 vyplyva, ze to indikuje zapnutie VREFINT po
vypnuti v Stop/Standby ak bol nastaveny bit PWR_CR.ULP. (Mimochodom, pri
popise PWR_CR.ULP sa tiez nespomina bit VREFINT, a naviac je tam vagna
formulacia "in low power mode", co bez studia kapitoly 5.2.4 tiez nie je
jasne.). Nevztahuje sa to zrejme teda na dobu ustalenia po povoleni bitom
ADC_CCR.TSVREFE.

No a teraz, kedze to jasne z tych dokumentov nie je, prichadza varenie z
vody a moje tipovanie. Takze stavim sa, ze (pohlad do spomenutej Tab.16 v
DS k STM32L151(2)xD rev.6) TVREFINT sa vztahuje na dobu medzi opustenim
Stop/Standby a nabehnutim PWR_CSR.VREFINTRDYF (ak bol nastaveny bit
PWR_CR.ULP pred vchodom do Stop/Standby); a TADC_BUF sa vztahuje na dobu
ustalenia po povoleni bitom ADC_CCR.TSVREFE. Bolo by fajn, kebyze to
(alebo ak to je nespravne, tak to spravne vysvetlenie) je jasne napisane k
tym parametrom v tej tabulke v DS.

Samozrejme vyvstava aj IMO logicka otazka, ci sa nahodou TADC_BUF
nevztahuje aj na nabeh VREFINT po zapnuti napajania, a ci sa aj po zapnuti
napajania (a patricnej dobe ustalenia) nastavi aj PWR_CSR.VREFINTRDYF. A
moja zvedava otazka (ktora s najvacsou pravdepodobnostou zostane
nezodpovedana ako interne tajomstvo) je, ze odkial to ten bit
PWR_CSR.VREFINTRDYF vie, ze je referencia uz stabilna...

Dalej, tento nabeh a PWR_CSR.VREFINTRDYF by mozno bolo dobre spomenut aj v
RM v kapitole 12.13.

Dalej, v kapitole 12.13 sa pise
This reference voltage must be enabled only if its conversion is required.
Predpokladam, ze sa jedna prave o bit ADC_CCR.TSVREFE, ze ho treba drzat
vacsinu casu nulovy. Preco??? Ovplyvnuje snad presnost merania na inych
kanaloch? A ako ho treba drzat vypnuty, ked sa tym istym bitom zapina
teplotny senzor - ktoreho nabeh mimochodom tiez nieco trva, takze ho
clovek mozno nechce zbytocne vypinat/zapinat? 

Dalej, ta "tovarenska" "kalibracna" hodnota: v RM v kapitole 12.12 spomina
VREFINT_CAL, v kapitole 12.13 ako VREFINT_Factory_CONV byte (nie je to
byte ale 12-bitova hodnota ulozena v dvoch byte); ani jedna z tychto
kapitol sa nenamaha spomenut (a ani nikde inde v RM sa to neda najst), kde
sa dana hodnota nachadza, co i len formou "adresu tejto hodnoty najdete v
prislusnom datasheete" (myslim, ze v RM k 'F4xx som to v takejto podobe
nasiel, ale nejdem to kontrolovat). Takze sa presuvame k spomenutemu DS,
tam je sice v kap. 3.11.2 naozaj uvedena inkriminovana adresa a to pod
nazvom VREFINT_CAL, ale nie je tam ziadny odkaz na uz preberanu Tab.16
(ani naopak), a pritom v Tab.16 su tiez pre tuto kalibraciu relevantne
hodnoty, a to "VDDA and VREF+ voltage during VREFINT factory measure" a
"Accuracy of factory-measured VREF value", paradoxne oznacene indexom
VREF_MEAS... TO FAKT? Mimochodom, footnote 2 hovori, ze "The internal V
REF value is individually measured in production and stored in dedicated
EEPROM bytes.". V STM32 nie je ziadna EEPROM.

Dalej, v RM, riadok pre PWR_CR
Reset value: 0x0000 1000 (reset by wakeup from Standby mode)
je matuci, znie to, akoby ten register bol resetnuty *len* pri opusteni
Standby mode. Ja by som tam napisal (reset by system reset and wakeup from
Standby mode), a potom pre PWR_CSR by som napisal (reset by system reset,
not reset by wakeup from Standby mode).

Ak to niekto z kompetentnych z ST cita, tak vsetky tie staznosti a frflania
hore moze pokladat ako dalsie namety na vylepsovanie RM a DS... mam to
spisat do bodov v anglictine? Rad to urobim, ak to pomoze.

... no a toto je jeden jediny pomerne jednoduchy subsystem v obvode, ktory
je na trhu uz vyse 5 rokov a jeho RM je vo verzii 13...

wek




----- Original Message ---------------


>Volne navazuji...
>
>Jednak je k mani v Ref manualu tato formuka:
>
>VDDA = 3 V x VREFINT_CAL / VREFINT_DATA
> Where:
>• VREFINT_CAL is the VREFINT calibration value
>• VREFINT_DATA is the actual VREFINT output value converted by ADC
>
>A druhak je v registru k mani flag o tom, zda je uz reference ready.
>
>Z toho by uz melo jit dopocitat i Vref :)
>
>PK
>
>2016-02-18 21:14 GMT+01:00 Jan Waclawek <konfera at efton.sk>:
>
>> >Dne 18.2.2016 20:18, Jaroslav Buchta napsal(a):
>> >> Tohle jste zohlednil?
>> >>
>> >> The TSVREFE bit in the ADC_CCR register must be set to enable the
>> >> internal reference voltage (and also the Temperature sensor). This
>> >> reference voltage must be enabled only if its conversion is required.
>> >ano
>> >> The internal reference voltage is factory measured and the result of
>> >> the ADC conversion is stored in a specific data address : the
>> >> VREFINT_Factory_CONV byte.
>> >>
>> >zatim ne .chystam se na to ,ale pripadal mi ten rozdil moc velkej na
>> >chybu v kalibraci .
>>
>> Co nie, nepovolujete TSVREFE, alebo nepouzivate tu factory calibration?
>>
>> Mimochodom, v DS je pomerne rozsiahly elaborat na temu tej referencie
>> (nepozeram do 'L16x ale 'L15x, ale to by malo byt to iste), oplati sa
>> postudovat a porozmyslat. Napriklad taky TVREFINT Internal reference
>> startup time typ.2 max.3 ms - nie je to bohvieako popisane, ale povedal by
>> som, ze tolkoto treba pockat po povoleni TSVREFE a pred konverziou. Alebo
>> vobec to, ake napatie ta referencia ma mat, nie je to celkom 1.2V (aj ked
>> ani 1.5V nie to je fakt). Alebo TS_vrefint - ak mam byt uprimny, myslim
>> si, ze popis nie je adkvatny a je matuci, ale pokusil by som sa pre
>> konverziu tej referencie nastavit ten typicky sampling time.
>>
>> wek
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list at list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>



Další informace o konferenci Hw-list