STM32學(xué)習(xí)筆記(18)-數(shù)據(jù)的保存和毀滅_第1頁
STM32學(xué)習(xí)筆記(18)-數(shù)據(jù)的保存和毀滅_第2頁
STM32學(xué)習(xí)筆記(18)-數(shù)據(jù)的保存和毀滅_第3頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、數(shù)據(jù)的保存和消滅 2和以前學(xué)到的有關(guān)數(shù)據(jù)保存不同,這里的數(shù)據(jù)保存還有“保密之意,即一旦受到意外的侵入,STM32將消滅數(shù)據(jù)。這是通過 Tamper機制來實現(xiàn)的。以下是數(shù)據(jù)手冊中的有關(guān)說明:5.3.1 侵入檢測當(dāng)TAMPE引腳上的信號從0變成1或者從1變成0取決于備份控制存放器BKP_CR勺TPAL 位 ,會產(chǎn)生一個侵入檢測事件。 侵入檢測事件將所有數(shù)據(jù)備份存放器內(nèi)容去除。 然而為了 防止喪失侵入事件, 侵入檢測信號是邊沿檢測的信號與侵入檢測允許位的邏輯與, 從而在侵 入檢測引腳被允許前發(fā)生的侵入事件也可以被檢測到。 當(dāng)TPAL=0時:如果在啟動侵入檢測TAMPE引腳前通過設(shè)置TPE位該引腳已經(jīng)

2、為高 電平,一旦啟動侵入檢測功能,那么會產(chǎn)生一個額外的侵入事件盡管在TPE位置1'后并沒 有出現(xiàn)上升沿 。 當(dāng)TPAL=1時:如果在啟動侵入檢測引腳TAMPER|通過設(shè)置TPE位該引腳已經(jīng)為低 電平,一旦啟動侵入檢測功能,那么會產(chǎn)生一個額外的侵入事件盡管在TPE位置1'后并沒 有出現(xiàn)下降沿 。設(shè)置BKP_CS存放器的TPIE位為1',當(dāng)檢測到侵入事件時就會產(chǎn)生一個中斷。在一個侵入事件被檢測到并被去除后,侵入檢測引腳 TAMPE應(yīng)該被禁止。然后,在再次寫 入備份數(shù)據(jù)存放器前重新用TPE位啟動侵入檢測功能。這樣,可以阻止軟件在侵入檢測引腳 上仍然有侵入事件時對備份數(shù)據(jù)存放器

3、進行寫操作。這相當(dāng)于對侵入引腳 TAMPE進行電平 檢測。注:當(dāng)V DD電源斷開時,侵入檢測功能仍然有效。為了防止不必要的復(fù)位數(shù)據(jù)備份存放器,TAMPE引腳應(yīng)該在片外連接到正確的電平。顯然,Tamper需要硬件與之配合。以上數(shù)據(jù)手冊描述了硬件配置時的一些注 意事項。1可以是把引腳由低電平到高電平認為是一次侵入, 也可以把引腳從高電平變到低電平認為是一次侵入,這通過TPAL來設(shè)置。5.43備份控制存放腳B KP_CR)科就地対 0x30Vf-; OMXXXJQm)5MU131109«7G5i12 i0rm.TFEmP1S21¥.訓(xùn).即燼訃力0TP AL:壯 j STAMPER

4、 J«I|-0; F上人檢 JTmMPEJHI 上;: Jhum;!.:" - kTPE1 XlU1r整人檢議TAMP日HI押上的低電金卅|味"fj血戡衿柑 k itTFEp 1TFfi: UYSTAMPER ;iOr "人 口KT AMP氛$| II fl 為汕U101網(wǎng)時設(shè)和PAL科TPE褪趕壘妄金的.尿叫請廉戟著A、'、生 令穀酸鼓扎拿ft購故 護肌ETFE仙 /1 TPAL ;f&2Tamper機制需要被啟動才能起作用。但在啟動之前,如果引腳已處于設(shè)定的狀態(tài),那么一旦啟動,就會產(chǎn)生一次Tamper事件,這需要注意,否那么會引起數(shù)據(jù)

