女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何解決RTC意外恢復(fù)到初始值問題

jf_78858299 ? 來源:STM32單片機 ? 作者:STM32F4 ? 2023-05-26 15:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 問題描述

客戶反饋在使用STM32F446的產(chǎn)品做上電、掉電測試時,RTC會意外恢復(fù)到配置的初始值。

2. 問題分析及解決

通過與客戶郵件溝通,了解到客戶的VBAT引腳上有獨立的電池供電,在代碼中當(dāng)?shù)谝淮螁訒r會檢查備份寄存器中保留的一個標(biāo)志,如果是第一次運行,則會設(shè)置RTC的初始化,包含年月日時分秒,如果不是,則跳過,后面只讀取RTC內(nèi)的時間信息,并不再修改。

為了使用統(tǒng)一的參考物,先建議客戶使用Cube庫下的官方示例代碼:

STM32Cube_FW_F4_V1.25.0\\Projects\\STM32F446ZE-Nucleo\\Examples\\RTC\\RTC_Calendar,此代碼剛好可以針對此問題進行分析。客戶使用此示例代碼測試問題依舊。

查看示例代碼,為了排除HSE與LSE的影響,建議客戶將HSE改為HSI, LSE改為LSI,這樣一來,完全跟板上高速晶振無關(guān),跟32.768K的低速也無關(guān)。客戶使用修改后的代碼問題依舊。

查看相關(guān)代碼:

圖片

如上面代碼所示,每次上電后會讀取BKP_DR1的值,判斷是否為第一次啟動,如果是,則配置RTC。換句話說,出現(xiàn)問題時,這個判斷肯定出現(xiàn)問題,導(dǎo)致重復(fù)配置RTC,也就是備份寄存器的值丟失!是什么原因?qū)е聜浞菁拇嫫鞯闹祦G失呢?

同時我這邊在NUCLEO板上嘗試重現(xiàn)客戶的問題,但無論如何嘗試都無法重現(xiàn),現(xiàn)在兩邊所使用的測試軟件一模一樣,只是各自的硬件平臺有所差異,看來就是這個硬件上的差異帶來的問題。于是下一步比較客戶的硬件與NUCLEO板有何不同。

首先懷疑是VBAT引腳。要是VBAT再現(xiàn)異常,RTC重新配置就很正常,但客戶的VBAT真的會出現(xiàn)問題么?下面是客戶VBAT引腳的相關(guān)電路:

圖片

Figure 1 VBAT外圍電路

如上圖所示,客戶VBAT外部接一電池,當(dāng)VDD有電時,VDD將將電池充電,當(dāng)VDD掉電時,電池給RTC供電。于是向客戶提出VBAT的在掉電上電測試過程中的波形:

圖片

Figure 2 VBAT波形

如上圖所示,VBAT引腳的波形,在電源掉電上電的過程中并沒有出現(xiàn)掉電的情況,也就是說,RTC擁有穩(wěn)定的電源供應(yīng)。為了避免VBAT的影響,要客戶干脆將R8這個電阻去掉再測試,結(jié)果問題依舊存在。

接下來繼續(xù)查看用戶MCU相關(guān)的原理圖,發(fā)現(xiàn)Vcap引腳上的電路與ST官方的建議并不一致:

圖片

Figure 3客戶產(chǎn)品的vcap和PDR_ON引腳

如上圖所示,客戶所使用的VCAP引腳對地電容為100nF, 而ST建議的是2.2uF,這個電容涉及到MCU內(nèi)核的穩(wěn)定性,有沒有可能是MCU內(nèi)核不穩(wěn)導(dǎo)致RTC的問題呢?

經(jīng)驗證,問題與這兩個電容沒有關(guān)系,當(dāng)客戶修改到2.2uF再次測試時,問題依舊。

同時注意到PDR_ON引腳,聯(lián)想到曾經(jīng)多個客戶栽到這個引腳上,客戶可能PDR_ON引腳接錯,虛焊,懸空將會導(dǎo)致一系列奇怪問題。此引腳涉及到掉電檢測。要客戶仔細檢查此引腳是否已經(jīng)正常連接,客戶反饋確定正常。于是要客戶去掉R64這個10K上拉,直接短接到VDD再測試下。

結(jié)果發(fā)現(xiàn)問題依舊。

到目前為止,硬件上該檢查的也差不多檢查了,還是沒有找到問題的關(guān)鍵。這個時候,想起此問題是由于備份寄存器的值丟失引起,那么什么時候下會丟失呢?思來想去,無外乎以下幾種情況 :

