日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32 RTC BKP备份数据区数据丢失问题的讨论

發布時間:2025/4/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32 RTC BKP备份数据区数据丢失问题的讨论 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于RTC備份數據區數據丟失問題的討論
作者:時間:2016-12-02來源:網絡收藏
問:最近在使用STM32F103RB時,出現了斷電后再上電時備份數據區數據丟失的現象,不知道是什么原因,最初在設計的時候芯片核的電源(數字部分電源)和ADC的電源是相連的,備份數據區的數據沒有丟失,現在將ADC的電源單獨采用一個電壓基準芯片供電后,斷電再上電發現備份數據區的數據丟失了,全部為0包括時間。如果我將現在的電路板的ADC電源鏈接到數字電源上,數據就不丟失了。為提高ADC精度,又不丟失備份數據區數據,哪位仁兄有好的建議,感謝!!

答:在斷電時,請保證同時切斷VDD和VDDA 請用示波器看看,懷疑斷電時你的VDDA下降的太慢,而VDD很快消失。在斷電時,應該保證同時切斷VDD和VDDA。

問:RTC備份數據區與ADC電源關系???不管是VDDA下降慢,還是VDD下降慢,我認為這個芯片的工作與否不應該受VddA的影響,如果說備份電池數據受VDDA的影響的話,應該在手冊中有說明,我還認為當不使用ADC時我們可以不給ADC供電,為什么說呢,當模擬、數字電路分離時,模擬電源可能故障失電,數字部分存在電源,當然正常工作的CPU可以通過程序檢查到ADC部分出錯,現在根據實驗發現,ADC失電后芯片根本不工作。如果說一定要同時切斷電源的話就必須連接到同一電源上,要不肯定丟數據呀,香主你說呢。

香主分析的對,但是我就是不明白VDDA必須要先斷電,這是為什么呢。我總是認為這個問題不應該出現,至少我認為VDDA自然為獨立電源引腳,為什么內核工作受VDDA的影響呢?

答:RTC備份數據區與ADC電源關系,以及VDD與VDDA的關系最近正在翻譯大容量的STM32F103數據手冊,正好供電部分的說明與中等容量STM32F103說明一樣,下面貼圖中的2.3.11節與STM32F103RB數據手冊中的2.3.9節內容相同,你可以對照著看:

從關于VDDA的說明中可以看到,VDDA不單是為ADC供電,它為所有的模擬部分供電,特別是復位模塊,這就回答了你的“不使用ADC時我們可以不給ADC供電”這個問題。關于VBAT部分說明了當關閉VDD時,通過內部電源切換器,VBAT為RTC、外部32kHz振蕩器和后備寄存器供電。這里說的內部電源切換器就是下圖中靠近VBAT的“供電開關”,下面這張圖就是上面貼圖中提到的圖12:

這張圖中沒有說明這個供電開關是由哪個電源控制,但從圖上看可以認為是VDD控制。

關于你的問題(包括在前面提的問題),我是這樣分析的:VDD先掉電,在VDDA還沒有完全掉電時,因為內部漏電流,上述供電開關并沒有切換到 VBAT,而此時VDD已經消失,造成RTC內容丟失。正因為如此,數據手冊上才會要求VDD應與VDDA同源,同時他們之間的電壓差不能超過 300mV。

如果這個供電開關是由VDDA控制,那么你看到的現象就是顯而易見了。不過這一點我需要確認。

再答:"AN2586-STM32F10xxx硬件開發入門"中說明:供電開關由PDR控制在應用筆記《AN2586-STM32F10xxx硬件開發入門》中,我找到了上面所提到的供電開關是由VDDA控制的清楚說明。
這里是有關部分截圖,這個文檔的中文譯文在STMCU中文網頁上:

文中紅線劃出的部分寫明:VBAT的開關由復位模塊內的掉電復位(PDR)電路控制。再根據上面提到的部分,復位模塊由VDDA供電。所以當VDDA晚于VDD調電時,VBAT的開關還沒有切換到VBAT,VDD已經消失了,RTC的內容自然也就消失了。

關于前面提到的多電源問題,手冊上已經明確寫明,VDD必須與VDDA同源,所以不應理解為是多電源供電。

至于VBAT缺失和電池沒有電是2個問題,VBAT缺失的情況時,電路上有相應處理,所以不會有問題;而電池沒有電的情況下,并不表示VBAT信號懸空,此時VBAT是通過電池接地,也不會有問題,只不過RTC的內容不能繼續維持。電池沒有電時好像應該是等效于一個電容加一個電阻,具體什么樣的參數我不太清楚,但我可以肯定不是一個無窮大的電阻。

問:現在看來對于STM32的設計那是相當的不一樣,大家以后設計的時候不要想當然,一定要仔細閱讀說明文檔的每個細節,要不,設計會走彎路,當然也會帶來一個麻煩就是不同用途的地方很多要求不一樣,我從來都不會想象到PLL會掛在VDDA上,常理上PLL電路應該屬于數字部分。可偏偏掛在了 VDDA上。

由于Vdd的電壓不穩定,在大量的IO來回動作的情況下,VDD的電壓極度不穩定,當然如果VddA也連接到VDD的話,對于48腳和64腳封裝的芯片來講Vdda連接到VDD對于要求高精度的應用來講,這個應該是不充許的,我使用的就是103VB,如果將VDDA連接到VDD,此時的AD采樣誤差明顯低于VDDA與VDD分離的誤差,我將VDDA連接到一個3.3V的參考電壓芯片上了。一般的芯片VDDA和VDD都是可以分離供電的,至少我看見過的,ST的除外。

第三者答:PLL電路似乎不可能是純數字電路,至少VCO應該用模擬電路。

總結

以上是生活随笔為你收集整理的STM32 RTC BKP备份数据区数据丢失问题的讨论的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。