找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 11622|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

一個(gè)關(guān)于HSE晶振振蕩異常的話題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98618 發(fā)表于 2016-1-2 02:09 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本文作者:Miler Shao
關(guān)于STM32晶振振蕩異常問題,貌似有點(diǎn)老生常談了。剛好最近又遇到類似案例,一起分享交流下。

一日,某工程師反映使用STM32F107RCT6的產(chǎn)品是已經(jīng)量產(chǎn)了的,一直沒問題。最近重新生產(chǎn)測(cè)試時(shí)發(fā)現(xiàn)產(chǎn)品不能正常工作?蛻粲玫氖25M外部有源晶振,示波器測(cè)試晶振腳是有波形的【波形具體特征沒說】。DEBUG調(diào)試檢測(cè)發(fā)現(xiàn)卡死在與HSE有關(guān)的時(shí)鐘初始化代碼里。

要么卡死在:

do
{
HSEStatus = RCC->CR & RCC_CR_HSERDY;
StartUpCounter++;
} while((HSEStatus == 0) && (StartUpCounter !=HSEStartUp_TimeOut));

或者卡死在:
/* Enable PLL2 */
RCC->CR |= RCC_CR_PLL2ON;
/* Wait till PLL2 is ready */
while((RCC->CR & RCC_CR_PLL2RDY) == 0)
{
}

根據(jù)其描述,既然是量產(chǎn)過的代碼,中途又沒動(dòng)過,問題應(yīng)該出在硬件這塊。建議重點(diǎn)核查外圍元器件及參數(shù)。在進(jìn)一步檢查晶振相關(guān)元件參數(shù)時(shí),發(fā)現(xiàn)此次產(chǎn)線上焊接的負(fù)載電容比之前設(shè)計(jì)原理上的大了很多。同時(shí)再次用示波器查看振蕩波形,發(fā)現(xiàn)波形是類似正弦的三角波,峰值幅度是2點(diǎn)多伏,但谷值卻在1V上下,明顯不合理。當(dāng)調(diào)整負(fù)載電容參數(shù)后,波形便是正常的方波了。

順便提下,一般有源晶振輸出為方波,無源晶體振蕩輸出為正弦波。

也就在前2天深圳某客戶使用STM32F411開發(fā)產(chǎn)品,發(fā)現(xiàn)外部晶振振蕩不穩(wěn),軟件調(diào)試時(shí)發(fā)現(xiàn)代碼也是?ㄋ涝HSE ready檢測(cè)代碼處。其測(cè)試代碼非常簡(jiǎn)單,就是用STM32CubeMx簡(jiǎn)單配置了一個(gè)帶HSE的小工程。結(jié)合手冊(cè)資料做了晶振周邊器件參數(shù)的檢測(cè)比對(duì),沒發(fā)現(xiàn)啥明顯異;虿缓侠淼牡胤,即使做參數(shù)來回調(diào)整也無濟(jì)于事。

最后建議換塊測(cè)試板,更換后一切OK。問題就出在PCB電路板上,細(xì)節(jié)這里不說了。

對(duì)于新產(chǎn)品開發(fā),建議最好準(zhǔn)備兩套以上的板,這對(duì)調(diào)試非常有好處。有什么問題時(shí)可以比對(duì),加上調(diào)試板的制作往往有很多是手工操作,更容易出各種紕漏。

繼續(xù)回到上面外部晶振振蕩異常的話題,一般主要有三種情況導(dǎo)致異常:

1、軟件上忘記或沒正確配置及使能HSE;

STM32芯片的HSE需要軟件代碼使能配置,否則HSE振蕩器是不會(huì)工作的。

2、晶振振蕩回路上的負(fù)載電容值參數(shù)選取不合適;【這點(diǎn)發(fā)生得比較多】

對(duì)于STM32各系列芯片,各振蕩線路的負(fù)載電容在相應(yīng)芯片的數(shù)據(jù)手冊(cè)上都有描述和推薦。負(fù)載電容的值要選取合適,不可隨意,否則也容易不起振或不穩(wěn)定。


另外,ST官方針對(duì)STMCU的振蕩電路設(shè)計(jì)有個(gè)應(yīng)用筆記AN2867,可以下載瀏覽。還有,ST 給每個(gè)STM32系列都有出評(píng)估板及相關(guān)參考原理圖,硬件工程師初次使用某系列MCU時(shí),建議下載相關(guān)硬件原理圖以供參考【當(dāng)然也可以找各代理商FAE索取】。

3、振蕩電路受到外來干擾;

當(dāng)振蕩電路受到外部較強(qiáng)干擾時(shí),比如電源的異常波動(dòng),其它零部件的電磁干擾等都可能導(dǎo)致振蕩異常。順便插一句,我們知道電源的穩(wěn)定是整個(gè)系統(tǒng)工作的基本需求,但實(shí)際應(yīng)用中似乎經(jīng)常有人忽視這點(diǎn)。發(fā)現(xiàn)有人隨手在外邊采購(gòu)些器件用在電路板上,調(diào)試出現(xiàn)異常時(shí)知道懷疑MCU有問題卻往往想不到外圍芯片或供電線路可能有問題。其實(shí)很多時(shí)候MCU功能的異常只是對(duì)整個(gè)應(yīng)用系統(tǒng)異常的一種積極的防御反應(yīng),錯(cuò)并不一定出在這個(gè)反映者本身。

在設(shè)計(jì)振蕩線路時(shí),振蕩線路要盡量靠近MCU,要選擇合適元器件及參數(shù),盡量遠(yuǎn)離或回避其它明顯的或潛在的干擾源。比如射頻模塊、馬達(dá)相線、產(chǎn)品容易裸露的地方等。

除了上面說的三種情況外,肯定還有其它各種稀奇古怪的細(xì)節(jié)原因,比方代碼里有意無意地做了超頻處理也可能會(huì)導(dǎo)致MCU芯片頻繁復(fù)位,此時(shí)振蕩電路自然也穩(wěn)不了。

反正不管出現(xiàn)什么異,F(xiàn)象,保持顆淡定的心很重要,有條不紊去找原因就好。問題的答案往往就在您那顆淡定的心里。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:866949 發(fā)表于 2020-12-24 11:36 | 只看該作者
有些時(shí)候(特殊情況),晶振金屬外殼不接地會(huì)不起振.
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表