1> VDD和VBAT同時掉電

2> 客戶代碼意外修改

3> 檢測到入侵事件

首先排除前面兩種原因,客戶的VBAT不會掉電,第一種情況排除。客戶使用的是ST官方提供的示例代碼,應(yīng)該不存在意外修改的情況,那么第三種…可是示例代碼中也沒有使能入侵檢測啊?

于是想到errata sheet, 打開并發(fā)現(xiàn)如下內(nèi)容 :

圖片

如上所述,即使沒有開啟入侵檢測,當(dāng)tamper引腳出現(xiàn)高電平的情況下也有可能會導(dǎo)致入侵檢測誤判。于是查看客戶的入侵檢測引腳:

從客戶的原理圖可以看出,入侵引腳PC13用戶外部按鍵輸入,有外部10K上拉電阻 :

圖片

其波形如下所示 :

圖片

Figure 4 PC13引腳波形

對照STM32F443-EVAL的相關(guān)電路 ,在評估板上,PC13用作tamper檢測但外部下拉 :

圖片

Figure 5評估板上的PC13

同時評估板上的ST-Link部分的STM32F103的RTC_PC13也是外部10K下拉 :

圖片

Figure 6 STM32F103上的PC13外部下拉

看來PC13是有講究的。于是請客戶將PC13引腳拉地再測試,結(jié)果問題不再出現(xiàn)。看來此問題確實由PC13引腳引起。

為了重現(xiàn)客戶的現(xiàn)象,我在STM32F446-EVAL評估板上嘗試重現(xiàn),但是,始終沒有重現(xiàn),但好在客戶修改PC13引腳后確實問題得到解決,所以此問題也就到此為止。

3. 后記

