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