5、的意外喪失而不自覺。3即便芯片上的 VDD電源斷開,只要仍有 VBAT,那么Tamper檢測仍是有效的,因此,設(shè)計硬件時必須要小心, 如果某設(shè)計是將 Tamper引腳通過上拉電阻接 VDD 并在這個引腳上接入機械開關(guān)到地。如果開關(guān)導(dǎo)通,那么就是一次Tamper事件,這個沒有問題。但是,如果電源斷開 VDD變低,也會引發(fā)一次 Tamper事件,而這往往并不是設(shè) 計都的本意。因此,這個引腳的上拉電阻必須接到VBAT而不是接到VDD4總的來說,TAMPERS不復(fù)雜,下面來看一看代碼。1JT eapar這次是用的STM32庫中的這個例子。有關(guān)LED的設(shè)置,這里就不再重復(fù)了,和上一篇文章數(shù)據(jù)的保存與消滅

6、 1 相同。/* En able write access to Backup doma in */PWR_BackupAccessCmd(ENABLE);這是翻開BKP功能。/* Clear Tamper pin Eve nt(TE) pending flag */BKP_ClearFlag();去除 Tamper 事件/* Tamper pin active on low level */BKP_TamperPinLevelConfig(BKP_TamperPinLevel_Low);配置 Tamper 引腳究竟是高電平有效還是低電平有效,這個再研究一下,繼續(xù)跟蹤:/* brief Con

7、figures the Tamper Pin active level.* param BKP_TamperPinLevel: specifies the Tamper Pin active level.* This parameter can be one of the following values:* arg BKP_TamperPinLevel_High: Tamper pin active on high level* arg BKP_TamperPinLevel_Low: Tamper pin active on low level* retval None*/void BKP_

