<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32常見問題:低溫下部分產品RTC不工作的問題探析

STM32單片機 ? 來源:未知 ? 作者:電子大兵 ? 2017-09-11 15:41 ? 次閱讀

前言

客戶反饋在批量生產階段,發現部分產品MCU的RTC在低溫(0℃)下工作不正常,但是在常溫下又是正常的,且其他正常的MCU的RTC在常溫與低溫下都是正常的。

問題跟進

通過與客戶郵件溝通,了解到客戶使用的MCU型號是STM32F030C6T6TR。在產品的主從結構中主要用作電源管理時鐘管理。通過客戶的描述,似乎相同型號不同片子都存在較大的差異。

由于時間緊急,在了解到初步信息后拜訪客戶,針對客戶認為有問題的MCU芯片做針對性試驗。通過STM32CubMx生成測試工程,分別使用LSI(40K),LSE(32.768K),RTC工作時每秒通過LED1(PB5)取反一次(通過LED1燈是否閃爍來指示RTC是否工作正常),然后分別測量OSC管腳與PA8腳(輸出LSI或LSE),并對比ST官方的NUCLEO-F030板,最終測試結果如下:

1、當使用LSI時,無論常溫還是低溫下都能正常工作。

2、當使用LSE時,常溫下能正常工作,但在低溫(0℃)時,RTC不再工作(LED1停止閃爍),且PA8管腳無輸出,但保持為高電平,且此時OSC管腳此時是存在32.768K的波形的。

3、通過修改負載電容C1&C2的電容值從5.1pF修改到6.8pF時,原本低溫下不工作的RTC又能恢復正常工作。

4、對比ST官方的NUCLEO-F030板子,在常溫與低溫下均能正常工作。

從測試結果來看,通過修改負載電容的方式能讓原本不能正常工作的RTC恢復正常工作,這個似乎為客戶的負載電容不能精準的匹配系統的原因所致。

但客戶對于這個做法不接受的,理由是現在設計的負載電容5.1pF是通過測試后的值,精度可以達到6.5ppm,但如果改為6.8pF,那么精度將會變到大約30ppm,這個會影響到MCU的RTC的時間精準度,系統在長時間運行后,時間必然會偏差很大,超出設計合理范圍,這個是不允許的。

問題分析

既然客戶不接受修改負載電容,那么首先我們重新梳理下客戶的晶振設計各種參數是否準確,客戶的LSE電路設計如下所示:

如上圖,圖中的MR10 10Mohm這個反饋電阻在實際電路中是沒有加的,晶振使用的是TXC的,從晶振廠商提供的數據手冊中得到相關參數如下:

再者,由于客戶代碼中使用的LSE drive配置的是最高等級,從下圖芯片對應的數據手冊中可以找到對應的gm值為25uA/V,此時的驅動電流為1.6uA:

前面提到過AN2867這個文檔,我們打開這個文檔,在3.4節,發現有這個要求:

也就是要求gain margin的值要求大于5,這樣晶振才能正常起振,那么gain margin又是如何計算的呢?接下來找到gainmargin 的計算公式,如下:

其中gm就是圖4中從數據手冊中提到的跨導值,STM32F030 LSE的不同驅動等級對應著不同的gm值,由于我們的測試代碼使用的是CubeMx自動生成的代碼,其默認使用的是最高等級,且客戶使用的也是最高等級,因此,這個得出的gm值為25 uA/V, gm有了,那么上面公式中的gmcrit又該如何計算,我們接下來找到它的計算公式,如:

通過晶振對應參數,我們可以得出:

ESR =70KΩ,C0 =1.0pF, CL =7.0pF, 而F就是LSE的頻率,為32.768KHz.

于是:

g_mcrit =4 * 7E4 *POWER(2*PI()*32768,2) * POWER ((1.0E-12 + 7.0E-12),2) =7.6E-07

最終得到:

gain_magin =gm/g_mcrit=2.5E-05/7.6E-07 =32.89

這個值是遠大于5,因此,理論上不會存在晶振不起振是的問題,實際上當在低溫下,之前在測試中也有發現晶振也是有起振,有波形輸出的,只不過PA8腳沒有波形輸出,那個又是什么問題呢?

最終定位到LSE的驅動等級過高,在AN2867這個文檔中,有這樣的描述:

也就是說,在STM32F0和STM32F3中,當使用最高驅動模式(gm_crit_max=5uA/V, 見Figure9gm_crit_max)時,對應地應該只使用在CL=12.5pF的晶振上,以此避免振蕩回路飽和,從而導致啟動失敗。若此時使用了一個較小的CL(如CL=6pF),那么會導致振蕩頻率不穩定和工作周期可能被扭曲。

AN2867隨后給出了一張表,列出了驅動等級與gm_min、gm_crit_max的關系,如下:

如上圖,對于STM32F0,當使用最高驅動模式High時,此時的gm_min=25 uA/V,這個與數據手冊中是一致的,另外gm_crit_max=5uA/V,正是上面所描述的。

也就是說,在使用最高驅動模式下,此時與之對應的CL應該使用12.5pF,而客戶所使用的CL是7pF,這個與手冊AN2867的建議內容是不相符的。從圖4可以看出,在最高驅動等級模式下,此時驅動電流最大(1.6uA),但這里使用了一個比較小的負載電容(CL=7pF),按AN2867所述,此時有可能導致振蕩回路飽和,振蕩不穩定,工作周期扭曲。

