前言 我有個(gè)同事,經(jīng)常也是設(shè)計(jì)電路這些的,像stm32f1,stm32f4這些的電路經(jīng)常在設(shè)計(jì),算是經(jīng)驗(yàn)豐富吧。但是這次有個(gè)案子(平臺(tái):MDK+STM32F405RGT6(LQFP64封裝)),他也參與了改版V2版(之前那個(gè)版本是別人設(shè)計(jì)的,稱(chēng)之為V1版,其實(shí)主要就是改原理圖后lay板)。當(dāng)時(shí),改版完成后,審圖的時(shí)候并沒(méi)有仔細(xì)看CPU電路,以為和之前的電路一樣(之前的CPU電路是完全OK的)。所以,板子就去打板了。。。。因?yàn)榘遄由线€有其他模塊被改,所以板子打回來(lái)我們就焊接了幾pcs,在確定板子焊接沒(méi)問(wèn)題之后,插上仿真器結(jié)果發(fā)現(xiàn)板子根本識(shí)別不到仿真器(Jlink仿真和STLINK仿真都識(shí)別不到)。而且數(shù)顯的Power supply的電流顯示100度mA,CPU表面微微發(fā)燙。 對(duì)比V1版電路圖和V2版電路圖,就CPU電路部分而言:V2版的VCAP_1和VCAP_2都接地了。 查看相關(guān)手冊(cè),覺(jué)得這個(gè)問(wèn)題(仿真器不識(shí)別),是由VCAP_1和VCAP_2接地引起的。 所以用解焊CPU的31引腳(VCAP_1)和47引腳(VCAP_2),用鑷子輕輕挑起,這兩個(gè)引腳,使之浮空。 然后重新插上仿真器,發(fā)現(xiàn)可以識(shí)別仿真器,并且下載程序能夠正常運(yùn)行。 量測(cè)31引腳(VCAP_1)和47引腳(VCAP_2)電壓如下:
最后的解決辦法,在31引腳(VCAP_1)和47引腳(VCAP_2)挑起的情況下,通過(guò)飛線焊接2.2UF電容,另外一端接地。 一、原因分析 為什么對(duì)于LQFP64封裝的STM32F4的VCAP_1和VCAP_2都接地就有問(wèn)題,而對(duì)于LQFP64封裝的STM32F10XX的31pin和47pin接地就沒(méi)有問(wèn)題呢? 1、查看STM32F4 datasheet,我這里以STM32F405xx/STM32F407xx 的datasheet為具體實(shí)例做以說(shuō)明。在F4的datasheet的page15 對(duì)兼容性的板子的STM32F10X 和STM32F4XX做了詳細(xì)的說(shuō)明。
注: Ω RESISTOR OR SOLDERING BRIDGE PRESENT FOR THE STM32F10X CONFIGURATION NOT PRESENT IN THE STM32F4XX CONFIGURATION (0歐姆電阻或者橋焊在STM32F10X的板子中出現(xiàn),而不STM32F4XX的板子中出現(xiàn))
同樣的,查看STM32F10XX的datasheet,我這里以STM32F103xC, STM32F103xD,STM32F103xE 的PDF版的datasheet為實(shí)例說(shuō)明。在datasheet前面一部分的描述中,并未對(duì)VCAP或VSS做詳細(xì)描述。
2、查看STM32F4 datasheet對(duì)引腳功能的描述表。發(fā)現(xiàn)LQFP64的31pin為VCAP_1,47pin為VCAP_2。
同樣的,查看STM32F1 datasheet ,對(duì)引腳功能的描述表:發(fā)現(xiàn)F1的31pin是VSS_1,47pin是VSS_2(這個(gè)是接地的)。
3、查看STM32F4 datasheet中Power supply schemes 章節(jié)的電源的內(nèi)部Block,可以看到VCAP_1和VCAP_2是VOLTAGE REGULATOR(調(diào)壓器)相關(guān)的兩個(gè)引腳,并且外接一個(gè)2.2UF的電容再接地。
再看,該部分章節(jié)對(duì)調(diào)壓器的描述:
datasheet 關(guān)于這部分,對(duì)VCAP_1和VCAP_2的外接電容及串聯(lián)等效電阻做了明確的規(guī)定: 這也就是為什么,F(xiàn)405RGT6的板子上VCAP_1和VCAP_2外接的電容必須是2.2UF而不是其他容值的電容。
同樣的,查看STM32F1 datasheet中Power supply schemes 章節(jié)的電源的內(nèi)部Block。發(fā)現(xiàn)F1的電源的Block中沒(méi)有VCAP,而多了VSS(接地)。
4、查看F4 中文參考手冊(cè)。page89對(duì)調(diào)壓器的描述。
嵌入式線性調(diào)壓器為備份域和待機(jī)電路以外的所有數(shù)字電路供電。調(diào)壓器輸出電壓約為 1.2 V 。 此調(diào)壓器需要將兩個(gè)外部電容連接到專(zhuān)用引腳 VCAP_1 和 VCAP_2,所有封裝都配有這兩個(gè)引腳。為激活或停用調(diào)壓器,必須將特定引腳連接到 VSS或 VDD。具體引腳與封裝有關(guān)。 通過(guò)軟件激活時(shí),調(diào)壓器在復(fù)位后始終處于使能狀態(tài)。根據(jù)應(yīng)用模式的不同,可采用三種不同的模式工作。
也就是這里,對(duì)CAP_1 和 VCAP_2的真正作用,做了詳細(xì)的說(shuō)明。CAP_1 和 VCAP_2是連接到調(diào)壓器上,為備份域和待機(jī)電路以外的所有數(shù)字電路供電。也就是手冊(cè)中說(shuō)到的1.2V域。(“調(diào)壓器為 1.2 V 域(內(nèi)核、存儲(chǔ)器和數(shù)字外設(shè))提供全功率”)。而有些封裝么有CAP_1 (pin31)和 VCAP_2(pin47),而有VSS_1(pin31)和VSS_2(pin47)。VSS_1(pin31)和VSS_2(pin47)的真正作用是激活或者停用調(diào)壓器。 同樣的,查看F1的中文參考手冊(cè)中,page37對(duì)電源部分的描述:
STM32的工作電壓(V DD) 為2.0~3.6V。通過(guò)內(nèi)置的電壓調(diào)節(jié)器提供所需的1.8V電源。 也就是說(shuō),這里的調(diào)壓器輸出電壓為1.8V,為內(nèi)核,內(nèi)存和外設(shè)等提供電壓。(1.8V域)
所以,我們這個(gè)案子問(wèn)題產(chǎn)生的原因就是:設(shè)計(jì)人員,因?yàn)橹癋1的經(jīng)驗(yàn),對(duì)F4的設(shè)計(jì)也是做了相同的處理。而導(dǎo)致板子除其余電壓正常外,不能識(shí)別到仿真器。經(jīng)驗(yàn)惹的禍。
二、問(wèn)題的驗(yàn)證: 1、我手里有Nucleo-F466RE的ST的評(píng)估板,所以我想看看Nucleo-F466RE對(duì)VCAP_1 (31pin)和 VCAP_2(47pin)是怎么處理的?
通過(guò)Nucleo-64的原理圖可以看到,對(duì)VCAP_1 (31pin)和 VCAP_2(47pin),Nucleo-F466RE是直接用SB38,SB33這兩個(gè)跳線(也可以叫0歐電阻)直接接地了。而在實(shí)物圖中也是,C22和C25 沒(méi)有焊接。
那么為什么Nucleo-F466RE又如此特殊呢? 接下來(lái),我們查看STM32F466RE的datasheet。
STM32F446RE的datasheet已經(jīng)在page15,做出了明確的說(shuō)明(如上圖): 對(duì)于STM32F446RE來(lái)說(shuō),VCAP_1 (31pin)和 VCAP_2(47pin)是 直接接地,而非接電容。 所以在Nucleo-F466RE的板子中,有了SB38和SB33. 那么由于SB38和SB33的加入,而使得我們CPU可以根據(jù)不同的芯片型號(hào),而非常靈活的更換CPU。
2、STM32F407ZTG6 板子的VCAP_1 和 VCAP_2 原理圖中,對(duì)其的處理是:
量測(cè)VCAP_1 和 VCAP_2 波形如下:VCAP_1和VCAP_2電壓均為1.27V
總結(jié): 盡管我們說(shuō),STM32的CPU電路很簡(jiǎn)答,有時(shí)候是拿來(lái)主義,或者是抄來(lái)主義。但是再簡(jiǎn)單的問(wèn)題,也需要注意細(xì)節(jié)。有時(shí)候,設(shè)計(jì)也好,寫(xiě)代碼也好,還是不要光照著經(jīng)驗(yàn)走。有些問(wèn)題具體問(wèn)題,還是具體對(duì)待,特別是這種電路設(shè)計(jì),一定要看datasheet,因?yàn)閐atasheet里面對(duì)個(gè)別元件或者參數(shù),一定是有詳細(xì)的說(shuō)明的。否則就像我們這樣,還需要重新打板,不過(guò)還好其他電路設(shè)計(jì)也出現(xiàn)一些問(wèn)題,改版后重新打板。
|