8、TamperPinLevelConfig(uint16_t BKP_TamperPinLevel)/* Check the parameters */assert_param(IS_BKP_TAMPER_PIN_LEVEL(BKP_TamperPinLevel);*(_IO uint32_t *) CR_TPAL_BB = BKP_TamperPinLevel;CR_TPAL_B又是什么呢?/* Alias word address of TPAL bit */#define CR_OFFSET(BKP_OFFSET + 0x30)#define TPAL_BitNumber0x01#defi

9、 ne CR_TPAL_BB (TPAL_BitNumber * 4)(PERIPH_BB_BASE + (CR_OFFSET * 32) +要看懂上面有關(guān)CR_TPAL_B啲相關(guān)定義及理解為何這樣寫,恐怕又要涉及到 Con tex的另一個重要內(nèi)容,即bit-ba nd ,這個暫不深究,留待下次學(xué)習(xí)(說句閑話:bit-ba nk 我早就看到,就是沒有興趣深入了解,因為沒覺得什么地方有用到,今天既其用途,改 日必去改看,所以只有動起來,才能學(xué)更多的東西)。這里只管當(dāng)它是能夠直接設(shè)定該 平是0或都是1就行了。即根據(jù)實參決定 BKP_CF中的TPAL究竟是0還是1。可選參數(shù)為:#defi ne BK

10、P_TamperPi nLevel_High(ui nt16_t)0x0000)#defi ne BKP_TamperPi nLevel_Low(ui nt16_t)0x0001)BKP的其他用途:BKP的存放器可以用來存儲RTC校驗值的校驗存放器。在PC13管腳(當(dāng)該管腳不用于侵入檢測時)上輸出RTC校準(zhǔn)時鐘,RTC鬧鐘脈 沖或者秒脈沖為方便測量,RTC時鐘可以經(jīng)64分頻輸出到侵入檢測引腳 TAMPE上。通過 設(shè)置RTC校驗存放器(BKP_RTCCR勺CCO&來開啟這一功能。 通過配置CAL6:0位,此時 鐘可以最多減慢121ppmt542 RTC時鐘校準(zhǔn)存放器(BKP_RTCCR&

11、gt;W'MIfliifSi 0k2C11nn札 himOmOOOOOOOOP15:8IW:昭諛為Q.f<9ASOS:別"知'L迪山討fA&OSP i-J 和邊Ml TAMPERr>imi上皆出的皐闈忖竝加 們趴0: IftHiflTC砌鐘非沖11輸訓(xùn)件林沖巾耀曉帳不篙皿的軋何航淸常ASQE:九注輸他刪帥幽涉味沖BWKASGS付的枚W.沖輸時疋TA財PER引押上摘出皓it的電鷹為一WTC時鐘的MM. itn fASOERH車億開門川(7CGOi M HHMeHOt丘越喈削業(yè)悅站吋以在慨入檢甜切事覘卅$64加顛:的RTTCad U'iCCOl

12、 - ?' 1!-.'.必蝕瞪闔桂入心卑功能說就免松曲判無用的觀片:氣VDDT.咽.託“討.匪心:CAL6:0;坨卅W'j 2 7和耿沖 即“琴少牡卄 肚沖龍雜試 這町以用*U俯丁和;檢J1L U1000000/(220H>pnnhr LHEQ i:i::ffTCIl'tltiil .'JQ-121ppmF面以RTC的那個例子為例,來看一看如何用Tamper(PC13)引腳來送出信號。/*翻開PWF和KBP模塊的時鐘信號 */RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP

13、, ENABLE);/*允許對BKP進行存取*/PWR_BackupAccessCmd(ENABLE);/* 禁止引腳的TAMPE功能*/BKP_TamperPi nCmd(DISABLE); /* To output RTCCLK/64 on Tamper pin, thetamper function ality must be disabled */* 允許時鐘信號在TAMPE引腳輸出*/BKP_RTCOutputCo nfig(BKP_RTCOutputSource_CalibClock);這樣就可以了,也不復(fù)雜。需要說明的一點是,PC13這個引腳 不需要被配置成輸出引腳,但在這一時刻

14、 它是起到輸出作用的。BKP_RTCOutputConfig()這個函數(shù)中所用到的參數(shù)可以有這樣的一些:BKP_RTCOutputSource_ None不允許在Tamper引腳輸出信號BKP_RTCOutputSource_CalibClock在Tamper引腳上輸出RTC時鐘經(jīng)64分頻后的頻率信號BKP_RTCOutputSource_Alarm在Tamper引腳上輸出RTC報警信號RTCOutputSource_Seco nd在Tamper引腳上輸出秒信號經(jīng)測試,(1)在Tamper引腳上輸出的信號,不受復(fù)位的影響!當(dāng)然,這是有條件的,條件是復(fù)位時不 會執(zhí)行到操作RTC的相關(guān)代碼。(2)

15、 在用J-LINK寫入代碼時,Tamper引腳輸出的信號,不受影響,照樣輸出! 斷電之后再上電,Tamper引腳送出的信號,不受影響,照樣輸出!(4)去掉VBAT供電端的電力供給,斷電,再上電,Tamper引腳送出的信號消失!判斷:前面的程序?qū)懙挠嘘P(guān)標(biāo)志被保存在BKP區(qū)域,不斷電不會消失。這是否對電池的壽命有影響呢?畢竟送出波形也會有消耗的。最后用兩個圖來結(jié)束,分別是運行時的BKP內(nèi)容和POWER RESET CLOCK勺內(nèi)容。RCC.CR | &(03030083廠 CSSON & HSEON廠 HSEBYP(7 HSERDrr7 H$!R0Yv HSIONPPRE1:4 H

16、CLK/2WCO |o No dock二PPRE20 HCLKSW2 PUdodc二HPRE0 SYSCLKSWS2 PlldoekuMdAOCPRE0 PCLK2/2RCC.CFGR |acOClD34dACortroL StatusRCC.CSR I&01000000Backup domar cortrolACCJDCR |&(00008103 r BDRSTPLL ConhgurabonV PHON F PLLRDYV PLLSRC r PLLXTPREPILMUL r7PLLOoek*9 創(chuàng)廠 LPWRRSTF 廠 WWDGRSTFT IWDGRSTF 廠 SFTRST

17、F 廠 PORRSTF r PINRSTF P RMVF 廠 LSIROY 廠 LSONRTCSEL |1 LSEP RTCEN r LSEBYP3 LSERDY I? LSEONClock rtenupcRX.CIR SOOOOOOOO JCSSC 廠 CSSIE 廠 CSSFJUNLNC 廠 UNLKIE 廠 UNLKFPower CortreJ & SlatutPWR.CR S6666OIOOPWR.CSR |(kOOOOOOOOCore i Memory and Penpheral ClocksRTCCLK J 32768 kHzMCO | 0.000000 MHz IWDGCLK |32 768 kHz USBCLK | 48.000000 MHz ADCCLK | 36.000000 MHzJPLLRDX: _JHSERDYC JHSIRMC _JLSERDYC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論