1. 程式人生 > >STM32的Vcap的問題及解決---原來經驗也害人

STM32的Vcap的問題及解決---原來經驗也害人

出處:STM32的Vcap的問題及解決---原來經驗也害人

前言
      我有個同事,經常也是設計電路這些的,像stm32f1,stm32f4這些的電路經常在設計,算是經驗豐富吧。但是這次有個案子(平臺:MDK+STM32F405RGT6(LQFP64封裝)),他也參與了改版V2版(之前那個版本是別人設計的,稱之為V1版,其實主要就是改原理圖後lay板)。當時,改版完成後,審圖的時候並沒有仔細看CPU電路,以為和之前的電路一樣(之前的CPU電路是完全OK的)。所以,板子就去打板了。。。。因為板子上還有其他模組被改,所以板子打回來我們就焊接了幾pcs,在確定板子焊接沒問題之後,插上模擬器結果發現板子根本識別不到模擬器(Jlink模擬和STLINK模擬都識別不到

)。而且數顯的Power supply的電流顯示100度mA,CPU表面微微發燙


 

對比V1版電路圖和V2版電路圖,就CPU電路部分而言:V2版的VCAP_1和VCAP_2都接地了
檢視相關手冊,覺得這個問題(模擬器不識別),是由VCAP_1和VCAP_2接地引起的。
所以用解焊CPU的31引腳(VCAP_1)和47引腳(VCAP_2),用鑷子輕輕挑起,這兩個引腳,使之浮空。
然後重新插上模擬器,發現可以識別模擬器,並且下載程式能夠正常執行。

量測31引腳(VCAP_1)和47引腳(VCAP_2)電壓如下:


 

最後的解決辦法,在31引腳(VCAP_1)和47引腳(VCAP_2)挑起的情況下,通過飛線焊接2.2UF電容,另外一端接地。

 

一、原因分析
     為什麼對於LQFP64封裝的STM32F4的VCAP_1和VCAP_2都接地就有問題,而對於LQFP64封裝的STM32F10XX的31pin和47pin接地就沒有問題呢
1、檢視STM32F4 datasheet,我這裡以STM32F405xx/STM32F407xx 的datasheet為具體例項做以說明。在F4的datasheet的page15 對相容性的板子的STM32F10X 和STM32F4XX做了詳細的說明。


 

注:  Ω RESISTOR OR SOLDERING BRIDGE 
PRESENT FOR THE STM32F10X CONFIGURATION NOT PRESENT IN THE STM32F4XX CONFIGURATION (0歐姆電阻或者橋焊在STM32F10X的板子中出現,而不STM32F4XX的板子中出現

同樣的,檢視STM32F10XX的datasheet,我這裡以STM32F103xC, STM32F103xD,STM32F103xE 的PDF版的datasheet為例項說明。在datasheet前面一部分的描述中,並未對VCAP或VSS做詳細描述。


2、檢視STM32F4 datasheet對引腳功能的描述表。發現LQFP64的31pin為VCAP_1,47pin為VCAP_2。
 


同樣的,檢視STM32F1 datasheet ,對引腳功能的描述表:發現F1的31pin是VSS_1,47pin是VSS_2(這個是接地的)。

 

3、檢視STM32F4 datasheet中Power supply schemes 章節的電源的內部Block,可以看到VCAP_1和VCAP_2是VOLTAGE REGULATOR(調壓器)相關的兩個引腳,並且外接一個2.2UF的電容再接地

 


再看,該部分章節對調壓器的描述:


 

datasheet 關於這部分,對VCAP_1和VCAP_2的外接電容及串聯等效電阻做了明確的規定:
這也就是為什麼,F405RGT6的板子上VCAP_1和VCAP_2外接的電容必須是2.2UF而不是其他容值的電容


 


同樣的,檢視STM32F1 datasheet中Power supply schemes 章節的電源的內部Block。發現F1的電源的Block中沒有VCAP,而多了VSS(接地)。


 



4、檢視F4 中文參考手冊。page89對調壓器的描述。
 

嵌入式線性調壓器為備份域和待機電路以外的所有數位電路供電。調壓器輸出電壓約為 1.2 V 。
此調壓器需要將兩個外部電容連線到專用引腳 VCAP_1 和 VCAP_2,所有封裝都配有這兩個引腳。為啟用或停用調壓器,必須將特定引腳連線到 VSS或 VDD。具體引腳與封裝有關。
通過軟體啟用時,調壓器在復位後始終處於使能狀態。根據應用模式的不同,可採用三種不同的模式工作。


 

也就是這裡,對CAP_1 和 VCAP_2的真正作用,做了詳細的說明。CAP_1 和 VCAP_2是連線到調壓器上,為備份域和待機電路以外的所有數位電路供電。也就是手冊中說到的1.2V域。(“調壓器為 1.2 V 域(核心、儲存器和數字外設)提供全功率”)。而有些封裝麼有CAP_1 (pin31)和 VCAP_2(pin47),而有VSS_1(pin31)和VSS_2(pin47)。VSS_1(pin31)和VSS_2(pin47)的真正作用是啟用或者停用調壓器


 

同樣的,檢視F1的中文參考手冊中,page37對電源部分的描述:

 

STM32的工作電壓(V DD) 為2.0~3.6V。通過內建的電壓調節器提供所需的1.8V電源。


也就是說,這裡的調壓器輸出電壓為1.8V,為核心,記憶體和外設等提供電壓。(1.8V域)


所以我們這個案子問題產生的原因就是:設計人員,因為之前F1的經驗,對F4的設計也是做了相同的處理。而導致板子除其餘電壓正常外,不能識別到模擬器。經驗惹的禍


二、問題的驗證:
1、我手裡有Nucleo-F466RE的ST的評估板,所以我想看看Nucleo-F466RE對VCAP_1 (31pin)和 VCAP_2(47pin)是怎麼處理的?


 

通過Nucleo-64的原理圖可以看到,對VCAP_1 (31pin)和 VCAP_2(47pin),Nucleo-F466RE是直接用SB38,SB33這兩個跳線(也可以叫0歐電阻)直接接地了。而在實物圖中也是,C22和C25 沒有焊接。


 


那麼為什麼Nucleo-F466RE又如此特殊呢?
接下來,我們檢視STM32F466RE的datasheet。


 


STM32F446RE的datasheet已經在page15,做出了明確的說明(如上圖):
對於STM32F446RE來說,VCAP_1 (31pin)和 VCAP_2(47pin)是 直接接地,而非接電容。
所以在Nucleo-F466RE的板子中,有了SB38和SB33. 那麼由於SB38和SB33的加入,而使得我們CPU可以根據不同的晶片型號,而非常靈活的更換CPU。


2、STM32F407ZTG6 板子的VCAP_1 和 VCAP_2
原理圖中,對其的處理是:


 

量測VCAP_1 和 VCAP_2 波形如下:VCAP_1和VCAP_2電壓均為1.27V


 



總結:
儘管我們說,STM32的CPU電路很簡答,有時候是拿來主義,或者是抄來主義。但是再簡單的問題,也需要注意細節。有時候,設計也好,寫程式碼也好,還是不要光照著經驗走。有些問題具體問題,還是具體對待,特別是這種電路設計,一定要看datasheet,因為datasheet裡面對個別元件或者引數,一定是有詳細的說明的。否則就像我們這樣,還需要重新打板,不過還好其他電路設計也出現一些問題,改版後重新打板。