很多時候當(dāng)對問題無從下手的時候,解決問題的關(guān)鍵是首先找到一個可以參考的參照物,比如軟件是有ST提供的官方示例代碼,硬件是有ST提供的NUCELO板,找到這個關(guān)鍵的參考物后接下來逐漸比較客戶的軟硬件與參照物的差異,不斷縮小范圍,這個不失為一種常規(guī)比較有效的方法,希望讀者能充分利用。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5432

    瀏覽量

    124174
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    1682

    瀏覽量

    52713
  • 電池供電
    +關(guān)注

    關(guān)注

    0

    文章

    306

    瀏覽量

    22688
  • RTC
    RTC
    +關(guān)注

    關(guān)注

    2

    文章

    619

    瀏覽量

    68685
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    PIC1946程序有一個變量在運行過程中恢復(fù)初始值其他變量保持不變

    PIC1946程序有一個變量在運行過程中恢復(fù)初始值,其他變量保持不變?變量變?yōu)?b class='flag-5'>初始值,無論初始值是多少,在運行一段時間后,都會有上面的問題,出現(xiàn)問題沒有規(guī)律,使能和失能棧溢出復(fù)位現(xiàn)象一
    發(fā)表于 08-07 09:06

    請問中OSrunning初始值是多少?

    ucos中OSrunning初始值為多少啊,true or false?
    發(fā)表于 02-20 00:56

    抑制初始值的警告

    我將一些寄存器的初始值用作永不改變的“常量”。另外,我使用$ readmemb以傳統(tǒng)方式初始化內(nèi)存。 這導(dǎo)致“警告:HDLC編譯器:872 ......:使用XXX的初始值,因為它從未被分配。有可能
    發(fā)表于 02-25 11:10

    用74192做倒計時電路的時候如何解決通電時初始值不穩(wěn)定的情況?

    用74192做倒計時電路的時候如何解決通電時初始值不穩(wěn)定的情況?
    發(fā)表于 12-13 14:40

    請問怎么把STM32的所有引腳回復(fù)成默認(rèn)初始值

    如題,怎樣把stm32的所有引腳恢復(fù)成默認(rèn)初始值,好像不經(jīng)意中把有些引腳的寫錯了,板子出現(xiàn)了問題,謝謝
    發(fā)表于 03-30 23:22

    換路定律及初始值的確定

    換路定律及初始值的確定:3.2 換路定律及初始值的確定3.2.1 換路定律通常,我們把電路中開關(guān)的接通、斷開或電路參數(shù)的突然變化等統(tǒng)稱為“換路”。我們研究的是換路后電
    發(fā)表于 05-10 00:04 ?30次下載

    淺析MCU內(nèi)部的RAM上電之后的初始值相關(guān)問題

    首先我們明確一個問題,我們都知道,根據(jù)RAM的特性,MCU每次上電之后RAM里面的是隨機的。也就是說RAM上電后的初始值可以是0xAA,也可以是0x55,也可以是其它任何的,這個都是正常的。明確了這個基本原理之后,我們來看一
    發(fā)表于 01-05 08:59 ?6756次閱讀

    教你們怎么去設(shè)定寄存器的初始值

    對于寄存器,如果沒有明確指定其初始值,Vivado會根據(jù)其類型(FDCE/FDRE/FDPE/FDRE)設(shè)定合適的初始值。有些工程師喜歡使用復(fù)位信號,對所有的寄存器進行上電復(fù)位,使其在處理數(shù)據(jù)之前達到期望初始狀態(tài)。
    的頭像 發(fā)表于 04-01 10:27 ?8018次閱讀
    教你們怎么去設(shè)定寄存器的<b class='flag-5'>初始值</b>

    由RAM上電后初始值引起的問題

    本篇LAT的內(nèi)容簡介了一個由RAM上電后初始值引起的問題。
    發(fā)表于 04-28 15:36 ?12次下載

    教大家輕松解決RTC意外恢復(fù)初始值問題

    關(guān)鍵詞:RTC,tamper 1. 問題描述 客戶反饋在使用STM32F446的產(chǎn)品做上電、掉電測試時,RTC意外恢復(fù)配置的
    的頭像 發(fā)表于 07-28 16:32 ?9585次閱讀
    教大家輕松解決<b class='flag-5'>RTC</b><b class='flag-5'>意外</b><b class='flag-5'>恢復(fù)</b><b class='flag-5'>到</b><b class='flag-5'>初始值</b>問題

    如何保證MCU上電后RAM的初始值唯一

    由于工作的原因,筆者經(jīng)常接到工程師詢問MCU內(nèi)部的RAM上電之后的初始值到底是什么,有什么特性和規(guī)律。今天筆者就以設(shè)計過程中遇到的幾個問題與大家做一個交流。首先明確一個問題,我們都知道,根據(jù)RAM
    發(fā)表于 11-05 19:05 ?4次下載
    如何保證MCU上電后RAM的<b class='flag-5'>初始值</b>唯一

    如何保證MCU上電后RAM的初始值唯一

    由于工作的原因,筆者經(jīng)常接到工程師詢問MCU內(nèi)部的RAM上電之后的初始值到底是什么,有什么特性和規(guī)律。今天筆者就以設(shè)計過程中遇到的幾個問題與大家做一個交流。 首先明確一個問題,我們都知道,根據(jù)RAM
    發(fā)表于 02-10 12:01 ?1次下載
    如何保證MCU上電后RAM的<b class='flag-5'>初始值</b>唯一

    FLOEFD如何用穩(wěn)態(tài)結(jié)果做瞬態(tài)計算的初始值呢?

    FLOEFD可以將穩(wěn)態(tài)工況的計算結(jié)果作為瞬態(tài)工況的計算初始值
    的頭像 發(fā)表于 05-17 16:13 ?2871次閱讀
    FLOEFD如何用穩(wěn)態(tài)結(jié)果做瞬態(tài)計算的<b class='flag-5'>初始值</b>呢?

    在HMI設(shè)備上進行初始值采集和條件分析所涉及的工作原理是什么?

    按照定義的順序執(zhí)行 PLC 代碼視圖中的條件分析評估。本示例介紹了在 HMI 設(shè)備上進行初始值采集和條件分析所涉及的工作原理。
    的頭像 發(fā)表于 08-21 09:47 ?1134次閱讀
    在HMI設(shè)備上進行<b class='flag-5'>初始值</b>采集和條件分析所涉及的工作原理是什么?

    在MCU編程中局部變量賦初始值的重要性

    在MCU編程中局部變量賦初始值的重要性
    的頭像 發(fā)表于 10-16 18:29 ?993次閱讀
    在MCU編程中局部變量賦<b class='flag-5'>初始值</b>的重要性
    主站蜘蛛池模板: 河源市| 深州市| 桑植县| 芜湖市| 叶城县| 伊通| 阿图什市| 丹棱县| 乐昌市| 扶余县| 灌南县| 固阳县| 西盟| 泰和县| 青海省| 乌兰察布市| 景宁| 凉城县| 岗巴县| 射阳县| 雅江县| 讷河市| 江达县| 灯塔市| 临桂县| 商南县| 西乌| 新乡县| 正安县| 普洱| 托克托县| 扎鲁特旗| 蚌埠市| 舒城县| 栾城县| 铜山县| 新野县| 内乡县| 呼伦贝尔市| 文昌市| 桐梓县|