自己設計的PCB板子,在焊上元器件之后,經反復檢查有無漏焊、短路的故障,確定沒有問題以后,就需要進行下一步檢查——上電下載程序驗證功能。本文檔就著眼于這一問題,總結自己在實踐操作中遇到的一些奇怪的現象和自己解決問題的辦法,以摸索規律,分享經驗,供大家一起交流。
一,搭建環境
1,編譯環境的搭建。使用的IAR Embedded Workbench IDE 作為編譯環境。該軟件安裝方法簡單。就不多說。
2, 調試工具環境的搭建。使用USB Debug Adapter For CC Device (TEXAS instrument)作為調試工具。需要安裝一個驅動。具體安裝的方法是:把調試器與電腦相連后,會彈出一個“系統找到新硬件”的對話框,選擇“從列表或指定的位置安裝”選項,點擊下一步。瀏覽找到驅動文件在程序安裝目錄下,如:C:\program Files\iarsystems\embdded\workbench4\8051\drivers\chipcon.點擊下一步,就可以了。
二、設置IAR參數
新建一個工程,具體方法參見手冊。《CC2530 DB用戶指南》
具體參數設置也參照那個。
三、硬件測試
把板子和調試器、電腦相連。編寫好程序,下載。
剛開始時我們的板子怎么也拷不進去程序,錯誤提示:cannot erase flash .檢查軟件設置,都是正常的。軟件配置沒有問題,板子那里肯定有問題。為了分析問題的所在,我重新又開始檢查板子可能出的問題----
1- 電源提供的電壓值可能不對
2- 晶振沒有正常起振
3- 下載端口電路不對,
4- 芯片可能壞了。
我首先測試了電壓值,經過穩壓芯片穩壓后,接入芯片CC2530的電壓值3.3左右,符合預期值。說明電源電壓沒有問題。
接下來,我檢查了JATG接口電路的原理圖,pCB圖,各接口線的電壓值,發現了P2.2線路為低電平,而datasheet里面提到在正常工作時,應該是高電平的。發現了一個問題了,心里有的欣喜。
接著又發現復位電路的引腳線的電壓值也為低,而datasheet 中提供應該為高的。
同時用萬用表和示波器測試晶振起振不正常,沒有波形,電壓值也不對。預期應該會有正弦波形的,同時電壓值應該為電源電壓值的一半,(因為晶振產生的波形占空比為50%)。
發現了三個比較大的問題后,我猜想板子的焊接,或者原理圖的設計出了問題。我仔細檢查了原理圖相關的一些電路,都沒有發現問題。問題應該出在焊接元器件上了。可能出的問題---
1- 元器件焊接反了(正負極不對)
2- 芯片的焊接是否有短路、漏焊的現象
3- 晶振壞了,或者沒有焊接好。
硬件板子必然有問題,有問題就得解決,欣慰的知道有些地方不對 。
我再次仔細逐個的查看了所有元器件,果然發現有的地方出現了漏焊的現象,還有按鍵的PCB封裝也是錯的。出現漏焊的有晶振、二極管、電阻,焊反了的有LED燈。問題開始變得明朗,雖然還不確定到底是哪兒出了問題,從影響下載程序來看,肯定是晶振的問題了。
重新焊接好晶振,發現可以拷程序了。終于解決問題了。
思考:從我的這次實踐調試中,我有了很多的體會。順便寫下來與大家共分享。
1, 細節決定成敗,硬件電路哪兒出了點點差錯,可能就得從頭到尾的檢查,這樣會耗費大量的精力。所以在焊接、設計電路圖、畫PCB時,對于每一個元器件都應該把它的接法整好,一步步弄好。
2, 硬件電路調試,板子沒有正常工作,可以從檢查電源供電是否正常和晶振是否正常起振入手。怎么判斷晶振是否其否起振?可以測試晶振兩個引腳的電壓值,正常下為電源供電壓的一半;還可以用示波器測試管腳的波形,正常時有正弦波。
判斷發現晶振沒有正常起振,而電源供電正常,那么問題可能是晶振的問題,如果晶振沒有問題,則分析芯片是否有問題了。