此時,應該對應地下調這個LSE驅動等級,減小驅動電流,這里有4檔(見Figure9):Low,Medium Low,Medium High,High. 目前使用的是High,正是它出了問題,為保守起見,使用Medium High相對合適。

如上圖,將LSEDRV[1:0]這兩個為修改為10即可,將原先低溫下RTC有問題的MCU芯片修改后再次放到低溫下進行驗證,測試結果為正常。由于此問題是部分芯片有可能會出現的問題,客戶需要對修改后的芯片進行持續跟蹤,至今沒有再反饋出現過此問題,由此,此問題基本解決。

總結

AN2867這個文檔總結了關于STM32晶振匹配方面的信息。里邊有提到,負載電容CL值越大,所需的驅動電流也就越大,但牽引度越小。這也就解釋了表1中通過增大C1&C2的電容值,原本出現問題的RTC能恢復正常的現象,這是由于C1&C2的電容值變大將導致負載電容CL變大,進而對應所需的驅動電流也就跟著增加,這反而減少了在高驅動模式情況下振蕩回路出現飽和的機會。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2247

    文章

    10689

    瀏覽量

    349889
  • STM32F0
    +關注

    關注

    0

    文章

    61

    瀏覽量

    17013

原文標題:低溫下部分產品RTC不工作的問題探析

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    LED燈具產品商檢常見問題分析

    LED燈具產品商檢常見問題分析
    發表于 08-16 16:23

    嵌入式STM32F030低溫RTC工作

    1 前言客戶反饋在批量生產階段,發現部分產品的MCU的RTC低溫(0℃)下工作不正常,但是在常溫下又是正常的,且其他正常的MCU的
    發表于 03-29 15:01

    隔離、iCoupler技術和iCoupler產品常見問題解答

    應用都可以找到合適的iCoupler 產品。 附件是隔離、iCoupler?技術和 iCoupler 產品常見問題解答,歡迎大家下載!附件隔離、iCoupler?技術和iCoupler產品
    發表于 10-30 09:30

    英飛凌IGBT應用常見問題解答

    [tr][td]英飛凌IGBT應用常見問題解答1.IGBT模塊適用于哪些產品?2.Easy系列模塊電壓/電流/功率范圍?3.Easy系列有哪幾種封裝?........總共23個問題,,已經有此資料
    發表于 12-13 17:16

    STM32常見問題有哪些?怎么解決這些問題?

    STM32常見問題有哪些?如何解決STM32單片機常見問題?
    發表于 04-19 06:39

    關于stm32浮點數常見問題分享不看肯定后悔

    關于stm32浮點數常見問題分享不看肯定后悔
    發表于 10-21 08:08

    STM32串口配置代碼常見問題是什么?

    STM32串口配置代碼常見問題是什么?
    發表于 11-18 07:39

    STM32F030低溫RTC工作怎么解決

    【實戰經驗】STM32F030低溫RTC工作https://www.stmcu.org.cn/module/forum/thread-6
    發表于 02-14 06:48

    STM32中串口的一些常見問題有哪些?

    STM32中串口的一些常見問題有哪些?
    發表于 02-18 08:00

    如何解決stm32cubemx虛擬串口的常見問題?

    如何解決stm32cubemx虛擬串口的常見問題?
    發表于 02-22 06:58

    STM32開發 -- RTC詳解

    RTC實時時鐘部分,之前也是有講到過的。Hi3516A開發–RTC電路接下來看一下STM32RTC該怎么配置一、
    發表于 11-30 13:06 ?27次下載
    <b class='flag-5'>STM32</b>開發 -- <b class='flag-5'>RTC</b>詳解

    STM32F030低溫RTC工作

    STM32F030低溫RTC工作
    發表于 12-09 09:21 ?19次下載
    <b class='flag-5'>STM32</b>F030<b class='flag-5'>低溫</b>下<b class='flag-5'>RTC</b>不<b class='flag-5'>工作</b>

    電機驅動器論壇最常見問題(第1部分):如何閱讀電機驅動器產品說明書

    電機驅動器論壇最常見問題(第1部分):如何閱讀電機驅動器產品說明書
    發表于 11-04 09:51 ?0次下載
    電機驅動器論壇最<b class='flag-5'>常見問題</b>(第1<b class='flag-5'>部分</b>):如何閱讀電機驅動器<b class='flag-5'>產品</b>說明書

    STM32定時器基本原理及常見問題

    電子發燒友網站提供《STM32定時器基本原理及常見問題.pdf》資料免費下載
    發表于 08-02 09:24 ?1次下載
    <b class='flag-5'>STM32</b>定時器基本原理及<b class='flag-5'>常見問題</b>

    STM32定時器基本原理及常見問題之培訓資料

    電子發燒友網站提供《STM32定時器基本原理及常見問題之培訓資料.pdf》資料免費下載
    發表于 09-20 09:44 ?0次下載
    <b class='flag-5'>STM32</b>定時器基本原理及<b class='flag-5'>常見問題</b>之培訓資料
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>