這是我在做單片機最小系統板時候碰到的問題,之前雖然也做過相似的板子,可是未曾出現過無源晶振不起振的問題。下面是我在遇到問題后的一些檢查,排除問題的過程。本人小菜鳥一個,文章中如有錯誤和不足,還望各位大佬指正和補充。
事情是這樣的,本人做了一款32單片機最小系統板(先叫它老大),在老大出來之前的前五個月,我用相同的PCB板焊了一款用在畢設上面,那個是能正常工作的。板上有個小負載,LED燈。想讓這個燈閃爍。代碼是沒有問題的,因為下載到從網上買的單片機是正常工作的。用JLink下載到自己做的板子上也是能下載進去的,但是不工作。懷疑晶振沒起振。用示波器測量晶振引腳對地為一個高電平,而控制那個燈亮的管腳一直是高電平。買回來的板子晶振引腳對地為一個正弦波,控制燈的引腳波形為方波。
找到問題出現在板子時鍾沒起振,到底是時鍾電路哪個地方出問題了還未得知。首先想到的是換個晶振,8M的晶振換了(第一次換),換過后,程序燒寫進去,復位按鍵按下,燈不亮。接着考慮晶振旁邊的匹配電容的問題,將匹配電容由22pf換成了20pf,仍然是不工作。沒想通是為什么。於是將剩余的器件和板子拿出來想焊另外一塊對着排查,結果焊接的時候,沒控制好力道,把引腳弄彎了,芯片引腳勾肩搭背了,開始談戀愛了,狂撒一波狗糧。這樣肯定不行啊,月老不能亂點鴛鴦譜啊,於是,用熱風槍把整個芯片吹下來了,棒打鴛鴦,結果焊盤不願意了,藕斷絲連,板子銅線扯出來了,整個板子廢了,老二胎死腹中。
從老二上面拆下來的芯片犧牲的老二
老二掛了,造老三。之前剩余的芯片已經用完了,從師兄那里順回來一片芯片,老三很快造出來了。制造中的老三,旁邊的那個是老大,哈哈~
老三生下來很健康,晶振起振,不過老大和老三除了晶振的匹配電容20pf一樣外,晶振和芯片雖說名字一樣,但是不是從一個盒子里面拿出來的。於是將老大的晶振換成和老三一樣的晶振(第二次換)。在要拆老大的晶振的時候,發現上一次拆的時候造成晶振引腳的一個焊盤斷了一半,就是晶振引腳和單片機引腳的連接斷掉了。懷疑是這個問題,於是將老大的晶振輸入引線上的綠油刮掉一點,用錫焊接在晶振腿上。但是結果卻是和之前一樣。
老大板子背面的晶振管腳
第二次換晶振,和老三的一樣。然而結果是並沒有什么用,還是不起振。說明原因不是在這里。最后師兄勸我不要太執念的時候,我走了一步我不太想走的路。換芯片。當時買的芯片是20多元一片,老二已經掛了,如果是老大芯片的問題,又要掛一個芯片。這夠我吃上兩三頓黃燜雞了。所以,在拆老大的大腦的時候,內心是不情願的。但是我想讓這個板子能工作,於是又去師兄那里順手牽羊(自己買的用完了)牽過來一片。
初次焊接上去,下載器找不到芯片,這個問題我知道出在哪,PA13和PA14引腳焊接問題,於是用烙鐵再打磨一下。再次下載的時候,程序下載進去了,復位,翠綠色的LED燈閃起來了。利用控制變量法逐一排查,最后查到芯片本身上,至於芯片內部出現了什么問題就不得而知了,也有可能我焊接的時候電烙鐵對芯片做了些什么不可告人的秘密,最終導致芯片掛了。
個人對無源晶振不起振的原因總結如下:
1、 晶振質量問題。
2、 晶振的匹配電容的容值不合適。
3、 控制芯片質量有問題。
4、 板子電路有問題。
5、 晶振離芯片距離太遠。
最后還是給大家分享些stm32方面相關的資料供大家學習
(零基礎電子產品設計)
http://www.makeru.com.cn/live/3727_1388.html?s=45051
從0到1,設計自己的開發板
http://www.makeru.com.cn/live/4034_2016.html?s=45051
(stm32串口應用)
http://www.makeru.com.cn/live/1392_1164.html?s=45051
基於STM32-WiFi智能小車機器人開發實戰
http://www.makeru.com.cn/course/details/3008?s=45051