問:最近在使用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控制的清楚說明。 這里是有關部分截圖,這個文檔的中文譯文在ST MCU中文網頁上: 文中紅線劃出的部分寫明: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應該用模擬電路。 發表于2009/7/21 |