做一個簡單的、自己學習用的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。
調試到這裡,說明你的板已經可以工作了。焊好串口部分電路,寫上一段程序測試串口,調試串口部分。串口部分可以工作後,你的開發板就可以用了。當然,你的板上肯定還有其他東西,不要著急,一點一點的調試,總是可以調試完成的。整個板的調試過程中,越是靠前的步驟就越是難調,後面的外設相對好調一些。總的來說,只要你想辦法,板是一定可以做成的,調試也可以很快完成。