ARM開發板不工作的原因
剛焊了5塊ARM(LPC2478)的開發板,上程序測試了一下,發現只有一個板子工作其他四個全部歇菜。努力地找了一會最終發現是板子的來個電阻焊翻了。因為是1206 的封裝而且來個電阻在PCB上擺放的位置擺成了正方形,本來是要橫著放的,焊的時候焊成了豎著了。因為來個電阻的不正確導致電路的上電復位功能失效,板子就不能愉快的工作了。
從近幾次的調試板子的經驗來看,要找出以設計好的ARM板(單片機板)不工作的原因應該從以下幾個方面來確定:
1、測試電源電路是否工作,輸出電源是否穩定,輸出電源值是否正確。
2、測試板子的晶振是否起振。
3、反復查看板子的復位條件是否滿足,是上電復位,還是手動復位,確認復位電路是否正確。
4、查看232串口芯片的好壞,確認串口電路是否設計無誤。
在工作的過程中犯的2B錯誤:
一次設計一個單片機開發板。直接從AD庫中選取了一個類似STC89C51的原理圖,外圍電路和最小系統都設計好了之后,PCB畫完之后(單片機的封裝也是從庫里取得),就想當然的認為自己的PCB是正確的,然后就發出去做了?;貋碇笤趺凑{,系統都不工作。最后才發現原來是買的STC89C51與PCB上的引腳都不是對應的,害的我又重新做了一塊板子。想想就感覺自己好2啊。
板子回來之后接著調,還是不工作,最后找到了原來你是芯片MAX232壞了,至于是怎么壞的不清楚,可能是自己焊接水平太菜,把它燒壞了,也可能是其他原因。因為用示波器看到232的接收引腳一直在接收數據的。
畫元器件的封裝時一定要使封裝的引腳標號與元器件的原理圖引腳標號一致,要不然原理圖導入PCB時會出現很多錯誤的。
Arm開發板的制作過程
做一個簡單的、自己學習用的arm開發板,不僅可以節約成本,還能享受其中的樂趣。今天我就將自己在制作嵌入式開發板過程中的一些經驗和步驟講給大家,希望對大家有所幫助!
本文tag:arm開發板 arm7 arm9 S3C2410核心板
一、原理圖的設計
首先,你先要考慮自己打算做一個什么樣的板,是為了完成某個項目,還是做個學習用的板。明確目的后,開始設計原理圖。目前我們常用的ARM開發板多是三星的,也有PHILIPS的。這兩大類芯片在網上可以找到很豐富的資源,包括原理圖和測試程序,尤其是44B0的芯片,資料幾乎是滿網飛了。找一個芯片的原理圖,在其基礎上做些改動,使之更適合自己的實際應用。 ARM7的芯片使用起來會稍微簡單些,畢竟其原理構造和普通的51單片機有些類似,不需要太費事就可以完成。 對于ARM9的,設計原理圖會比較麻煩。建議采用核心板的方式,把ARM芯片和存儲器放在一個小板上,然后再做底板,這樣即使設計出了問題,也方便重新修改設計。
原理圖方面我就不多羅嗦了,網上大把參照圖,DOWN下來自己修改就可以了,確定原理圖無誤后,就需要開始布板了。
對于ARM7,速度比較低的那種(100M以下的),板只要布的合適就可以了,沒有什么特別值得注意的地方,有些信號線上可能需要串上一些小電阻,做高頻電阻匹配用。
對于ARM9的板,最少需要4層板。(如果雙面能把線布下,雙面板也可以的)。這里也許有人會問,4層板是否夠用。我覺得是完全夠的。我自己設計過一個S3C2410核心板,用4層板做,在200M下也能正常工作。 另外,我從網上下了個6層板的PCB,我把它改成了4層板,雖還沒來得及調試,我估計工作起來也不是問題。為什么我這么說呢,因為看整個電路就可以大概知道一些,只要你布的板把電源和時鐘處理的得當,其他邏輯信號線不是什么太大問題。當然了,前提是邏輯信號不能亂布。
這里需要說明一點,做4層板完全是為了自己學習用,因為做6層板的價格太高了,個人承擔不起。但如果你是打算來做工業設備或實際項目,還是使用6層板吧,這樣能夠在硬件上起到一定的保障作用。
二、PCB加工
板布好之后,就要外發加工了。如果你是公司給你做板,那就不用開這個部分了。個人做板的可以繼續看下去。
找廠家做板就有些技巧了。先說雙面板的。雙面板普通廠家都可以做,線距和ARM7芯片的引腳間距一樣就可以了。寬一點更好。價格一般不會很貴,有200塊RMB就足夠做5個板來讓你調試了。北京和深圳的行情好象不太一樣。在深圳好象是需要收大概600塊的工程費,然后是按面積算。北京則是直接按面積算,總價需要在100塊上以上,不足100的按100來算。同時北京還可以自己來定做板方法,比如板上不加絲印、不鍍金來降低價格。不管怎么說,只要耐心找,總能找到一家適合自己的廠家來做板。當然了,也有些廠家價格低,質量也會梢差一點,做好的板拿回來仔細檢查,就不會影響到我們測試。我和另一個同學04年的時候,在北京用了150塊錢做了3個板,沒有絲印,沒有銑邊,僅僅鍍了層錫?;貋砗笞约喊寻逄幚硪槐?。檢查出了一處短路(我們布的那個板,線條過細,線距也很小,這是到后來才知道的)。修理完后焊好的板工作很穩定。
再說多層板的。由于多層板一般多用于BGA封裝的芯片,檢查的時候就不容易檢查,加上內層布線我們看不到,在選廠家的時候需要適當選一些可信的廠家,最好是能做飛針測試的廠家。做一個4層板的模費大概是在1000~2000, 個別廠家可能會要2000以上,但那種廠家是能保證給你的板絕對OK的,有的時候為了板的質量,也需要犧牲一點模費。一般,你付足模費錢后,廠家可以免費給你做幾個樣板,如果你想多要幾個板,一定要提前跟廠家說,他們可能會多收一點錢,也可能不收錢。這樣看你的談判技巧了。因為他一次做一個板和一次做30個板的價格是一樣的。
做板方面需要注意的是,板拿回來后需要仔細檢查,發現開短路的地方需要及時修理。所在地沒有加工板的地方,可以考慮網上訂做。他們做完后可以郵寄給你,價格方面需要自己去談了。
三、元件的購買
購買元件很容易。當然了,你得找到合適的貨源。北京的方面,在中關村就可以找到芯片。像電阻電容這樣的元件也可以零售(100個一賣)。
深圳這邊好一些的店面一般不零售。但這沒關系,在華強多轉轉,慢慢的和店老板磨一磨,拿上一兩百個元件還是沒有問題的。
如果不能找到像北京、深圳這樣有專門電子市場的地方,也不要放棄,可以考慮在網上找一找,有些地方是賣套件的,可以自己買一套來玩玩。價格不會差很遠的。元件購買方面需要注意的是,不要賣到翻新件。
四、元件焊接
板拿回來后,就需要開始焊元件了,TQFP封裝的芯片會比較好焊,焊盤上先上錫,然后一個腳一腳的焊上去就可以了。當然也可以采用拖焊的方法,總之,只要焊的牢靠就行了。
對于BGA焊接,可能會更簡單一點。因為BGA焊接是外發加工的,自己最好不要焊。焊接GBA芯片最好是找那些修手機或是修筆記本電腦的廠家焊。就算他們沒有專門焊接BGA的設備,憑他們的經驗,也可以把芯片焊好。焊接BGA芯片的價格差距很大,價格大多在100塊左右的。不過也有便宜的,我在華強找的一家,焊個S3C2410只要20塊,成功率在90%以上,我在那里焊的幾個板,沒有一個有問題的。如果是批量生產,還是找比較好的加工廠做吧,畢竟少修電腦的廠家只是拿來給我們自己玩玩罷了。
焊接調試過程中有個小技巧,也算是一個注意點。板最好是焊一部分調試一部分。一般焊接調試的順序是:電源-》主芯片外圍器件-》主芯片-》SRAM-》FLASH-》其他外設。按照這樣的序調試焊接,優點在于能一步一步的排除問題點。假設,當你把主芯片,存儲器都焊好,而且也調試可以工作了,再去焊你的電源,結果板上的電源部分出問題了,一個高壓竄到了主芯片上,那后果不是很嚴重?
五、電源、主芯片的電路調試
焊好電源,把板上主芯片位置與電源相連的引腳測一遍,看看是不是需要的電壓,這樣做可以保證主芯片供電正常,使主芯片能夠工作。
電源部分調試完成后,接下來是焊與主芯片相關的外圍元件,如復位電路,時鐘部分,JTAG接口部分,系統配置部分。這幾個部分焊好后,再焊上主芯片,和主芯片一起調試。
主芯片焊好后,通過JTAG接口連接到電腦上,在電腦上用JTAG調試代理軟件,就應該可以檢查到板上的芯片了。如果不用代理軟件,用ulink之類的東西也可以。不過個人覺得用代理軟件最簡單了。如果軟件檢查不到,則表示主芯片沒有正常工作,或者JTAG部分沒有工作,這個時候就需要詳細檢查各個部分了。一般來說,這個環節是整個調試工作中最重要的部分,主芯片如果不能工作,其他元件就不要再焊了,焊上也沒有意義。這個環節容易出問題的就是復位電路工作不正常,主芯片某些引腳虛焊。主芯片的系統配置正確與否暫時不會影響到芯片是否工作,可以最后檢查。
當電腦能夠成功的檢查到板上的芯片時,激動的心情也會隨之而來。哈哈~~~
六、SRAM、FLASH的調試
接下來,需要調試的是SRAM。
為什么是先調試SRAM而不是先調試FLASH呢? 因為SRAM可以直接由ARM芯片來讀寫,只要信號線接的沒錯,系統設置沒錯,那SRAM一定會工作,除非你買到壞的SRAM。用JTAG接口將板和電腦連接,打開AXD的Command line和Memory watch,使用命令行來對芯片進行初始化。AXD中使用setmem命令對相關寄存器進行設置。如果不知道如何使用Command line,可以在命令行中輸入help來查詢。設置完寄存器后,后在Memory watch中修改對應地址單元的數據,就可以看到修改后的數據保存下來了。我用這個方法測試過LPC2214,4510,44B0,2410,都可以用這個方法來測試SRAM是否已經工作了。
當使用這種方法修改SRAM數據,需要注意的是,你所修改的地址,必須是位于SRAM地址范圍內的,否則修改后不會得到正確的結果。如果發現修改后的數據不能得到你想要的數據,可能存在兩個問題:1是電路板上數據線存在開短路。2是芯片的初始化設置不正確,導致存儲器映射錯誤,修改好即可。
一般來說,SRAM如果能夠順利工作,則FLASH也可以順利工作。焊好FLASH,使用FLASHPGM燒一個程序來實驗一下。如果能順利燒入,則表示FLASH可以正常工作。如果不能正常燒入程序,多半情況是焊接不夠好,FLASH可能存在短路或者虛焊。這里需要知道一件事,FLASHPGM軟件是利用SRAM來燒錄FLASH的。它先將一段可以燒錄FLASH的程序下載到SRAM中,運行這段小程序,然后再燒錄FLASH,所以你提供給FLASHPGM的芯片初始化程序必須正確,這樣才可能正常燒錄FLASH,否則燒錄肯定是失敗的。
對于2410這種既掛NAND FLASH又掛NOR FLASH的芯片,調試起來也很容易。用FLASHPGM調試NOR FLASH,用三星提供的那個小燒錄工具調試NAND FLASH。
調試到這里,說明你的板已經可以工作了。焊好串口部分電路,寫上一段程序測試串口,調試串口部分。串口部分可以工作后,你的開發板就可以用了。當然,你的板上肯定還有其他東西,不要著急,一點一點的調試,總是可以調試完成的。整個板的調試過程中,越是靠前的步驟就越是難調,后面的外設相對好調一些??偟膩碚f,只要你想辦法,板是一定可以做成的,調試也可以很快完成。
評論
查看更多